Skip to content

Another implementation's source is read only clean-room, and the tree names Linux only as a host platform or a libc interface - #902

Merged
Japabu merged 5 commits into
mainfrom
wt/toyos-cleanroom
Oct 12, 2026
Merged

Japabu merged 5 commits into
mainfrom
wt/toyos-cleanroom

Conversation

@Japabu

@Japabu Japabu commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

The owner's ruling, in his words: "Were not reimplementing linux and if we look at the code we use clean room procedure because i think linux has a bad license. We dont want to reference linux anywhere in our code." He confirmed that the same procedure covers permissively licensed code. His two rulings on this pull request (comments 6131430437, and 6131731730 correcting ruling 1) are carried below. The wording is the orchestrator's brief's and the reviewer's named fixes, placed by this branch; none of it is presented as the owner's.

What changed

  • Root CLAUDE.md, Zero legacy. Another implementation's source, whatever its licence, is read only clean-room: one agent writes from it a specification of facts citing no implementation, keeping the provenance in its own evidence, and another builds from that specification alone, handed to it in its brief and never committed. It is in root because any agent may read source and general-purpose agents do not carry implementer.md; no reviewer can see what an agent read. "Never committed" keeps line 18's "There are no spec documents" true.
  • implementer.md, Measure, build, test. A design, a value or a test's oracle never takes its authority from another implementation's source; where the vendor's documentation, the published specifications or the published state of the art back it, it follows and cites them. Source, tests and manifests name Linux only as a host platform, or the name of an interface defined outside ToyOS (a libc item, a firmware's _OSI string, a partition type). A test's oracle for what hardware does is the vendor's document, or ToyOS's own read checked against it. Linux run as a black box, as a performance target or to observe hardware where its vendor's documents are silent, is a measurement kept in the evidence and the issues, and a reading captured under it is never committed as a test's oracle (ruling 1). A host test may compare live against the host's own implementation of a published interface, as a differential implementation; the specification decides where they disagree (the orchestrator's ruling, 6132075516).
  • implementer.md, A fork. Upstream's source in a fork is the code being changed, not another implementation; a ToyOS arm stands on the platform's own specification, never on another platform's arm copied as its authority (ruling 2). Root does not grow for it: only an implementer edits a fork.
  • reviewer.md, Fit. A BLOCKER each: a citation of another implementation's source as authority; Linux named in source, a test or a manifest but as a host platform, or the name of an interface defined outside ToyOS (a libc item, a firmware's _OSI string, a partition type). Its authority list is now the implementer's, for a design, a value or a test's oracle.
  • reviewer.md, Tests. A test's oracle for what hardware does is the vendor's document or ToyOS's own read checked against it; a reading of hardware captured under another OS, timing included, is evidence and never a suite row. This replaces the sentence that admitted another OS's recorded output, and a timing held to another's read on the same machine. A reference implementation's recorded output stays an oracle when committed with its provenance and read hermetically, and never when it was captured under Linux, as the implementer is told (ruling 1, 6132075516); the live host differential is admitted in the implementer's words.
  • reviewer.md, Forks. A ToyOS arm whose authority is another platform's arm is a BLOCKER.
  • reviewer.md, Prose. A source comment's citation that Fit refuses is no longer exempt from being raised.
  • issues/the-tree-names-linux-as-an-authority.md. The tree already breaks the rule. The issue is owned by the orchestrator. Its evidence is linux-mentions.txt, and its exit is a git grep that prints nothing. It names sdk/libc/src's linkreq.rs, sockopt.rs, memreq.rs, posix_io.rs and sigmask.rs, every file there its exit catches, beside the earlier breaches, and the two branches briefed to clear it: the source sweep (wt/toyos-linux-sweep) and the kernel/cpuvuln design (wt/toyos-cpufacts).

Decisions:

  • The published state of the art stays as an authority. The ruling is about implementations' code and Linux, and says nothing of published research.
  • Where a test's oracle is restricted, the restriction covers what hardware does. That is the scope ruling 1 speaks to. A test of a protocol or a parser still takes its oracle from the published specification, or a reference implementation run hermetically.
  • The issue's exit greps the paths that held breaches at 07b5879ee, sdk/libc/src included. A path left out (sdk/libc/arch, system/acpiserver, lib/gpt among them) holds permitted names, such as cfg(target_os = "linux"), _OSI("Linux") or a partition type, that the grep would wrongly fail on.

Checks

  • cargo run -- --ci host at d825fc27e4c317603a0bf8212f60a0150125ea59: EXIT=0 ("Host: 76 step(s), all green"). The whole log, masked, is ci-host.log.
  • This branch changes prompts and adds one issue. It touches no production code, so no negative control or independent oracle applies. No gate reads these files.
  • Growth: git diff --shortstat origin/main...HEAD gives 4 files changed, 78 insertions(+), 28 deletions(-).

Unsure

Nothing open: the orchestrator ruled that _OSI("Linux") is an interface name the prompts admit.

🤖 Generated with Claude Code

https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy

…cites one, or Linux, as authority

The owner ruled: "Were not reimplementing linux and if we look at the code
we use clean room procedure because i think linux has a bad license. We dont
want to reference linux anywhere in our code." He confirmed that the same
procedure covers permissively licensed code.

Root CLAUDE.md folds the reading rule into Zero legacy's sentence against
replicating older OSes, because whoever reads source is any agent, a
general-purpose one included, and no reviewer can see what an agent read.
implementer.md's design sentence takes values and test oracles in, names
the vendor's documentation and the published specifications beside the
published state of the art, and refuses another implementation's source as
authority; it states that Linux is cited nowhere in the tree as an
authority. reviewer.md's Fit makes such a citation a BLOCKER, and Prose
stops exempting it as a source comment's citation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Rulings on the two open questions.

  1. Rows held to Linux's readings break the rule. A reading taken under Linux is not an authority, even as a black box. A row's oracle is the vendor's document, or ToyOS's own read checked against that document, and the tree names no Linux reading. A comparison against another OS on the bench, where it helps, lives in the evidence. The existing rows and fixtures go through the sweep and the cpuvuln design, not this branch.
  2. A fork's own source is not "another implementation". A fork is code ToyOS maintains, and its upstream arms are read as the code being changed. Clean room covers what ToyOS writes itself: no implementation of the same thing elsewhere is read in order to write it, and no fork arm is copied from another platform's arm as its authority. The arm stands on the platform's own specification.

The prompts say both in the fewest words, or the reviewer names it.

@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Correction to ruling 1, on the owner's word. Running Linux as a black box reads none of its code, so it raises no licence or clean-room question.

  • Allowed: Linux as a performance target ("Linux does this in X ms on the T14; ToyOS aims to match it"), and Linux used to observe what the hardware does where the vendor's documents are silent. Both are measurements, and they live in the evidence and the issues.
  • Not allowed: Linux's source as the authority for a design, and a test in the tree whose oracle is a reading captured under Linux. A test's oracle is the vendor's document, or ToyOS's own read checked against it.

Ruling 2 stands.

@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Review of #902 at 07b5879eec438f0365e62e1f7762e44bfd1db416 against origin/main 138af6567. This is the first round. The head commit is from 19:33Z, which is before both rulings (19:45Z, and the correction at 20:05Z), so the prompts carry neither. Below, ruling 1 means the corrected one.

Net lines: 3 files, +20 −16, all of it in prompts; production and tests are both 0. cargo run -- --ci host at this head: EXIT=0, with its log linked in the body.

BLOCKER

  • .claude/agents/reviewer.md:141-143 — An existing sentence contradicts ruling 1. The sentence reads: "Another OS's or a reference implementation's output, recorded or live, is an oracle only when it is committed with its provenance and read hermetically, and a timing held to another's only when it was read on the same machine". Ruling 1 says a test in the tree whose oracle is a reading captured under Linux is not allowed, and that a test's oracle is the vendor's document or ToyOS's own read checked against it. As written, the sentence lets in exactly the T14 rows the ruling refuses. It must say that a test's oracle is the vendor's document or ToyOS's read checked against it, and that a reading captured under another OS, timing included, is evidence and never a suite row. The "comparison against Ubuntu" clause just before it already holds the measurement half.
  • .claude/agents/implementer.md:34 — "Linux is cited nowhere in the tree as an authority" is both broader and narrower than the ruling.
    • Broader: the issues are in the tree, and ruling 1 puts Linux as a performance target, and Linux used to observe the hardware, in the evidence and the issues. "As an authority" lets a reviewer refuse "Linux does this in X ms on the T14; ToyOS aims to match it" in an issue.
    • Narrower: a test's oracle captured under Linux is refused only if a reader takes it as "authority". The ruling refuses it by name.
    • Fix: one sentence carrying the owner's "reference linux anywhere in our code". Code, tests and manifests name Linux only as a host platform or a libc interface. A test's oracle is the vendor's document or ToyOS's read checked against it. Linux run as a black box is a measurement kept in the evidence and the issues.
  • .claude/agents/implementer.md:74-90 (A fork) and CLAUDE.md:22 — Ruling 2 is absent. Root's "read another implementation's source … only clean-room" does not say that a fork's upstream arms are the code being changed. Nothing says that a fork arm is never copied from another platform's arm as its authority and stands on the platform's own specification. Both halves belong in "A fork", and root needs no growth for it, since only an implementer edits a fork.
  • .claude/agents/reviewer.md:57-58 — The reviewer's BLOCKER is not the ruling.
    • "Any implementation's source" refuses ToyOS's own source and a fork's upstream arms, which is broader than root's and implementer's "another implementation's" and contradicts ruling 2.
    • "A citation of Linux … as authority" leaves the refused test oracle to the reviewer's judgment of what counts as "authority".
    • Fix, checkable by reading: a citation of another implementation's source as authority; a test whose oracle is a reading captured under Linux; a fork arm whose authority is another platform's arm.
    • Forks (reviewer.md, under "Forks") should name the fork-arm half beside its existing rules.
  • kernel/cpuvuln (manifest description, table.rs), system/netstack/i219/src/tests.rs:3104, system/fileserver/src/resolve.rs:23, kernel/src/arch/x86_64/vtd/queue.rs:47, kernel/src/mm/mmio.rs, system/netstack/shard/tcp/src/rx.rs — The branch writes a rule the tree already breaks, and records no compromise. The body lists these violations in "Unsure", and ruling 1 sends them to "the sweep and the cpuvuln design". No file in issues/ at origin/main is that sweep (git grep -i sweep / clean.room over issues/), and no open pull request is either. The fix is to add an issue with an owner, the evidence (the body's linux-mentions.txt) and an exit a grep can fail, in this diff or in a record the body names. Zero silent debt applies.

NOTE

  • CLAUDE.md:22 — The sentence is in the right place: no reviewer can see what an agent read, and general-purpose agents load only root. Its +40 words are what the procedure needs. It does not say where "a specification of facts" lives, though, and line 18 says "There are no spec documents". Say that the specification goes to the builder in its brief, not into the tree.
  • .claude/agents/reviewer.md:58-60 — Implementer's authorities are now "the vendor's documentation, the published specifications or the published state of the art", covering a design, a value or a test's oracle. Fit still enforces "that hardware's manufacturers or the published state of the art" for a design only, so the reviewer cannot send back the value or oracle the implementer is told to source that way. Make the two lists the same.
  • The body is false of the tree under the rulings: "Running one as a differential implementation … is left as it was", which ruling 1 narrows for Linux readings in the tree, and the "Unsure" section, which the rulings have answered.

SEND BACK

Japabu and others added 2 commits October 12, 2026 22:19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
…inux citations are filed

Ruling 1 as corrected: a test's oracle for what hardware does is the vendor's
document or ToyOS's own read checked against it; a reading captured under Linux
is evidence, never a suite row; source, tests and manifests name Linux only as a
host platform or a libc interface. Ruling 2: a fork's upstream source is the code
being changed, and a ToyOS arm stands on the platform's own specification.
The specification a clean-room reader writes goes to the builder in its brief.
The reviewer's authority list matches the implementer's. The tree's existing
breaches are filed in issues/the-tree-names-linux-as-an-authority.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
@Japabu Japabu changed the title Another implementation's source is read only clean-room, and nothing cites one, or Linux, as authority Another implementation's source is read only clean-room, and the tree names Linux only as a host platform or a libc interface Oct 12, 2026
@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Round 2 review of #902 at debe98eab230ad52ae70398af340be6462724ead, against .claude/agents/reviewer.md on origin/main. Round 1 is #902 (comment). "Ruling 1" below means ruling 1 as corrected in 6131731730. The orchestrator ruled on the body's Unsure item: _OSI("Linux") is an interface string the firmware asks about, like a host platform name, and the prompts must not refuse it.

Net lines: 4 files, +67 −26. All of it is prompts and one new issue; production code and tests are both 0. cargo run -- --ci host at this head gave EXIT=0. The evidence commit 3da7292 records that exit code and the head, and the log's run starts at 20:20:51Z, after the head's commit at 20:20:42Z. It ends "Host: 76 step(s), all green".

Round-1 BLOCKERs

  • reviewer.md:141-143, the Tests sentence that let in another OS's recorded output: CLOSED. reviewer.md:142-145 now says that a test's oracle for what hardware does is the vendor's document, or ToyOS's own read checked against it, and that a reading captured under another OS, timing included, is evidence and never a suite row.
  • implementer.md:34, "Linux is cited nowhere in the tree as an authority": CLOSED for what round 1 raised. implementer.md:34-38 now limits the rule to source, tests and manifests, refuses a Linux-captured oracle by name, and puts black-box Linux in the evidence and the issues. The new exception list is too narrow, though: see the first new BLOCKER below.
  • Ruling 2 absent: CLOSED. It is in implementer.md:87-89 and reviewer.md:166-167, and root does not grow for it.
  • The reviewer's Fit BLOCKER was not the ruling: CLOSED. reviewer.md:57-61 now names "another implementation's source". The Linux-captured oracle is in Tests, and the fork-arm rule is in Forks.
  • The tree breaks the rule with no compromise recorded: OPEN in part. issues/the-tree-names-linux-as-an-authority.md exists. It has an owner, the evidence, and an exit that the tree fails today: 126 lines from the exit's git grep at this head. It leaves out the sdk/libc breaches, though: see the second new BLOCKER below.

BLOCKER

  • .claude/agents/implementer.md:34-35 and .claude/agents/reviewer.md:58-59 — The prompts refuse what the orchestrator ruled they must not. Both say that Linux is named "only as a host platform or a libc interface". _OSI("Linux") in system/acpiserver/aml/src/lib.rs:28 and system/acpiserver/aml/tests/evaluate.rs:491-498 is neither of those, so both prompts refuse it, and so would a diff that touches either file. The body's Unsure item says as much. The same applies to another name defined outside ToyOS: lib/gpt/tests/oracle.rs:11-17,159 uses the GPT partition type "Linux filesystem data" and the gpt crate's LINUX_FS. Fix: widen the exception in both prompts to "a host platform, or the name of an interface defined outside ToyOS (a libc item, a firmware's _OSI string, a partition type)". Use the same words in both prompts and in the issue's first sentence.

  • issues/the-tree-names-linux-as-an-authority.md:26-28 — The exit leaves out breaches of the rule this branch writes. The body says that every path the exit leaves out names Linux only as a host platform or a libc interface. sdk/libc/src is left out, and it takes Linux as the authority for behaviour:

    • linkreq.rs:5: "refuses EINVAL: 0, as Linux's does"
    • sockopt.rs:3: "refused and truncated as Linux does"
    • sockopt.rs:22: "which Linux says"

    These are values and refusals that the libc crate does not define. Every one of them is in the issue's own evidence file (23 sdk/libc lines), so this is unrecorded debt under Zero silent debt. Fix: add sdk/libc/src to the exit's paths and name these files in the issue body. sdk/libc/arch cannot go into the grep as a whole, because of its cfg(target_os = "linux") lines.

NOTE

  • .claude/agents/reviewer.md:143 — "A reading captured under another OS … never a suite row" does not say "of hardware". Every recorded reference output was captured under some OS, so a literal reading refuses what reviewer.md:144 admits on the next line. Write "a reading of hardware captured under another OS".

  • .claude/agents/implementer.md:36-38 against .claude/agents/reviewer.md:144-145 — The two prompts do not say the same thing about a live differential against a Linux host. Two tests in the tree are such differentials:

    • sdk/libc/arch/src/socket_options.rs:10: "libc's numbers and answers are Linux's, so on Linux every row agrees"
    • system/netstack/node/Cargo.toml:26: the host's own TCP as an oracle

    reviewer.md admits them as "a reference implementation's output … live". "Linux run as a black box … never a test's oracle" in implementer.md can be read as refusing them on a Linux host. Ruling 1 refuses an oracle "captured under Linux" and does not decide the live case. The orchestrator should decide it, and both prompts should say the same thing.

  • The PR body is false of the record in two places. The Unsure section asks a question the orchestrator has since answered. The claim in Decisions that every left-out path names Linux only as a host platform or a libc interface is false for sdk/libc/src, system/acpiserver and lib/gpt.

SEND BACK

@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Ruling on the live case (round 2, NOTE 2). A host test may compare live against the host's own implementation of a published interface, such as the host's TCP or its libc. That comparison runs on every host the suite runs on, as a differential implementation, and reads no source. Where the host and the specification disagree, the specification decides, and the row says so. What stays refused is a fixed reading captured under Linux and committed as an oracle. Both prompts say this in the same words.

…differential, and files sdk/libc's Linux citations

Round-2 review of #902: Linux may be named as a host platform or as an
interface defined outside ToyOS (a libc item, a firmware's _OSI string,
a partition type), so the prompts no longer refuse acpiserver's _OSI or
lib/gpt's partition type. The orchestrator's ruling on the live case is
carried in the same words in both prompts: a host test may compare live
against the host's own implementation of a published interface, and the
specification decides where they disagree. Tests' refusal of another
OS's readings is narrowed to readings of hardware. The issue's exit now
covers sdk/libc/src, whose linkreq, sockopt and memreq take Linux as
the authority for values.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Round 3 review of #902 at 5751fb414d5365167f23326c26623794f6543935, against .claude/agents/reviewer.md on origin/main (1a7464692, which is also the merge base). Round 2 is #902 (comment). I reviewed the diff since debe98eab. "Ruling 1" below means ruling 1 as corrected in 6131731730. "The live ruling" means 6132075516.

Net lines: 4 files, +75 −26. All of it is prompts and one new issue; production code and tests are both 0. cargo run -- --ci host at this head gave EXIT=0. The evidence commit 5cffa83 names this head and EXIT=0. The log's run starts at 20:30:19, after the head's commit at 20:30:15Z, and ends "20:33:53 [ci] Host: 76 step(s), all green". Every FAILED in the log falls under a [ci] control step that reports its verdict reached.

Round-2 BLOCKERs

  • CLOSED: both prompts refused _OSI("Linux") and partition types. implementer.md:39-40, reviewer.md:58-60 and the issue's lines 9-11 now all read "a host platform, or the name of an interface defined outside ToyOS (a libc item, a firmware's _OSI string, a partition type)", in the same words.
  • CLOSED: the exit left out the sdk/libc/src breaches. The issue's exit now greps sdk/libc/src, and its body names linkreq.rs, sockopt.rs and memreq.rs. At this head the exit's git grep prints 134 lines, 8 of them in sdk/libc/src, so the exit can fail.

The round-2 NOTEs are taken up as follows:

  • "of hardware" is in reviewer.md:144.
  • The live case is in both prompts in identical words (implementer.md:43-45, reviewer.md:146-149), as the live ruling asks.
  • The body's Unsure and Decisions sections are now true of the record.

BLOCKER

  • .claude/agents/reviewer.md:143-146 — Tests now states ruling 1 and the live ruling more narrowly than they were given, and no longer says what implementer.md:41-43 says.
    • The live ruling: "What stays refused is a fixed reading captured under Linux and committed as an oracle."
    • Ruling 1: "a test in the tree whose oracle is a reading captured under Linux" is not allowed.
    • implementer.md:42-43 carries both rulings: "a reading captured under it is never committed as a test's oracle".
    • reviewer.md now refuses only "a reading of hardware captured under another OS". The next sentence admits "a reference implementation's recorded output" whenever it is committed with its provenance and read hermetically. So a fixed reading of the Linux host's libc or TCP, committed with its provenance, passes the reviewer, while the implementer is told never to commit it. The reviewer then cannot send back what the rulings refuse.
    • Round 2's "of hardware" NOTE asked for this narrowing, and the live ruling came 49 seconds later. The ruling decides, and the NOTE is withdrawn so far as it conflicts with it.
    • Fix: keep the hardware clause, and add the Linux refusal to the recorded-output sentence: "A reference implementation's recorded output is an oracle only when it is committed with its provenance and read hermetically, and never when it was captured under Linux."

NOTE

  • issues/the-tree-names-linux-as-an-authority.md:13-16 — The issue's list of sdk/libc/src breaches is shorter than its exit. The exit also catches:

    • posix_io.rs:17: "Constants (matching POSIX / Linux values)"
    • posix_io.rs:557
    • sigmask.rs:3: "Linux's layout"

    A sweep briefed from the list misses them, and only the exit would catch them. Name them beside linkreq.rs, sockopt.rs and memreq.rs.

SEND BACK

…ssue names posix_io.rs and sigmask.rs

Round-3 review of #902: reviewer.md's Tests admitted a reference
implementation's recorded output committed with provenance even when it
was captured under Linux, which the owner's rulings refuse and
implementer.md already refuses. The issue's sdk/libc/src list now names
every file its exit catches.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
@Japabu

Japabu commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator Author

Round 4 review of #902 at d825fc27e4c317603a0bf8212f60a0150125ea59, against .claude/agents/reviewer.md on origin/main (1a7464692). Round 3 is #902 (comment). I reviewed the diff since 5751fb414: 2 files, +8 −7, all of it prompt and issue text. Net for the branch: 4 files, +78 −28, with 0 lines of production code and 0 of tests. cargo run -- --ci host at this head gave EXIT=0. Evidence commit 0b999ff names this head and EXIT=0. Its log starts at 20:37:10, one second after the head's commit at 20:37:09Z, and ends "20:40:54 [ci] Host: 76 step(s), all green". All 120 FAILED lines in the log fall under [ci] control steps.

Round-3 BLOCKER

  • CLOSED: reviewer.md Tests stated ruling 1 and the live ruling more narrowly than they were given.
    • reviewer.md:145-146 now reads, word for word as round 3 asked: "A reference implementation's recorded output is an oracle only when it is committed with its provenance and read hermetically, and never when it was captured under Linux."
    • A fixed reading of the Linux host's libc or TCP, committed as an oracle, is now a BLOCKER. That matches implementer.md:41-43 ("a reading captured under it is never committed as a test's oracle") and 6132075516 ("What stays refused is a fixed reading captured under Linux and committed as an oracle").
    • The live host differential, reviewer.md:146-149, is unchanged and matches implementer.md:43-45 word for word.
    • The hardware clause, reviewer.md:143-145, is unchanged.
    • The new text contradicts neither ruling 1 as corrected in 6131731730 nor 6132075516. It names Linux, as both rulings do, and does not widen to every OS.

Round-3 NOTE

  • Taken up: issues/the-tree-names-linux-as-an-authority.md:17-18 now names sdk/libc/src/posix_io.rs and sdk/libc/src/sigmask.rs. At this head, git grep -n -i linux -- sdk/libc/src matches 8 lines in 5 files: linkreq.rs, memreq.rs, posix_io.rs, sigmask.rs and sockopt.rs. The issue names all 5, so the list and its exit now agree for sdk/libc/src.

BLOCKER

None.

NOTE

None.

LAND

@Japabu
Japabu marked this pull request as ready for review October 12, 2026 20:42
@Japabu
Japabu added this pull request to the merge queue Oct 12, 2026
Merged via the queue into main with commit 127963a Oct 12, 2026
6 checks passed
@Japabu
Japabu deleted the wt/toyos-cleanroom branch October 12, 2026 21:03
Japabu added a commit that referenced this pull request Oct 12, 2026
Japabu added a commit that referenced this pull request Oct 12, 2026
Japabu added a commit that referenced this pull request Oct 12, 2026
…tes Linux or Xen

Both negative-control arms of the microcode row hung their benches: the
read-back's panic came inside after_console, before power::init_reset
decodes the reset and, on the AMD bench, before any clock can time the
panic's bound, so the panel was held until a power cycle. The ruling on
#886 (comment 6131006022) makes a failed read-back a refusal: by the SDM
(Vol. 3A §12.11.7.1, §12.11.7.2 Example 12-10) and AMD's PPR 55922
(MSR0000_008B), MSR 8BH after a load is the revision the CPU runs, so a CPU
that does not take an update runs what it reads back. The loader now says
`refused <update>` with that read-back as `running`, holds it to the
machine's like any other, and the boot goes on; the metal judge reds any
refused line.

By the owner's clean-room ruling (#902), the judge is no longer held to a
Linux reading of either bench but to the update each maker's embedded file
holds for it, Linux's amd_shas.c and the AMD bench's Linux capture are
deleted with the digest test that read them, and every Linux and Xen
citation is replaced by Intel's or AMD's document or removed. The word at
patch offset 12 is named as AMD's parser names it, mc_patch_data_checksum.

A panic before the reset register is read holds the machine for good: filed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Japabu added a commit that referenced this pull request Oct 12, 2026
…rocode

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Japabu added a commit that referenced this pull request Oct 13, 2026
Japabu added a commit that referenced this pull request Oct 13, 2026
None of them touches a file this branch changes. #873 deletes
issues/page-global-is-a-decision-nobody-has-made.md, which no file of this
branch cites.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Japabu added a commit that referenced this pull request Oct 13, 2026
Japabu added a commit that referenced this pull request Oct 13, 2026
Japabu added a commit that referenced this pull request Oct 13, 2026
…the GPIO and MCHBAR ruling; the AMD bench's MMIO read is closed

Round 5's review of #875.

The track's finish and S3's exit asked every block loaded and no method
refused on both benches, and readings equal to Linux's: the first is
false under the owner's rulings (SSDT8, the AMD bench's ConfigWrite, the
T14's two _INIs), and a reading under another OS is evidence, never an
exit's oracle (#902). Both now state the ruled state, ACPI 6.5 deciding.

The T14 issue records the owner's ruling on #875 (comment 6135767889):
the GPIO pad write and the MCHBAR write stay refused, isolation
deciding, and the row expects both _INIs by path.

acpiserver-refuses-the-amd-benchs-dsdt-for-a-read-in-memory-mapped-io.md
is closed: its exit is met. The policy was ruled (comment 6120173372),
firmware::decide holds it with a host test of each arm, and the AMD
bench's boot at ddc243e (639ce13 before round 6's reword, the same
tree) read 16 of 17 tables loaded, SSDT8 the one refused as ruled, and
\_S5 handed, SLP_TYPa=5: acpi_tables_loaded passed, judge exit 0
(https://github.com/ToyOSOrg/evidence/blob/063f2e24002d1f506a59c4440f6da9b300753f7a/round6/metal/amd-judge.log,
and judged again at 5352b09 in round6/judge/fixed-amd.log, exit 0).

Two issues name the branch's commits by their hashes after the reword.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant