syntaqxEnding a session by hand is a soft close: like one that timed out, it comes back the moment its harness is heard from again. An update or a recorded entry now brings it back, where before both were refused with 'This session has ended. Start a new one.' A start already did. So a harness that was still running picks up where it was, and one that is truly gone stays ended. A session its harness ended itself still stays ended. g1t_contracts::work::revives(end_reason) is the one rule, for timed_out and 'ended by hand by @…', and update, record and subagents' late hooks use it. The End session dialog and the sessions guide say so. Checked: cargo test -p g1t-contracts (322, new: what comes back when heard from), -p g1t-work (214), cargo check -p g1t-work (wasm32).de2b3aeHistory
- ..
- backup-restore-drill.mjs
- backup-restore-drill.test.mjs
- billing-live-preflight.mjs
- billing-sandbox.mjs
- detach-demo-billing.mjs
- fork-storage-test.mjs
- gitstore-namespaces.mjs
- gitstore-namespaces.test.mjs
- gitstore-usage.mjs
- platform-usage.mjs
- platform-usage.test.mjs
- restore-to-gitstore.mjs
- restore-to-gitstore.test.mjs
- runner-errors.mjs
- runner-errors.test.mjs
- smoke.mjs
- smoke.test.mjs
- sudo.mjs
- vapid-keys.mjs