Repository navigation
Record the owner's design rulings of 2026-11-05 in the manual, the issues and CLAUDE.md - #1197
Conversation
The owner answered the open decisions listed on #1191 (the manual). Each ruling now lives in its one home: the design in docs/, the work and the ruling's date and source in issues/, the agents' rule in CLAUDE.md. 1. CPU reservations are rejected; the scheduler is EEVDF by job with a per-CPU real-time allowance. Both reservation tracks become rejected records (the fair-band one renamed, since its slug's claim is refuted by the EEVDF in the tree). The corpse deferral's per-corpse bound, whose exit was the reservation model, is filed as a finding, and the comment in kernel/pure/sched/cpu.rs that pointed at the reservation model as its replacement keeps only the weakness. 2. Without an IOMMU, any driver the signed image ships claims its device with its ordinary claim (the 2026-09-29 ruling, confirmed image-wide). Root CLAUDE.md no longer carries the trust paragraph since #1191, so only the manual's trust page and the issue change. 3. Apps ask for a right at run time, bounded by the image's ceiling; no up-front permission list. This supersedes the 2026-09-24 request-at- install ruling in the package track's stage 6 and its two citations. 4. Only the installer service writes /apps. The question file is deleted; the file-isolation track's stage 2 carries the change and its exit. 5. Updates fix forward with no automatic fallback. The update track gains a stage that removes the loader's three fallback paths, noting #1196's question about the black-box record. The loader track's stage 5 loses its tries, priorities and fall to the other slot, and keeps the good flag, the health gate and one-shot requests; two planned test names that promised a fallback change with it. 6. A wait's failure timeout returns an error where the interface can carry one and otherwise reports the expiry: one clause in CLAUDE.md's rule. 7. The local desktop is a login session like any other once a greeter exists, recorded in the file-isolation track and the sessions page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review of #1197 at 9289022 (base ec89121, which is origin/main)Architectural assessmentThe branch records seven rulings, with the design in Four problems remain. Some records still contradict the rulings: two scheduler records still cite the reservation model, one record still cites stage 5's tries, and one planned metal test still promises a fallback. Ruling 6 conflicts with a design line in the manual. One rejected record misstates what the owner declined. The evidence the PR links does not exist. Blockers
Suggestions
Open points the PR leaves
Nothing staged or in progress is lost. The rejected cpu-time track was entirely unbuilt. Its 93.3 ms measurement dates from before 2026-07-29 and predates EEVDF and J2. The corpse deferral weakness was filed as a finding. Both cpu-time and fair-band show SEND BACK |
- Delete the fair-band record: its aim was adopted as J1, and only the reservation layer it waited on was declined, which the cpu-time record holds. Nothing cited it. - Remove the reservation model from the records that still stated it as done or as the partner of placement. - The guids record names stage 5's good flag, not tries; the planned `hang_bounded_by_the_stick` row bounds a `--once` image's hang. - The package track's stage 6 and installer bullet keep the ruling date, what is built and the exit; the design is the manual's. - The cpu.rs comment cites the corpse-deferral finding instead of restating it; the scheduling page drops the per-stream line the general one covers. - Update-track stage 2 keeps the next boot's report of the last boot's death, and loader stage 5 says its good flag replaces the black-box page as an image's proof, leaving its order against the page's removal to #1196. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ruling 6's clause (an expired wait returns an error where its interface can carry one) contradicted the manual's swap wait, which a timeout never turns into an error. The owner left it to the orchestrator, who kept the exception: swapped memory behaves like RAM, so a copying system call's swap wait is reported when it runs long and never fails. CLAUDE.md states the exception once, and the manual's swap line says swapped memory behaves like RAM. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review r2 of #1197:
|
Draft. Records the owner's design rulings of 2026-11-05, which answer the open decisions listed on #1191. Text only, apart from one code comment. The RAM-wipe reversal (#1191's decision 2) is #1196's, and this branch does not touch it.
Each ruling and where it lives
cpu-time-is-a-band-and-not-a-reservationis nowrejected.the-fair-band-orders-by-share-alone-and-a-woken-editor-waitsis deleted: its aim was adopted as J1, and only the reservation layer it waited on was declined. The reservation model is removed fromall-cores-are-assumed-equal-and-arm64-breaks-thatandplacement-has-no-migration-cost-or-wake-affinity. New finding:k-dying-corpses-take-k-deferral-grants-on-one-cpu, the weakness whose only exit was the reservation model; thecpu.rscomment cites it.a-machine-without-an-iommu-refuses-every-claimrecords the confirmation. RootCLAUDE.mdhas not carried the trust paragraph since #1191, so it needed no change.toyos-has-a-desktop,an-installed-gbae-browses-to-no-rom) are updated./apps. Every other program sees it read-only.whether-pkg-alone-writes-apps(the question) is deleted. The file-isolation track's stage 2 now carries the change and its exit, and the package track's installer bullet only points there. Today every row still holds/appsread-write.the-guest-suite-runs-only-what-no-cheaper-tier-reaches, includinghang_bounded_by_the_stick, andthe-update-rig-the-guest-cut-deleted-is-still-cited).an-images-guids-are-drawn-from-the-hosts-random-sourcenames stage 5's good flag.CLAUDE.md's existing timeout sentence gains one clause. No issue track applies, so the date is recorded in the commit message. A wait for swapped memory is the one exception: it behaves like RAM and is reported, never failed (decided by the orchestrator, to whom the owner left it). The manual's swap line says the same.kernel/pure/sched/cpu.rs: the comment onCpuSched::dyingnamed the reservation model as its replacement. It now cites the finding. The scheduling page drops the per-stream reservation line, which the general line covers.Checks
At 083ad4f, macOS host. Head 4bb1256 changes only one sentence of
CLAUDE.mdand one bullet ofmemory.md, with no links or identifying shapes, so neither check was re-run:cargo run -- --ci host tests: exit 0, "9 step(s), all green" (log). It includes the build system's tests, and sourcegate is among them. The only code change is a comment, so lint, models and userland were not run.mdbook build docswith mdBook 0.5.4: exit 0 (log).Round 1's links were dead: its evidence commit carried no logs. These replace them.
Risks and open points
🤖 Generated with Claude Code