Repository navigation
A design follows what its hardware's manufacturers or the published state of the art back, and a bench verdict never blocks it - #885
Conversation
…ed, never gated The owner's ruling, after global kernel pages nearly died on a kill condition fixed before the run, because one AMD flush benchmark showed no gain: a design follows the best practices and the state of the art, and listens to the manufacturers of the hardware ToyOS runs on, so that nothing surprises it later. implementer.md's merits paragraph gains one sentence: a design follows and cites what its hardware's manufacturers document (the Intel SDM and optimization manual, the AMD APM and software optimization guide, Arm's) and the published state of the art, says why with the evidence where it departs from them, and its bench reading shows that it works and regresses nothing; a gain is reported, never gated. reviewer.md holds the same: the hardware reading Evidence asks for is that the change works and regresses nothing, never a gain, and Fit sends back a design that does not cite those sources or departs from them without the evidence. orchestrator.md's one-boot measurement stays first on anything uncertain: it measures what is unknown, and no brief or issue makes a bench gain the condition a design lives by. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Round 1, head Net lines ( Evidence: BLOCKER
NOTE
SEND BACK |
|
Owner's answers to round 1's questions, recorded by the orchestrator. He was asked two questions. 1. "Regresses nothing." He was told the orchestrator had added it and that he never said it, then asked: when a change follows vendor or published practice, should our bench still be able to block it if it measures slower? He chose "No: vendor practice wins", meaning: if the manufacturers and published practice say do it, we do it. Bench numbers are reported and never block. A slowdown we see is investigated, not used to reject. 2. A design no vendor document or published practice covers (for example our own DNS cache details, scheduler tuning or our own protocols). He chose "Review on merits", meaning: it is reviewed on correctness and simplicity like any code. A speed claim is measured and reported but does not decide by itself, unless the design's only purpose is speed. So "regresses nothing" goes. The rule applies to a design that its manufacturers or the published state of the art back. The uncovered case is review on merits, with the speed-only exception as he chose it. |
…e published state of the art back The owner's answers to round 1's questions on #885: - "Regresses nothing" was never his, and goes. A design that its hardware's manufacturers or the published state of the art back follows and cites them. Bench numbers on it are reported and never block it, and a slowdown seen is investigated, not used to reject it. - A design nothing published covers is reviewed on its correctness and simplicity. A speed claim is measured and reported but does not decide by itself, unless the design's only purpose is speed. - What moves a design off its manufacturers' line is the manufacturers and the published record moving: "if intel and amd go away from it we leave it" (#873). The review's notes: the list of vendor documents goes, since "that hardware's manufacturers" already names them and the makers of every device too; the two orchestrator clauses that restated implementer.md go; and reviewer.md's Evidence sentence is main's again, since the reading it asks for is still owed and only its weight changed, which Fit now says. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Round 2, head Net lines ( Evidence: Round 1's BLOCKERs
BLOCKER
NOTE
SEND BACK |
|
Owner's answer to round 2's BLOCKER 2, recorded by the orchestrator. He was asked: "the T14 test suite already fails any measured time that gets more than 2x slower than its best recorded value (a guard that catches accidental bugs like something becoming 10x slower). For a change that follows vendor/published practice, should that 2x guard still fail the change?" He chose "Yes, keep the 2x guard": a doubling is treated as a probable bug, not a design verdict. It fails, and is fixed or investigated before landing. Normal variation never trips it. So the timings ceiling stays a red on every design. The Fit sentence says that the ceiling is a bug guard, not a bench verdict on a backed design. On BLOCKERs 1 and 3, the orchestrator rules them as the review names them:
|
… and the T14's ceiling stays a red Round 2's review of #885 found three places where the prompts state the owner's ruling more narrowly or more widely than he gave it. The duty to follow fired on what a manufacturer documents. He ruled on what the manufacturers and the published state of the art back: a manual documents far more than its maker recommends, the SDM's MTRRs and hardware task switching among it. Both sites now read "Where that hardware's manufacturers or the published state of the art back a design". The T14 already reds any timing past twice its record. Asked whether that guard still fails a change that follows vendor or published practice, the owner kept it: a doubling is a probable bug, not a design verdict. Fit now says the ceiling reds every design and is a bug guard, not a bench verdict. orchestrator.md's sentence on briefs and issues carried only his first answer. It now carries the second too: a bench number is no design's condition where nothing published covers it and speed is not its only purpose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Round 3, head Net lines ( Evidence: Round 2's BLOCKERs
BLOCKER
NOTE
SEND BACK |
|
The orchestrator, on round 3's second BLOCKER: the owner kept the 2× guard because "a doubling is treated as a probable bug, not a design verdict". That reason holds on every bench whose record the ceiling judges, not only the T14. So the clause reads "a metal timing past twice its machine's record", at both sites. |
…te too Round 3's review of #885 found the timings ceiling stated at one site and for one bench. implementer.md said bench numbers on a backed design never block it, with no exception, while Fit said the ceiling reds every design. The owner kept the 2x guard for every design, so the implementer's site now carries Fit's clause after "never block it". The colon that led into it became a full stop, so the slowdown clause names its design rather than "it". Fit named "a T14 timing past twice its record". timings::ceiling judges every metal bench's numbers against that machine's own record, and the orchestrator ruled the owner's reason holds on every such bench. Both sites now read "a metal timing past twice its machine's record". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Round 4, head Net lines ( Evidence: Round 3's findings
Each new sentence holds the owner's ruling as recorded, and nothing beyond it:
BLOCKER None. NOTE
LAND |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
… what backs it on both makers Round 1's review of #887 and the orchestrator's rulings on it. - The TSC-deadline stage gets its twin and kill line back. The SDM documents the mode and recommends it over the count nowhere, and AMD's APM Vol. 3 (24594 rev. 3.36, §E.3.2) has CPUID.01H:ECX[24] reserved, so an AMD CPU keeps the count and its calibration beside any deadline: nothing published covers the choice and speed is its only purpose, the owner's exception, where its reading decides it. The AMD bench's CPUID read leaves the exit, which the APM answers. - The track says "back", as the role prompts do since #885, and "nothing published covers" for the case the owner ruled on. - The busy-wake defect cites Lozi et al.'s §3.3, the Overload-on-Wakeup bug and its fix, with the fix's power condition, in place of the abstract's invariant. Its 8-spinner arm, where no core idles, is one nothing published covers and whose purpose is latency, so its 100 us bound decides that arm's design. - The MWAIT and per-CPU-line stages record AMD's position as read: APM Vol. 3's MONITOR and MWAIT document the wait on another processor's store and recommend no idle loop; APM Vol. 2 and the family 17h models 30h-and-greater optimization guide (56305 rev. 3.02) say nothing on MWAIT or false sharing. - FSGSBASE is backed: Intel's guidance names the complete OS implementation it asks for, and Linux 5.9 meets it and enables it on every CPU that has it. The issue cites both and AMD's APM, states the condition ToyOS's implementation meets, and its exit adds a thread's bases surviving a switch. - APST takes its design from the NVMe base specification 2.1 and the drive's own id-ctrl, not from Linux's policy, and its oracle is the specification's rules. Linux's quirks for drives whose APST failed under it go: the T14's drive's id-ctrl is unread. - The C-states file is left to #870, which takes it up. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Brings in #867, #878, #879, #880, #882 and #885. The one file both sides touch, kernel/src/object/ops.rs, merges without conflict: main's hunk is in `fstat` and this branch's are in `close` and `pipe_end_watch`. The branch's diff against main after the merge is its diff against the old base, 177e72a, line for line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
…es is unmeasured The one finding of the owner's external review that held in triage (#861 (comment), item 4). Design B raised `Node::receive`'s budget from main's 64 to the card's ring, 999 on the I219, and a batch's frames share one `now` and run before the deadlines, the transmit opportunity and the clients' answers. That changes latency only for a pass that brings more than 64 frames, and round 4's LAN round trip was read at about 12 a pass. Filed with the LAN track's holder as owner, and as the exit a T14 reading at both budgets that is reported and, as #885 has it, decides nothing about the budget by itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
#885 put the owner's standing ruling in the role prompts: a design its hardware's manufacturers or the published state of the art back follows and cites them, and its bench numbers are reported, never block it. This round's design is reviewed against them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Three conflicts, all in the simulator #882 reshaped: - kernel/sim/src/hw_impl.rs: the kick keeps this branch's self-route (a kick aimed at the posting CPU is its own need_resched and no IPI) and takes main's `kicked` record of each IPI's target, pushed only where an IPI is sent. - kernel/sim/src/vm.rs: `execute` takes main's probing snapshot, actor, parked set, step trace and level counts, and wraps `execute_inner` in this branch's `posting_from` as before. - kernel/sim/corpus/old_migrate_kept_the_corpse_i14.trace: main's, with its provenance notes. Neither side's decisions replay on the merged tree; the next commit re-shrinks it. At this merge the simulator is red: main's I15 catches the steal's published count, which the next commits fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
…S3, the threshold-2 staging for S2 Review round 3 of #874. - a-woken-thread-waits-out-a-sibling-spinners-quantum-when-every-cpu-is-busy: the unstaged phase-2 halving and the AMD bench's phase-3 p99 from both metal judgements, and the T14's single 10 ms phase-5 wake, owned by stage S4 of #872 and exiting at its re-run of K1-K4, as the orchestrator's application of the owner's ruling (#885) orders. - a-wake-whose-waker-parks-next-is-forwarded-to-an-idle-cpu: the forward's cost on a synchronous wake, owned by S3, with spawn_cost's reading from the second judgement's readbacks. - the-work-conservation-cases-were-staged-for-a-push-threshold-of-two: the tightness half the topology suite lost, and group_imbalance's premise, owned by S2. - interactive-mix-crosses-the-fairness-bound-at-two-cpus: owned by S4, and its scratch test and output are linked where they are kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
The ruling
The owner's answers to round 1's two questions, as the orchestrator recorded them in comment 6125405603:
His answer on the metal timings ceiling, as the orchestrator recorded it in comment 6125787320:
How far that answer reaches, as the orchestrator ruled in comment 6125993566:
What moves a design off its manufacturers' line is his ruling on #873, as the orchestrator recorded it in comment 6124769421:
What changed
Three role prompts carry the ruling:
implementer.mdwhere a design is chosen,reviewer.mdwhere a design is sent back, andorchestrator.mdwhere a brief or issue sets the condition a design lives by. One more place in the tree already decides whether a design lands on a bench number: the metal timings ceiling,tests/metal/src/timings.rs'sceiling. It judges every number the metal suite measures on any bench against that machine's own record, one record file per machine, and a number past twice its record reds the metal run (tests/common/metal.rs'sjudge_readbacks). The owner kept it as a bug guard. This branch does not change it.implementer.mdandreviewer.md's Fit both say what it is.Root
CLAUDE.mdis unchanged. No sentence there contradicts the ruling, and "Its test machines decide its feature set, never its design" already agrees with it. The rule that a design is never chosen because another OS does it that way stays: the ruling names the manufacturers and the published state of the art, not Linux..claude/agents/implementer.md, Measure, build, test. Four sentences follow the merits sentence, which is unchanged:"That hardware" is the merits sentence's "modern hardware ToyOS targets", so its manufacturers are the makers of every device ToyOS drives as well as of its CPUs. The duty to follow is triggered by what they back, not by what their manuals document: a manual documents far more than its maker recommends. The ceiling's clause is Fit's, word for word. Round 3 had a colon before "bench numbers", and that colon is now a full stop, so the slowdown clause names "a design they back" instead of "it". The rest of the paragraph only reflows.
.claude/agents/reviewer.md, Fit. A BLOCKER joins the list that ends with the merits rule, and a sentence follows it:Tests' "A timing row on the T14 is a test, and it goes red past its bound" is the same as
main's and agrees with this.reviewer.md's Evidence is also the same asmain's: the reading from the hardware is still owed where a change targets hardware, and Fit says how much it weighs..claude/agents/orchestrator.md, Design before building. The sentence on the one-boot measurement is the same asmain's, and one sentence follows it:Round 3's review
implementer.md:28's "never block it" with no exception for the ceiling: Fit's clause now follows "never block it" atimplementer.md:28-30.implementer.md:28-29,reviewer.md:60), as the orchestrator ruled in comment 6125993566.git grep -n "T14 timing" e9096f4d5 -- .claude CLAUDE.md '*/CLAUDE.md'exits 1 with no match.Round 2's three BLOCKERs and its NOTE were judged closed in round 3's review. Round 1's were judged closed or fixed in round 2's.
Gates
cargo run -- --ci hostate9096f4d58186c3c8b3b684eb816222f9110f25b: EXIT=0, "Host: 73 step(s), all green". Log: https://github.com/ToyOSOrg/evidence/blob/31e19d9d303bb4f939982cc2b15f49f5487a2749/ci-host.loggit merge-tree --write-tree origin/main e9096f4d5exits 0..claude/agents/*.md.Unsure
issues/toyos-uses-what-modern-hardware-offers-for-speed.mdstill says each design round is "judged by a kill condition fixed before the run", and that "a feature Linux has no counterpart for lands only if it beats ToyOS without it". Its stages' issues carry kill lines too. For a design that its manufacturers or the published state of the art back, both contradict the prompts. This branch edits no issue, so they stay until a brief takes them up.wake_storm_cost(tests/toyos.rs:525-531) also reds on a bound read off the bench clock (large <= small * 5,tests/guest/rust-tests/src/bin/wake_storm_cost.rs:237-243). Its message calls a breach a claim that grows with the storm, which makes it a bug guard like the timings ceiling, not a speed verdict, so the ruling does not reach it.🤖 Generated with Claude Code
https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy