diff --git a/docs/plans/2026-03-02-live-operation-issue-tracking-design.md b/docs/plans/2026-03-02-live-operation-issue-tracking-design.md new file mode 100644 index 0000000..65098c0 --- /dev/null +++ b/docs/plans/2026-03-02-live-operation-issue-tracking-design.md @@ -0,0 +1,100 @@ +# Live Operation Issue Tracking Design + +**Date:** 2026-03-02 +**Scope:** Real-operation confirmation tracking for all open Gitea issues, tied to `task/80-implementation-audit-closeout`. + +--- + +## 1. Goal + +Define an issue-by-issue tracking method for real-operation confirmation so that: + +- every open issue is tracked with explicit lifecycle states, +- parent-child close order is enforced, +- and final closeout is reflected in `80` audit work without loss. + +--- + +## 2. Target Set + +- Coverage target: all current open Gitea issues (`318~381`, and future open issues during this closeout window). +- Tracking starts from open set snapshot and stays synced until closeout completion. + +--- + +## 3. Tracking Architecture + +- Primary log: direct comments on each issue ticket. +- Aggregate log: single summary comment on the `80` PR (`task/80-implementation-audit-closeout`). +- No separate tracking doc as source of truth during execution. + +--- + +## 4. State Model and Criteria + +State machine: + +- `NOT_STARTED` +- `OBSERVING` +- `CONFIRMED` +- `CLOSED` + +Rules: + +- `CONFIRMED` requires one real-operation observation evidence item. +- `CLOSED` requires close conditions satisfied and ticket close action executed. +- Parent issue cannot become `CLOSED` until all child issues are `CLOSED`. + +--- + +## 5. Issue Comment Template + +Each issue update comment uses: + +- `Status: ` +- `Observed At: , ` +- `Environment: live` +- `Evidence: ` +- `Next: ` + +This template is reused for every transition for consistent auditability. + +--- + +## 6. Parent-Child Policy + +- Parent issue comment must list child issue IDs. +- Child issues transition independently. +- Parent close gate: + - if any child is not `CLOSED`, parent remains at most `CONFIRMED`; + - when all children are `CLOSED`, parent can transition to `CLOSED` and be closed. + +--- + +## 7. Operational Loop + +1. Initialize all open issues with `NOT_STARTED` comment. +2. Move active issues to `OBSERVING` when live confirmation begins. +3. Move to `CONFIRMED` after one real-operation evidence capture. +4. Close child issues first, then close parent issue(s). +5. Update the single `80` PR summary comment whenever issue state changes. +6. Reflect final confirmed/closed outcomes in `docs/ouroboros/80_implementation_audit.md`. + +--- + +## 8. Evidence and Time Rules + +- Evidence must be replayable/referenceable by identifier (not vague narrative only). +- Every update includes both KST and UTC timestamps. +- Use absolute dates (example: `2026-03-02`) to avoid ambiguity in session handoff. + +--- + +## 9. Completion Conditions + +Tracking design is complete when: + +- all open issues are represented in issue comments with valid lifecycle state, +- parent-child closure constraints are respected, +- `80` PR summary comment reflects current global status, +- and final `80` audit document update is ready for closeout commit. diff --git a/docs/plans/2026-03-02-live-operation-issue-tracking-implementation-plan.md b/docs/plans/2026-03-02-live-operation-issue-tracking-implementation-plan.md new file mode 100644 index 0000000..f9fb210 --- /dev/null +++ b/docs/plans/2026-03-02-live-operation-issue-tracking-implementation-plan.md @@ -0,0 +1,203 @@ +# Live Operation Issue Tracking Implementation Plan + +> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. + +**Goal:** Track real-operation confirmation for all open Gitea issues with per-issue comments and a synchronized summary on the `80` PR, then close issues in dependency-safe order. + +**Architecture:** Use issue tickets as the primary state log with a strict four-state lifecycle. Maintain one aggregate status comment on `task/80-implementation-audit-closeout` PR. Enforce child-first closure and parent close gating. + +**Tech Stack:** Git CLI, Gitea CLI (`tea`), Markdown (`docs/ouroboros/80_implementation_audit.md`) + +--- + +### Task 1: Snapshot open issues and classify parent-child graph + +**Files:** +- Create: none +- Modify: none +- Test: `tea issues ls` output inspection + +**Step 1: Capture open issue list** + +Run: `tea issues ls --state open --limit 200` +Expected: list of all open issues (including `318~381`). + +**Step 2: Fetch details for each issue** + +Run: `for n in $(tea issues ls --state open --limit 200 --output json | jq -r '.[].number'); do tea issue view "$n"; done` +Expected: issue bodies/comments available for relation parsing. + +**Step 3: Extract parent-child references** + +Run: parse issue text for relation keywords (`parent`, `child`, `depends on`, `blocks`). +Expected: dependency map ready. + +**Step 4: Validate unresolved dependency edges** + +Run: verify each parent references only existing issue numbers. +Expected: no dangling child references. + +**Step 5: Commit** + +```bash +# no commit (discovery task) +``` + +### Task 2: Initialize per-issue tracking comments (`NOT_STARTED`) + +**Files:** +- Create: none +- Modify: none +- Test: issue comment presence check + +**Step 1: Prepare standard template text** + +```text +Status: NOT_STARTED +Observed At: , +Environment: live +Evidence: N/A +Next: Begin live observation for this issue. +``` + +**Step 2: Post initialization comment to each open issue** + +Run: `tea issues comment --message "