Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
3.5 KiB
Executable recovery evidence
Codex, 2026-09-25; baseline d7b2ea4. Scope: one published SDK implementation under
a controlled transport. Experiment,
source,
results, and
provenance are retained.
Findings and disposition
X01: Loss of a response after simulated acceptance leaves content in an SDK pending event labelled NOT_SENT. Resending that event preserves path, payload and transaction identity. This is executable evidence for client retention/retry behavior; duplicate prevention on a real server is not established because the receiver is synthetic.
X02: The SDK blocks a fresh send while a failed event is pending. After explicit local cancellation, a new identity for the same content produces a second fixture acceptance. Keep that queue guard in the description; omitting it would overstate how readily the client creates a duplicate. Cancellation is not remote rollback.
X03: When a matching remote event arrives first, both later success and later transport failure leave one reconciled timeline entry. In the failure case the send promise still rejects. Therefore a caller cannot derive domain acceptance solely from that promise's result. This directly exercises the evidence-precedence requirement proposed in VC-01.
X04: Element's pinned lockfile resolves the exact SDK commit previously inspected. This closes the source pairing question from FrontendRecoveryImplementations. It still does not prove a deployed build, and the runtime experiment deliberately uses a separately pinned published SDK version, not that source checkout.
Effect on the language
Retain eight drafts. Strengthen Mutation Outcome Tracking with attempt/domain separation and explicit cancellation semantics; no new pattern is needed. Use the experiment as one partial implementation observation, not a second independent use alongside Element (same family). Local Draft State's complete merge contract, VC-02 durability, frontend accessibility and baseline usefulness remain unverified.
No llm-connect call was needed: these findings come from executable assertions and source/lockfile inspection. This is a narrow increase in empirical evidence, not canonical admission or M1 completion.
Next bounded comparison
Under T03, prepare matched tasks for an independent reviewer: same context and information budget, pattern labels available in one condition and plain narrative in the other. Score missed constraints, unsupported guarantees and correct recovery choices; do not score use of preferred names. Counterbalance order and freeze the corpus before drafting unseen variants. Until a reviewer completes that comparison, decision usefulness stays unknown.
Under T02, keep the real client/server lost-response experiment open. This harness reduces uncertainty about SDK behavior but intentionally does not validate server deduplication, browser storage or a full Element deployment. Select a local disposable server only if those server guarantees become the next question; no production deployment is part of this research cycle.
Validation: a fresh npm ci --ignore-scripts installation from the checked-in lock
reproduced all four results and loaded SDK hashes exactly. The 35 existing repository
tests passed; local links and staged whitespace were checked. The four experiment
cases are additional SDK assertions, not frontend end-to-end tests.