Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
41 lines
3.3 KiB
Markdown
41 lines
3.3 KiB
Markdown
# Archive — startup / kickoff protocol
|
|
|
|
Superseded/retired records for the session-startup / queue-selection protocol. See
|
|
`docs/decisions/archive/README.md` for the archive's general rules (rationale kept verbatim,
|
|
never in the active read-path). Active successor: `startup.parallel-orientation` in
|
|
`docs/decisions.md`.
|
|
|
|
---
|
|
|
|
## 2026-07-11 — Queue state lives in the pinned Gitea tracker (#237), not in the handoff file
|
|
`key: docs.queue-state-gitea-tracker` · `status: superseded` · `since: 2026-07-11` · `supersedes: none` · `superseded-by: startup.parallel-orientation@2026-07-21`
|
|
**Rule:** (superseded) Volatile session/queue state lives in pinned Gitea tracker issue #237 (goal + arc in the body, append-only session-comment log, in-progress/review labels), not in a wholesale-rewritten handoff file; the handoff file keeps only the static kickoff prompt and append-only lore.
|
|
**Signals:** last-writer-wins race, claim/`in-progress` label, triage verdict · paths: `docs/handoffs/chicorytv-issue-queue.md` · issues: #237, #520
|
|
**Mechanics:** superseded by `scripts/select-queue.sh` (ersatztv#520); see `docs/decisions.md` → `startup.parallel-orientation`
|
|
|
|
With multiple sessions/agents working the repo in parallel, the old protocol — every session
|
|
wholesale-rewrites `docs/handoffs/chicorytv-issue-queue.md` on main (session state + queue +
|
|
next-session prompt) — became a last-writer-wins race. New protocol: **volatile queue state
|
|
moved to Gitea**, which is concurrency-safe by construction. Pinned tracker issue **#237**
|
|
holds the goal + ordered arc in its body (edited rarely, only on arc changes, re-read before
|
|
edit) and an append-only session-comment log (fixed template: Closed / Filed / Triage /
|
|
Arc change / Recommended next). Milestone `Blazor removal (#91 phase b)` + the `review` and
|
|
`in-progress` labels are the machine-queryable view. Sessions **claim** an issue before working
|
|
it (`in-progress` label + claim comment; the tiny read→claim race window is accepted, later
|
|
claimant backs off; stale claims — no commits/comments ~48h — may be taken over with a comment).
|
|
Every new issue gets an explicit end-of-session triage verdict — gate-blocker (milestone + arc
|
|
slot) or backlog (label only) — so review findings adjust the queue only through that step and
|
|
the arc doesn't drift. The handoff file keeps only the **static kickoff prompt** and the
|
|
**append-only Lessons lore** (per-session prompts are gone; task context lives in issue bodies).
|
|
|
|
**Why superseded (#520, 2026-07-21):** the arc completed and #237 closed (2026-07-13); a closed
|
|
tracker cannot serve as live queue state, and continuing to read it as such was a live regression
|
|
risk (an agent skimming an old comment or this very record could re-treat #237's prose as current).
|
|
`scripts/select-queue.sh` (2026-07-19) already replaced the mechanical parts of this rule with a
|
|
deterministic, live-Gitea-only query — this record's job was really "queue state lives in Gitea,
|
|
not in the handoff file," and that half is still true; what's superseded is the *specific store*
|
|
(#237's body/comments) now that maintenance/backlog mode has no arc to narrate. See
|
|
`startup.parallel-orientation` for the replacement: two concurrent session-start tracks
|
|
(orientation via the docs/decisions catalog + `docs/README.md` map, and selection via the script),
|
|
with #237 reduced to a single archival breadcrumb.
|