docs: refresh CLAUDE.md + IDEA.md for design-approved phase

Reflects state changes from this session:
- Phase moved from "ideation, no upstream pull" to "design-approved,
  pre-implementation"
- Repo confirmed live at git.sethpc.xyz/Seth/sethLabels (was TBD)
- Qt6 6.2 confirmed (was Qt5-or-Qt6 TBD)
- Target framing corrected: Debian-family generic + macOS via brew tap;
  steel141 is a build host, NOT the install target
- Strict-zero source-patch policy spelled out (replaces vague "keep
  diffs surgical")
- Versioning scheme noted (<upstream-tag>-seth<N>)
- Eventual-public flip on GitHub captured

Pointer to spec at sethlabels-docs/specs/2026-04-29-packaging-design.md
added to CLAUDE.md "Current State".
This commit is contained in:
2026-04-29 09:55:07 -04:00
parent 8e272c0bd8
commit d3e14c63c0
2 changed files with 16 additions and 12 deletions
+9 -6
View File
@@ -15,13 +15,16 @@ sethLabels is a thin deployment fork of [glabels-qt](https://github.com/j-evins/
## Current State
- **Phase:** ideation (just scaffolded — no code, no upstream pull yet)
- **Repo:** not yet (will live at `git.sethpc.xyz/Seth/sethLabels` once first commit lands)
- **Deploy target:** steel141 (Debian 13) — primary; CT for headless print serving optional/later
- **Upstream:** https://github.com/j-evins/glabels-qt (GPL-3.0, Qt + CMake + C++)
- **Phase:** design-approved, pre-implementation. Spec written and committed; no scripts/packaging code yet.
- **Repo:** live at `git.sethpc.xyz/Seth/sethLabels` (default branch `main`). Upstream `j-evins/glabels-qt` configured as `upstream` remote for periodic rebases. Eventually-public on GitHub once battle-tested.
- **Deploy target:** Debian-family Linux (`.deb` + AppImage) + macOS via Homebrew tap (build-from-source). Steel141 is a build host, not a deploy target. Windows deferred.
- **Upstream:** https://github.com/j-evins/glabels-qt (GPL-3.0, Qt6 6.2 + CMake + C++)
- **Design spec:** `sethlabels-docs/specs/2026-04-29-packaging-design.md` — all packaging decisions (artifacts, versioning, build pipeline, release flow, brew tap) live here. Read this before touching `scripts/` or `packaging/`.
## Conventions
- This is a **fork**, not a from-scratch rewrite. Pull upstream first; only patch what we need to change. Keep diffs surgical.
- Preserve upstream license (GPL-3.0) and copyright headers.
- This is a **deployment fork**, not a real fork. The discipline is **strict zero source patches** — no upstream-tracked file is ever edited. All sethLabels content lives in NEW top-level dirs (`scripts/`, `packaging/`, `sethlabels-docs/`, `.claude/`). Allowlist exception: `.gitignore` (one-time scaffold-time touch).
- Enforced by `scripts/check-no-upstream-edits.sh` (to be implemented per spec §5.5).
- Preserve upstream license (GPL-3.0) and copyright headers — strict-zero handles this automatically by never touching upstream files.
- Versioning: `<upstream-tag>-seth<N>` (e.g., `3.99-master618-seth1`). See spec §D4 + §5.4.
- See `~/bin/CLAUDE.md` for global homelab conventions (gitea CLI, conventional commits, credentials handling).