chore(workflow): migrate open work from STATUS.md to GitHub Issues#83
Conversation
…Project board ## Summary Moves open work tracking from STATUS.md "Open issues" into GitHub Issues with structured labels (type/*, area/*, priority/*, rule-encoding-deferred) and a Project board for visual triage. STATUS.md becomes a thin entry-point doc. The Continuous Rule Encoding loop in CLAUDE.md gets surface #5 updated from "docs/STATUS.md Open issues" to "GitHub Issues" — the reflexive step for deferred encodings now creates an issue with `rule-encoding-deferred` label. ## Changes - `.github/ISSUE_TEMPLATE/work-item.yml` — new Issue Form template (What / Why / Acceptance / Notes structure) used by `gh issue create` - `.github/ISSUE_TEMPLATE/config.yml` — disables blank issues, points at dev-loop.md - `docs/STATUS.md` — trimmed 211 → 86 lines; removed the 13-bullet "Open issues / known gaps" section (all migrated to issues); kept "Where we are", "Build/ test state", "How to run", "What's next" (now linking to the board), conditional follow-ups (multi-replica, polyrepo) that aren't issues by their nature, and source-of-truth links - `CLAUDE.md` "Continuous Rule Encoding" surface #5 — STATUS.md → GitHub Issues with the labels callout - `docs/dev-loop.md` six-surfaces table row #5 — same update - `.github/AI_WORKFLOW.md` — "Open issues stay in STATUS.md" → "Open work lives in GitHub Issues; STATUS.md is the entry-point doc" - `docs/ef-core.md` line 409 — STATUS.md "Open issues" reference → GitHub Issues with the area/infra label filter ## What's now in GitHub Issues (18 opened today) Migrated from STATUS.md "Open issues" + this session's follow-ups + dev-loop "Gaps" section: - #65 [epic] Full-saga Hetzner+Dokploy deployment (priority/now) - #66 Align dev-loop.md Promotion Signal table with CLAUDE.md (priority/now, rule-encoding-deferred) - #67 Decide fate of AWS deploy workflow (needs-design) - #68 Cross-service integration tests over real ASB wire (priority/next) - #69 Order cancellation flow (ORD-08) (priority/next) - #70 PaymentRecoveryJob: replay gateway with idempotency key (priority/next) - #71 Batch Catalog gRPC: ValidateLines (priority/next) - #72 [epic/blocked] Wolverine 5.x → 6.x migration - #73 Performance baselines under sustained load - #74 Production migration deploy job (gated) - #75 Codecov coverage gate - #76 AppHost smoke run scheduled job - #77 Service-to-service auth (mTLS or per-service tokens) (needs-design) - #78 DTO payload audit - #79 EF migration FQN snapshot cleanup - #80 Re-introduce .gitleaks.toml when scanner ≥ 8.25 ships (blocked) - #81 GitHub Actions SHA pinning - #82 Generalize PaymentRepository.ExecuteInTransactionAsync pattern ## Labels created - `type/*` (bug, feature, refactor, docs, chore, security, perf, test, epic) - `area/*` (catalog, order, payment, shipping, notification, infra, testing, ci, docs, claude, security) - `priority/*` (now, next, later) - Workflow: `blocked`, `needs-design`, `rule-encoding-deferred` - Dependabot expected: `dependencies`, `nuget`, `github-actions` ## Project board Not created in this PR (gh CLI needs `project` scope refresh). User creates in the web UI: Settings → Projects → New → Board. Recommended columns: Backlog, Next, In Progress, In Review, Done. ## Why this matters This session showed how often "what's next?" came up — five+ times, each answered by re-running `gh pr list` and parsing the queue. A Project board + issues answer that with one glance. STATUS.md got dual-duty as narrative entry-point AND open-work list; the dual duty made it fragile. The code-side loop (CLAUDE.md → PR → CodeRabbit → encode) stays unchanged. This PR adds the work-planning loop alongside it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
WalkthroughThis PR migrates work-item tracking from a centralized STATUS.md document to GitHub Issues with specific labels. The changes introduce issue template configuration, establish a structured work-item form, refactor STATUS.md into a concise entry-point, and update documentation references to point consistently to the new issue-tracking system. ChangesWork Tracking Migration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CLAUDE.md`:
- Line 185: Add the required follow-up notice to the CLAUDE.md change by
inserting the exact sentence "Run /check-rules locally to audit paraphrases
against this diff." as a flag on any edit that modifies canonical rules; ensure
the wording appears alongside the changed paragraph about GitHub issues (the
paragraph beginning "GitHub Issues — if the finding is deferred or partial") so
reviewers will see the mandatory instruction when CLAUDE.md is modified.
In `@docs/STATUS.md`:
- Line 5: Update the "Last updated:" timestamp in docs/STATUS.md from
"2026-06-02" to "2026-06-03" so the file’s header (the line containing "**Last
updated:** 2026-06-02 (migration: open work moved from this doc into GitHub
Issues; STATUS.md is now thin entry-point only)") reflects today's date; locate
the line containing the "**Last updated:**" text and replace the date portion
with "2026-06-03".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 651e5861-ec29-42f0-a8fc-fb93c81be720
📒 Files selected for processing (7)
.github/AI_WORKFLOW.md.github/ISSUE_TEMPLATE/config.yml.github/ISSUE_TEMPLATE/work-item.ymlCLAUDE.mddocs/STATUS.mddocs/dev-loop.mddocs/ef-core.md
| 3. **[`.claude/agents/architecture-reviewer.md`](.claude/agents/architecture-reviewer.md)** "Pattern checklist" — a scan rule the agent applies on every review touching the relevant file category. So the next architectural pass catches it before code lands. | ||
| 4. **[`.claude/skills/`](.claude/skills/)** — if the pattern is non-trivial enough to warrant a procedure (multi-step reasoning, specialized vocabulary), it becomes a skill. Otherwise the path_instructions + CLAUDE.md rule is enough. | ||
| 5. **[`docs/STATUS.md`](docs/STATUS.md) "Open issues"** — if the finding is deferred or partial. | ||
| 5. **GitHub Issues** — if the finding is deferred or partial. Open an issue with `rule-encoding-deferred` (when code shipped but the encoding is still pending) or the relevant `type/*` + `area/*` labels. The issue is the durable record; STATUS.md no longer carries an "Open issues" list (it's now a thin entry-point doc pointing at the issues board). |
There was a problem hiding this comment.
Required follow-up for canonical rules change.
Run /check-rules locally to audit paraphrases against this diff.
As per coding guidelines, any CLAUDE.md change must be flagged with: "Run /check-rules locally to audit paraphrases against this diff."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CLAUDE.md` at line 185, Add the required follow-up notice to the CLAUDE.md
change by inserting the exact sentence "Run /check-rules locally to audit
paraphrases against this diff." as a flag on any edit that modifies canonical
rules; ensure the wording appears alongside the changed paragraph about GitHub
issues (the paragraph beginning "GitHub Issues — if the finding is deferred or
partial") so reviewers will see the mandatory instruction when CLAUDE.md is
modified.
| > **Read this first when picking up work.** Entry-point doc: where the project is, how to run it, what's source-of-truth where. Keep it short (~100 lines). **Open work lives in [GitHub Issues](https://github.com/emeraldleaf/NextAurora/issues)**, not here. | ||
|
|
||
| **Last updated:** 2026-05-26 (CatalogService Clean Architecture → VSA collapse; carve-out retired — all five services now share one shape) | ||
| **Last updated:** 2026-06-02 (migration: open work moved from this doc into GitHub Issues; STATUS.md is now thin entry-point only) |
There was a problem hiding this comment.
Update the STATUS timestamp to today.
Line 5 is stale for this diff; it should be 2026-06-03 if this file is being modified in this PR.
As per coding guidelines, docs/STATUS.md changes must update the “Last updated:” date to today.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/STATUS.md` at line 5, Update the "Last updated:" timestamp in
docs/STATUS.md from "2026-06-02" to "2026-06-03" so the file’s header (the line
containing "**Last updated:** 2026-06-02 (migration: open work moved from this
doc into GitHub Issues; STATUS.md is now thin entry-point only)") reflects
today's date; locate the line containing the "**Last updated:**" text and
replace the date portion with "2026-06-03".
Summary
Moves open work tracking from STATUS.md "Open issues" into GitHub Issues. STATUS.md becomes a thin entry-point doc (where we are, how to run, what's source-of-truth); the issues board is the durable work tracker.
CLAUDE.md Continuous Rule Encoding surface #5 updates to match: deferred rule encodings now create an issue with `rule-encoding-deferred` label, not a STATUS.md bullet.
Why
This session showed how often "what's next?" came up — five+ times, each answered by re-running `gh pr list` and parsing the queue. A Project board + structured issues answer that with one glance. STATUS.md got dual-duty as narrative entry-point AND open-work list; the dual duty made it fragile (~211 lines, drift between updates).
What's in this PR
What's NOT in this PR (already done out-of-band)
Project board
Not created in this PR — `gh project create` needs a scope refresh:
```bash
gh auth refresh -s project,read:project
gh project create --owner emeraldleaf --title "NextAurora Work"
```
Or 30-second web UI setup: Settings → Projects → New → Board. Recommended columns: Backlog, Next, In Progress, In Review, Done.
Run /check-rules locally to audit paraphrases against this diff
CLAUDE.md was edited (surface #5). The PostToolUse hook flagged 30 paraphrase candidates. The four that referenced "STATUS.md Open issues" were updated in this PR (AI_WORKFLOW.md, dev-loop.md, ef-core.md, STATUS.md itself); the other 26 paraphrase unrelated rules and aren't stale on this change.
Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit