Repository navigation
The owner's rulings of 2026-09-30 written where they govern - #645
Merged
2 commits merged intoOct 1, 2026
Merged
2 commits merged into
2 commits merged into
Conversation
The child-process track's fourteen questions are ruled as recommended,
each written as one line at the stage it governs, and
issues/kernel/the-child-process-track-waits-on-the-owners-rulings.md
goes:
- Q2, Q6d at stage 2: an end reads as an exit, a kill or a fault kind
alike on every architecture, a bare code reads the last two as
failures, and no end reads as a quit's reason.
- Q3a, Q3b, Q3c at stage 3: libc imitates SIGCHLD; a handler runs at
once, beside the program; a C child starts with descriptors 0-2 and
what its file actions name, a stated departure from POSIX.
- Q5a, Q5b, Q5c at stage 5: a login's session is a program that only
parents what its user starts; init hands the compositor or sshd the
right to start programs in it; sshd's right also quits and kills it.
- Q6a, Q6b, Q6c, Q6e, Q6f at stage 6, whose text already said each as
recommended: a quit carries interrupt, hang-up or terminate, reaches
the subtree, kills a process that never listens, reaches a Rust
program through std and ctrlc, and a C program as SIGINT, SIGHUP and
SIGTERM.
- Q7 at stage 7: a second Ctrl+C kills only a program that has not yet
taken the first.
Cut as moot: the pointer to the question file, the question labels on
the stage headings, the Ruled block's session clause (now stage 5's
line), stage 6's reason for the shell relaying nothing (now stage 6's
reach line), and stage 7's "Stop and continue need a suspend primitive
and are not proposed", which scoped the proposal the rulings closed. The
track stays at 260 lines.
The supervisor track's open item on the ask's ABI cited Q6a; Q6a is
ruled and its stage 3 already asks by stage 6's quit, so the item goes.
The rest:
- The kernel is to load CPU microcode signed by the CPU's maker and
pinned by version and hash, as vendor device firmware is. The question
becomes the defect issues/kernel/the-kernel-loads-no-cpu-microcode.md,
exit: current microcode loaded early on every CPU, at least as current
as Linux's. The security track's list follows the rename.
- std::os::toyos::io::{AsRawFd, FromRawFd} are renamed the next time the
trait is touched in the fork: an open defect with that exit.
- A boot start's device refusal is fatal only for a device the
[programs] row marks as required; otherwise init logs it loudly and
starts the program without it: an open defect whose exit is the row's
mark and the two outcomes.
- doomgeneric's fetch stays; its question file goes.
- doom.jpg is the owner's own screenshot, which he keeps, and no licence
question applies; its question file goes and its COMMITTED_FILES row
says so in the column that names where its terms are recorded. The
terms column stays NOASSERTION.
- The blocked-task dump keeps painting its report on the panel and
holding it there: one line at the small-kernel track's step 5 replaces
that step's open question and stage 6's hold on it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016t9wjdQkB8SH7bmfUoiy6L
Japabu
marked this pull request as ready for review
September 30, 2026 21:30
Collaborator
Author
|
Review, round 1, head 7eb4428 CI: The points the brief asked about:
BLOCKER
NOTE
REMOVE
SEND BACK |
Review round 1 on 7eb4428. - The microcode ruling orders the kernel to load what root CLAUDE.md's firmware rule still bars: it admits only device firmware that never executes on the CPU. PR #636 amends that sentence to admit the CPU's own microcode, which the kernel loads, and this branch lands after it. The defect regains the deleted question's pointer at that rule, as one line saying the rule admits the microcode once #636 lands. - Step 6 of the small-kernel track loses its heading "The scheduler knows nothing about devices": step 5 now keeps the pass painting the panel, a device the pass reaches. - The child-process track's stage headings lose " (ruled)", and stage 3 loses "ruled; ": every stage carried it, so it distinguished nothing. The track is 35 bytes longer than on main (18608 -> 18643), at 260 lines. - doom.jpg's row loses "he keeps it, and rules that": the committed file shows it is kept, and "no licence question applies" carries the ruling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016t9wjdQkB8SH7bmfUoiy6L
This was referenced Sep 30, 2026
Japabu
added a commit
that referenced
this pull request
Oct 1, 2026
The owner ruled on 2026-09-30 that the kernel loads maker-signed microcode, so the question becomes a defect. This is the same rename PR #645 makes, with #645's text kept verbatim (its lines are a subset of this file's), and the citation in the Linux-parity track moved to the same line #645 writes. Added to it, from this branch's measurements: - The T14's eight CPUs run 0xbe (PR #601's capture at 44eb3c2, cpuinfo.txt: 8 processors, all `microcode : 0xbe`; kernel-log.txt has no `updated early`), which is Intel's newest for 06-8c-01/80 at microcode-20260925. Its IA32_PLATFORM_ID was never captured. - Where: the kernel, per CPU, in percpu::init_bsp after idt::init and in percpu::init_ap after control_regs::init, both before fpu::init. Read from the tree: init_bsp loads the IDT before fpu::init; init_ap runs before ROSTER.echo in ap_entry, and boot_aps waits on each echo before the next INIT-SIPI, which is the per-core serialisation SDM 3A §12.11.6.3 asks. cpu::wrmsr is declared `nomem`, which the update trigger is not. SDM §12.11.6.1: INIT keeps an update, a hard reset clears it. - Verified: Example 12-10's read-back; Linux 6.8's __apply_microcode (intel.c:304-330) does the same and returns UCODE_ERROR on a mismatch. - AMD: from Linux 6.8's amd.c (__apply_microcode_amd, cpu_has_entrysign, need_sha_check) and amd_shas.c. - Licence: src/licence.rs judges a committed file only once it ships, and LicenseRef-Intel-Microcode is in no ALLOWED row. - Exits in the ladder's order: host, metal (the T14, plus a boot-actuators negative control that raises only the header's revision so Intel's payload is untouched), metal no machine has yet, guest. TCG's model is qemu64 AuthenticAMD (toyos-cpuvuln's TCG fixture), so a guest boot loads nothing for want of a file, not for a hypervisor bit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016t9wjdQkB8SH7bmfUoiy6L
This was referenced Oct 1, 2026
63cb34a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The owner's rulings of 2026-09-30, each written where it governs. Issue files only, plus one string in
src/licence.rs.This PR lands after #636, whose amendment of root
CLAUDE.md's firmware rule admits the CPU microcode the microcode ruling orders the kernel to load; the defect points at that rule.The rulings
SIGCHLD.ctrlcfork waits there, and rustc stops skipping its handler. The stage already said so.SIGINT,SIGHUPandSIGTERM, andkillwith one of them is a quit. The stage already said so.issues/kernel/the-kernel-loads-no-cpu-microcode.md, whose exit is current microcode loaded early on every CPU, at least as current as Linux's.std::os::toyos::io::{AsRawFd, FromRawFd}are renamed the next time the trait is touched in the fork.os-toyos-io-traits-keep-a-posix-name.mdbecomes an open defect with that exit.[programs]row marks as required. Otherwise init logs it loudly and starts the program without it.a-boot-start-refused-a-present-device-runs-without-it.mdbecomes an open defect whose exit is the row's mark and both outcomes.doom.jpgis the owner's own screenshot and he keeps it; no licence question applies. The question file is deleted, and the row's third column (free text: "names the file that carries the attribution, or says why it is ours") now says it is his screenshot and that no licence question applies. The terms column staysNOASSERTION.Decisions
Track length.
a-childs-end-is-an-event-and-a-parent-takes-its-children-down.mdis 260 lines, the same as before. It is 35 bytes longer (18608 → 18643). Q2, Q6d, Q3a, Q5a–Q5c and Q7 state things the track did not say before. These were cut as moot:(ruled)marks on the stage headings, which distinguish nothing once every stage is ruled;Stages 2, 3, 5, 6 and 7 are re-wrapped where the lines changed.
Citations. The supervisor track's open item "the ask's ABI, which is Q6a of …" is removed. Q6a is ruled, and that track's stage 3 already asks by stage 6's quit. The security track's list follows the microcode rename.
git grepof each deleted slug, and of its bare name, finds nothing.openedstays as it was on the three rewritten files.Gates
cargo run -- --ci hostat 71b3a57: EXIT=0 (56 steps, all green)🤖 Generated with Claude Code
https://claude.ai/code/session_016t9wjdQkB8SH7bmfUoiy6L