Files
stack/agents/filbert/work/s6/out/node-conversation.txt
T
jason.woltjeandClaude Opus 5.5 55bff3b274 docs(s6): row 41 round 4 candidate packet, R5 fix (filbert)
Candidate manifest 08a78972 (42 files). Gate at 0a4c8f13.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 22:30:16 -05:00

170 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
✔ W1: two processes acquire the same pair at once; exactly one claim (359.377469ms)
✔ W1: two writers publish the same revision at once: one wins, the other gets null, the winner's record stays (33.328804ms)
✔ W1: a revision name appears only after its bytes are synced; before that, only a temp file exists (18.46367ms)
✔ W2: acquire while a claim is reserved or active refuses already-active (363.910358ms)
✔ W3: acquire while stopping, uncertain, or stopped without proof refuses unsafe-replacement (388.698692ms)
✔ W4: same session with another seat tuple, and the reverse, both refuse; a loser on the seat key closes it no-unit (269.874367ms)
✔ W4: a hard link of one session under another seat is the same session: the second controller refuses already-active and launches nothing (285.475085ms)
✔ W4: a copy of one session under another seat is the same session: the second controller refuses already-active and launches nothing (284.470985ms)
✔ W4: a session header ID that changes after construction refuses target; nothing is claimed or launched (2.493769ms)
✔ W5: SIGKILL between every publication barrier of acquire and transition; restart never finds two holders or a lost claim (10296.932811ms)
✔ W5: SIGKILL between every publication barrier of release; restart finishes or holds the release (28433.437816ms)
✔ W6: controller killed mid-turn while the engine lives; restart is uncertain, no launch, prompts refuse (253.554797ms)
✔ W12: a live owner paused with SIGSTOP; a second controller refuses already-active and changes nothing (142.395586ms)
✔ W13: crash after the engine spawns, before active; restart finds the live unit: uncertain, no second spawn, force stop only (382.889006ms)
✔ W14: crash after reservation, before the spawn marker: stopped with a no-unit observation; the pair is free (272.398595ms)
✔ W20: crash after the spawn marker, scope collected; uncertain in both runs, the marker is copied, no launch until a boot proof (345.056704ms)
✔ W15: crash between the two keys during release; restart finishes it under the same claim ID (104.150164ms)
✔ W7: recorded boot ID differs on the same machine: stopped with a boot proof; open tool calls become uncertain (168.293925ms)
✔ W8: resume after a proven stop with the same pins: new claim ID, generation +1, same conversation, branch and leaf (274.310046ms)
✔ W9: resume with a changed binary, argv digest, branch or leaf is refused and the claim is unchanged (778.563954ms)
✔ W11: the controller writes no session file; only the fake engine's own appends appear (185.423529ms)
✔ W16: a highest revision that won't parse holds the pair uncertain; the older stopped revision is not reused (92.977508ms)
✔ W17: a claim root copied from another host refuses foreign-host and promotes nothing (76.575557ms)
✔ G1: a session path or claim root under .pi/state, ~/.claude, the data root or a registration refuses at construction (4.590669ms)
✔ G2: a symlink inside the fixture root to a live session file is refused by the real-path check (1.149257ms)
✔ G3: a fixture path swapped for a live path after construction is refused at bind (1.74318ms)
✔ K1: force stop kills a tool child that called setsid; stopped with a verified proof (3050.091635ms)
✔ K2: K1 on the process-group fallback ends uncertain, never stopped (548.184536ms)
✔ K3: SIGTERM acknowledged while a member lives: stopping until the kill phase, never stopped from TERM (2802.363959ms)
✔ K4: two engines; force stop one; the other survives by independent observation (5084.349885ms)
✔ K5: a stop during a tool call leaves the effect uncertain, and it is shown (2496.187397ms)
✔ K12: a member forking in a loop: the freeze stops it, enumeration is complete, populated 0 after cgroup.kill (2576.331714ms)
✔ K13: a member writing its pid into another cgroup is refused by the namespace; the kill is complete (2344.11219ms)
✔ K15: the shim gone, engine/cgroup.events unreadable, or the engine cgroup missing: evidence unavailable, not empty; uncertain (4908.867845ms)
✔ K10: controller killed between the TERM and kill phases: restart checks the invocation ID and re-runs from TERM for the same stop (767.49496ms)
✔ K11: controller killed after the confirmation is recorded, before TERM: restart checks the invocation ID and re-runs from TERM for the same stop (598.437478ms)
✔ K14: a unit with the recorded name but another invocation ID: evidence unavailable, no signals, uncertain (447.999699ms)
✔ K6: recover without proof, without confirmation, or with changed pins is refused (766.506912ms)
✔ K7: recover after proof, then launch: new claim and execution, generation +1, same leaf; the cancelled prompt is not replayed (422.600411ms)
✔ K8: an engine that loads another leaf on resume is refused before admission; it stays claimed until a proven stop (578.979806ms)
✔ K9: an interrupt that never settles stays uncertain; force stop stays available; takeover is refused while fenced (3319.848238ms)
✔ K16: a claim from another machine ID refuses foreign-host; no boot proof is issued (56.082477ms)
✔ K17: two launcher calls with one eligibility record: one launch, the other refuses, no second engine (398.032896ms)
✔ K18: the leaf changes after eligibility: launch refused; the reservation stays until released with proof (379.039059ms)
✔ K19: a scope launched with only the engine environment still reaches the user manager; the engine sees no other names (61.955645ms)
✔ S1: `/goal x`, with leading spaces or a tab, refuses text-policy at admission; zero engine bytes (183.172361ms)
✔ S2: every prefix pinned Pi interprets is refused, from the list the code uses; the rest reach the engine exactly (321.103419ms)
✔ S3: `/goal` on the second line is pinned from the source: Pi checks only index 0, so it is admitted and sent exactly (202.586883ms)
✔ S4: a `/` left in the composer is cleared when control transfers and returns; the next submit sends only the new text (286.026448ms)
✔ S5: an observer terminal gets a paste then Enter, as send-message.sh does: not admitted: controller, nothing sent (201.937752ms)
✔ S6: a mediated-shaped registration (no tmux) passed to the board's replyToRow: 409 no tmux session; exec never runs (0.440232ms)
✔ S7: ESC, bracketed-paste markers and U+2028/U+2029 travel as one JSON string; the engine receives the exact text in one record (191.66305ms)
✔ P3: a Pi confirm, select, input or editor dialog is shown disabled with a reason and never answered (310.844897ms)
✔ E1: send, ack, user, toolCall, toolResult, final answer: shown once, no refresh, draft and reading position kept (304.129242ms)
✔ E2: U+2028, U+2029 inside JSON strings and CRLF line ends each parse as one record, on the splitter and through the controller (273.873123ms)
✔ E3: a multipart final, two blocks, null request correlation and duplicate delivery (249.26308ms)
✔ E4: a page read after message_end but before its entry is persisted: marker at the seam, re-read after run-settled, each message once (233.10852ms)
✔ E4: a gap or a new epoch also reconciles; nothing is concatenated across a gap (10.562087ms)
✔ E5: an unknown native event gives no client event; evidence records its type and bytes; the terminal count goes up (228.685521ms)
✔ E6: a tool result delayed across a pause and a reconnect is reconciled without a manual refresh (263.866374ms)
✔ E7: the terminal renders the same stream as the library client, as observer and then as controller, and submits only as controller (354.599299ms)
✔ terminal: engine control characters are made visible; a lost connection refuses submit (232.217026ms)
✔ terminal: outcome unknown is shown as such, with no resend offer, and nothing is resent (0.426386ms)
✔ terminal: text after Enter in the same input chunk starts the next message; it never joins the one submitted (0.279896ms)
✔ terminal: a paste-start marker split right after its ESC still opens the paste; the Enter inside it never submits (0.319455ms)
✔ terminal: Ctrl-T then Enter in one chunk is judged after the takeover, as if typed one key at a time (Filbert F2, #1507) (0.490795ms)
✔ terminal: input held behind Ctrl-T waits for that takeover while an earlier action is still pending (Darkwing T1 on #1522) (31.062222ms)
✔ terminal: an action that throws still releases the input held behind it, in order, then rethrows (5.78363ms)
✔ terminal: after an action throws, later input still runs; input() puts the error in the status line (Filbert N1 on #1522) (0.388833ms)
✔ terminal: input() reports an error when it happens, so it never overwrites a later status; held input's promise doesn't carry the holder's error (Filbert N4 on #1522) (0.402692ms)
✔ terminal: invisible and bidi characters are made visible; head, status and notice lines stay one line (0.113939ms)
✔ every record these fixtures produced is a valid CHAT-01 record (E5: no record fails the schema) (224.218939ms)
✔ H1: two takeovers with the same expected generation: one wins, +1; the other refuses generation (389.777116ms)
✔ H2: the old controller's prompt after a takeover commits is refused with zero engine bytes (298.231563ms)
✔ H3: a takeover while a prompt holds the dispatch lock: written under the old actor, or refused; never both (878.173246ms)
✔ H4: self-takeover is refused (281.507485ms)
✔ H9: Interrupt racing a prompt's dispatch: before the write, dispatch-refused and no-turn; after, §3 rules (541.231998ms)
✔ H10: Interrupt and force stop together: one stop chain, force stop supersedes (1273.826772ms)
✔ H10: an overlap during the pause before the abort: no abort, the stop ends uncertain (187.264249ms)
✔ H10: a no-turn Interrupt lifts only its own fence; admission stays closed under force stop, overlap or revocation (681.954522ms)
✔ H11: the controller disconnects mid-turn: work continues, the claim is unchanged, control stays put (360.958917ms)
✔ H12: an exact retry after reconnecting to the same incarnation returns the same receipt; one dispatch (179.335026ms)
✔ H13: a retry with the same request ID and different text is refused (214.621381ms)
✔ H14: late stdout from the old engine after a replacement is dropped by incarnation, counted, never rendered (669.427202ms)
✔ H15: a revoked connection's command is refused; the revocation fence holds (324.988382ms)
✔ H16: a second controller for the same session refuses already-active; the first is untouched (252.975247ms)
✔ H10: a second force stop while the first escalation runs refuses fenced; one escalation, and the claim records only the first stop's phases (946.156333ms)
✔ a force stop whose fence throws leaves no escalation flag behind, so the next force stop runs (Darkwing F2, #1507) (384.175884ms)
✔ H17: a confirmation reused, answered from another connection, or used after the stop changed is refused (790.562657ms)
✔ H18: two prompts before any native output: the second refuses busy; one engine write (213.007221ms)
✔ H19: the pipe fails mid-line under a large prompt: delivery-unknown transport-unknown, poisoned, no later write (354.983148ms)
✔ H19: the link itself never writes again after an unknown outcome, whoever calls it (1.133225ms)
✔ H19: the controller dies mid-write of a large line: after restart the outcome is unknown and nothing is resent (672.737607ms)
✔ H20: the line is written but the ack is lost when the controller dies: orphan, outcome unknown, nothing resent (571.854496ms)
✔ H21: a retry of the exact request with the old token after a crash is stale-incarnation; no second write (766.474869ms)
✔ H22: after H21 and a valid recovery, a new request with the new token is admitted (2921.745089ms)
✔ H23: requests pending at a restart are not resent; each shows outcome unknown (784.232685ms)
✔ a plain conversation: catalogue row, one page, CHAT-01 records (10.200413ms)
✔ native entries map to blocks: tools, thinking, bash, notices, ids that do not fit (2.191269ms)
✔ F1: a malformed line is an unavailable part at its position, and reading continues (1.732908ms)
✔ F1: a missing parent stops the history with a notice that names the unreadable lines (2.436723ms)
✔ F1: an unreadable fork is never merged into another branch's history (1.55108ms)
✔ F1: a follow stays on its branch when the next entry's parent is unreadable (1.945379ms)
✔ F1: a file whose entries are all unreadable shows a notice per line (0.772242ms)
✔ F2: a truncated trailing line marks the view incomplete, not an error (1.20009ms)
✔ pagination: 100 parts, then the rest; parts concatenate to the whole branch (3.62995ms)
✔ F3: a replaced file (new inode) refuses old cursors with reconcile (4.026251ms)
✔ F4: a same-inode rewrite of the prefix refuses old cursors with reconcile (4.677737ms)
✔ F5: growth between pages keeps the epoch and the page stops at the pinned length (5.242173ms)
✔ F6: unknown, foreign and expired cursors refuse and leave the cursor usable (7.719936ms)
✔ F7: a symlinked file and a symlinked directory component are refused, never opened (9.703355ms)
✔ F8: a file swapped for a symlink after the catalogue is refused (3.123398ms)
✔ F9: registrations never add or redirect a root (1.979044ms)
✔ F10: a header cwd naming another project is refused (4.129598ms)
✔ F11: parentSession renders with a marker and the parent is never opened (1.188308ms)
✔ F12: two leaves: the default leaf is shown and the other branch reads alone (4.379712ms)
✔ F12: a follow refuses when an appended duplicate id changes the branch's earlier parts (2.106846ms)
✔ F12: a second root (Pi's resetLeaf) starts its own branch (1.443953ms)
✔ F13: compaction is a marker in place, then the retained content (0.834612ms)
✔ F14: long strings split into fragments and parts, reassemble exactly, and pages respect the byte cap (545.028141ms)
✔ fragments never cut a surrogate pair and keep an empty string (4.819554ms)
✔ F15: a Claude seat is an unsupported-harness placeholder whose directory is never read (1.532997ms)
✔ unknown conversations, empty files and non-Pi files refuse (2.227861ms)
✔ an unreadable file or root inside the roots is refused per row, not a failed catalogue (1.045168ms)
✔ a seat directory without search permission refuses that root, not the catalogue (1.925268ms)
✔ every page and cursor is a valid CHAT-01 record (806.800026ms)
✔ the engine pin holds for the installed package (2.653271ms)
✔ pinned Pi, sealed and without credentials, answers the controller's commands with the shapes the fake models (296.340457ms)
✔ sealed, pinned Pi ignores a trusted project's .pi resources; --approve past the seal would load them, and checkSeal refuses it (Filbert F2 on #1522) (580.767636ms)
✔ pinned Pi appends thinking_level_change at start when the branch lacks one, so the leaf moves (K8 then fails closed) (245.397943ms)
✔ N25: ordinary Interrupt reconciles; a non-empty queue_update in the window is O5 (596.98809ms)
✔ N1: an extension's follow-up queued after the fence is cleared before any abort; O5, Unknown (442.973028ms)
✔ N1: a follow-up queued before the fence is O5 at once; the Interrupt refuses fenced (231.583496ms)
✔ N2: with abort first, the fake runs the external item (the ordering guard has teeth) (21.201669ms)
✔ N3: the fence lands in preflight, preflight errors, no run: failed, No run, uncertain (355.566202ms)
✔ N4: the ack arrives after the first abort and a run starts: clear and abort again; Interrupted (290.291879ms)
✔ N5: an input handler takes the prompt: ack, no run, delivery-unknown handled-without-run (379.339574ms)
✔ N6: an extension queues between clear_queue and abort: O5 and O6, Unknown (532.60621ms)
✔ N7: clear_queue times out: no abort, nativeQueue unknown, force stop still ends it (1929.104949ms)
✔ N7: clear_queue answers an error: no abort, nativeQueue unknown, the link not poisoned (211.450644ms)
✔ N8: an extension prompt starts a run during Mosaic preflight; the losing settle is O3 (243.00463ms)
✔ N9: a run that started before the fence and ends aborted: failed interrupted, Interrupted (218.445843ms)
✔ N9: decision 34: a run that ends aborted with no stop in progress: aborted-without-stop, uncertain, outcome unknown (259.280416ms)
✔ N9: an aborted that lands after the fence but before any abort is written: aborted-without-stop, Unknown (439.538163ms)
✔ N10: fake conformance (32.625402ms)
✔ N11: the run fails before any user message_start: delivery-unknown ack-without-start, never failed (444.021683ms)
✔ N12: input that starts a run after the final empty clear is O1 and not part of the stop's proof (324.9118ms)
✔ N13: agent_start with no slot held is O1; a later prompt refuses with zero engine bytes (310.151067ms)
✔ N14: the run completes while clear_queue is in flight: finished, Completed first, uncertain (383.659084ms)
✔ N14: the run completes after the abort is written, before Pi applies it: finished, never relabelled (395.918821ms)
✔ N15: the fence lands in preflight, then an input handler takes it: handled-without-run, No run (357.274182ms)
✔ N16: Interrupt with no slot and no run refuses no-turn: no stop, no bytes, admission open (216.272632ms)
✔ N17: the run fails on its own during the exchange: failed, Failed on its own (372.258093ms)
✔ N18: no final assistant message_end, or a lost line: working stays working; before working, transport-unknown (807.464808ms)
✔ N19: a losing extension prompt settles inside the Mosaic run before its user message: O3, run-overlap (470.065465ms)
✔ N20: an extension triggerTurn during Mosaic preflight starts first; while streaming it queues with no signal (476.174159ms)
✔ N21: a losing settle after the receipt settled finished is O2; the receipt stays finished (212.272242ms)
✔ N22: an agent-level custom message is dropped by the clear with no signal; evidence names the seal (201.480679ms)
✔ N23: a nextTurn message survives clear and abort and attaches to the next prompt, with no signal (209.403669ms)
✔ N24: the seal is an allow-list: --extension, a missing --no-* flag, a second --mode or --session, a session or output flag, or a stray word refuses unsealed-engine; no engine starts (234.187048ms)
✔ N24b: the seal covers the engine command and environment: config can't name either, the env is built from names, and a mutated command is refused at bind (207.709795ms)
ℹ tests 161
ℹ suites 0
ℹ pass 161
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 46015.209142