Part of #945 and roadmap #900.
Problem
The current Board presentation can overstate evidence: unrecorded values render as zero, unknown posture can look successful, one PR can inflate owner counts through several reasons, stale campaigns appear active, and a successful gate-publisher workflow can be confused with the actual gate verdict. Current work also appears below long historical sections.
Scope
Correct truth and hierarchy using the existing Board payload. Put a short current-work summary and actionable work items before aggregate metrics and release history. Group attention reasons by work item, separate routine builder/orchestrator work from explicit owner decisions, render missing measurements as not recorded, render unknown/stale/unavailable states with neutral or warning treatment, separate gate publisher execution from code-mower/gate, and label old nonterminal campaigns as last reported/unverified when no recent liveness exists.
This is a presentation-only increment against existing data. Do not add lifecycle producers, session correlation, cloud fields, Slack mappings, mutating controls, or inferred agent activity.
Dependencies and parallelism
May proceed beside #945's B0 contract with a separate presentation writer. The later work-first UI must reconcile this behavior with the accepted B0 fixtures.
Acceptance criteria
Initial ownership
Presentation track. Planned builder: Code Mower Claude.
Code Mower delivery
Produce one independently reviewable PR for this issue. Record the named Code Mower builder, keep one writer on the branch, obtain an independent audit against the exact current head, resolve every P0/P1/P2 finding, and pass focused tests, relevant full tests, privacy checks, normal CI, and code-mower/gate. Upload only allowlisted metadata. No umbrella PR.
Existing PR and refreshed completion gate
Continue existing PR #957; do not create a duplicate implementation PR. It is draft and behind main. Refresh #956 first, then #957, preserving one writer per source area. Re-run the independent exact-head audit, focused/relevant tests, CI, and authoritative gate on every changed head; historical passing evidence is retained only for its original head. Contract/fixture implementation may merge after those checks without waiting for the Graphify tag. Board release #952 remains ordered after #915's release or explicit deferral.
#935 is complete through #973 and its resolver must be reused. Role/contributor/evidence integrations remain #975/#963/#976 and their consuming children; no new provider state machine or cloud fields are added here.
Part of #945 and roadmap #900.
Problem
The current Board presentation can overstate evidence: unrecorded values render as zero, unknown posture can look successful, one PR can inflate owner counts through several reasons, stale campaigns appear active, and a successful gate-publisher workflow can be confused with the actual gate verdict. Current work also appears below long historical sections.
Scope
Correct truth and hierarchy using the existing Board payload. Put a short current-work summary and actionable work items before aggregate metrics and release history. Group attention reasons by work item, separate routine builder/orchestrator work from explicit owner decisions, render missing measurements as not recorded, render unknown/stale/unavailable states with neutral or warning treatment, separate gate publisher execution from
code-mower/gate, and label old nonterminal campaigns as last reported/unverified when no recent liveness exists.This is a presentation-only increment against existing data. Do not add lifecycle producers, session correlation, cloud fields, Slack mappings, mutating controls, or inferred agent activity.
Dependencies and parallelism
May proceed beside #945's B0 contract with a separate presentation writer. The later work-first UI must reconcile this behavior with the accepted B0 fixtures.
Acceptance criteria
publish Code Mower gate statusworkflow cannot make a pending/blocked/unknowncode-mower/gateverdict appear passing.Initial ownership
Presentation track. Planned builder: Code Mower Claude.
Code Mower delivery
Produce one independently reviewable PR for this issue. Record the named Code Mower builder, keep one writer on the branch, obtain an independent audit against the exact current head, resolve every P0/P1/P2 finding, and pass focused tests, relevant full tests, privacy checks, normal CI, and
code-mower/gate. Upload only allowlisted metadata. No umbrella PR.Existing PR and refreshed completion gate
Continue existing PR #957; do not create a duplicate implementation PR. It is draft and behind main. Refresh #956 first, then #957, preserving one writer per source area. Re-run the independent exact-head audit, focused/relevant tests, CI, and authoritative gate on every changed head; historical passing evidence is retained only for its original head. Contract/fixture implementation may merge after those checks without waiting for the Graphify tag. Board release #952 remains ordered after #915's release or explicit deferral.
#935 is complete through #973 and its resolver must be reused. Role/contributor/evidence integrations remain #975/#963/#976 and their consuming children; no new provider state machine or cloud fields are added here.