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.test.ts
- backup.ts
- broker-egress.ts
- broker-relay.test.ts
- broker-relay.ts
- broker.test.ts
- broker.ts
- bump.test.ts
- bump.ts
- credentials.test.ts
- credentials.ts
- egress.test.ts
- egress.ts
- forward.test.ts
- forward.ts
- gate.test.ts
- guard.ts
- index.ts
- lifecycle.test.ts
- lifecycle.ts
- machines.test.ts
- self-hosted.test.ts
- self-hosted.ts