Files
stack/agents/rocko/work/s4-follow-up/out/node-cli.txt
T
jason.woltjeandClaude Opus 5.5 156eb07add docs(cli): row 45 S4 follow-up candidate packet (rocko)
Packet for #1527, base 521597bb: build.patch, candidate manifest
b329fdcb, packet manifest, BUILD.md, gate and mutant receipts. The
candidate itself is not committed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 08:15:47 -05:00

71 lines
5.9 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.
✔ inbox lists only decisions routed to the human, with what approving authorizes and how to decide (15.333744ms)
✔ decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow (19.761043ms)
✔ decide refuses without a terminal or --yes, on an unknown option and on a short reference (12.070932ms)
✔ decide prints a declining choice as declining (14.791719ms)
✔ an unknown outcome is reported once and never resent (9.838594ms)
✔ a decision closed before the answer arrives exits 2 and points at its trail (11.487185ms)
✔ a prefix that matches two open decisions exits 2 and resolves neither (10.776028ms)
✔ without --business a command uses the live host's business, and a stale host.json is not a host (10.706493ms)
✔ every human command refuses inside an agent run before it touches the bus (10.87443ms)
✔ usage errors exit 4; no business and no host is a usage error (10.053197ms)
✔ agents and tasks print through the broker (9.736823ms)
✔ notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes (1.266942ms)
✔ bootConfig builds the broker's boot message for one business, with no trackers key when no project names one (38.056701ms)
✔ trackers come from the tracker.* variables of the one project that names a tracker project (37.348149ms)
✔ with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict (33.621208ms)
✔ two projects that each name a tracker project refuse, since the boot shape holds one (35.945482ms)
✔ a business without tracker.baseUrl gets no trackers entry (38.794152ms)
✔ an unknown business and a broken system config refuse with exit 3 (59.97719ms)
✔ empty views say so (0.668769ms)
✔ the trail keeps the broker's order and names a decision's task without its rows (1.059245ms)
✔ tasks print the tracker fields the snapshot carries (0.196323ms)
✔ the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once (836.097185ms)
✔ a notifier that dies takes the host down with exit 1, so the unit restarts the pair (143.632917ms)
✔ a second host for the same data root refuses with exit 3 while the first runs (74.009683ms)
✔ a notifier that refuses stops the broker and the host refuses with exit 3 (133.931155ms)
✔ a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker (129.1185ms)
✔ a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker (71.509915ms)
✔ watchChildren reports a child that died before it was called, and one that dies later (20.94978ms)
✔ bus stop refuses to signal a live pid that is not a bus host (203.12217ms)
✔ bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock (202.899358ms)
✔ bus start refuses with exit 3 without a notifier config (94.924396ms)
✔ bus start runs until bus stop; status reports it while it runs (602.666947ms)
✔ bus-service.sh renders the unit and installs it into a given directory (35.723488ms)
✔ zoned uses the IANA zone across DST (14.603844ms)
✔ each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not (16.983817ms)
✔ two blocking decisions get two DMs with different nonces (12.118336ms)
✔ the digest nonce differs per business and per day and fits Discord's 25 characters (0.180211ms)
✔ a failed DM is journaled, backs off, and is retried until it lands (10.154915ms)
✔ five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count (15.424671ms)
✔ 429s, 5xx-style unknowns and refusals without a status never count toward the limit (17.149256ms)
✔ a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing (11.014788ms)
✔ the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd (12.696482ms)
✔ a late start with no digest for the day sends one at once; an empty inbox gets one line (10.612958ms)
✔ an inbox read failure is logged and the next poll retries (0.807809ms)
✔ no Discord id reaches the journal or the log (14.019126ms)
✔ the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly (2.32609ms)
✔ the journal: a crash between the copy and the truncate leaves a tail the next open repairs (3.073151ms)
✔ the journal: a whole file that is one torn line truncates to empty (1.609898ms)
✔ the journal: a malformed complete line refuses and leaves the file and any torn tail alone (0.619298ms)
✔ the journal: a loose file mode, a loose directory or a symlinked journal refuses (0.627086ms)
✔ the journal: a line with a wrong type refuses with exit 3 and names the field (2.528865ms)
✔ the journal: a symlinked directory refuses and says it is a link (0.877939ms)
✔ the journal: an append after the file was swapped for a symlink refuses and writes nothing through it (0.490916ms)
✔ the journal: a directory it cannot write or create refuses with exit 3 and names the path (0.491892ms)
✔ digest content stays within Discord's 2000 characters (0.261386ms)
✔ runLoop never overlaps ticks and stops after the one in flight (112.038558ms)
task.close {} answered: invalid-request; fake saw 18 requests, first GET /info 200, GET /projects/1 200, GET /projects/1/views 200
task.close on a missing task answered: task-not-found; it made GET /tasks/999 404
✔ bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja (256.738911ms)
✔ the transport writes {business, verb, args} to the child and reads its JSON (30.628962ms)
✔ a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems (2158.215151ms)
✔ busExit and refuseInsideAgent (0.383363ms)
ℹ tests 60
ℹ suites 0
ℹ pass 60
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2648.404994