Skip to content

Fix PROGRESS.md generator: epic-driven discovery, no collisions - #71

Merged
atc964 merged 3 commits into
mainfrom
fix/progress-generator-v3
Mar 19, 2026
Merged

Fix PROGRESS.md generator: epic-driven discovery, no collisions#71
atc964 merged 3 commits into
mainfrom
fix/progress-generator-v3

Conversation

@atc964

@atc964 atc964 commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rewrites generate_progress.py (v3) to auto-discover phases from epic records instead of hardcoded maps
  • Adds refresh_jsonl() to export fresh data from local DB before generating (skipped in CI)
  • Three-step bead assignment with no collisions: numbered prefix → epic deps → reverse dep propagation
  • Phase 1/3 now show descriptions ("Seller Interoperability", "Platform & Infrastructure")
  • Campaign Automation gap beads (buyer-ppi, buyer-80k, etc.) now appear in Phase 2
  • DealJockey renders as Phase 4 with sub-sections 4A–4E
  • Closes 3 stale duplicate bug beads (buyer-947, buyer-111, buyer-4xi)
  • 33 new generator tests

Test plan

  • 33/33 generator unit tests pass
  • Full buyer suite: 1393/1399 (6 pre-existing known-issue failures)
  • Verified bead counts match plan: Phase 1 (10), Phase 2 (17), Phase 3 (9), Phase 4 (41 across 5 sub-phases)
  • No bead appears in multiple sections
  • GitHub Action regenerates correctly after merge

bead: ar-4ff

🤖 Generated with Claude Code

atc964 and others added 3 commits March 19, 2026 15:03
Replace hardcoded phase maps (PHASE_MAP, DJ_PHASE_EPICS, DJ_PHASE_ORDER,
build_dj_phase_membership) with automatic epic discovery from issue data.
This eliminates the need for code changes when adding new epics/phases.

Key changes:
- Add refresh_jsonl() to auto-export fresh data from local DB before
  generating (skipped in CI where no DB exists)
- Auto-discover epics via issue_type + Phase regex in titles
- Create synthetic phases for numbered-prefix beads without epics
  (Phases 1, 3 have no epic records but have "1A:", "3B:" beads)
- Three-step collision-free bead assignment:
  1. Numbered prefix (highest priority)
  2. Epic direct deps (first match wins, phase order)
  3. Reverse dep propagation (gap beads inherit section)
- Phases with sub-epics render ### sub-sections (Phase 4A, 4B, etc.)
- All Campaign Automation gap beads now appear in Phase 2
- Add CI workflow logging for JSONL source diagnostics
- Add 33 tests covering all assignment logic and edge cases

bead: ar-4ff

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add fallback description map for Phase 1 ("Seller Interoperability") and
Phase 3 ("Platform & Infrastructure") which have numbered-prefix beads
but no epic records. Closed stale duplicate beads buyer-947, buyer-111,
buyer-4xi (duplicates of buyer-gp3, buyer-tvy, buyer-op8). Regenerated
PROGRESS.md with both fixes applied.

bead: ar-4ff

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
bead: ar-4ff

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@atc964
atc964 merged commit 6540309 into main Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant