Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
405 commits
Select commit Hold shift + click to select a range
065a8e8
test(thread-ambient): close capture_set.rs and declared.rs mutation gaps
Sep 1, 2026
3d2d13f
test(thread-ambient): close error_mode.rs mutation gaps
Sep 1, 2026
dccd980
test(thread-ambient): close transaction.rs mutation gaps, and record …
Sep 1, 2026
bf68c43
test(thread-ambient): close state.rs mutation gaps, the last file in …
Sep 1, 2026
97ddc46
test(file-watcher): close the queue.rs gaps bounded waiting exposed
Sep 1, 2026
279013a
test(thread-ambient): close CaptureError's own gap, and correct a wro…
Sep 1, 2026
4a94658
fix(file-watcher): replace StandingHold::drop's dead release path wit…
Sep 1, 2026
57f9e19
test(wtf-string): close mutation gaps
Sep 1, 2026
944fe6c
fix(file-watcher)!: remove the reopen-by-id fast path, root-caused as…
Sep 1, 2026
580e001
refactor(file-watcher): drop the write-only canonical_path, keep the …
Sep 1, 2026
742e4db
fix(waitable-queues): repair the PR #56 review findings
Sep 1, 2026
dbcf932
docs(file-watcher): record D-85, paths are the caller's verbatim
Sep 1, 2026
eb00572
fix(waitable-queues): repair the PR #56 second review round
Sep 1, 2026
b371b95
fix(ioring): make DROP_RUNS's comment a plain one, not a doc comment
Sep 1, 2026
8fdcdcc
docs: record why two crates treat paths oppositely, and flag the enum…
Sep 1, 2026
a4db985
test(file-watcher): guard D-85's path pass-through against a helpful …
Sep 1, 2026
e7b3c4f
test(file-watcher): cover canonical_path's regrow, and settle its two…
Sep 2, 2026
052efa3
fix(placement-probe): repair the PR #56 suppressed review findings
Sep 2, 2026
2eea4a8
test(file-watcher): isolate the last notification-filter categories
Sep 2, 2026
8c55538
test(file-watcher): assert the arming contract instead of crashing in…
Sep 2, 2026
d9665c5
fix(waitable-queues): clamp the length gauges, and honour reservation…
Sep 2, 2026
f9b57db
fix(placement-probe): publish atomically, discover once, and build on…
Sep 2, 2026
068548b
fix(waitable-queues): correct spsc's remaining, which the last round …
Sep 2, 2026
06f4ca0
test(file-watcher): lower NOTIFY_TIMEOUT to 5s, measured rather than …
Sep 2, 2026
8c56647
fix(waitable-queues): bound the recorded depth, and state what high_w…
Sep 2, 2026
0994c2e
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 2, 2026
10c0e12
test(file-watcher): bound the loop, not just the wait inside it
Sep 2, 2026
c4a666d
Merge remote-tracking branch 'origin/mikegrier/deferred-namespace-ops…
Sep 2, 2026
69289a8
fix: repair the two CI failures the merge surfaced
Sep 2, 2026
03b9ae0
fix(placement-probe): refuse to invent placement for uncovered proces…
Sep 2, 2026
84b3eb6
fix(placement-probe): survive a stale temporary, and stop two tools b…
Sep 2, 2026
0d26546
test(file-watcher): cover monitor mutation gaps
Sep 2, 2026
80bfaa3
fix(placement-probe): count every online processor in the fingerprint
Sep 2, 2026
f71f792
fix(placement-probe): stop a record splicing two machines, and route …
Sep 2, 2026
4cfd7dd
refactor(platform-probes): route the two new probes through one outpu…
Sep 2, 2026
0599a5d
fix(waitable-queues)!: widen slotwise_mpsc positions to 64 bits on ev…
Sep 2, 2026
24718ca
docs(waitable-queues): state the wait protocol's terminal step everyw…
Sep 2, 2026
07882f0
test(file-enumeration): close mutation gaps in the error and path sur…
Sep 2, 2026
49019f2
test(file-enumeration): close reservation-accounting gaps, and record…
Sep 2, 2026
9a9163c
test: close accessor and boundary mutation gaps across three crates
Sep 2, 2026
a07b50c
test(namespace-request): close accessor and error-surface mutation gaps
Sep 2, 2026
c16845c
test(guard-alloc): split seed parsing from the environment read so it…
Sep 2, 2026
b791418
test(guard-alloc): pin identify's ordinal bound, and record two equiv…
Sep 2, 2026
40bc19d
test(waitable-queues): pin the usize clamp that only matters on a 32-…
Sep 2, 2026
47dfa18
test(placement-probe): pin the plan's arithmetic and the median's rates
Sep 2, 2026
e198b8a
test(topology): exercise the deserializer's refusal paths, and record…
Sep 2, 2026
1baea9b
style(guard-alloc): apply cargo fmt to the seed-parsing tests
Sep 2, 2026
527864d
docs: preserve the 2026-09-02 mutation sweep and queue its remaining …
Sep 2, 2026
590a940
fix(waitable-queues)!: make the capacity ceiling a capacity that is a…
Sep 2, 2026
166d7c1
docs: repair four intra-doc links broken by this branch's own edits
Sep 2, 2026
1cedcbe
docs: plan the claim-protocol prototype (M15), parking the non-blocki…
Sep 2, 2026
2f86201
docs(waitable-queues): record the claim-protocol prior art as D-34
Sep 2, 2026
7c76ad8
docs(waitable-queues): amend D-18 -- outcome stands, reasoning replaced
Sep 2, 2026
67edf36
feat(waitable-queues): add the experimental permit-claiming MPSC (arm A)
Sep 2, 2026
c5e5b1c
feat(probes): measure the permit claim against the shipping shapes (D…
Sep 2, 2026
a5fc191
docs: re-plan M15 -- SH-15.6 was a false binary, and add SH-15.8
Sep 2, 2026
cf6d759
docs(waitable-queues)!: disclose SH-14.1's item-loss defect before 0.1.0
Sep 2, 2026
817dae9
docs(waitable-queues): ship the claim word in two widths (D-37, super…
Sep 2, 2026
d33d690
feat(waitable-queues): widen the permit ticket to u64, and simplify D…
Sep 2, 2026
a43b6a8
refactor(probes): route the remaining twelve probes through the repor…
Sep 2, 2026
5b01b63
docs: re-plan SH-2.2 -- the ioring release it demanded is not needed
Sep 2, 2026
d35f5c1
docs: record SH-2.2's blocker and split its work by who owns each pin
Sep 2, 2026
dcdc402
docs: re-plan the ship checklist so it says what is actually open
Sep 2, 2026
986f1d7
chore: never publish either probe crate to a registry, and delete the…
Sep 2, 2026
cab0bb7
chore(placement-probe): version the tool by date, not by semver
Sep 2, 2026
f1fc4eb
chore(ioring): drop the topology dev-dependency's version, closing SH…
Sep 2, 2026
e90985d
docs: fix an ordering that put the PR review after the merge that clo…
Sep 2, 2026
e167337
docs: record M16, the SH-3.1.1 diff review, and its seven findings
Sep 2, 2026
3f4cc7a
fix(topology): stop counting a cache domain over no processors as a p…
Sep 2, 2026
0cf3cdc
fix(waitable-queues): give Reservation::send the acquire edge its slo…
Sep 2, 2026
4593b33
ci: skip a versionless sibling in the publish wait instead of timing …
Sep 2, 2026
ea733d2
fix(file-watcher): wait for the cancelled read instead of freeing it …
Sep 2, 2026
f1d1ad6
fix(ioring): probe the deep end of the NUMA spike's filler, not the s…
Sep 2, 2026
a6dbb6e
test(thread-ambient): name the transaction restore test for what it c…
Sep 2, 2026
f164972
docs: open a design session on the cache-locality model, blocking SH-…
Sep 2, 2026
e061c60
docs: record the settled direction on the locality model, and two fin…
Sep 2, 2026
5b3b78d
docs: settle provenance placement, absence, and the object-level scalar
Sep 2, 2026
39aa2bf
docs: fold the locality-model work into PR #56, correcting five stale…
Sep 2, 2026
3b64042
docs: settle the concreteness bar, and find the field that proves it
Sep 2, 2026
afcd789
docs: file the execution-domain planner as its own component
Sep 3, 2026
0ef8554
docs(execution-plan): state the shard-set query, and find a sentinel …
Sep 3, 2026
901a05e
docs(execution-plan): state the proximity query, and correct its own …
Sep 3, 2026
2065baf
docs(execution-plan): state the residency query, and correct two clai…
Sep 3, 2026
417f344
docs: ungate and split SH-16.10, whose gating premise was wrong
Sep 3, 2026
473cc84
feat(topology)!: read CPU sets, as a second observation rather than a…
Sep 3, 2026
467a378
docs(topology): record D-13 and D-14, and audit every Option against …
Sep 3, 2026
313a790
docs: hand the planner's requirements to the session, and block EP-1.…
Sep 3, 2026
9f6a1d6
docs: record the two-component architecture, which answers who measures
Sep 3, 2026
36e397d
refactor(topology)!: rename Topology to MachineMemoryTopology
Sep 3, 2026
6584ff9
docs(topology): open the MMT plan to reshape the machine memory topology
Sep 3, 2026
a2edb9a
docs(topology): decide MMT-1.1 on measurement -- a set, by way of mem…
Sep 3, 2026
6b1f762
chore(topology): restore LF endings in DESIGN-NOTES.md
Sep 3, 2026
d8d0654
chore: ignore tpu-mcp .bak files, and untrack one that slipped in
Sep 3, 2026
81f87b9
docs(topology): pin down what MMT-1.2 actually has to decide
Sep 3, 2026
9f26b62
docs(topology): correct an overstated concern in MMT-1.2
Sep 3, 2026
7c8539d
docs(topology): retire the non-atomic-read case from MMT-1.2
Sep 3, 2026
e6de7d6
docs(topology): D-16 -- collect again, and retry is the discriminator
Sep 3, 2026
c826248
docs(topology): drop MMT-1.2's first question, which was never a deci…
Sep 3, 2026
7b2b16e
docs(topology): D-17 -- incoherence is expected in the field, not exotic
Sep 3, 2026
87bc3c8
docs: split recording from reporting, and give reporting to the probe
Sep 3, 2026
4554ca9
docs(topology): close MMT-1.2 with D-18 -- an observation is (subject…
Sep 3, 2026
3497c2f
docs(topology): name the two conflict shapes instead of labelling the…
Sep 3, 2026
9c9db70
docs(topology): present a unified view when the sources align (D-19)
Sep 3, 2026
14ac8a5
docs(topology): the Win32 boundary decides distances (D-20)
Sep 3, 2026
f9a772b
feat(topology)!: remove MachineMemoryTopology::distances and the Dist…
Sep 3, 2026
8f55e2e
docs(topology): record the four-part architecture and settle the crat…
Sep 3, 2026
14036d0
docs(topology-planner): settle the component layout and rename the co…
Sep 3, 2026
d9d0dae
docs(topology): the crate publishes a refined view of the platform (D…
Sep 3, 2026
a96ef78
docs(topology): re-plan M2 on execution -- two items already describe…
Sep 3, 2026
b3f8de4
feat(topology): order granularities by observed inclusion, with a top
Sep 3, 2026
867b47d
feat(topology): add Observed<T>, absence with its reason attached (M2…
Sep 3, 2026
ede72b1
docs(topology): re-plan M3 -- M3+.3's premise is wrong, and M3+.1 was…
Sep 3, 2026
098764c
docs(topology): say what Provenance actually records (M3+.3)
Sep 3, 2026
896b821
docs(topology): split M3+.1 into three sub-steps on execution
Sep 3, 2026
a11c4e2
feat(topology): record which source reported each relation (M3+.1.1)
Sep 3, 2026
7caf3f4
feat(topology): fold CPU Sets into the relation set (M3+.1.2)
Sep 3, 2026
4e73fe1
test(topology): assert the two Provenance properties at the relation …
Sep 3, 2026
b9e0c35
feat(topology)!: remove Domain::id in favour of per-observation label…
Sep 3, 2026
cbfd72e
feat(topology): record per-processor attribute conflicts (M3+.1.4)
Sep 3, 2026
a425779
feat(topology): pairwise proximity and an inclusion-ordered partition…
Sep 3, 2026
a746235
feat(topology): the shard-set and residency surfaces, without sentinels
Sep 3, 2026
997eb18
docs(topology): the CPU-set AllFlags byte is not populated on this bu…
Sep 3, 2026
26a38c0
refactor(topology): the partitioning rule has one implementation (M5+.3)
Sep 3, 2026
0300f39
feat(topology)!: adopt Observed<T> for memory capacity and cache plac…
Sep 3, 2026
bea613a
docs(topology): archive the completed MMT plan (M1-M5)
Sep 3, 2026
f3ccb42
docs: discharge the six SH-16.x items the MMT plan superseded
Sep 3, 2026
be64f17
fix(topology)!: check the record size before reading its Type field
Sep 4, 2026
0ff242d
docs: close SH-3.1.1 and assign the draft promotion as SH-3.1.2
Sep 4, 2026
bd9c573
docs: record the dependency-containment analysis for PR #56
Sep 4, 2026
ee0d9f3
docs(topology): rule on the two record walks (D-24), and replan M6
Sep 4, 2026
b4fad3b
feat(topology)!: one shared record walk, and no panic on a malformed …
Sep 4, 2026
e221bd0
test(waitable-queues): repair three stale sabotage patterns (SH-3.3)
Sep 4, 2026
8ab48c7
docs: correct the predicted release-please bumps for PR #56
Sep 4, 2026
4965b4c
docs: record how to keep a cross-crate breaking commit path-clean (SH…
Sep 4, 2026
e378bc7
chore: detect cross-crate release poisoning at commit time
Sep 4, 2026
cdce13b
docs(ioring): pin the next release to 0.2.1, and record what that obl…
Sep 4, 2026
44171f0
chore: guard a Release-As pin against a later breaking change
Sep 4, 2026
bf26ef0
docs: record the ioring 0.2.1 decision (SH-3.4.2)
Sep 4, 2026
a1820e9
chore(waitable-queues): start the crate at 0.0.1 so its first release…
Sep 4, 2026
9668bd7
docs: compile every published crate's README, and refresh the topolog…
Sep 4, 2026
e00f1ea
fix(topology): qualify four intra-doc links that dangled from domain.rs
Sep 4, 2026
b2e5603
fix(topology): three defects from the PR #56 Copilot review
Sep 4, 2026
5360035
fix(topology): name the current process for CPU sets, and stop claimi…
Sep 4, 2026
25f1c99
docs: state a tested Windows baseline for windows-topology-sys
Sep 4, 2026
75e230c
docs: queue four findings from the PR #56 review that need decisions
Sep 4, 2026
b5b778e
fix(tools): stop inject-mutant reporting a non-compiling mutant as ca…
Sep 4, 2026
9b80cbc
docs: queue the remaining PR #56 review findings (SH-4.8, SH-4.9)
Sep 4, 2026
931d8a4
test(file-watcher): treat ERROR_IO_PENDING as a queued read, not a fa…
Sep 4, 2026
0b726b1
fix(waitable-queues): stop mixing relaxed with acquire/release on one…
Sep 4, 2026
01de0bb
fix(topology): refuse to serialize an unrecognised kind named after a…
Sep 4, 2026
2830f09
fix(placement-probe): never report an unobserved cache relationship a…
Sep 4, 2026
4d8f075
fix(platform-probes): put the host banner in the report instead of on…
Sep 4, 2026
2381d88
fix(ci): let a broken NUMA spike fail the build again
Sep 4, 2026
9d75714
fix(ioring): stop ring_copy reporting a remote run that measured a lo…
Sep 4, 2026
4622d59
docs(placement-probe): say what the build marker actually proves
Sep 4, 2026
e9d85a2
ci(placement-probe): attest released binaries with GitHub build prove…
Sep 4, 2026
15a242f
fix(file-enumeration): assert the default buffer is whole pages, not …
Sep 4, 2026
f62363d
docs(guard-alloc): stop overstating what the parse_seed split made re…
Sep 4, 2026
a9969ed
feat(topology)!: implement D-16's bounded coherence retry, which was …
Sep 4, 2026
0da95a3
fix(topology): reject a float at 2^64 instead of saturating it to u64…
Sep 4, 2026
a3d52a3
fix(placement-probe)!: refuse a processor no memory domain names, nev…
Sep 4, 2026
9257928
docs(file-enumeration): correct the page rationale, which over-claime…
Sep 4, 2026
c45c948
docs(file-enumeration): correct the second copy of the page-alignment…
Sep 4, 2026
9c166ad
docs(file-watcher): say that long-path opt-in does not lift MAX_PATH …
Sep 4, 2026
92bd9e8
docs(file-watcher): correct the relative-path long-path note, which I…
Sep 4, 2026
13171f6
docs(file-watcher): stop the long-path note asserting behaviour nobod…
Sep 4, 2026
91f4796
feat(platform-probes): measure the long-path opt-in instead of docume…
Sep 4, 2026
05b908b
fix(platform-probes): emit the host fingerprint from the three probes…
Sep 4, 2026
1f37988
fix(waitable-queues)!: stop permit_mpsc losing a reserved item to a d…
Sep 4, 2026
cdc82c3
fix(ioring): stop ring_copy calling a node remote when the local one …
Sep 4, 2026
c072a8a
fix(topology)!: stop proximity panicking on a publicly constructible …
Sep 4, 2026
e78154b
docs(topology): say that a CPU-set-only processor is reported, not li…
Sep 4, 2026
f30682d
docs: record that PR #56 is out of draft (SH-3.1.2)
Sep 4, 2026
3cb0272
fix(placement-probe): floor a submitted record's timestamp to the min…
Sep 4, 2026
e451b40
feat(placement-probe)!: withhold the secondary metadata unless the ru…
Sep 4, 2026
9a7393a
docs(placement-probe): say in the README what redaction costs
Sep 4, 2026
dad5ce4
fix(topology): spell Coherence's serialized variants in snake_case
Sep 4, 2026
c8fc721
feat(placement-probe): report a topology disagreement and offer a way…
Sep 4, 2026
14217d5
refactor(placement-probe): say what a result can be traced to, not ho…
Sep 4, 2026
116d4e6
fix(placement-probe): correct release notes and node-zero docs, and c…
Sep 4, 2026
bfc7971
fix(probes): name the host in every probe report, and correct the cra…
Sep 4, 2026
cdb7a21
fix(topology): retry a size-and-fetch pair when the buffer grows unde…
Sep 4, 2026
4833c4b
fix(placement-probe): stop linking into a feature-gated module from u…
Sep 4, 2026
5ad082c
fix(topology): stop the long-path probe leaking, and refuse anomalies…
Sep 4, 2026
231750b
fix(topology): count the long path in UTF-16 units, and make the Prov…
Sep 5, 2026
8270342
docs: record SH-4.13 and SH-4.14 from the PR #56 review threads
Sep 5, 2026
8f8faa4
Merge remote-tracking branch 'origin/main' into mikegrier/deferred-na…
Sep 5, 2026
269ee84
feat(platform-probes): measure the reserving claim word's apportionme…
Sep 5, 2026
d201c06
docs(platform-probes): record rollover times for candidate claim-word…
Sep 5, 2026
ed6cadd
docs(platform-probes): decide to offer claim-word layouts as document…
Sep 5, 2026
80184a1
docs(platform-probes): disambiguate CW-1.6 as the duplicate implement…
Sep 5, 2026
bdd0ad5
docs(platform-probes): unpark M2 and reopen D-36, whose premise the m…
Sep 5, 2026
1f7bb75
docs(platform-probes): merge CW-2.1 and CW-2.2, which cannot be verif…
Sep 5, 2026
7c1c775
refactor(waitable-queues): widen the reserving position to 64 bits
Sep 5, 2026
0016682
feat(waitable-queues)!: make the reserving claim-word layout caller-s…
Sep 5, 2026
44139f0
docs(platform-probes): check off CW-2.1
Sep 5, 2026
eac9d2f
docs(platform-probes): correct CW-2.3, which framed the 128-bit choic…
Sep 5, 2026
45dcd8e
feat(waitable-queues): add an opt-in dwcas feature and the Wide claim…
Sep 5, 2026
5c413bf
docs(platform-probes): record the CW-2.3 decision and its effect on C…
Sep 5, 2026
950dccc
docs(waitable-queues): restate the wrap hazard as a layout choice, su…
Sep 5, 2026
fab14fe
refactor(platform-probes): measure the shipping layouts, deleting the…
Sep 5, 2026
ea333d8
docs(platform-probes): archive the completed claim-word-layout checklist
Sep 5, 2026
e52236a
docs: document the claim layouts and the dwcas feature in the crate R…
Sep 5, 2026
ceb2b83
Merge origin/main, taking the released windows-waitable-queues
Sep 5, 2026
61c6c80
Merge origin/main, taking the released topology reshape
Sep 5, 2026
02e2241
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 5, 2026
1f06f51
fix(placement-probe): restore four blank separators dropped in the merge
Sep 5, 2026
00d3775
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 6, 2026
dbeb77c
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 6, 2026
db58932
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 6, 2026
611cfcd
docs: remove the 0.2.1 release pin, which events overtook
Sep 6, 2026
221d604
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 6, 2026
a0faf50
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 6, 2026
e695424
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 7, 2026
7b9901a
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 8, 2026
fa37bce
fix(tools): guard run-numa-spikes against PowerShell 5.1's terminatin…
Sep 8, 2026
8e2c475
feat(tools): share the native-command guard as dot-sourced tools/comm…
Sep 8, 2026
0df58be
feat(tools): report which Copilot reviews are still outstanding, and …
Sep 8, 2026
e1501f2
fix(platform-probes): correct four probe measurements and archive thr…
Sep 8, 2026
90e1910
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 8, 2026
eaaa356
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 9, 2026
1abcaaf
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 9, 2026
246687e
feat(platform-probes): add LineSink, the fmt::Write sink a renderer c…
Sep 9, 2026
357c28a
feat(platform-probes): stream every probe's report, and delete the ca…
Sep 9, 2026
d1a306d
test(platform-probes): pin streaming by observation, and measure an i…
Sep 9, 2026
b7d6c35
feat(platform-probes): add the report oracle, checked against a real …
Sep 9, 2026
77cfff6
test(platform-probes): bind the report oracle to every rendering call…
Sep 9, 2026
d9e99ea
test(platform-probes): check a report rendered from the real host aga…
Sep 9, 2026
8020e5e
feat(platform-probes): walk the correspondence matrix, and promote wh…
Sep 10, 2026
de916cc
feat(platform-probes): derive both renderings of a cost figure from o…
Sep 10, 2026
43db54d
feat(probes): build the topology banner from the read the body describes
Sep 10, 2026
046be10
docs(namespace-request): GetFullPathNameW is not lexical, and say why…
Sep 10, 2026
b56959f
docs(probes): finish the GetFullPathNameW sweep and point at the deci…
Sep 10, 2026
cb196c1
fix(probes): carry the OS error in the last four Win32 assertion mess…
Sep 10, 2026
7ea516a
fix(ci): repair a workflow step welded onto one line during a merge
Sep 10, 2026
e979fa0
ci: gate every probe step on the build rather than on the job
Sep 10, 2026
4647628
docs(probes): archive the completed M2 group and update the plan indexes
Sep 10, 2026
1238742
docs: archive M22-M29 from the thread-ambient checklist
Sep 10, 2026
049b597
docs: archive the placement tool's completed milestones
Sep 10, 2026
c87d9e3
docs: archive io-domains M30 and drop the completed M35 milestone
Sep 10, 2026
66ea701
docs: archive the last completed milestones across the remaining chec…
Sep 10, 2026
0fdd76f
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 10, 2026
6b649dc
docs: stop the archive reinstating the claim PR #86 removed
Sep 10, 2026
54998fa
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 14, 2026
64d9ac5
chore(platform-probes): unjam the wtf-string comment from the queue d…
Sep 14, 2026
9327b3f
Merge origin/main, taking the queue-contention probe as PR #90 left it
Sep 17, 2026
8cd1321
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 18, 2026
b0ea965
docs(platform-probes): point the workflow-gate gap at M34.5, which ex…
Sep 18, 2026
eeef808
docs(topology): give the EP-D-2 rustdoc link the anchor every sibling…
Sep 18, 2026
ab91aad
Merge origin/main into mikegrier/deferred-namespace-ops
Sep 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CHECKLIST-ship-topology-and-queues.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ against and other people can run it on hardware this workspace does not own.
Both crates are published: `windows-topology-sys` 0.2.0 and `windows-waitable-queues` 0.1.0 reached
crates.io on 2026-09-05, neither yanked. They did not arrive by the route below. PR #56 was opened
from `mikegrier/deferred-namespace-ops` on 2026-08-31 and **closed unmerged on 2026-09-15**; the
content is landing in peeled pieces instead, the first of which merged as PR #94, and this branch is
the second. The milestones below were written while #56 was open and describe a path that was not
taken, so M4 still reads as though nothing has shipped -- SH-4.15 owns reconciling it.
content is landing in peeled pieces instead: the first merged as PR #94 and the second as
PR #95, both of which this branch has since merged back. The milestones below were written
while #56 was open and describe a path that was not taken, so M4 still reads as though
nothing has shipped -- SH-4.15 owns reconciling it.

**Milestone numbers are not a running order.** M7 through M15 are *review rounds on PR #56*, so they
happened **inside M3**, between the pull request opening and a merge that never came. Reading the
Expand Down
1 change: 1 addition & 0 deletions PLANS.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ plans tracker: [crates/windows-file-enumeration-sys/PLANS.md](crates/windows-fil
| Path to CHECKLIST.md | Status | Brief description | Design Notes |
|---|---|---|---|
| [CHECKLIST-mutation-survivors.md](CHECKLIST-mutation-survivors.md) | not started | Work queued from the workspace-wide cargo-mutants sweep of 2026-09-02, whose findings are kept in [mutation-sweeps/2026-09-02/](mutation-sweeps/2026-09-02/README.md) rather than re-derived -- the run took roughly fourteen hours. 2,792 caught, 1,112 survived, 198 timed out. **The headline numbers mislead in three ways and the README says how**: a timeout in a blocking-API crate is usually a detection that lost its name rather than a gap (measured: one of `windows-waitable-queues`' 120 timeouts fails four tests in 0.00s when re-injected alone), a low score on an executable probe crate is measuring the wrong thing, and three kinds of survivor -- equivalent mutants, unreachable code, and constants that want a `const` assertion -- are not missing tests at all. M1 covers the shipping crates; M2 holds the two crates that are not libraries and whose scope is an engineer's decision; M3 re-runs and prunes rather than hand-editing the tool's output into a second source of truth. | [mutation-sweeps/2026-09-02/README.md](mutation-sweeps/2026-09-02/README.md) |
| [crates/topology-planner/CHECKLIST.md](crates/topology-planner/CHECKLIST.md) | in progress | **Planned, not built** -- the directory holds a plan and no code, and becomes a crate when M2 begins. Owns the mapping from a stated **goal** plus an abstracted idealized machine description to a set of execution domains: which processors host a domain, where each thread pins, which memory node it allocates from, what channel connects each pair, and where each channel's buffer lives. Filed because that mapping was **unowned**: [CHECKLIST-io-domains.md](CHECKLIST-io-domains.md) M32 lists the contracts "the runtime cannot be written without" and all of them concern the queue, while M33+.1 opens with "one pinned thread, its `IoRing`, its node-local registered pool, its shard" -- presupposing a plan nothing computed. Separate from `windows-topology-sys` because that crate states **facts** and this one applies **policy**; fusing them is what produced `outermost_partitioning_cache`, a policy answer sitting in the facts crate that three consumers then re-derived differently (SH-16.9). M1 was a *requirements* milestone -- it states what the topology must answer, and it fed the locality-model session, which has since concluded as `D-13`..`D-21`. **The component was deferred past PR #56 by direction**, contributing only planning documents there; #56 then closed unmerged on 2026-09-15 and its content is landing in peeled pieces instead, so the component is still unlanded and goes in its own pull request. Per `D-21` the topology reshape lands without it, since `windows-topology-sys` publishes a refined view of what the platform publishes and an adapter absorbs the rest. M2+ and M3+ are parked on that session concluding, and are additionally **awaiting a re-cut**: EP-D-4 and EP-D-5 re-scoped the component into four parts (`topology-model` holding the abstract machine description, the planner's traits and the plan type; `topology-planner`; an inward Windows adapter; an outward realizer), and only M1 has been reconciled with that. EP-1.1 is done and already earned its keep: checking the shard-set query against the model found `Processor::capacity` using `0` as both a valid efficiency class and a "not known" sentinel, which collide on every non-hybrid machine (filed as SH-16.12). | [crates/topology-planner/DESIGN-NOTES.md](crates/topology-planner/DESIGN-NOTES.md), [design-sessions/DESIGN-SESSION-2026-09-02-cache-locality-model.md](design-sessions/DESIGN-SESSION-2026-09-02-cache-locality-model.md) |
| [CHECKLIST-io-domains.md](CHECKLIST-io-domains.md) | in progress | **M30 is complete and archived** in [COMPLETED-CHECKLIST.md](COMPLETED-CHECKLIST.md): the queue crate's name, skeleton and SPSC shape. M31 built the bounded-array MPSC (with a lazily created manual-reset doorbell whose reset cannot be separated from the observation that there is nothing to take -- achieved by ordering plus a re-check rather than by a lock, per D-9 and D-15) and is done but for `M31.6`, the `loom` verification, which is re-homed as `M30.4` in [CHECKLIST.md](CHECKLIST.md). M32 remains: the contract decisions -- ordering, correlation, backpressure among them -- the domain runtime cannot be written without. M33+ parks the runtime itself, the creation-time-affinity thread builder, the namespace `Outcome` extension, the client-side `ThreadpoolWait` fan-in helper, and the durability crate. M-inf holds items each gated on a specific measurement rather than on taste. The N=1 path is the whole first deliverable and depends on no NUMA hardware. | [DESIGN-NOTES.md](DESIGN-NOTES.md), [DESIGN-SESSION-2026-08-30-numa-sharded-io-execution-domains.md](design-sessions/DESIGN-SESSION-2026-08-30-numa-sharded-io-execution-domains.md) |
| [CHECKLIST.md](CHECKLIST.md) | in progress | M19: propagate the 2026-08-27 platform measurements (IoRing registration replaces the table; the completion-port/`IoRing` fork; `runs_long` as the growth mechanism; the measured 512 default maximum) into the crates whose code or documentation currently assumes otherwise. M20: decide the session-independent path form, now that path resolution is measured to follow the impersonated token's logon session. M21: reconcile with the impersonation and enumeration crates that landed during the session. M34 carries the review-driven repairs raised while shipping the placement tool: M34.1 (the reusable sabotage harness) is done, and M34.2 (route the placement tool's output through a sink rather than writing to stdout from many sites) and M34.3 (archive the completed item bodies still carried by the three root checklists) are open. M37: discharge the failable-call standard across the workspace. M30: find out how much of this workspace's algorithm correctness can be machine-checked -- a survey matching each argued-but-unchecked algorithm to a class of tool (TLA+/PlusCal, loom, bounded proof, `const` assertions), one pilot chosen because parameter shrinking makes an untestable property exhaustive, and a named list of what the pilot could not reach, which is the deliverable. Scoped as an instrument for narrowing hand-inspection rather than replacing it, and explicitly not a reversal of [D-31](crates/windows-waitable-queues/DESIGN-NOTES.md#d-31). Also re-homes `M31.6`, the `loom` verification the queue crate promises adopters before 1.0: it was previously untracked, referenced from that crate's design notes, a source file and its sabotage manifest with no live checklist item anywhere, and is now queued as M30.4. M30's rationale is in [DESIGN-RATIONALE.md](DESIGN-RATIONALE.md#machine-checking-what-is-argued) -- Tier 2, because no decision is taken yet; M30.5 is what produces one. | [DESIGN-NOTES.md](DESIGN-NOTES.md#remoting-synchronous-namespace-operations) for M19-M21 and M37; N/A for M30 |
| [CHECKLIST-ship-topology-and-queues.md](CHECKLIST-ship-topology-and-queues.md) | in progress | Release `windows-topology-sys` 0.2.0 and `windows-waitable-queues` 0.1.0, which everything shorter-term depends on. **Both reached crates.io on 2026-09-05**, by a route this file does not describe, since PR #56 closed unmerged; `SH-4.15` owns reconciling M4 with what shipped. Deliberately redundant with [CHECKLIST-io-domains.md](CHECKLIST-io-domains.md): that file plans the design, this one plans the release, and a release has failure modes a design checklist does not surface. Two were found while writing it -- `windows-waitable-queues-v*` is missing from the publish workflow's tag list, so release-please would tag it and nothing would publish it, silently; and `windows-ioring-sys` is published against `windows-topology-sys = "0.1.0"`. (That second finding was later **corrected at SH-2.2**: the pin is a *dev*-dependency, which consumers never resolve, so it obliges a pin update but no release.) M1 settled the public surface before it was public (done, archived); M2 repairs the plumbing; M3 lands the branch; M4 releases; M5 verifies from outside the workspace; M6 is long-running validation and gates the queue crate's release specifically. M7-M13 were seven PR #56 review rounds (done, archived); M14, M15 and M16 are the three later rounds and carry the file's open work -- M15 owns the fix for an ABA hole that ships **disclosed rather than fixed**, so it does not block the release. M16 is the SH-3.1.1 diff review, the first to read the branch as a diff rather than react to a comment: seven findings, six fixed, including a publish-workflow regression this branch had introduced two commits earlier and a soundness hole in the crate about to freeze its API. Its remaining four are blocked on [design-sessions/DESIGN-SESSION-2026-09-02-cache-locality-model.md](design-sessions/DESIGN-SESSION-2026-09-02-cache-locality-model.md), which began by asking whether collapsing a seven-kind, any-depth topology onto a single cache boundary is the right projection and has since settled that presence and observation must be modeled rather than collapsed into an `Option`. **That work gated the merge, and has since discharged**: unlike M14 and M15, which concern a defect in an implementation that can ship disclosed, M16 concerned the shape of the public model `windows-topology-sys` 0.2.0 would publish, and a published model cannot be reshaped without another break. It became the `MMT-*` plan, which has landed; the session has concluded and 0.2.0 shipped the new model, so M3 no longer waits on M16. The file opens with a status table. | [crates/windows-topology-sys/DESIGN-NOTES.md](crates/windows-topology-sys/DESIGN-NOTES.md), [crates/windows-waitable-queues/DESIGN-NOTES.md](crates/windows-waitable-queues/DESIGN-NOTES.md) |
Expand Down
Loading
Loading