Repository navigation
issues: records name the programs and files the tree has - #1222
Conversation
Review of #1222 at
|
bf18721 to
9e6bc0e
Compare
The system programs were renamed by 55d1afd (init, netd, logd, soundd, blockd, fsd and sshd became supervisor, netstack, logkeeper, soundserver, diskserver, fileserver and sshserver) and moved from userland/ to system/ by 443a316. Records still used the old names. The sweep, across 46 records, changes only what is certain: - `userland/<old>/<path>` to `system/<new>/<path>` where that path exists at origin/main and carries no line number; - a backticked `logd`, `fsd`, `blockd`, `soundd` or `netd`, and `/system/bin/<old>`; - those five words in prose, which name nothing else. It leaves alone: fenced and indented blocks, tables and quoted log lines; any line that already carries a new name or says "now", "renamed", "predecessor", "branch" or "smoltcp"; test names; bare `init` and `sshd`, which also name other things, except in the logging track and two lists of programs fixed by hand; and records that are about the old names or that describe the smoltcp daemon netstack replaced. A per-line rule cannot see a sentence that runs onto the next line, so every changed line was then read beside its unchanged neighbours (a line holding an old name or one of the words above). Where a sentence quotes a log printed with an old name, that sentence keeps the old name throughout (the-lan-is-not-yet-production-grade, and a-test-asserts-a-daemons-line-off-a-boot-log-that-ends-before-it, which this leaves unchanged), or names it once as the old name (a-hung-boots-log-partition-is-wiped-by-the-next-runs-flash); elsewhere a paragraph uses the current names throughout, `init` and `sshd` included. soundservers-mix-pass-has-no-host-test loses its clause putting netstack's protocol layer out of scope as stock smoltcp: netstack's stack is ToyOS's own, so the clause is false and its exclusion obsolete. Stale paths beside renamed ones point at system/soundserver. Text corrected where the defect is real: - userlands-wall-clock-has-whole-seconds-and-an-mtime-has-nanoseconds cited `clock::mtime_now` in the kernel. The file server stamps files now (`now_nanos`, system/fileserver/src/volume.rs), from the same whole-second anchor and the counter; std and libc still read whole seconds. - an-unlinked-open-file-answers-stale said every statement that spills to a temporary file fails. DATA and MEMORY keep an unlinked open file until its last close and a crash's orphans are released; the record now names the tests that hold that and what is left: FAT keeping an unlinked open file, and the guest test of a mapping. The exit has no FAT exemption: the owner's ruling in the record and the manual's rule that deleting a name keeps existing handles working have none. - the-update-rig-the-guest-cut-deleted-is-still-cited counted six lines; its own `git grep` finds four, and two of the things it listed are no longer cited. Pointers at records that do not exist: - a-device-function-is-driven-from-its-arrival-to-its-end named a-cargo-run-boot-claims-every-pcidev-slot for a ruling about the claim-slot limit; 8a47c46 removed the four-slot table and the record. - placement-has-no-migration-cost-or-wake-affinity named a-spawned-thread-starts-in-any-llc-not-its-spawners, which exists only on the unmerged branch issue-spawn-llc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9e6bc0e to
b0fb530
Compare
|
Orchestrator verification at b0fb530, after review r1 SEND BACK (text-only blockers). This PR changes only files under |
Records still named programs and files by what they were called before
55d1afd19renamed the system programs and443a316demoved them tosystem/, and a few described code that has since moved. This corrects the text where the defect is real. Records only; no record is added, deleted or renamed, and no code changes.userland/paths replaced by the current ones; each changed line then read with its neighbours, one name per sentence or paragraph55d1afd19: init, netd, logd, soundd, blockd, fsd, sshd became supervisor, netstack, logkeeper, soundserver, diskserver, fileserver, sshserver. A path is rewritten only if the new path exists atorigin/mainuserlands-wall-clock-has-whole-seconds-and-an-mtime-has-nanosecondsclock::mtime_nowin the kernel, which is gone. Files are stamped bynow_nanos(system/fileserver/src/volume.rs) at nanosecond resolution;sdk/std/sys/time.rsandsdk/libc/src/time.rsstill readSYS_CLOCK_EPOCH's whole seconds, so the defect standsan-unlinked-open-file-answers-staleunlink_and_replacement_keep_live_inode_identity,unlink_and_replacement_keep_open_inode_identity,persistent_unlink_preserves_dirty_bytes_until_the_last_holder), and crash orphans are released (namespace_operations_survive_a_crash_at_every_request). FAT still answersStale(fat.rs,orphan) and the guest test of a mapping waits for file mappings. The exit is FAT keeping an unlinked open file, with no exemption clause: the owner's 2026-10-21 ruling in the record and the manual's Files rule have no FAT exceptionthe-update-rig-the-guest-cut-deleted-is-still-citedgit grepfinds four lines in the loader track, not six;Rig::andupdatecaseas a boot are no longer citeda-device-function-is-driven-from-its-arrival-to-its-enda-cargo-run-boot-claims-every-pcidev-slot, deleted by8a47c46e8, which also removed the four-slot table the clause was aboutplacement-has-no-migration-cost-or-wake-affinitya-spawned-thread-starts-in-any-llc-not-its-spawners, which exists only on the unmerged branchissue-spawn-llcRecords: 752 on
mainat34cb4c918, 752 on this branch.How the sweep was bounded
The sweep was scripted and every changed line was then read. It changes a backticked
logd,fsd,blockd,sounddornetd,/system/bin/<old>, an existinguserland/<old>/…path, and those five words in prose. It does not touch:netd_hostile_peer;initandsshd, which also name other things. They were changed by hand in the logging track (seven uses ofinit, each the program) and in two lists of programs;a-renamed-services-state-stays-under-its-old-name-unread,the-supervisor-is-host-tested-and-owns-the-stop),what-is-owed-on-file-size(history), and five where the old name means something the new one may not (toyos-has-its-own-network-stack,a-connect-between-two-accepts-is-reset,most-t14-leases-land-one-dhcp-retry-late,netstack-resolver-asks-a-dead-primary-first-on-every-lookup,there-is-no-network-gatedescribe the smoltcp daemon;diskserver-drives-nvme-apstandfirst-match-selection-that-remainssay blockd drives NVMe, whichsystem/nvmedoes now);A per-line rule misses a sentence that continues onto the next line, so every changed line was afterwards read beside any unchanged neighbour holding an old name or one of the words above (23 pairs). That pass removed
soundservers-mix-pass-has-no-host-test's clause calling netstack's protocol layer stock smoltcp (false: the stack is ToyOS's own, and the exclusion is obsolete), keptnetdin two sentences that quote anetdlog, and moved six paragraphs to one name throughout,initandsshdincluded.So old names remain in the tracker after this: about 140 uses of the five words, in the lines and records above.
Decisions a reviewer may want to question
openedis kept.accepted").Checks
No code or instruction file changes, so no host check applies.
The 46 swept records
a-120000-ms-boot-deadline-fired-132859-ms-late-on-the-t14,a-boot-with-no-kernel-log-is-not-no-boot-complete,a-claims-own-refusals-are-read-by-nothing,a-client-cannot-tell-soundserver-it-paused,a-hung-boots-log-partition-is-wiped-by-the-next-runs-flash,a-machine-without-an-iommu-refuses-every-claim,a-metal-session-runs-a-pre-flash-gate-first,a-package-is-a-directory-under-apps-and-the-installer-is-a-program,a-stream-write-spins-on-a-lock-its-own-panic-can-hold,a-t14-boot-said-rebooting-and-the-host-never-came-back,a-t14-boot-wedges-after-a-jobs-exit-and-nothing-said-why,a-wait-was-registered-while-its-task-still-read-waiting,both-boots-of-the-manageability-read-image-found-the-t14-powered-off,client-ring-depth-is-the-devices-pipeline-depth,deferred-release-outlives-its-syscall,desktop-session-put-26ms-of-silence,desktop-window-child-freeze,dns-resolver-refuses-a-truncated-answer,every-program-sees-only-the-files-it-was-given,hda-ring-fix-unverified-on-metal,logging-records-from-every-producer-and-a-kernel-that-waits-on-nobody,nothing-reopens-a-diskserver-session-over-a-used-page,null-sink-applies-one-connect,one-manifest-row-grants-every-applet-and-one-is-compared,parallel-tests-red-under-other-suites,process-start-skew-on-a-runner,redesign-the-log-subsystem,soundserver-past-due-wake-max-1,soundservers-mix-pass-has-no-host-test,spawned-process-never-starts,stop-the-device-voice-keep-the-wake,tco2-sts-clearing-is-verified-on-qemu-only,the-guest-suite-runs-only-what-no-cheaper-tier-reaches,the-internet-clients-work-unchanged,the-kernel-keeps-nothing-it-enumerates,the-lan-is-not-yet-production-grade,the-logs-server-ending-under-logkeepers-append-is-unmeasured,the-metal-loop-cannot-judge-a-boot-that-panics,the-t14-answers-only-through-what-ubuntu-reads-off-its-disk,the-t14-hung-after-rebooting-with-its-i219-faulted,the-t14-reboots-through-ubuntu-for-every-test,the-tone-client-waits-a-flat-200-ms-for-its-tail,timing-verdicts-ruled-off-qemu-have-no-metal-arm,toyos-runs-on-arm64,two-processes-started-at-an-entry-point-nothing-had-mapped,userland-programs-are-never-linted🤖 Generated with Claude Code