Skip to content

feat: dashboard epic grouping + lifecycle-drift flag - #247

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/dashboard-epic-grouping
Aug 21, 2026
Merged

feat: dashboard epic grouping + lifecycle-drift flag#247
Jammy2211 merged 1 commit into
mainfrom
feature/dashboard-epic-grouping

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Summary

Both halves of #246, in the intake dashboard generator (_intake.py, md + html renders):

  • Epic grouping — prompts may carry Epic: <slug> (+ optional Phase: N) headers. Members leave the Start-here pick lists and the Backlog work-type dropdowns (counts adjusted, a note says where they went) and render only inside their epic's group: resume 📋 first, members phase-ordered (phase-less after, by filename), with the start-in-order caution. The Epics section moves to the bottom of the page, after Backlog, so each programme reads as one unit. A member naming an unregistered slug groups loudly under '⚠️ not in epics.md' instead of silently rendering standalone. Ledger-only epics (no Mind prompts) keep their flat resume row.
  • Lifecycle-drift flag — the census flags draft prompts whose body carries a line-anchored Fix: … PR #N / pull/N as Needs lifecycle reconciliation, rendered above Start here. This is the numba psf_weighted_data failure mode (fixed + merged overnight, prompt left in draft/, dashboard advertised a fixed bug as top-priority backlog — reconciled by hand in Mind 2d7f2367). Line-anchoring keeps context citations (e.g. 'superseded by PR feat: profiling conductor — the Measurement Agent (campaign/ingest/triage) #60') from flagging.

Epic:/Phase: are deliberately NOT in HEADER_FIELDS, so their absence never counts as header hygiene.

Mind-side follow-up lands direct on Mind main after this merges: nightly cron on dashboard_refresh.yml + Epic:/Phase: stamps on the source-cluster arc and graphical-ep member prompts (stamps are inert under the old generator, load-bearing under this one).

API Changes

None — internal changes only (dashboard renderers + census; the pages regenerate on the next Mind refresh).

Test Plan

  • tests/test_intake_dashboard.py — 28 passed (6 new: member exclusion + ordering, phase-less fallback, stray-slug loudness, drift flag + non-flagging citation)
  • Full Brain suite: 380 passed
  • Live render against the real Mind: section order Start here → In flight → Parked → Planned → Backlog → Epics → Hygiene; drift list empty (numba prompt already reconciled)

Generated by the PyAutoLabs agent workflow.

Two human-reported problems (PyAutoBrain#246):

- Epic members rendered as standalone backlog: prompts may now carry
  'Epic: <slug>' (+ optional 'Phase: N') headers; members leave the
  Start-here pick lists and work-type dropdowns and render only inside
  their epic's group — resume prompt first, members phase-ordered — in
  an Epics section moved to the bottom of the page, on both the md and
  html renders. A member naming an unregistered slug groups loudly
  rather than silently returning to the backlog.

- A fixed-but-never-advanced draft masqueraded as top-priority backlog
  (the numba psf_weighted_data case: fixed + merged overnight, prompt
  left in draft/): the census now flags draft prompts whose body carries
  a line-anchored 'Fix: ... PR #N' as 'needs lifecycle reconciliation'
  near the top of the page. Line-anchored so prompts merely citing PRs
  as context never flag.

Closes #246.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K21CJX9TAgULDo1fFJtonc
@Jammy2211
Jammy2211 merged commit 52461b2 into main Aug 21, 2026
2 checks passed
@Jammy2211
Jammy2211 deleted the feature/dashboard-epic-grouping branch August 21, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant