Files
stack/agents/darkwing/work/queue-162/scratch-activate-ed5b41d4-notes.md
jason.woltje 158205c5cc lead: commit darkwing's untracked evidence (348 files: queue-137 queue-141 queue-150 queue-162 queue-165 queue-166 queue-167 queue-169 queue-179 queue-180 queue-181 queue-182 queue-185 queue-186 queue-187 queue-188 queue-190 queue-93)
Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
2026-11-02 15:05:14 -06:00

3.3 KiB

Window B P3 rerun on the landed tool (sage-1070, mos-0867 R2)

Scratch only. Run by darkwing 2026-10-19T22:14:50Z to 22:14:59Z in ~/darkwing-scratch/r1070. The 4b16e848 run's files are unchanged beside these.

  • Tool: a git clone --shared of the canonical checkout at 4b738e2da (the landed row 166), refactor in the clone at d195d171c. scripts/stack-release.sh blob ed5b41d467. bus-service.sh, webui-service.sh and stack-copy.sh blobs are the same as in the 4b16e848 run.
  • Copies: 5fa9cc8f2 and ca15d73e9, made fresh with stack-copy.sh copy. Outside node_modules they match the r1004 copies byte for byte (diff -rq).
  • Business file: scratch-mkbiz.mjs on the committed example (blob 3a81ca0fae) with {"usage-source":["transcript"],"channel":["cli","webui"]}. It matches scratch-business-B.json except the nosecret directory, so its sha256 differs.
  • Harness: scratch-B-harness with paths moved to r1070 and three changes to run.sh. The backup dir comes from the data root plus the log's id (addendum 1's fix). Step 2a runs sha256sum -c ../SHA256SUMS from the backup's bus/ (addendum 2's fix). Step 0 records the unit reads the row 166 checks see. teardown.sh is new.

Every file's sha256 is in SHA256SUMS-ed5b41d4.

Result

All steps exit 0: plan, activate --pm --migrate (3h to 3i, backup checked OK), D3 counts 0/0/0, rollback --restore --plan, rollback --restore (back to 3h, pointer on 5fa9cc8f2). Teardown left no process and closed port 47391.

Against the 4b16e848 run, after normalizing paths, times, ids and pids (scratch-activate-ed5b41d4-vs-4b16e848.diff), the tool's output is the same line for line except the drift: count in both status parts (39 and 47 then, 100 and 108 now), because refactor in the clone moved from 6e7c23d7d to d195d171c. The other differences are the new parts 0 and 2a, a header line, and the D3 stamp now read from the right path.

Row 166's W4 checks

--plan does not run them. do_activate and do_rollback exit after check_target; plan (stack-release.sh:717, :727). precheck (drop_in_override, then read_units with unquoted) runs at :718 and :728, and status calls read_units. So no --plan output in this run or any other shows them.

Check Run here Branch taken
drop-in scan, steps 2 and 6 yes pass: one unit path, no .service.d dirs, DropInPaths= empty
unreadable unit path or drop-in dir/file refuses no needs a mode-000 dir or file
drop-in with ExecStart or WorkingDirectory refuses no needs a .conf
no quote or backslash in bus/Console ExecStart argv yes pass
no quote or backslash in bus Environment= yes pass
a quoted or backslashed value refuses no the stand-in prints Environment= unquoted, unlike real systemctl, so it can't show this faithfully
gate copy-check names the target (item 3) yes pass on ca15d73e9, then 5fa9cc8f2
bus stops during the held read (item 2) no needs a stop timed inside the read

This run doesn't cover the refusal branches. The tests in stack-release.test.mjs at 4b738e2da do: T4 (an override .conf), T28 (unreadable or relative unit paths and drop-ins), T29 (a bus that stops during the held read), T30 (copy-check on another copy) and T31 (quoted or escaped Environment= and ExecStart=).