- Introduce ThreadSessionMapper to derive stable OpenClaw session keys
from threadId/sessionId, avoiding leaked draft session identifiers
- Replace the artifact scope cascading fallback (output-token heuristics,
draft variant retries) with a single collect-and-snapshot call followed
by export, per anti-fallback rules
- Enforce artifact contract by failing runs that report success but miss
required final artifact extensions
- Update orchestrator and tests to the new methods sequence
(collect-and-snapshot before export)
- Relax AGENTS.md rule to allow updating tests when the protocol contract
itself changes