Skip to content

Phase C — route human attention by risk#14

Merged
alejandro-nexcade merged 3 commits into
mainfrom
alejandro/phase-c-triage
Jul 2, 2026
Merged

Phase C — route human attention by risk#14
alejandro-nexcade merged 3 commits into
mainfrom
alejandro/phase-c-triage

Conversation

@alejandro-nexcade

Copy link
Copy Markdown
Collaborator

What (ROADMAP Phase C)

  • Batch CI at zero cost (C4): statusCheckRollup + headRefOid ride the existing bounded enrich call; rollup_to_summary shares one classification fn with summarize (parity test fails loudly on drift). Every card now carries CI without per-PR subprocesses.
  • Triage ranking v2 (C1): transparent additive attention score — within-bucket signals (CI, size, sensitive paths) with a provable invariant: their total span (0.70) is smaller than the bucket spacing (1.0), so a Reworked review can never sink below an Approved one. attentionReasons puts the WHY on the card.
  • Risk chips (C3): CI x/y, size class S/M/L/XL, sensitive-path, tests-touched — plus the >400-changed-lines "consider splitting" nudge (Cisco sizing data, roadmap F6 folded in).
  • Fast lane (C2): teal shelf for small + green + low-risk + stack-root actionable PRs. Same action path as every card — it compresses the decision, not the authority (no new approve/merge surface; §9 traced by review).

Review round

Reviewer caught a CRITICAL in the first cut: pinning base_sha to baseRefOid broke the restack fork-point invariant — reverted (base side of the full-file view keeps its documented drift limitation instead). Also fixed: head_sha refresh guard extended to Reworked (local HEAD leads until push is visible), TS/Rust ERROR classification parity, fast lane restricted to stack roots (no fragmented stacks), per-object signal memoization.

Verified

cargo fmt/clippy -D warnings/test --all (436+) · tsc strict · vitest 179 · vite build · reviewer pass + targeted fix round + coordinator spot-check.

🤖 Generated with Claude Code

LifeLex and others added 3 commits July 2, 2026 03:38
statusCheckRollup/headRefOid/baseRefOid ride the existing bounded enrich
call — CI on every card at zero extra subprocesses. Classification shares
one fn with summarize (parity test fails loudly on drift). SHAs pinned at
import fix the full-file base-drift minor; refresh never clobbers the
worktree HEAD mid-rework.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Transparent additive attention score (within-bucket span 0.70 < 1.0
bucket spacing, invariant-tested), attentionReasons vocabulary, CI/size/
sensitive/tests chips on cards with the >400-line split nudge (F6), and
the teal FAST LANE shelf (same action path — compresses the decision,
not the authority).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…guard, minors

base_sha keeps its restack fork-point semantics (pinning to baseRefOid
reverted; refresh never writes it); head_sha refresh guard covers
Reworked (local HEAD leads until the push is visible); TS ci ERROR
parity; fast lane restricted to stack roots; per-object signal memoization.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@alejandro-nexcade alejandro-nexcade merged commit ee79bc8 into main Jul 2, 2026
2 checks passed
@LifeLex LifeLex deleted the alejandro/phase-c-triage branch July 2, 2026 04:39
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.

2 participants