Added
- "Why this needs human review" on every handoff card. The GB-Agent handoff preview now renders the GBCA safety-trip identifier (e.g.
draft-stream-safety:unsafe_active_inquiry_context— 94% of all amber cells), the human-readable reason, the tripped check, and the boundary. The trip is parsed from the connector evidence's JSON quote, a shape the previous parser silently dropped, so operators previously saw no granular reason for thousands of human-review runs. - Bot-status icon tooltip. Hovering the amber conversation bot icon now shows the GBCA handoff reason (and mirrors it to the accessible label), instead of the generic "GB-Agent draft".
Fixed / hardened
- Amber-path generation latency is observable. A regression test locks the behavior that the
human_reviewbranch records worker-measured GBCA latency (responder_runs.latency_ms) the same way thedraft_replypath does — so a sub-second safety refusal can be told apart from a multi-minute GBCA hang.
Notes
- All four new UI strings ship in all 7 locales as English placeholders; translation is scheduled.
- No API/contract changes for existing workspaces; every change is additive / observability-only.
- Root-cause audit: BORD-944 (parent audit BORD-938). The four remaining root-cause fixes are GBCA-side and tracked in the companion handoff.
Verification
pnpm --filter worker exec vitest run connector-draft-run-runtimepnpm --filter app exec vitest run gb-agent-draft-status-indicator gb-agent-handoff-preview-card connector-draft-previewpnpm --filter app exec vitest run app/api/settings/connectors/gb-agentpnpm --filter app exec tsc --noEmitpnpm --filter worker exec tsc --noEmitpnpm lintpnpm release:hygiene