diff --git a/dev-claude-plugin/0073/SESSION-0073.0-TRANSCRIPT-2026-06-12T01-18--INPROGRESS.md b/dev-claude-plugin/0073/SESSION-0073.0-TRANSCRIPT-2026-06-12T01-18--INPROGRESS.md index b6fc4a9..90f9e5c 100644 --- a/dev-claude-plugin/0073/SESSION-0073.0-TRANSCRIPT-2026-06-12T01-18--INPROGRESS.md +++ b/dev-claude-plugin/0073/SESSION-0073.0-TRANSCRIPT-2026-06-12T01-18--INPROGRESS.md @@ -13,7 +13,46 @@ ## Launch prompt -_(launch prompt not captured at claim time)_ +`/goal plan-and-execute SLICE-4 of the design-handoff spec — the wgl-design-handoff +verb + SKILL.md tying home + link + spec **Design:** backfill + #99 cooperation +into one motion; closes #93. Per specs/2026-06-11-design-handoff-design.md §7.2` + +## Plan + +> Anchor: design `specs/2026-06-11-design-handoff-design.md` (v1.0.0, graduated) · §7.2 SLICE-4 +> Anchor issues: #95 (storage/linkage), #93 (spec **Design:** field — closed by this slice) +> Related: #99 (Gitea-workflow engine — graceful cooperation, INV-4) +> Eligibility: graduated Solution Design → R2a plan-eligible. +> Worktree: `worktree-session-0073-design-handoff-slice4` (concurrent 0065 in flight). + +SLICE-4 — the `wgl-design-handoff` orchestration verb tying SLICE-2 (home) + SLICE-3 +(link) + spec `**Design:**` backfill + #99 cooperation into one motion (PUC-1/1a/3). +Bottom-up TDD, offline + fixture-tested (§6.8); reuses `home-design-bundle.sh`, +`link-design-issue.sh`, `submit-spec.sh`, `gitea-api.sh` unchanged. + +1. **Pure backfill transform** — `backfill-spec-design.sh set-field --slice ID + --design PATH` (stdin spec → stdout): replace the named slice section's single + `**Design:**` line value; idempotent; not-found → error (never silent-insert in + the wrong place). The testable core (mirrors SLICE-3's `upsert-body-line`). +2. **Orchestrator** — `wgl-design-handoff.sh --zip --ticket N [--spec] [--slice] + [--ui-designs-ticket M] [--repo] [--dry-run]`: resolve slug (issue title via GET + → `--slug` override → zip top-dir peek), then home (SLICE-2, `--slug`) → link + (SLICE-3, `--design ui/designs/N-slug/`) → backfill spec (`set-field` → + `submit-spec.sh`, status-preserving) → close "UI Designs for #N" ticket + (explicit `--ui-designs-ticket` or discover-by-title; INV-4 clean no-op + otherwise, never fails the core). Sub-scripts resolved via `CLAUDE_PLUGIN_ROOT` + (testable). +3. **Tests** — `test-design-handoff.sh`: (A) pure transform insert-skip/replace/ + idempotent/not-found/multi-slice-scoping; (B) orchestrator delegation + + slug-from-title via argv-logging stubs + fake gitea-api GET; (C) #99 no-op when + no ticket, close when present/named; (D) re-run idempotency. +4. **Docs** — `skills/wgl-design-handoff/SKILL.md` (DOC-2: the verb + the design + loop); plugin `CLAUDE.md` skills inventory (DOC-4). +5. **Ship** — `plugin.json` 0.54.0 → 0.55.0; lint `--check-bump`; commit; PR; merge. + Closes #93 (its doc half shipped SLICE-1; the backfill mechanism is SLICE-4). + +No deployable runtime surface — plugin scripts/skills only (§9 reduces to tests + +lint green, merged, version bumped, re-install at finalize via update-plugin.sh). ## Deferred decisions