Graduation act 2 of Discussion #14447 (quorum met 2026-07-02; full consensus record on-thread). ⛔ Merge gate: this leaf's PR is merge-blocked until the #14461 ADR is Accepted — claim and design freely (the #14433 pattern).
Problem
The organism senses its code, memory, and priorities — but not its own motion: benched-owner portfolios, silent stewards, unexecuted ramps, starved decisions, unowned closure acts all freeze silently. #14447's hand-run fixture found 5 stalled / 2 rescued / 7 true-negative across the open epic surface in one morning pass. This leaf mechanizes that pass.
Scope — v1 classes (from the graduated OQ1 computability table)
OWNER_BENCHED_LANE (pure-metadata: participationStatus × open-item assignee join)
DECISION_STARVED — PR human-gate class only (open + approved + unmerged; fully structured)
RESOLUTION_PENDING (all-subs-closed + epic-open + owner-inactive; the cure note renders "/epic-resolution is any-agent" per the operator norm)
STALE_DEFER — derived over the #14461 4-tuple where parseable; zero new sensing
- Explicitly OUT of v1:
RAMP_UNEXECUTED (needs its motion predicate), UNANSWERED_ASK (adoption + #14426-canary gated), STEWARD_SILENT (needs stewards-as-assignees convention), doc-embedded DECISION_STARVED (needs the marker).
Acceptance Criteria
Out of Scope
Hook injection (#13751 owns consumption) · wake alerts (post-v1, receivable-only) · FM affordances (#13448 sub-4) · the deferred classes above · any ranking/structural-weight interaction (OQ4's conditional axis waits for the #14422 route-attribution data).
Sequencing
Blocked-by (merge only): #14461 Accepted. Unblocks: #13751's ranked-map AC · #14453's negative-velocity input · the #13448 stall-badge card block. Filed unclaimed — implementation-tier; claimer runs ticket-intake + structural-pre-flight (likely ai/services/graph/ per the GapInferenceEngine family).
Refs #14447 (graduated source; fixture + full consensus record on-thread), #14461 (ADR gate), #14304 (Lane 4), #14426, #13751, #13448.
Graduation act 2 of Discussion #14447 (quorum met 2026-07-02; full consensus record on-thread). ⛔ Merge gate: this leaf's PR is merge-blocked until the #14461 ADR is
Accepted— claim and design freely (the #14433 pattern).Problem
The organism senses its code, memory, and priorities — but not its own motion: benched-owner portfolios, silent stewards, unexecuted ramps, starved decisions, unowned closure acts all freeze silently. #14447's hand-run fixture found 5 stalled / 2 rescued / 7 true-negative across the open epic surface in one morning pass. This leaf mechanizes that pass.
Scope — v1 classes (from the graduated OQ1 computability table)
OWNER_BENCHED_LANE(pure-metadata:participationStatus× open-item assignee join)DECISION_STARVED— PR human-gate class only (open + approved + unmerged; fully structured)RESOLUTION_PENDING(all-subs-closed + epic-open + owner-inactive; the cure note renders "/epic-resolution is any-agent" per the operator norm)STALE_DEFER— derived over the #14461 4-tuple where parseable; zero new sensingRAMP_UNEXECUTED(needs its motion predicate),UNANSWERED_ASK(adoption + #14426-canary gated),STEWARD_SILENT(needs stewards-as-assignees convention), doc-embeddedDECISION_STARVED(needs the marker).Acceptance Criteria
GapInferenceEnginefamily; deterministic graph traversal, no LLM in the detect path); every finding carries the full #14461 schema (7 fields incl.deferDisposition).updatedAtnever used as a motion signal (assert in tests with the #13444 fixture shape: a comment must NOT clear a frozen-ramp-class stall).candidate-deferhygiene debt, bounded list.candidate-stallandsource-degradedin collapsed sub-lists; OQ5's four human-render contracts enforced for operator-owned items (pull-not-push · leverage-framed unblock-counts ·waitingSinceas plain data · render-off flag honored).firstSeen/lastSeen/TTL +lastVerifiedAt; findings expire out of render when motion resumes or TTL lapses.Out of Scope
Hook injection (#13751 owns consumption) · wake alerts (post-v1, receivable-only) · FM affordances (#13448 sub-4) · the deferred classes above · any ranking/structural-weight interaction (OQ4's conditional axis waits for the #14422 route-attribution data).
Sequencing
Blocked-by (merge only): #14461
Accepted. Unblocks: #13751's ranked-map AC · #14453's negative-velocity input · the #13448 stall-badge card block. Filed unclaimed — implementation-tier; claimer runsticket-intake+structural-pre-flight(likelyai/services/graph/per the GapInferenceEngine family).Refs #14447 (graduated source; fixture + full consensus record on-thread), #14461 (ADR gate), #14304 (Lane 4), #14426, #13751, #13448.