Repository navigation
Description
Part of epic #1184 (PM stack coherence — wave 2, 2026-10-26).
Opening an item today means assembling its story by hand: state on one page, blockers as prose, last activity in the projector/GitHub stream, sessions on another page. A per-item AI brief panel — "explain this item" — does that assembly: current state in plain language, why it is blocked (with the blocker named and linked), who or what acted last and when, and a suggested next action, each claim carrying an evidence link into the underlying data. The brief is derived from the canonical projection + item activity at request time, is labelled as derived wherever it renders, and is never silently authoritative: where the data disagrees with itself, the brief says so and shows both sides rather than picking one. It renders on the item page and inside Needs-you cards, and its JSON twin exposes the same brief so agents read the identical summary Drew does.
Acceptance:
- Every board/roadmap/Project item can render a brief containing state, blocker (or "not blocked"), last actor + time, and a suggested next action, each with an evidence link.
- Briefs are visibly labelled as derived, and a source disagreement on the item is stated in the brief instead of resolved silently.
- The brief is available via the item's machine-first JSON twin with identical content.
- A brief for an item with no activity/blocker renders honestly (states what is unknown) rather than inventing a narrative; covered by fixture tests for blocked, in-flight, and idle items.
Acceptance criteria
- A per-item 'explain this item' brief panel exists assembling: current state in plain language, blocker (named and linked), last actor/activity, and a suggested next action.
- Nothing in the brief is asserted without a source in the underlying data — unknowns are stated as unknown, not narrated over.
- The brief is available via the item's machine-first JSON twin with identical content, and fixture tests cover blocked, in-flight, and idle items.
Activity
developing-today commentedon Oct 27, 2026
CODE-403
dezren39 commentedon Oct 27, 2026
Intake review
Related: epic #1184 (wave 2 parent).
Notes: the brief is an assembly problem, not a data problem — state, blockers, and activity already exist across the projector/GitHub stream; this surfaces them in one place. Verified live: project pages (PR #1305) improved navigation but add no per-item brief.
Risks: an AI-generated narrative that invents a blocker or actor would be worse than none — the honest-degradation criterion in the body is the core requirement.
Suggested approach: deterministic assembly from structured fields first (no free generation), with any generated phrasing constrained to those fields.
dezren39 commentedon Nov 1, 2026
agent-note:v1 — queue task 2535 (lane E) — triage verdict: CONFIRMED on current main
Verified 2026-11-01 against origin/main 0ea0a0f:
grep -rin "brief|explain this"overpm-stack/aggregator/src/*.tsreturns zero feature hits (only an unrelated "Poll briefly" comment in snapshots.ts:383), and server.ts has no item/brief route.Scoping call recorded for the implementer: despite the "AI brief" name, the acceptance contract (every claim evidence-linked, unknowns stated as unknown, identical JSON twin) is deterministic assembly over the canonical projection + activity — the follow-up packet explicitly excludes any LLM/provider integration.
Route: scoped implementation packet enqueued as queue task 4993 (small_fix): deterministic brief builder, disagreement stated not resolved (composes with #1282), panel in Needs-you cards + item views labelled derived, identical JSON twin, fixture tests for blocked/in-flight/idle.
dezren39 commentedon Nov 1, 2026
Claimed queue task 4993 as repo-worker-code. No prior queue progress was provided; checking fresh GitHub state and active ownership before creating a worktree.
126 remaining items
dezren39 commentedon Nov 2, 2026
agent-note:v1
event: parked
task: 4993 (repo-health-code-pilot, OpenChamber scheduled lane)
worker: repo-worker-code
state: parked for 20 minutes (until 2026-11-02T13:01:38Z)
blocker: Fresh checks on canonical task PR #4086 are still QUEUED: test and aggregator + projector. PR remains OPEN at f8cae28 on queue/4993-1279-per-item-brief; #1279 remains OPEN; no hard-stop labels. No files, branch, or PR changes this run.
resume: After checks complete, revalidate #1279, PR #4086 head/reviews/checks and current main. Inspect diff and merge only if checks are green, targeted tests verified, diff matches intent, and no hard-stop restriction applies.
bookkeeping: sandbox backlog and sweep log deferred to fleet reconciliation.
dezren39 commentedon Nov 2, 2026
🤖 Agent note · picked up
queue/4993-1279-per-item-brief, this task's own fleet branch) is implemented; both Codex P2 findings were fixed in e72d99d with replies on their threads, and Codex's review of head f8cae28 is completed with no unresolved findings. I will re-run the aggregator tests fresh on the laptop worktree and merge if verified, or park with the named blocker. (The earlier "Drew-authored, do not touch" note was the author-login over-fire: the head branch is task 4993's queue branch and there are no hard-stop labels.)Merge pull request #4086 from developing-today/queue/4993-1279-per-it…
dezren39 commentedon Nov 2, 2026
🤖 Agent note · done