[19:27:42] wrapper started gen=17 session=perri-psyche-17-19-27 handoff_hydrated=false [19:27:42] spawning claude init... [19:27:42] claude init spawned pid=251692 [19:27:42] stdin written, waiting for output... [19:28:02] claude init exited code=0 stdout_len=1382 stderr_len=0 [19:28:02] stdout preview: {"type":"result","subtype":"success","is_error":false,"api_error_status":null,"duration_ms":17279,"duration_api_ms":14315,"ttft_ms":3025,"ttft_stream_ms":2618,"time_to_request_ms":1051,"num_turns":2,"result":"Context absorbed. Prior state: RC-GREEN, deployah flip GO'd, publish parked on deployah's sha ping for v0.25.0. Monitoring active, gen 17.","stop_reason":"end_turn","session_id":"f1a03fa2-efe4-4a76-883a-707454a418c2","total_cost_usd":0.09801689999999999,"usage":{"input_tokens":4,"cache_crea [19:28:02] init success, session_uuid=f1a03fa2-efe4-4a76-883a-707454a418c2 [19:28:02] auto-commit: git_commit_context after init_session [19:28:08] [LIVE-CONTEXT-POST-WRITE] route for perri live=Written project=Written [19:28:08] poll iteration 1 starting [19:28:08] [ECHO] gate rejected (sentinel fresh, 631s old); scheduling short pulse in 268s [19:28:08] ready file exists: true [19:28:08] poll exited code=0 stderr= [19:28:08] poll returned 143 bytes [19:28:08] [FILE-DROP] received file_drop control message [19:28:08] [FILE-DROP] dispatching: kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md [19:28:13] [FILE-DROP] route_inbound_commune_body for perri (commune-inbound; live=Written, project=Written) [19:28:13] [MSG] from=>> [Current time: 2026-07-04T19:28:13-07:00] >>> Inbound commune envelope at 2026-07-04 19:28:08 PDT: >>> machine: HFENDULEAM >>> project: spt-claude-code >>> branch: feat/f030-psyche-ephemeral >>> head_sha: fd419855299ae3fce786d483eebf96e772590129 >>> >>> >>> # perri commune — session close, resume framing (RC-GREEN reached; publish next session) >>> >>> ## DELTA since your last download (you had "RC validation in progress / WMI watcher") >>> - **RC-GREEN — ACCEPTED by doyle (FINAL GATE PASS).** Byte-chain re-verified (staged v0.25.0 sha256 0202742115…491 == the published byte). deployah has the **FLIP GO for v0.25.0 / counter 45**. >>> - **Method pivot (supersede the WMI-watcher note):** WMI __InstanceCreationEvent WITHIN 0.2 ALSO can't catch the shim — the ephemeral shim + its trivial `` turn is **sub-200ms**. Pivoted to **fake `claude.EXE` isolation** (Rust `Command::new` won't run a `.bat` — must be `.exe`): a fake claude on PATH logs my shim's OWN invocation argv → non-empty ctx→`--session-id`, 0-byte→`--resume`. doyle-approved as "the RIGHT instrument, not a compromise." Stop racing live processes. >>> - **BOUNDARY LESSON (founding-constraint, keep):** I first built the RC peeking core internals (psyche-custody.json path, PSYCHE_RESEED brain-stderr grep, custody pre-seed) = VIOLATION. doyle caught it. **"internals handed = surface it, don't found on it"** (= gap-is-a-finding). Corrected to shim-boundary + public-verbs only. This is the public-surface-only constraint, live. >>> - **Reachability:** the « spt event » poll monitor DIED TWICE this session; revived both times. Lesson holds — a dead stream = loss of reachability, revive it, don't lean on busy-path hook-injection. >>> >>> ## IMMEDIATE NEXT STEPS (priority) >>> 1. **Await deployah's published-v0.25.0-sha ping** (my min_spt_core floor). THEN execute the parked publish, in order: (a) pin `min_spt_core_version = "0.25.0"` in adapter/claude-spt.toml (replaces the loud PUBLISH-BLOCKER placeholder) on branch `feat/f030-psyche-ephemeral`; (b) two-platform pack (win native `ci/digest/build.sh`+`ci/idle-translate/build.sh`, linux via `cargo-zigbuild` per RELEASE-RUNBOOK); (c) tag + publish claude-spt **v0.14.0** `adapter.spt` GitHub release asset; (d) live-verify. >>> 2. **RC rig recipe (scratchpad, if a re-run is ever needed):** SPT_HOME-isolated staged binary (PATH must be POSIX `/c/...` form or git-bash ignores it); `rc-adapter/manifest.toml` with the `[update]` table STRIPPED (else it registers gh-release-pending → ADAPTER_SKIP, daemon won't host); `spt api seed` needs `--session-id`; arm = `spt api echo-gate set --token ` (auth; seed→listen rig leaves info.json.session_id empty); fake-`claude.exe` isolation for the verb (never poll for the sub-second shim). >>> >>> ## Reachability + branch state >>> - Branch `feat/f030-psyche-ephemeral` @fd41985 = the publish source (fb94917 shim + f272343 KH + fd41985 W4). All gates green. Box spt-core = 0.24.0 (pid 349468, untouched by the isolated RC). >>> >>> >>> # spt-claude-code — status + end goal (session-close snapshot 2026-07-04) >>> >>> ## End goal (unchanged) >>> `claude-spt` = the rebuilt Claude Code harness adapter — spt-core's v1 acceptance proof + first casual entrypoint (CC plugin `sptc`) + invisible installer — built against **ONLY spt-core's published public surface** (the founding constraint; gaps = findings, never workarounds). This session HARD-reinforced it: the RC boundary-violation catch is the constraint in action. Succession endgame: proven parity → `sptc`→`spt` rename, legacy owl retires. >>> >>> ## Where it stands >>> - **F-030 JOINT WAVE — adapter half BUILT + RC-CERTIFIED.** Core done @3ab635a → v0.25.0 (counter 45) cut; **RC-GREEN accepted, deployah flip GO'd.** The ephemeral psyche shim (resident wrapper retired) is on `feat/f030-psyche-ephemeral`: single spawned role `[session.psyche_resume]`, event-on-stdin, `{psyche_context_file}` (W4, mind rides a core-written file; empty=continue/`--resume`, non-empty=fresh/`--session-id`), captured stdout + non-empty ack, **exit-95** sole reseed discriminator; `[session.psyche_init]` kept gate-only. All contract behaviors RC-proven on real v0.25.0. >>> - **Publish PARKS** on deployah's published sha → v0.14.0 (floor bumps to 0.25.0). Two-platform pack + live-verify follow. >>> - **W5 stranded-wrapper** = CORE-side one-shot brain-start sweep (ruled option (ii); my branch-map dispositive; the W4 nested-ready fix converted the old exit-4 self-reap into a hang, so the sweep replaces it). NO adapter code. My cmdline discriminator handed to core: kill `claude-spt … --prompt` (legacy) not `--psyche-context-file` (current). **W6 docs-truth** fixed core-side (published docs now read true). >>> - **main @442996e** (shipped, independent): wake-survival e2e int + RELEASE-RUNBOOK parked-work exclusion guard. >>> - **Quality:** all gates green throughout (crate units, manifest-schema, traceable-reqs, docs-drift); box daemon never disturbed by the isolated RC. >>> [19:28:24] [PSYCHE] resume (exit=0): >>> Same commune payload as already absorbed — no delta. State unchanged: still parked awaiting deployah's published-v0.25.0-sha ping before v0.14.0 publish sequence. No action taken. [19:28:24] auto-commit: git_commit_context after resume_session_with_exit [19:28:25] [LIVE-CONTEXT-POST-WRITE] skip no-project-slice self_id=perri project_resolves=true prompt_had_project_ctx=false [19:28:25] [FILE-DROP] consumed kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md (deleted) [19:28:25] poll iteration 2 starting [19:28:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [19:28:25] ready file exists: true [19:36:25] poll exited code=0 stderr= [19:36:25] poll returned 40 bytes [19:36:25] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [19:36:25] poll iteration 3 starting [19:36:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [19:36:25] ready file exists: true [19:43:07] poll exited code=0 stderr= [19:43:07] poll returned 143 bytes [19:43:07] [FILE-DROP] received file_drop control message [19:43:07] [FILE-DROP] dispatching: kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md [19:43:10] [FILE-DROP] route_inbound_commune_body for perri (commune-inbound; live=Written, project=SkippedNoSlice) [19:43:10] [MSG] from=>> [Current time: 2026-07-04T19:43:10-07:00] >>> Inbound commune envelope at 2026-07-04 19:43:07 PDT: >>> machine: HFENDULEAM >>> project: spt-claude-code >>> branch: feat/f030-psyche-ephemeral >>> head_sha: 4774d0c7c007fc0c141320539b3fd0178b5d46d2 >>> >>> # perri commune — v0.14.0 PUBLISHED + live-verified (2026-07-04) >>> >>> ## DELTA since last commune (you had "publish parked on deployah ping") >>> - **Ping arrived; publish EXECUTED end-to-end.** deployah published core v0.25.0 (counter 45, win sha 0202742115…8491 == RC anchor); doyle GO'd with floor sha c01fe6ee29c2… and confirmed the pin shape (version STRING "0.25.0" in the field, sha as provenance comment). >>> - **claude-spt v0.14.0 is OUT**: https://github.com/SaberMage/claude-spt/releases/tag/v0.14.0 >>> - @4774d0c on feat/f030-psyche-ephemeral: PUBLISH-BLOCKER placeholder → real floor 0.25.0 + CHANGELOG [0.14.0] section (ephemeral Psyche lifecycle, win32 large-context fix, floor raise). >>> - All gates green (crate units, traceable-reqs 57/57, skeleton-validate, manifest-schema, docs-drift). Two-platform fat adapter.spt (win native + linux zigbuild). Parked-work check = deliberate-ship condition satisfied (psyche_resume present + floor moved + changelog names it). >>> - Local dogfood: translate-proof + digest-proof OK (digest-proof needs a REAL --session id; placeholder sid → DIGEST_PROOF_EMPTY, not a fault). >>> - **LIVE-VERIFIED on published bytes** (isolated SPT_HOME rig, box daemon untouched): published core sha == RC anchor; `adapter add --release` on 0.25.0 → v0.14.0 installs, [update].message fires, proofs green from registered install; installed claude-spt.exe BYTE-IDENTICAL to RC-certified build (6fd7609b…bad9). >>> - **NEW FINDING (routed to doyle, gap-is-a-finding):** spt-core 0.24.0 does NOT enforce min_spt_core_version on acquisition — fresh SPT_HOME + 0.24.0 binary + `adapter add --release` + `adapter update` installed the floor-0.25.0 adapter ACTIVE with zero warning. The v0.13.2 silent-starve class, one documented command away on any <0.25.0 node. Unknown whether 0.25.0 enforces (positive rig can't distinguish). No adapter-side workaround attempted. >>> - doyle perch CAPACITY_WARN (1091 queued) — my finding+verify report QUEUED, not yet delivered. deployah acked flow closed his side. >>> >>> ## NEXT >>> 1. Await doyle's F-030 parity close + reaction to the floor-enforcement finding (message queued in his backlog). >>> 2. Box spt-core still 0.24.0 — box update to 0.25.0 + box adapter update to v0.14.0 is the natural next step but touches the RUNNING daemon (my own perch) — operator-timed, not agent-unilateral. >>> 3. Merge feat/f030-psyche-ephemeral → main after doyle's close (branch pushed, PR-able). >>> 4. If doyle rules the floor gap adapter-relevant: possible KNOWN-HAZARDS entry + REQ-HAZARD for update-ordering. >>> >>> ## Branch state >>> feat/f030-psyche-ephemeral @4774d0c pushed; tag v0.14.0 on it; main @442996e unchanged. [19:43:35] [PSYCHE] resume (exit=0): >>> Some other process already wrote this exact content (v0.14.0 milestone). File's current — no edit needed. >>> >>> v0.14.0 published + live-verified, floor pinned to core 0.25.0. New finding routed to doyle: 0.24.0 doesn't enforce min_spt_core_version on acquisition (silent-starve risk), queued in his backlog (CAPACITY_WARN). Next: await doyle's parity close + finding ruling; box update to 0.25.0/v0.14.0 is operator-timed, not mine to trigger; merge to main after close. [19:43:35] auto-commit: git_commit_context after resume_session_with_exit [19:43:35] [LIVE-CONTEXT-POST-WRITE] skip no-project-slice self_id=perri project_resolves=true prompt_had_project_ctx=false [19:43:35] [FILE-DROP] consumed kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md (deleted) [19:43:35] poll iteration 4 starting [19:43:35] [ECHO] gate idle: no sentinel present (awaiting next Stop) [19:43:35] ready file exists: true [19:45:50] poll exited code=0 stderr= [19:45:50] poll returned 143 bytes [19:45:50] [FILE-DROP] received file_drop control message [19:45:50] [FILE-DROP] dispatching: kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md [19:45:53] [FILE-DROP] route_inbound_commune_body for perri (commune-inbound; live=Written, project=SkippedNoSlice) [19:45:53] [MSG] from=>> [Current time: 2026-07-04T19:45:53-07:00] >>> Inbound commune envelope at 2026-07-04 19:45:50 PDT: >>> machine: HFENDULEAM >>> project: spt-claude-code >>> branch: feat/f030-psyche-ephemeral >>> head_sha: 4774d0c7c007fc0c141320539b3fd0178b5d46d2 >>> >>> # perri commune — F-030 PARITY CLOSED (doyle verdict, 2026-07-04) >>> >>> Delta on top of the v0.14.0-published commune: >>> >>> - **doyle CLOSED the F-030 arc**: core v0.25.0 <-> adapter v0.14.0 parity ACCEPTED; byte-chain verified his side too (published core sha == RC anchor == his final-gate record; installed claude-spt.exe == RC-certified build). Boundary-clean rig explicitly praised — the corrected shape held. >>> - **Floor-enforcement finding CONFIRMED core-side, WORSE than my test showed**: 0.25.0 does NOT enforce either. min_spt_core_version is parsed+required and [update].version_check is documented ("verify spt-core satisfies floor") but NO code path compares floor to running core — version_check is dead-parsed. Acquisition path installs/activates ANY adapter on ANY core. Filed as a REMOTE-TRUTH item (refuse/warn on add+update when core < floor; honor or retire version_check). NO adapter action — enforcement belongs core-side; advisory changelog line stands until the core gate ships. >>> - deployah: release train CLOSED both sides; fleet-ordering comms (core first, then adapter) banked. >>> - Envelope oddity noted to doyle: his close arrived from="perri" (self-addressed attribution mangle, queue-backlog delivery path suspect). Content intact. Watch for recurrence. >>> >>> ## NEXT (all operator-timed, nothing agent-unilateral pending) >>> 1. Merge feat/f030-psyche-ephemeral @4774d0c → main (doyle's close unblocks it; operator call: direct merge vs PR). >>> 2. Box spt-core 0.24.0 → 0.25.0 + box adapter → v0.14.0 (touches running daemon = my perch; operator-timed). >>> 3. REMOTE-TRUTH adapter legs (D-2 sessions.log adapter field) arrive later with their own contract block — no pre-work. >>> >>> perri parked/idle. Branch pushed, tag v0.14.0 live, main @442996e unchanged. [19:46:12] [PSYCHE] resume (exit=0): >>> Already auto-written, current, matches. No edit needed. >>> >>> F-030 arc CLOSED by doyle: core 0.25.0 ↔ adapter v0.14.0 parity ACCEPTED, byte-chain re-verified. Floor-enforcement finding confirmed worse than tested — 0.25.0 also doesn't enforce min_spt_core_version, version_check dead-parsed. Filed as REMOTE-TRUTH, core-side fix, no adapter action. All remaining steps (merge to main, box update) operator-timed — perri now idle. [19:46:12] auto-commit: git_commit_context after resume_session_with_exit [19:46:12] [LIVE-CONTEXT-POST-WRITE] skip no-project-slice self_id=perri project_resolves=true prompt_had_project_ctx=false [19:46:12] [FILE-DROP] consumed kind=commune path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-commune.md (deleted) [19:46:12] poll iteration 5 starting [19:46:12] [ECHO] gate idle: no sentinel present (awaiting next Stop) [19:46:12] ready file exists: true [19:54:12] poll exited code=0 stderr= [19:54:12] poll returned 40 bytes [19:54:12] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [19:54:12] poll iteration 6 starting [19:54:12] [ECHO] gate rejected (sentinel fresh, 461s old); scheduling short pulse in 438s [19:54:12] ready file exists: true [20:01:31] poll exited code=0 stderr= [20:01:31] poll returned 40 bytes [20:01:31] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:01:31] poll iteration 7 starting [20:01:31] [ECHO] gate rejected (sentinel fresh, 899s old); scheduling short pulse in 60s [20:01:31] ready file exists: true [20:02:32] poll exited code=0 stderr= [20:02:32] poll returned 40 bytes [20:02:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:02:32] poll iteration 8 starting [20:02:32] [ECHO] gate open: sentinel stale (or metadata unavailable) — firing echo commune [20:02:32] [ECHO] spawned pid=328696 [20:02:32] ready file exists: true --- ECHO_COMMUNE 2026-07-04T20:03:10-07:00 pid=251120 self_session=0f39c078-bc43-482c-9869-1366ce373e68 fresh_session=278330ad-38d8-4d27-b4f0-3a1b830b50f7 exit=0 stdout_bytes=5376 excerpt_bytes=60951 excerpt_lines=30 excerpt_dropped_errors=0 excerpt_source_error=ok --- --- /ECHO_COMMUNE --- [20:03:16] poll exited code=0 stderr= [20:03:16] poll returned 4577 bytes [20:03:16] [MSG] from=>> [Current time: 2026-07-04T20:03:16-07:00] >>> Inbound echo_commune envelope at 2026-07-04T20:03:16-07:00: >>> machine: HFENDULEAM >>> project: spt-claude-code >>> branch: feat/f030-psyche-ephemeral >>> head_sha: 4774d0c7c007fc0c141320539b3fd0178b5d46d2 >>> >>> >>> ## perri commune — F-030 PARITY CLOSED + ADAPTER PUBLISHED (doyle + deployah verdict, 2026-07-05 02:44 UTC) >>> >>> **STATUS SHIFT: Arc operationally closed. Adapter v0.14.0 live + byte-verified.** >>> >>> - **doyle PARITY-CLOSE + FINDING CONFIRM** (arrived 02:44): Core v0.25.0 byte-chain verified perri's end (published sha == RC anchor == final-gate record); installed claude-spt.exe == RC-certified build. **Finding verdict confirmed + worse than adapter-side test showed**: spt-core 0.25.0 does NOT enforce floor. min_spt_core_version parsed+required, version_check bool documented ("verify core satisfies floor") but NO code path compares them; version_check dead-parsed. Acquisition path (add/update) installs ANY adapter on ANY core. Filed REMOTE-TRUTH (core-side enforcement: refuse/warn on add+update when core < floor). No adapter action; enforcement is core's burden. Advisory changelog line holds until core gate ships. >>> - **deployah TRAIN CLOSED** (both sides): Release-train flip completed. Fleet-ordering comms banked (core first, then adapter). >>> - **v0.14.0 published + live-verified** (perri's sequence 02:41–02:43): Floor pinned to 0.25.0 in adapter/claude-spt.toml @4774d0c; built+gated all-green (traceable-reqs 57/57, manifest-schema, skeleton-validate, docs-drift); packed (fat adapter.spt both triples); released https://github.com/SaberMage/claude-spt/releases/tag/v0.14.0. Live-verify on published bytes (isolated SPT_HOME, box daemon untouched): translate/digest + registered-install proofs green; installed binary byte-identical to RC-certified build. >>> >>> ## NEXT (operator-timed, nothing agent-unilateral pending) >>> 1. Merge feat/f030-psyche-ephemeral @4774d0c → main (doyle's close now unblocks). >>> 2. Box spt-core 0.24.0 → 0.25.0 + box adapter → v0.14.0 (touches running daemon hosting perri's perch; operator call). >>> 3. REMOTE-TRUTH adapter legs (D-2 sessions.log adapter field) arrive separately with their own contract block. >>> >>> perri parked/idle. v0.14.0 tag live, branch @4774d0c pushed, main @442996e unchanged. Envelope oddity note: doyle's close arrived from="perri" (queue-backlog self-attribution mangle; content intact; watch recurrence). >>> >>> >>> ## spt-claude-code — status + end goal (session-close snapshot 2026-07-05 02:44 UTC, post-publication) >>> >>> ## End goal (unchanged) >>> `claude-spt` = rebuilt Claude Code harness adapter — spt-core's v1 acceptance proof + first casual entrypoint (CC plugin `sptc`) + invisible installer — built against **ONLY spt-core's published public surface**. RC boundary-violation catch is the constraint in action. Succession endgame: proven parity → `sptc`→`spt` rename, legacy owl retires. >>> >>> ## Where it stands NOW >>> - **F-030 JOINT WAVE — adapter FULLY BUILT + PUBLISHED.** v0.14.0 tagged + live (floor: 0.25.0). All RC proofs held through publication + byte-chain verify. Core done @3ab635a → v0.25.0 (counter 45) shipped; doyle accepted parity + confirmed floor-enforcement finding core-side (no adapter fix needed; core owns enforcement). **Release train CLOSED both sides (deployah).** >>> - **Ephemeral psyche shim** on `feat/f030-psyche-ephemeral` @4774d0c: single spawned role `[session.psyche_resume]`, event-on-stdin, `{psyche_context_file}`, exit-95 reseed discriminator. Contract behaviors RC-proven on real v0.25.0. Ready to merge main (doyle's close unblocks). >>> - **W5 stranded-wrapper** = core-side one-shot brain-start sweep (no adapter code; cmdline discriminator handed to core: kill `claude-spt … --prompt` legacy, keep `--psyche-context-file` current). Ruled option (ii); W4 nested-ready fix converted old exit-4 self-reap into hang. >>> - **W6 docs-truth** fixed core-side (published docs now read true). >>> - **Quality:** all gates green throughout (crate units, manifest-schema, traceable-reqs 57/57, docs-drift); box daemon never disturbed by isolated RC. >>> - **Box state:** core 0.24.0, adapter not yet boxed (pending operator-timed update; will touch running daemon). Publish parks on v0.14.0 until box + two-platform live-verify follow. >>> [20:03:24] [PSYCHE] resume (exit=0): >>> Duplicate summary, same state — no new delta. File already current. >>> >>> Same content, no change. Arc closed, parked/idle, awaiting operator on merge + box update. [20:03:24] auto-commit: git_commit_context after resume_session_with_exit [20:03:24] [LIVE-CONTEXT-POST-WRITE] skip no-project-slice self_id=perri project_resolves=true prompt_had_project_ctx=false [20:03:25] poll iteration 9 starting [20:03:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:03:25] ready file exists: true [20:11:25] poll exited code=0 stderr= [20:11:25] poll returned 40 bytes [20:11:25] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:11:25] poll iteration 10 starting [20:11:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:11:25] ready file exists: true [20:19:25] poll exited code=0 stderr= [20:19:25] poll returned 40 bytes [20:19:25] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:19:25] poll iteration 11 starting [20:19:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:19:25] ready file exists: true [20:27:26] poll exited code=0 stderr= [20:27:26] poll returned 40 bytes [20:27:26] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:27:26] poll iteration 12 starting [20:27:26] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:27:26] ready file exists: true [20:35:27] poll exited code=0 stderr= [20:35:27] poll returned 40 bytes [20:35:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:35:27] poll iteration 13 starting [20:35:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:35:27] ready file exists: true [20:43:27] poll exited code=0 stderr= [20:43:27] poll returned 40 bytes [20:43:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:43:27] poll iteration 14 starting [20:43:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:43:27] ready file exists: true [20:51:27] poll exited code=0 stderr= [20:51:27] poll returned 40 bytes [20:51:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:51:27] poll iteration 15 starting [20:51:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:51:27] ready file exists: true [20:59:29] poll exited code=0 stderr= [20:59:29] poll returned 40 bytes [20:59:29] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [20:59:29] poll iteration 16 starting [20:59:29] [ECHO] gate idle: no sentinel present (awaiting next Stop) [20:59:29] ready file exists: true [21:07:29] poll exited code=0 stderr= [21:07:29] poll returned 40 bytes [21:07:29] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:07:29] poll iteration 17 starting [21:07:29] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:07:29] ready file exists: true [21:15:30] poll exited code=0 stderr= [21:15:30] poll returned 40 bytes [21:15:30] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:15:30] poll iteration 18 starting [21:15:30] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:15:30] ready file exists: true [21:23:32] poll exited code=0 stderr= [21:23:32] poll returned 40 bytes [21:23:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:23:32] poll iteration 19 starting [21:23:32] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:23:32] ready file exists: true [21:31:32] poll exited code=0 stderr= [21:31:32] poll returned 40 bytes [21:31:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:31:32] poll iteration 20 starting [21:31:32] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:31:32] ready file exists: true [21:39:32] poll exited code=0 stderr= [21:39:32] poll returned 40 bytes [21:39:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:39:32] poll iteration 21 starting [21:39:32] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:39:32] ready file exists: true [21:47:33] poll exited code=0 stderr= [21:47:33] poll returned 40 bytes [21:47:33] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:47:33] poll iteration 22 starting [21:47:33] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:47:33] ready file exists: true [21:55:33] poll exited code=0 stderr= [21:55:33] poll returned 40 bytes [21:55:33] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [21:55:33] poll iteration 23 starting [21:55:33] [ECHO] gate idle: no sentinel present (awaiting next Stop) [21:55:33] ready file exists: true [22:03:34] poll exited code=0 stderr= [22:03:34] poll returned 40 bytes [22:03:34] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:03:34] poll iteration 24 starting [22:03:34] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:03:34] ready file exists: true [22:11:36] poll exited code=0 stderr= [22:11:36] poll returned 40 bytes [22:11:36] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:11:36] poll iteration 25 starting [22:11:36] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:11:36] ready file exists: true [22:19:38] poll exited code=0 stderr= [22:19:38] poll returned 40 bytes [22:19:38] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:19:38] poll iteration 26 starting [22:19:38] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:19:38] ready file exists: true [22:27:39] poll exited code=0 stderr= [22:27:39] poll returned 40 bytes [22:27:39] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:27:39] poll iteration 27 starting [22:27:39] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:27:39] ready file exists: true [22:35:40] poll exited code=0 stderr= [22:35:40] poll returned 40 bytes [22:35:40] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:35:40] poll iteration 28 starting [22:35:40] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:35:40] ready file exists: true [22:43:41] poll exited code=0 stderr= [22:43:41] poll returned 40 bytes [22:43:41] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:43:41] poll iteration 29 starting [22:43:41] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:43:41] ready file exists: true [22:51:41] poll exited code=0 stderr= [22:51:41] poll returned 40 bytes [22:51:41] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:51:41] poll iteration 30 starting [22:51:41] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:51:41] ready file exists: true [22:59:43] poll exited code=0 stderr= [22:59:43] poll returned 40 bytes [22:59:43] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [22:59:43] poll iteration 31 starting [22:59:43] [ECHO] gate idle: no sentinel present (awaiting next Stop) [22:59:43] ready file exists: true [23:07:44] poll exited code=0 stderr= [23:07:44] poll returned 40 bytes [23:07:44] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:07:44] poll iteration 32 starting [23:07:44] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:07:44] ready file exists: true [23:15:44] poll exited code=0 stderr= [23:15:44] poll returned 40 bytes [23:15:44] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:15:44] poll iteration 33 starting [23:15:44] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:15:44] ready file exists: true [23:23:45] poll exited code=0 stderr= [23:23:45] poll returned 40 bytes [23:23:45] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:23:45] poll iteration 34 starting [23:23:45] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:23:45] ready file exists: true [23:31:46] poll exited code=0 stderr= [23:31:46] poll returned 40 bytes [23:31:46] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:31:46] poll iteration 35 starting [23:31:46] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:31:46] ready file exists: true [23:39:47] poll exited code=0 stderr= [23:39:47] poll returned 40 bytes [23:39:47] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:39:47] poll iteration 36 starting [23:39:47] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:39:47] ready file exists: true [23:47:47] poll exited code=0 stderr= [23:47:47] poll returned 40 bytes [23:47:47] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:47:47] poll iteration 37 starting [23:47:47] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:47:47] ready file exists: true [23:55:48] poll exited code=0 stderr= [23:55:48] poll returned 40 bytes [23:55:48] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [23:55:48] poll iteration 38 starting [23:55:48] [ECHO] gate idle: no sentinel present (awaiting next Stop) [23:55:48] ready file exists: true [00:03:48] poll exited code=0 stderr= [00:03:48] poll returned 40 bytes [00:03:48] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:03:48] poll iteration 39 starting [00:03:48] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:03:48] ready file exists: true [00:11:48] poll exited code=0 stderr= [00:11:48] poll returned 40 bytes [00:11:48] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:11:48] poll iteration 40 starting [00:11:48] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:11:48] ready file exists: true [00:19:49] poll exited code=0 stderr= [00:19:49] poll returned 40 bytes [00:19:49] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:19:49] poll iteration 41 starting [00:19:49] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:19:49] ready file exists: true [00:27:49] poll exited code=0 stderr= [00:27:49] poll returned 40 bytes [00:27:49] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:27:49] poll iteration 42 starting [00:27:49] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:27:49] ready file exists: true [00:35:49] poll exited code=0 stderr= [00:35:49] poll returned 40 bytes [00:35:49] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:35:49] poll iteration 43 starting [00:35:49] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:35:49] ready file exists: true [00:43:50] poll exited code=0 stderr= [00:43:50] poll returned 40 bytes [00:43:50] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:43:50] poll iteration 44 starting [00:43:50] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:43:50] ready file exists: true [00:51:50] poll exited code=0 stderr= [00:51:50] poll returned 40 bytes [00:51:50] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:51:50] poll iteration 45 starting [00:51:50] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:51:50] ready file exists: true [00:59:50] poll exited code=0 stderr= [00:59:50] poll returned 40 bytes [00:59:50] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [00:59:50] poll iteration 46 starting [00:59:50] [ECHO] gate idle: no sentinel present (awaiting next Stop) [00:59:50] ready file exists: true [01:07:51] poll exited code=0 stderr= [01:07:51] poll returned 40 bytes [01:07:51] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:07:51] poll iteration 47 starting [01:07:51] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:07:51] ready file exists: true [01:15:51] poll exited code=0 stderr= [01:15:51] poll returned 40 bytes [01:15:51] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:15:51] poll iteration 48 starting [01:15:51] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:15:51] ready file exists: true [01:23:51] poll exited code=0 stderr= [01:23:51] poll returned 40 bytes [01:23:51] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:23:51] poll iteration 49 starting [01:23:51] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:23:51] ready file exists: true [01:31:52] poll exited code=0 stderr= [01:31:52] poll returned 40 bytes [01:31:52] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:31:52] poll iteration 50 starting [01:31:52] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:31:52] ready file exists: true [01:39:52] poll exited code=0 stderr= [01:39:52] poll returned 40 bytes [01:39:52] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:39:52] poll iteration 51 starting [01:39:52] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:39:52] ready file exists: true [01:47:54] poll exited code=0 stderr= [01:47:54] poll returned 40 bytes [01:47:54] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:47:54] poll iteration 52 starting [01:47:54] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:47:54] ready file exists: true [01:55:56] poll exited code=0 stderr= [01:55:56] poll returned 40 bytes [01:55:56] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [01:55:56] poll iteration 53 starting [01:55:56] [ECHO] gate idle: no sentinel present (awaiting next Stop) [01:55:56] ready file exists: true [02:03:56] poll exited code=0 stderr= [02:03:56] poll returned 40 bytes [02:03:56] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:03:56] poll iteration 54 starting [02:03:56] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:03:56] ready file exists: true [02:11:56] poll exited code=0 stderr= [02:11:56] poll returned 40 bytes [02:11:56] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:11:56] poll iteration 55 starting [02:11:56] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:11:56] ready file exists: true [02:19:57] poll exited code=0 stderr= [02:19:57] poll returned 40 bytes [02:19:57] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:19:57] poll iteration 56 starting [02:19:57] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:19:57] ready file exists: true [02:27:58] poll exited code=0 stderr= [02:27:58] poll returned 40 bytes [02:27:58] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:27:58] poll iteration 57 starting [02:27:58] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:27:58] ready file exists: true [02:35:59] poll exited code=0 stderr= [02:35:59] poll returned 40 bytes [02:35:59] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:35:59] poll iteration 58 starting [02:35:59] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:35:59] ready file exists: true [02:43:59] poll exited code=0 stderr= [02:43:59] poll returned 40 bytes [02:43:59] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:43:59] poll iteration 59 starting [02:43:59] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:43:59] ready file exists: true [02:52:00] poll exited code=0 stderr= [02:52:00] poll returned 40 bytes [02:52:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [02:52:00] poll iteration 60 starting [02:52:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [02:52:00] ready file exists: true [03:00:00] poll exited code=0 stderr= [03:00:00] poll returned 40 bytes [03:00:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:00:00] poll iteration 61 starting [03:00:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:00:00] ready file exists: true [03:08:00] poll exited code=0 stderr= [03:08:00] poll returned 40 bytes [03:08:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:08:00] poll iteration 62 starting [03:08:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:08:00] ready file exists: true [03:16:01] poll exited code=0 stderr= [03:16:01] poll returned 40 bytes [03:16:01] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:16:01] poll iteration 63 starting [03:16:01] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:16:01] ready file exists: true [03:24:03] poll exited code=0 stderr= [03:24:03] poll returned 40 bytes [03:24:03] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:24:03] poll iteration 64 starting [03:24:03] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:24:03] ready file exists: true [03:32:03] poll exited code=0 stderr= [03:32:03] poll returned 40 bytes [03:32:03] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:32:03] poll iteration 65 starting [03:32:03] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:32:03] ready file exists: true [03:40:03] poll exited code=0 stderr= [03:40:03] poll returned 40 bytes [03:40:03] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:40:03] poll iteration 66 starting [03:40:03] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:40:03] ready file exists: true [03:48:05] poll exited code=0 stderr= [03:48:05] poll returned 40 bytes [03:48:05] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:48:05] poll iteration 67 starting [03:48:05] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:48:05] ready file exists: true [03:56:05] poll exited code=0 stderr= [03:56:05] poll returned 40 bytes [03:56:05] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [03:56:05] poll iteration 68 starting [03:56:05] [ECHO] gate idle: no sentinel present (awaiting next Stop) [03:56:05] ready file exists: true [04:04:09] poll exited code=0 stderr= [04:04:09] poll returned 40 bytes [04:04:09] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:04:09] poll iteration 69 starting [04:04:09] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:04:09] ready file exists: true [04:12:11] poll exited code=0 stderr= [04:12:11] poll returned 40 bytes [04:12:11] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:12:11] poll iteration 70 starting [04:12:11] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:12:11] ready file exists: true [04:20:13] poll exited code=0 stderr= [04:20:13] poll returned 40 bytes [04:20:13] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:20:13] poll iteration 71 starting [04:20:13] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:20:13] ready file exists: true [04:28:13] poll exited code=0 stderr= [04:28:13] poll returned 40 bytes [04:28:13] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:28:13] poll iteration 72 starting [04:28:13] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:28:13] ready file exists: true [04:36:14] poll exited code=0 stderr= [04:36:14] poll returned 40 bytes [04:36:14] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:36:14] poll iteration 73 starting [04:36:14] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:36:14] ready file exists: true [04:44:14] poll exited code=0 stderr= [04:44:14] poll returned 40 bytes [04:44:14] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:44:14] poll iteration 74 starting [04:44:14] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:44:14] ready file exists: true [04:52:16] poll exited code=0 stderr= [04:52:16] poll returned 40 bytes [04:52:16] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [04:52:16] poll iteration 75 starting [04:52:16] [ECHO] gate idle: no sentinel present (awaiting next Stop) [04:52:16] ready file exists: true [05:00:17] poll exited code=0 stderr= [05:00:17] poll returned 40 bytes [05:00:17] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:00:17] poll iteration 76 starting [05:00:17] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:00:17] ready file exists: true [05:08:17] poll exited code=0 stderr= [05:08:17] poll returned 40 bytes [05:08:17] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:08:17] poll iteration 77 starting [05:08:17] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:08:17] ready file exists: true [05:16:17] poll exited code=0 stderr= [05:16:17] poll returned 40 bytes [05:16:17] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:16:17] poll iteration 78 starting [05:16:17] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:16:17] ready file exists: true [05:24:18] poll exited code=0 stderr= [05:24:18] poll returned 40 bytes [05:24:18] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:24:18] poll iteration 79 starting [05:24:18] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:24:18] ready file exists: true [05:32:19] poll exited code=0 stderr= [05:32:19] poll returned 40 bytes [05:32:19] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:32:19] poll iteration 80 starting [05:32:19] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:32:19] ready file exists: true [05:40:20] poll exited code=0 stderr= [05:40:20] poll returned 40 bytes [05:40:20] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:40:20] poll iteration 81 starting [05:40:20] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:40:20] ready file exists: true [05:48:20] poll exited code=0 stderr= [05:48:20] poll returned 40 bytes [05:48:20] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:48:20] poll iteration 82 starting [05:48:20] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:48:20] ready file exists: true [05:56:20] poll exited code=0 stderr= [05:56:20] poll returned 40 bytes [05:56:20] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [05:56:20] poll iteration 83 starting [05:56:20] [ECHO] gate idle: no sentinel present (awaiting next Stop) [05:56:20] ready file exists: true [06:04:21] poll exited code=0 stderr= [06:04:21] poll returned 40 bytes [06:04:21] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:04:21] poll iteration 84 starting [06:04:21] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:04:21] ready file exists: true [06:12:21] poll exited code=0 stderr= [06:12:21] poll returned 40 bytes [06:12:21] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:12:21] poll iteration 85 starting [06:12:21] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:12:21] ready file exists: true [06:20:21] poll exited code=0 stderr= [06:20:21] poll returned 40 bytes [06:20:21] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:20:21] poll iteration 86 starting [06:20:21] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:20:21] ready file exists: true [06:28:22] poll exited code=0 stderr= [06:28:22] poll returned 40 bytes [06:28:22] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:28:22] poll iteration 87 starting [06:28:22] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:28:22] ready file exists: true [06:36:22] poll exited code=0 stderr= [06:36:22] poll returned 40 bytes [06:36:22] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:36:22] poll iteration 88 starting [06:36:22] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:36:22] ready file exists: true [06:44:24] poll exited code=0 stderr= [06:44:24] poll returned 40 bytes [06:44:24] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:44:24] poll iteration 89 starting [06:44:24] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:44:24] ready file exists: true [06:52:24] poll exited code=0 stderr= [06:52:24] poll returned 40 bytes [06:52:25] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [06:52:25] poll iteration 90 starting [06:52:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [06:52:25] ready file exists: true [07:00:25] poll exited code=0 stderr= [07:00:25] poll returned 40 bytes [07:00:25] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:00:25] poll iteration 91 starting [07:00:25] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:00:25] ready file exists: true [07:08:27] poll exited code=0 stderr= [07:08:27] poll returned 40 bytes [07:08:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:08:27] poll iteration 92 starting [07:08:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:08:27] ready file exists: true [07:16:27] poll exited code=0 stderr= [07:16:27] poll returned 40 bytes [07:16:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:16:27] poll iteration 93 starting [07:16:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:16:27] ready file exists: true [07:24:27] poll exited code=0 stderr= [07:24:27] poll returned 40 bytes [07:24:27] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:24:27] poll iteration 94 starting [07:24:27] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:24:27] ready file exists: true [07:32:29] poll exited code=0 stderr= [07:32:29] poll returned 40 bytes [07:32:29] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:32:29] poll iteration 95 starting [07:32:29] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:32:29] ready file exists: true [07:40:29] poll exited code=0 stderr= [07:40:29] poll returned 40 bytes [07:40:29] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:40:29] poll iteration 96 starting [07:40:29] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:40:29] ready file exists: true [07:48:30] poll exited code=0 stderr= [07:48:30] poll returned 40 bytes [07:48:30] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:48:30] poll iteration 97 starting [07:48:30] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:48:30] ready file exists: true [07:56:30] poll exited code=0 stderr= [07:56:30] poll returned 40 bytes [07:56:30] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [07:56:30] poll iteration 98 starting [07:56:30] [ECHO] gate idle: no sentinel present (awaiting next Stop) [07:56:30] ready file exists: true [08:04:30] poll exited code=0 stderr= [08:04:30] poll returned 40 bytes [08:04:30] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:04:30] poll iteration 99 starting [08:04:30] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:04:30] ready file exists: true [08:12:30] poll exited code=0 stderr= [08:12:30] poll returned 40 bytes [08:12:30] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:12:30] poll iteration 100 starting [08:12:30] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:12:30] ready file exists: true [08:20:31] poll exited code=0 stderr= [08:20:31] poll returned 40 bytes [08:20:31] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:20:31] poll iteration 101 starting [08:20:31] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:20:31] ready file exists: true [08:28:31] poll exited code=0 stderr= [08:28:31] poll returned 40 bytes [08:28:31] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:28:31] poll iteration 102 starting [08:28:31] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:28:31] ready file exists: true [08:36:31] poll exited code=0 stderr= [08:36:31] poll returned 40 bytes [08:36:31] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:36:31] poll iteration 103 starting [08:36:31] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:36:31] ready file exists: true [08:44:32] poll exited code=0 stderr= [08:44:32] poll returned 40 bytes [08:44:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:44:32] poll iteration 104 starting [08:44:32] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:44:32] ready file exists: true [08:52:32] poll exited code=0 stderr= [08:52:32] poll returned 40 bytes [08:52:32] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [08:52:32] poll iteration 105 starting [08:52:32] [ECHO] gate idle: no sentinel present (awaiting next Stop) [08:52:32] ready file exists: true [09:00:33] poll exited code=0 stderr= [09:00:33] poll returned 40 bytes [09:00:33] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:00:33] poll iteration 106 starting [09:00:33] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:00:33] ready file exists: true [09:08:33] poll exited code=0 stderr= [09:08:33] poll returned 40 bytes [09:08:33] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:08:33] poll iteration 107 starting [09:08:33] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:08:33] ready file exists: true [09:16:34] poll exited code=0 stderr= [09:16:34] poll returned 40 bytes [09:16:34] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:16:34] poll iteration 108 starting [09:16:34] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:16:34] ready file exists: true [09:24:34] poll exited code=0 stderr= [09:24:34] poll returned 40 bytes [09:24:34] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:24:34] poll iteration 109 starting [09:24:34] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:24:34] ready file exists: true [09:32:34] poll exited code=0 stderr= [09:32:34] poll returned 40 bytes [09:32:34] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:32:34] poll iteration 110 starting [09:32:34] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:32:34] ready file exists: true [09:40:35] poll exited code=0 stderr= [09:40:35] poll returned 40 bytes [09:40:35] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:40:35] poll iteration 111 starting [09:40:35] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:40:35] ready file exists: true [09:48:35] poll exited code=0 stderr= [09:48:35] poll returned 40 bytes [09:48:35] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:48:35] poll iteration 112 starting [09:48:35] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:48:35] ready file exists: true [09:56:35] poll exited code=0 stderr= [09:56:35] poll returned 40 bytes [09:56:35] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [09:56:35] poll iteration 113 starting [09:56:35] [ECHO] gate idle: no sentinel present (awaiting next Stop) [09:56:35] ready file exists: true [10:04:35] poll exited code=0 stderr= [10:04:35] poll returned 40 bytes [10:04:35] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:04:35] poll iteration 114 starting [10:04:35] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:04:35] ready file exists: true [10:12:36] poll exited code=0 stderr= [10:12:36] poll returned 40 bytes [10:12:36] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:12:36] poll iteration 115 starting [10:12:36] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:12:36] ready file exists: true [10:20:36] poll exited code=0 stderr= [10:20:36] poll returned 40 bytes [10:20:36] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:20:36] poll iteration 116 starting [10:20:36] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:20:36] ready file exists: true [10:28:36] poll exited code=0 stderr= [10:28:36] poll returned 40 bytes [10:28:36] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:28:36] poll iteration 117 starting [10:28:36] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:28:36] ready file exists: true [10:36:37] poll exited code=0 stderr= [10:36:37] poll returned 40 bytes [10:36:37] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:36:37] poll iteration 118 starting [10:36:37] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:36:37] ready file exists: true [10:44:37] poll exited code=0 stderr= [10:44:37] poll returned 40 bytes [10:44:37] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:44:37] poll iteration 119 starting [10:44:37] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:44:37] ready file exists: true [10:52:38] poll exited code=0 stderr= [10:52:38] poll returned 40 bytes [10:52:38] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [10:52:38] poll iteration 120 starting [10:52:38] [ECHO] gate idle: no sentinel present (awaiting next Stop) [10:52:38] ready file exists: true [11:00:42] poll exited code=0 stderr= [11:00:42] poll returned 40 bytes [11:00:42] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:00:42] poll iteration 121 starting [11:00:42] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:00:42] ready file exists: true [11:08:42] poll exited code=0 stderr= [11:08:42] poll returned 40 bytes [11:08:42] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:08:42] poll iteration 122 starting [11:08:42] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:08:42] ready file exists: true [11:16:43] poll exited code=0 stderr= [11:16:43] poll returned 40 bytes [11:16:43] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:16:43] poll iteration 123 starting [11:16:43] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:16:43] ready file exists: true [11:24:44] poll exited code=0 stderr= [11:24:44] poll returned 40 bytes [11:24:44] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:24:44] poll iteration 124 starting [11:24:44] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:24:44] ready file exists: true [11:32:44] poll exited code=0 stderr= [11:32:44] poll returned 40 bytes [11:32:44] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:32:44] poll iteration 125 starting [11:32:44] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:32:44] ready file exists: true [11:40:45] poll exited code=0 stderr= [11:40:45] poll returned 40 bytes [11:40:45] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:40:45] poll iteration 126 starting [11:40:45] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:40:45] ready file exists: true [11:48:45] poll exited code=0 stderr= [11:48:45] poll returned 40 bytes [11:48:45] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:48:45] poll iteration 127 starting [11:48:45] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:48:45] ready file exists: true [11:56:46] poll exited code=0 stderr= [11:56:46] poll returned 40 bytes [11:56:46] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [11:56:46] poll iteration 128 starting [11:56:46] [ECHO] gate idle: no sentinel present (awaiting next Stop) [11:56:46] ready file exists: true [12:04:47] poll exited code=0 stderr= [12:04:47] poll returned 40 bytes [12:04:47] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:04:47] poll iteration 129 starting [12:04:47] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:04:47] ready file exists: true [12:12:47] poll exited code=0 stderr= [12:12:47] poll returned 40 bytes [12:12:47] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:12:47] poll iteration 130 starting [12:12:47] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:12:47] ready file exists: true [12:20:49] poll exited code=0 stderr= [12:20:49] poll returned 40 bytes [12:20:49] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:20:49] poll iteration 131 starting [12:20:49] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:20:49] ready file exists: true [12:28:49] poll exited code=0 stderr= [12:28:49] poll returned 40 bytes [12:28:49] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:28:49] poll iteration 132 starting [12:28:49] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:28:49] ready file exists: true [12:36:50] poll exited code=0 stderr= [12:36:50] poll returned 40 bytes [12:36:50] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:36:50] poll iteration 133 starting [12:36:50] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:36:50] ready file exists: true [12:44:50] poll exited code=0 stderr= [12:44:50] poll returned 40 bytes [12:44:50] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:44:50] poll iteration 134 starting [12:44:50] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:44:50] ready file exists: true [12:52:52] poll exited code=0 stderr= [12:52:52] poll returned 40 bytes [12:52:52] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [12:52:52] poll iteration 135 starting [12:52:52] [ECHO] gate idle: no sentinel present (awaiting next Stop) [12:52:52] ready file exists: true [13:00:53] poll exited code=0 stderr= [13:00:53] poll returned 40 bytes [13:00:53] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:00:53] poll iteration 136 starting [13:00:53] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:00:53] ready file exists: true [13:08:53] poll exited code=0 stderr= [13:08:53] poll returned 40 bytes [13:08:53] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:08:53] poll iteration 137 starting [13:08:53] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:08:53] ready file exists: true [13:16:55] poll exited code=0 stderr= [13:16:55] poll returned 40 bytes [13:16:55] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:16:55] poll iteration 138 starting [13:16:55] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:16:55] ready file exists: true [13:24:57] poll exited code=0 stderr= [13:24:57] poll returned 40 bytes [13:24:57] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:24:57] poll iteration 139 starting [13:24:57] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:24:57] ready file exists: true [13:32:59] poll exited code=0 stderr= [13:32:59] poll returned 40 bytes [13:32:59] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:32:59] poll iteration 140 starting [13:32:59] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:32:59] ready file exists: true [13:40:59] poll exited code=0 stderr= [13:40:59] poll returned 40 bytes [13:40:59] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:40:59] poll iteration 141 starting [13:40:59] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:40:59] ready file exists: true [13:48:59] poll exited code=0 stderr= [13:48:59] poll returned 40 bytes [13:48:59] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:48:59] poll iteration 142 starting [13:48:59] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:48:59] ready file exists: true [13:57:00] poll exited code=0 stderr= [13:57:00] poll returned 40 bytes [13:57:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [13:57:00] poll iteration 143 starting [13:57:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [13:57:00] ready file exists: true [14:05:00] poll exited code=0 stderr= [14:05:00] poll returned 40 bytes [14:05:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:05:00] poll iteration 144 starting [14:05:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:05:00] ready file exists: true [14:13:00] poll exited code=0 stderr= [14:13:00] poll returned 40 bytes [14:13:00] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:13:00] poll iteration 145 starting [14:13:00] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:13:00] ready file exists: true [14:21:01] poll exited code=0 stderr= [14:21:01] poll returned 40 bytes [14:21:01] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:21:01] poll iteration 146 starting [14:21:01] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:21:01] ready file exists: true [14:29:04] poll exited code=0 stderr= [14:29:04] poll returned 40 bytes [14:29:04] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:29:04] poll iteration 147 starting [14:29:04] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:29:04] ready file exists: true [14:37:04] poll exited code=0 stderr= [14:37:04] poll returned 40 bytes [14:37:04] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:37:04] poll iteration 148 starting [14:37:04] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:37:04] ready file exists: true [14:45:05] poll exited code=0 stderr= [14:45:05] poll returned 40 bytes [14:45:05] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:45:05] poll iteration 149 starting [14:45:05] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:45:05] ready file exists: true [14:53:05] poll exited code=0 stderr= [14:53:05] poll returned 40 bytes [14:53:05] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [14:53:05] poll iteration 150 starting [14:53:05] [ECHO] gate idle: no sentinel present (awaiting next Stop) [14:53:05] ready file exists: true [15:01:05] poll exited code=0 stderr= [15:01:05] poll returned 40 bytes [15:01:05] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:01:05] poll iteration 151 starting [15:01:05] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:01:05] ready file exists: true [15:09:06] poll exited code=0 stderr= [15:09:06] poll returned 40 bytes [15:09:06] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:09:06] poll iteration 152 starting [15:09:06] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:09:06] ready file exists: true [15:17:07] poll exited code=0 stderr= [15:17:07] poll returned 40 bytes [15:17:07] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:17:07] poll iteration 153 starting [15:17:07] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:17:07] ready file exists: true [15:25:07] poll exited code=0 stderr= [15:25:07] poll returned 40 bytes [15:25:07] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:25:07] poll iteration 154 starting [15:25:07] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:25:07] ready file exists: true [15:33:08] poll exited code=0 stderr= [15:33:08] poll returned 40 bytes [15:33:08] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:33:08] poll iteration 155 starting [15:33:08] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:33:08] ready file exists: true [15:41:10] poll exited code=0 stderr= [15:41:10] poll returned 40 bytes [15:41:10] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:41:10] poll iteration 156 starting [15:41:10] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:41:10] ready file exists: true [15:49:11] poll exited code=0 stderr= [15:49:11] poll returned 40 bytes [15:49:11] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:49:11] poll iteration 157 starting [15:49:11] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:49:11] ready file exists: true [15:57:11] poll exited code=0 stderr= [15:57:11] poll returned 40 bytes [15:57:11] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [15:57:11] poll iteration 158 starting [15:57:11] [ECHO] gate idle: no sentinel present (awaiting next Stop) [15:57:11] ready file exists: true [16:05:12] poll exited code=0 stderr= [16:05:12] poll returned 40 bytes [16:05:12] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:05:12] poll iteration 159 starting [16:05:12] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:05:12] ready file exists: true [16:13:14] poll exited code=0 stderr= [16:13:14] poll returned 40 bytes [16:13:14] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:13:14] poll iteration 160 starting [16:13:14] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:13:14] ready file exists: true [16:21:14] poll exited code=0 stderr= [16:21:14] poll returned 40 bytes [16:21:14] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:21:14] poll iteration 161 starting [16:21:14] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:21:14] ready file exists: true [16:29:15] poll exited code=0 stderr= [16:29:15] poll returned 40 bytes [16:29:15] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:29:15] poll iteration 162 starting [16:29:15] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:29:15] ready file exists: true [16:37:15] poll exited code=0 stderr= [16:37:15] poll returned 40 bytes [16:37:15] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:37:15] poll iteration 163 starting [16:37:15] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:37:15] ready file exists: true [16:45:15] poll exited code=0 stderr= [16:45:15] poll returned 40 bytes [16:45:15] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:45:15] poll iteration 164 starting [16:45:15] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:45:15] ready file exists: true [16:53:16] poll exited code=0 stderr= [16:53:16] poll returned 40 bytes [16:53:16] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [16:53:16] poll iteration 165 starting [16:53:16] [ECHO] gate idle: no sentinel present (awaiting next Stop) [16:53:16] ready file exists: true [17:01:16] poll exited code=0 stderr= [17:01:16] poll returned 40 bytes [17:01:16] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:01:16] poll iteration 166 starting [17:01:16] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:01:16] ready file exists: true [17:09:17] poll exited code=0 stderr= [17:09:17] poll returned 40 bytes [17:09:17] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:09:17] poll iteration 167 starting [17:09:17] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:09:17] ready file exists: true [17:17:17] poll exited code=0 stderr= [17:17:17] poll returned 40 bytes [17:17:17] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:17:17] poll iteration 168 starting [17:17:17] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:17:17] ready file exists: true [17:25:18] poll exited code=0 stderr= [17:25:18] poll returned 40 bytes [17:25:18] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:25:18] poll iteration 169 starting [17:25:18] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:25:18] ready file exists: true [17:33:18] poll exited code=0 stderr= [17:33:18] poll returned 40 bytes [17:33:18] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:33:18] poll iteration 170 starting [17:33:18] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:33:18] ready file exists: true [17:41:21] poll exited code=0 stderr= [17:41:21] poll returned 40 bytes [17:41:21] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:41:21] poll iteration 171 starting [17:41:21] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:41:21] ready file exists: true [17:49:22] poll exited code=0 stderr= [17:49:22] poll returned 40 bytes [17:49:22] [PULSE] pulse-psyche=off — skipping resume; echo gate fires next iteration [17:49:22] poll iteration 172 starting [17:49:22] [ECHO] gate idle: no sentinel present (awaiting next Stop) [17:49:22] ready file exists: true [17:54:45] poll exited code=0 stderr= [17:54:45] poll returned 143 bytes [17:54:45] [FILE-DROP] received file_drop control message [17:54:45] [FILE-DROP] dispatching: kind=signoff path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-signoff.md [17:54:45] [FILE-DROP] kind=signoff path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-signoff.md normal-flow (mtime >= gen_start); routing via final_session for graceful shutdown [17:54:45] INIT_SIGNOFF detected, firing final context save [17:54:45] [STDIN] 8441 bytes to final: >>> [Current time: 2026-07-05T17:54:45-07:00] >>> Inbound init_signoff envelope at 2026-07-05 17:54:45 PDT: >>> machine: HFENDULEAM >>> project: spt-claude-code >>> branch: feat/f030-psyche-ephemeral >>> head_sha: 4774d0c7c007fc0c141320539b3fd0178b5d46d2 >>> >>> Signoff initiated by Self >>> >>> CURRENT_LIVE_CONTEXT: >>> ## perri commune — F-030 PARITY CLOSED + ADAPTER PUBLISHED (doyle + deployah verdict, 2026-07-05 02:44 UTC) >>> >>> **STATUS SHIFT: Arc operationally closed. Adapter v0.14.0 live + byte-verified.** >>> >>> - **doyle PARITY-CLOSE + FINDING CONFIRM** (arrived 02:44): Core v0.25.0 byte-chain verified perri's end (published sha == RC anchor == final-gate record); installed claude-spt.exe == RC-certified build. **Finding verdict confirmed + worse than adapter-side test showed**: spt-core 0.25.0 does NOT enforce floor. min_spt_core_version parsed+required, version_check bool documented ("verify core satisfies floor") but NO code path compares them; version_check dead-parsed. Acquisition path (add/update) installs ANY adapter on ANY core. Filed REMOTE-TRUTH (core-side enforcement: refuse/warn on add+update when core < floor). No adapter action; enforcement is core's burden. Advisory changelog line holds until core gate ships. >>> - **deployah TRAIN CLOSED** (both sides): Release-train flip completed. Fleet-ordering comms banked (core first, then adapter). >>> - **v0.14.0 published + live-verified** (perri's sequence 02:41–02:43): Floor pinned to 0.25.0 in adapter/claude-spt.toml @4774d0c; built+gated all-green (traceable-reqs 57/57, manifest-schema, skeleton-validate, docs-drift); packed (fat adapter.spt both triples); released https://github.com/SaberMage/claude-spt/releases/tag/v0.14.0. Live-verify on published bytes (isolated SPT_HOME, box daemon untouched): translate/digest + registered-install proofs green; installed binary byte-identical to RC-certified build. >>> >>> ## NEXT (operator-timed, nothing agent-unilateral pending) >>> 1. Merge feat/f030-psyche-ephemeral @4774d0c → main (doyle's close now unblocks). >>> 2. Box spt-core 0.24.0 → 0.25.0 + box adapter → v0.14.0 (touches running daemon hosting perri's perch; operator call). >>> 3. REMOTE-TRUTH adapter legs (D-2 sessions.log adapter field) arrive separately with their own contract block. >>> >>> perri parked/idle. v0.14.0 tag live, branch @4774d0c pushed, main @442996e unchanged. Envelope oddity note: doyle's close arrived from="perri" (queue-backlog self-attribution mangle; content intact; watch recurrence). >>> >>> CURRENT_PROJECT_CONTEXT (name=spt-claude-code): >>> ## spt-claude-code — status + end goal (session-close snapshot 2026-07-05 02:44 UTC, post-publication) >>> >>> ## End goal (unchanged) >>> `claude-spt` = rebuilt Claude Code harness adapter — spt-core's v1 acceptance proof + first casual entrypoint (CC plugin `sptc`) + invisible installer — built against **ONLY spt-core's published public surface**. RC boundary-violation catch is the constraint in action. Succession endgame: proven parity → `sptc`→`spt` rename, legacy owl retires. >>> >>> ## Where it stands NOW >>> - **F-030 JOINT WAVE — adapter FULLY BUILT + PUBLISHED.** v0.14.0 tagged + live (floor: 0.25.0). All RC proofs held through publication + byte-chain verify. Core done @3ab635a → v0.25.0 (counter 45) shipped; doyle accepted parity + confirmed floor-enforcement finding core-side (no adapter fix needed; core owns enforcement). **Release train CLOSED both sides (deployah).** >>> - **Ephemeral psyche shim** on `feat/f030-psyche-ephemeral` @4774d0c: single spawned role `[session.psyche_resume]`, event-on-stdin, `{psyche_context_file}`, exit-95 reseed discriminator. Contract behaviors RC-proven on real v0.25.0. Ready to merge main (doyle's close unblocks). >>> - **W5 stranded-wrapper** = core-side one-shot brain-start sweep (no adapter code; cmdline discriminator handed to core: kill `claude-spt … --prompt` legacy, keep `--psyche-context-file` current). Ruled option (ii); W4 nested-ready fix converted old exit-4 self-reap into hang. >>> - **W6 docs-truth** fixed core-side (published docs now read true). >>> - **Quality:** all gates green throughout (crate units, manifest-schema, traceable-reqs 57/57, docs-drift); box daemon never disturbed by isolated RC. >>> - **Box state:** core 0.24.0, adapter not yet boxed (pending operator-timed update; will touch running daemon). Publish parks on v0.14.0 until box + two-platform live-verify follow. >>> >>> FINAL COMMUNE: >>> >>> # perri FINAL COMMUNE — session close 2026-07-05 (resume framing) >>> >>> ## Corrections to your current context (only deltas; everything else you hold is current) >>> - **Envelope-mangle thread TERMINAL — stop watching for recurrence.** doyle root-caused it HIS side: he mis-slotted the reply CLI positionals (`send --reply-to [from]` — target id landed in the FROM slot; a second attempt self-delivered). His follow-up arrived correctly from="doyle", so the queue-backlog delivery path is FULLY EXONERATED. Not a delivery-path bug; case closed, no action ever. >>> - **Publish is DONE-done, not parked.** v0.14.0 tagged + released + live-verified on published bytes (isolated rig). The ONLY remaining leg is the BOX update (below) — do not re-frame publish work on resume. >>> >>> ## IMMEDIATE NEXT STEPS (all operator-timed — nothing agent-unilateral; confirm with operator before acting) >>> 1. **Merge `feat/f030-psyche-ephemeral` @4774d0c → main.** doyle's parity close unblocks it. Branch pushed; operator call on direct merge vs PR. Tag v0.14.0 already rides the branch commit. >>> 2. **Box update, ORDER MATTERS (core first, then adapter):** box spt-core 0.24.0 → 0.25.0 (`spt update fetch` + `apply`), THEN box adapter → v0.14.0 (`spt adapter update claude-spt`). Touches the RUNNING daemon = my own perch dies mid-update; expect to revive/restart the live session after. The floor is NOT enforced by any core (confirmed finding) so the ordering is discipline, not machinery. >>> 3. **REMOTE-TRUTH adapter legs** (D-2 sessions.log adapter field): doyle sends their contract block when the wave reaches the adapter seam. NO pre-work — wait for the block. >>> 4. If operator wants: KNOWN-HAZARDS/REQ-HAZARD entry for update-ordering is OPTIONAL — doyle ruled enforcement core-side, advisory changelog line stands; only add if operator wants the discipline pinned repo-side. >>> >>> ## Session lessons worth keeping >>> - digest-proof with the placeholder sid → DIGEST_PROOF_EMPTY (exit 1) is NOT a fault — pin a real `--session ` when proofing. >>> - tar -C with a Windows-style path fails SILENTLY in git-bash — POSIX `/c/...` form always. >>> - Negative-testing a floor on an old core in an isolated SPT_HOME is cheap and found a real core gap — keep the pattern. >>> >>> >>> # spt-claude-code — status + end goal (signoff 2026-07-05; resume next session) >>> >>> ## End goal (unchanged) >>> `claude-spt` = the rebuilt Claude Code harness adapter — spt-core's v1 acceptance proof, first casual end-user entrypoint (CC plugin `sptc`), invisible spt-core installer — built against ONLY spt-core's published public surface (gaps = findings, never workarounds; the floor-enforcement finding is the constraint working). Succession endgame: proven parity → `sptc`→`spt` rename, legacy owl retires. >>> >>> ## Where it stands (post-F-030, arc CLOSED) >>> - **F-030 JOINT WAVE COMPLETE both sides.** Core v0.25.0 (counter 45) + adapter v0.14.0 published, byte-chain verified end-to-end, doyle parity-CLOSED, deployah train-CLOSED. Ephemeral psyche shim ([session.psyche_resume], event-on-stdin, {psyche_context_file} mind file, exit-95 reseed) is the shipped model; resident wrapper retired. >>> - **Floor-enforcement finding** (perri, confirmed doyle): NO core version enforces min_spt_core_version — version_check dead-parsed. Filed REMOTE-TRUTH core-side; adapter carries only the advisory "update core first" changelog line. >>> - **Branch state:** feat/f030-psyche-ephemeral @4774d0c pushed + tagged v0.14.0; main @442996e (pre-wave). Merge to main = next step, operator-timed. >>> - **Box state:** core 0.24.0 / adapter pre-0.14.0 — box update pending, core-first ordering, will interrupt the live perch. >>> - **Quality:** every gate green through publish (traceable-reqs 57/57, manifest-schema, skeleton-validate, docs-drift, crate units); box daemon never disturbed by the isolated verify rigs. >>> - **Next wave on the horizon:** REMOTE-TRUTH adapter legs (D-2 sessions.log adapter field) — contract block arrives from doyle; no pre-work. >>> [17:55:23] [PSYCHE] final (exit=0): >>> Memory already covers F-6 owl reply-to bug matching this session's exonerated "envelope-mangle" root cause. No update needed — existing memory accurate. >>> >>> Signoff processed: v0.14.0 publish is done-done (not parked), envelope-mangle mystery resolved as doyle's CLI reply-to slotting bug (F-6, already banked in memory) — case closed. Remaining steps (merge to main, box update core-then-adapter, REMOTE-TRUTH adapter legs) all operator-timed. perri parked/idle for session close. [17:55:23] auto-commit: git_commit_context after final_session [17:55:23] [LIVE-CONTEXT-POST-WRITE] skip no-project-slice self_id=perri project_resolves=true prompt_had_project_ctx=false [17:55:23] Final psyche invocation complete, wrapper exiting [17:55:23] [FILE-DROP] consumed kind=signoff path=C:/Users/decid/Documents/projects/spt-claude-code/.claude/perri-signoff.md (deleted) [17:55:23] file_drop signoff teardown — breaking inner-poll loop [17:55:23] wrapper loop exited, cleaning up [17:55:23] cleanup complete, wrapper process exiting