Repository navigation
tests: --adopt-scratch lays whole blocks, and a job's recorded name is its binary's - #1094
Conversation
Review r1: stick-hang at 7584d8cArchitectural assessmentThe split of the work is sound. The supervisor mints the grant, diskserver enforces its (1)
(2) Safety. I found no path to the NVMe or to a boot stick's contents.
(3) Separation.
(4) adopt-scratch.
(5) Specification reading. I checked the issue against the USB 3.2 text in your scratch and the xHCI quotes in the evidence README.
(6) Job arguments and judges.
FindingsBLOCKER B1. BLOCKER B2. BLOCKER B3.
BLOCKER B4. Issue lines 81-83, and the attribution rule in the request: "attributed to the ToyOS reset only if that boot's log shows BLOCKER B5. The overlap with #1089 is unresolved. #1089 (head ddf5379) adds
This record should also link evidence for the 12:39 portsc readings, which it states without a source. The orchestrator then has #1089 drop its file, or whichever branch lands second deletes the other record and moves its citations. BLOCKER B6. BLOCKER B7. Issue line 85 and the PR body's Risks section state "The T14's scratch stick is a SanDisk Ultra of the T14's own boot stick's model" as fact. The handoff says it was inferred from the sector count, to be confirmed at step 0a. Label it as an inference until step 0a records it. BLOCKER B8 (request). SUGGESTION S1. SUGGESTION S2. Issue Exit, and the request: state what one unattended session can establish. Each loss needs a hand on the stick, and 0 losses in n cycles of an arm bounds its rate at about 3/n. That puts the exit ("bound the loss rate") in the owner's attended sessions, not in this request. SUGGESTION S3. Request: say that each D cycle is also a deadline reset of the T14's boot stick under light log traffic. The orchestrator should weigh that against the owner's absence, since a boot-stick loss strands the bench. SUGGESTION S4. SUGGESTION S5. Evidence
SEND BACK |
Response to review r1 (head 49f190f)
|
Review (tooling-only scope): stick-hang at a101b51Architectural assessmentThe owner declined the comparison between ToyOS's resets and Linux's restart. That removes the reason for half of this branch but not for all of it. Two open records still need a reset under a write to a USB stick that a bench row drives. One is What should land:
What should be cut, because only the declined question uses it:
Neither has a recorded caller left. The issue record and the PR describe them as kept "so the question can be asked again". That is the imagined caller root Production change stays tiny: Answers to the specific questions:
FindingsBLOCKER B1 — cut
BLOCKER B2 — cut
BLOCKER B3 — the rejected record argues against its own kind.
BLOCKER B4 — the PR's records overstate what has been shown.
BLOCKER B5 — a ToyOS session refusal is reported as a stick lost to Ubuntu.
BLOCKER B6 — two doc comments are merged into one.
BLOCKER B7 — the kept row has no run on its declared target.
SUGGESTION S1 —
SUGGESTION S2 — a failed survey loses the boot's readback.
SUGGESTION S3 — history in variant docs.
Evidence
SEND BACK |
…s its binary's --adopt-scratch wrote one partition from LBA 2048 to the last usable sector (`sgdisk --new=1:0:0`). On a stick whose sector count is not whole 4 KiB blocks the block service then refused every session on it, as it did on the T14's. It now lays the partition on whole mebibytes, ending at least a mebibyte before the disk's end for the backup table. The metal harness refused two jobs of one boot that the kernel records under one name, but it took the name of the whole command line. The kernel records a process by its binary, so `disks designate data --commit` and another `disks` job passed the guard and could not be told apart. A job's recorded name is now its first word's. The stick-loss investigation is declined by the owner as not worth bench time, and its record becomes kind: rejected, keeping the losses and the counts. This branch's earlier rounds built tooling for that comparison: the scratch rows, scratch_load, write:scratch, the --scratch-cycle survey and --restart-ubuntu. They are cut, since nobody will run them. The two open records that want a reset under a write to a bench's USB stick say that row is not built. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
toyos-metal --adopt-scratchlaid a partition the block service refuses. It wrote one partition from LBA 2048 to the last usable sector (sgdisk --new=1:0:0). On a stick whose sector count is not whole 4 KiB blocks, such as the T14's (60 062 500 sectors), the partition is not whole blocks either, and usbd offers it but refuses every session on it by name (issues/the-scratch-disk-adopt-scratch-makes-is-not-served.md).disks designate data --commitand anotherdisksjob passed the guard, and one boot's log could not tell their verdicts apart.What changes
--adopt-scratchlays the scratch partition on whole mebibytes (--new=1:0:+<n>M), ending at least a mebibyte before the disk's end, which leaves room for the backup table (scratch_mib,tests/metal/src/lib.rs).binary,tests/common/metal.rs).issues/a-reset-can-leave-a-usb-stick-hung-until-its-power-is-removed.mdbecomeskind: rejectedand keeps the declined question, the reason, the observed losses and the counts.no-bench-row-drives-usb-storage…,a-cut-bulk-only-command…) say that row is not built, and both stay open.Earlier rounds of this PR built tooling for the declined comparison: two scratch rows,
scratch_load,write:scratch, the--scratch-cyclesurvey and--restart-ubuntu. They are cut by the orchestrator's ruling, because nobody will run them.Checks
Head 69118df. Logs: https://github.com/ToyOSOrg/evidence/tree/b129383b0c9d12cf4caa676b300fcbb3b53f154d/r6
cargo run -- --ci host: exit 0, 108 steps, all green.cargo test -p toyos-metal --lib: exit 0. The newa_scratch_partition_is_whole_blocks_short_of_the_backupchecks three things on the T14 stick's sector count:--new=1:0:+29325M;cargo test --test toyos-checks -- metal_: exit 0. The batching check now refusesdisks designate data --commitbesidedisks list, as both "disks".--new=1:0:0.Not shown
🤖 Generated with Claude Code