Context
PR #13484 delivers the first safe slice of #13480: it stops the wake daemon from claiming a Codex osascript route is fully delivered when the only proven fact is that the UI submit attempt was issued. During review, Vega correctly caught that #13484 must not auto-close #13480, because the broader live submit-fix and live matrix validation remain open.
This ticket exists as the narrow delivered leaf that #13484 can honestly close while #13480 stays open for the submit-proven route and live validation.
Release classification: boardless (close-target split for an already-open PR; does not expand release scope).
Live latest-open sweep: checked latest 20 open GitHub issues at 2026-06-18T23:02:33Z; no equivalent narrow classification leaf found. A2A in-flight sweep: checked latest 30 messages; no competing [lane-claim] / [lane-intent] for this narrow leaf found. Exact local sweep over issues/discussions found adjacent #13287, #13291, #13347, and #13480 context, not a duplicate. Memory sweep for Codex wake submit evidence classification Submit attempted turnStartProof submitProof returned no prior duplicate.
The Problem
The wake daemon previously used final-delivery vocabulary for Codex UI automation even though an osascript exit only proves the adapter attempted to submit. In the current regression, this overclaim masks the actual failure mode: prompts can land in Codex without a turn starting.
The broader #13480 bug still owns the live submit reliability fix. This leaf owns the evidence-classification step that makes the bug observable without overstating what the daemon can prove.
The Architectural Reality
The wake-daemon delivery path has three distinct evidence classes:
- Route/backend completion: the script or adapter exited.
- Submit attempt: the UI automation attempted the Codex submit sequence.
- Turn start: Codex accepted the submit and began a model turn.
Only the third class is a live Codex Desktop proof. The daemon can unit-test the first two with mock osascript; it must label the third as live-required until a live turn-start proof exists.
The Fix
- Classify Codex
osascript route completion as Submit attempted, not Delivered.
- Add durable evidence fields that distinguish attempted submit from live turn-start proof.
- Keep non-Codex
osascript route vocabulary unchanged where the existing route semantics still apply.
- Preserve the #13457 pure-heartbeat no-submit behavior.
- Cover the branch with focused wake-daemon unit tests.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| Wake-daemon Codex delivery log vocabulary |
#13480 / PR #13484 review finding |
Codex route logs Submit attempted when only adapter completion + submit attempt are proven |
Keep turnStartProof=live-required until live validation exists |
PR body + unit assertions |
Focused wake-daemon unit coverage |
| Wake-daemon evidence fields |
#13480 / #13457 preservation |
Emit explicit submitProof and turnStartProof values for Codex submit attempts |
Do not infer turn start from osascript exit |
PR body + unit assertions |
Focused wake-daemon unit coverage |
Decision Record impact
none — this is a narrow wake-daemon evidence-labeling leaf under the existing #13480 investigation.
Acceptance Criteria
Out of Scope
- Fixing the actual intermittent Codex turn-start failure.
- Proving a live Codex Desktop turn-start.
- Completing the #13480 live matrix before/after validation.
- Changing the submit primitive or route selection.
Related
Handoff Retrieval Hint: Codex wake submit evidence classification Submit attempted submitProof turnStartProof #13484 #13480
Context
PR #13484 delivers the first safe slice of #13480: it stops the wake daemon from claiming a Codex
osascriptroute is fully delivered when the only proven fact is that the UI submit attempt was issued. During review, Vega correctly caught that #13484 must not auto-close #13480, because the broader live submit-fix and live matrix validation remain open.This ticket exists as the narrow delivered leaf that #13484 can honestly close while #13480 stays open for the submit-proven route and live validation.
Release classification: boardless (close-target split for an already-open PR; does not expand release scope).
Live latest-open sweep: checked latest 20 open GitHub issues at 2026-06-18T23:02:33Z; no equivalent narrow classification leaf found. A2A in-flight sweep: checked latest 30 messages; no competing
[lane-claim]/[lane-intent]for this narrow leaf found. Exact local sweep over issues/discussions found adjacent #13287, #13291, #13347, and #13480 context, not a duplicate. Memory sweep forCodex wake submit evidence classification Submit attempted turnStartProof submitProofreturned no prior duplicate.The Problem
The wake daemon previously used final-delivery vocabulary for Codex UI automation even though an
osascriptexit only proves the adapter attempted to submit. In the current regression, this overclaim masks the actual failure mode: prompts can land in Codex without a turn starting.The broader #13480 bug still owns the live submit reliability fix. This leaf owns the evidence-classification step that makes the bug observable without overstating what the daemon can prove.
The Architectural Reality
The wake-daemon delivery path has three distinct evidence classes:
Only the third class is a live Codex Desktop proof. The daemon can unit-test the first two with mock
osascript; it must label the third as live-required until a live turn-start proof exists.The Fix
osascriptroute completion asSubmit attempted, notDelivered.osascriptroute vocabulary unchanged where the existing route semantics still apply.Contract Ledger Matrix
Submit attemptedwhen only adapter completion + submit attempt are proventurnStartProof=live-requireduntil live validation existssubmitProofandturnStartProofvalues for Codex submit attemptsosascriptexitDecision Record impact
none — this is a narrow wake-daemon evidence-labeling leaf under the existing #13480 investigation.
Acceptance Criteria
osascriptwake delivery logsSubmit attemptedinstead of overclaimingDeliveredwhen only the submit attempt is proven.submitProof=attemptedfromturnStartProof=live-required.osascriptroutes retain their existing delivery vocabulary.Out of Scope
Related
Handoff Retrieval Hint:
Codex wake submit evidence classification Submit attempted submitProof turnStartProof #13484 #13480