This website requires JavaScript.
d4839f1d81
feat(runtime,io): driver-enqueues + park/wake idle path — retire the wake pipe
master
smarm
2026-07-24 09:11:12 +02:00
2854b560d6
feat(park): fenced producer fast path + earliest-deadline snapshot
smarm
2026-07-24 08:45:01 +02:00
7b026cfe56
feat(park): scheduler coordination layer — parkers, idle mask, wake protocol (RFC 018)
smarm
2026-07-24 08:39:58 +02:00
006a3283e7
chore(hooks): clippy gate falls back to a nix-shell toolchain
smarm
2026-07-24 00:18:49 +02:00
8c764e9169
docs(monitor): user-facing rewrite of process monitors
Markk116
2026-07-24 08:44:56 +02:00
41b9d6d056
docs(introspect): user-facing rewrite of runtime introspection
Markk116
2026-07-24 08:44:56 +02:00
dd845f22fe
docs(mutex): user-facing rewrite of the actor-blocking mutex
Markk116
2026-07-24 08:44:56 +02:00
36a0a9832d
docs(registry): user-facing rewrite of the name registry
Markk116
2026-07-24 08:40:26 +02:00
feda6517e5
docs(channel): user-facing rewrite of the MPSC channel primitive
Markk116
2026-07-24 08:40:26 +02:00
8625ae4c35
docs(scheduler): user-facing rewrite of the actor/spawn/run entry point
Markk116
2026-07-24 08:40:26 +02:00
d9addeba5e
test(causal): controller test no longer races the sweep's site snapshot
Claude (sandbox)
2026-07-18 21:59:21 +00:00
d5a3ba1934
fix(causal): born current — slot reuse booked phantom park forgiveness
Claude (sandbox)
2026-07-18 21:55:56 +00:00
7eae56a296
fix(runtime): a root actor panic escapes run()
Claude (sandbox)
2026-07-18 21:52:50 +00:00
527f045e17
feat(causal): offcpu column + closed-books eff in the attrib probe
Claude (sandbox)
2026-07-13 12:46:58 +00:00
0ee3fe7330
feat(causal): offcpu audit bucket — the @50 deficit located (RFC 007)
Claude (sandbox)
2026-07-13 12:46:15 +00:00
9bfeb2c6a2
feat(causal): ledger-audit output in the pipeline demo and attrib probe
Claude (sandbox)
2026-07-13 12:10:06 +00:00
a3be8f0977
feat(causal): ledger audit — decompose the @50 injection deficit (RFC 007)
Claude (sandbox)
2026-07-13 12:07:19 +00:00
a2d0b7af18
feat(causal): fidelity footer in render_summary
Claude (sandbox)
2026-07-13 11:11:20 +00:00
a4647f368a
feat(causal): wall-anchored send_after — user-facing timer opt-out (RFC 007)
Claude (sandbox)
2026-07-13 11:10:11 +00:00
fec760a3c0
docs(causal): record the reserve-shortfall verdict in the demo header
Claude (sandbox)
2026-07-13 09:48:24 +00:00
d5b6a8f66f
feat(causal): pipeline demo modes for the reserve-shortfall experiment
Claude (sandbox)
2026-07-13 09:40:27 +00:00
efbc254634
feat(causal): wall-anchored timers — controller windows keep fixed wall length (RFC 007)
Claude (sandbox)
2026-07-13 07:44:51 +00:00
04dbac1f4b
feat(causal): timer-heap virtual time — deadlines chase injected delay (RFC 007)
Claude (sandbox)
2026-07-13 07:31:08 +00:00
d496914d40
fix(causal): flush target-site samples at guard boundaries (RFC 007)
Claude (sandbox)
2026-07-12 19:35:06 +00:00
2668f4018f
feat(causal): native causal profiling behind smarm-causal (RFC 007 v1)
Claude (sandbox)
2026-07-12 19:10:04 +00:00
1c90a4ef5e
fix(registry): by_name stores the full holder Pid — a dead name heals under slot reuse
smarm-agent
2026-07-12 07:23:30 +00:00
f6641cd266
runtime: name scheduler threads smarm-sched-{slot}
smarm-agent
2026-07-11 19:17:52 +00:00
0017c5b9a1
fix(runtime): consume wake-pipe bytes only under the drain lock
smarm-agent
2026-07-11 16:13:46 +00:00
6c2b7e91cf
channel: drop queued messages when the Receiver drops
smarm-agent
2026-06-24 20:53:27 +00:00
3e9c33377c
gen_statem: disambiguate module/macro intra-doc links
smarm-agent
2026-06-20 19:51:33 +00:00
e54c67c431
supervisor: rewrite docs for users; relocate internals to items
smarm-agent
2026-06-20 19:51:32 +00:00
3e321eaaf3
pg: rewrite docs for users; relocate internals to items
smarm-agent
2026-06-20 18:51:00 +00:00
c415f14dd0
ci: deny unwrap_used/expect_used on the library target
smarm-agent
2026-06-20 17:47:44 +00:00
33177a0c48
library + trace: rewrite panic sites as explicit match+panic
smarm-agent
2026-06-20 17:47:39 +00:00
a875fa8285
core: rewrite panic sites as explicit match+panic
smarm-agent
2026-06-20 17:47:33 +00:00
531571bfa5
gen_statem: postpone events for replay after a transition
smarm-agent
2026-06-20 13:02:15 +00:00
acf67fef06
gen_statem: state and named timeouts, info events
smarm-agent
2026-06-20 11:57:04 +00:00
bfa513cd6d
doc: rework gen_server module docs completely
smarm
2026-06-20 13:34:17 +02:00
0cf6b80396
gen_statem: GenStatem* type prefix + cleanup
smarm-agent
2026-06-20 10:48:33 +00:00
3e316066c3
gen_server: prefix public types with Gen (GenServerRef, GenServerCtx, GenServerName, GenServerBuilder, NamedGenServerBuilder)
smarm-agent
2026-06-20 10:48:33 +00:00
f646c5cd72
cleanup some LLM crud
smarm
2026-06-20 12:22:33 +02:00
07867b91f6
doc: links and tweaks
smarm
2026-06-20 12:11:16 +02:00
8d1605638e
statem: add gen_statem! authoring macro (RFC 017 chunk 1)
smarm-agent
2026-06-20 09:55:01 +00:00
acc37c5fc9
RFC 017 chunk 1: gen_statem primitives (no macro yet)
smarm-agent
2026-06-19 19:52:02 +00:00
0d6fc970a7
scheduler: gate send_after_to runtime tests out of the loom build
smarm-agent
2026-06-19 14:48:23 +00:00
e9c39bff46
roadmap: introspection & observability shipped as RFC 016
smarm-agent
2026-06-19 10:20:37 +00:00
2d15834b24
RFC 016 Chunk 4: observer example with ps-style + tree dump
smarm-agent
2026-06-19 10:20:09 +00:00
6df4cd4a0b
RFC 016 Chunk 4: observer gen_server (feature-gated)
smarm-agent
2026-06-19 10:18:54 +00:00
48d47c45c9
RFC 016 Chunk 2c: approximate per-actor time-budget (reductions-like)
smarm-agent
2026-06-19 08:47:58 +00:00
e93b3120ec
RFC 016 Chunk 2b: per-actor messages-received counter
smarm-agent
2026-06-19 07:34:32 +00:00
354eef9f88
RFC 016 Chunk 2a: per-actor timeslice overrun counter
smarm-agent
2026-06-19 07:18:03 +00:00
7ef915c81e
RFC 016 Chunk 3: parentage tree view
smarm-agent
2026-06-19 06:33:21 +00:00
c66691943d
RFC 016 Chunk 1: runtime introspection read primitive
smarm-agent
2026-06-19 06:31:10 +00:00
fc014c4e54
roadmap: gen_server time patterns shipped (RFC 015); substrate status recorded
smarm-agent
2026-06-18 19:31:06 +00:00
f454a9195a
gen_server: docs — disambiguate client call deadline from server idle timeout (RFC 015 §7)
smarm-agent
2026-06-18 19:20:12 +00:00
1df85e2384
gen_server: drop-guard drains live timers + debug_assert no leak (RFC 015 §4.7)
smarm-agent
2026-06-18 19:19:15 +00:00
8c8af55928
gen_server: idle/receive timeout via select_timeout/recv_timeout + handle_idle (RFC 015 §4.4)
smarm-agent
2026-06-18 19:17:20 +00:00
c0cfa01f37
gen_server: tick_every periodic sugar — loop-driven re-arm via factory + Sys::Tick (RFC 015 §4.3)
smarm-agent
2026-06-18 19:13:52 +00:00
401a1465d5
gen_server: TimerHandle arm_after/cancel + Sys::Timer dispatch (RFC 015 §4.3, §5)
smarm-agent
2026-06-18 18:58:00 +00:00
57eadb5c6c
gen_server: type Timer + handle_timer/handle_idle; fold control into Sys channel (RFC 015 §4.5, §6)
smarm-agent
2026-06-18 18:54:24 +00:00
47d75d1ead
timer: send_after_to — channel-targeting send_after sibling (RFC 015 §5)
smarm-agent
2026-06-18 18:50:59 +00:00
61520bf2cc
timer: send_after / cancel_timer message-delivery substrate
smarm-agent
2026-06-18 14:28:38 +00:00
5cb7f6a491
roadmap: 013/014 shipped, gen_server time patterns up next
smarm-agent
2026-06-18 12:32:12 +00:00
ecb0835aa7
examples: typed_actor, named_genserver, worker_pool for the new surface
smarm-agent
2026-06-18 11:02:35 +00:00
a866e34b52
mailbox: typed-path producers, by-name gen_servers, root-exit teardown (RFC 014)
smarm-agent
2026-06-18 11:02:27 +00:00
4c56938f0b
mailbox: Phase 4b — send_dyn bare-pid escape hatch (RFC 014 §4.6)
smarm-agent
2026-06-17 11:45:48 +00:00
3cec3ba1a1
mailbox: Phase 4a — direct identity-bound send to Pid<A> (RFC 014 §4.2)
smarm-agent
2026-06-17 11:43:16 +00:00
f5fbb5b144
mailbox: Phase 3 — typed Pid<A> over a raw inner identity (RFC 014)
smarm-agent
2026-06-16 22:08:47 +00:00
48bdbada2b
mailbox: Phase 2 — registry resolves name/pid to a messageable actor (RFC 014)
smarm-agent
2026-06-16 19:17:45 +00:00
48bc636552
mailbox: Phase 1 — typed-address tokens (RFC 014)
smarm-agent
2026-06-16 18:33:32 +00:00
ae9f0e864a
docs(roadmap): RFC 013 (typed addressable mailboxes) up-next
smarm-agent
2026-06-16 14:04:11 +00:00
56f2fc573c
pg: canonical usage doctest on the module
smarm-agent
2026-06-15 20:05:46 +00:00
3262c9527b
pg: Phase 3 — generation-checked liveness backstop on reads (RFC 012)
smarm-agent
2026-06-15 19:53:10 +00:00
6464c3e92b
pg: Phase 2 — liveness & the monitor death hook (RFC 012)
smarm-agent
2026-06-15 17:24:48 +00:00
b78311bc88
pg: Phase 1 — identity & storage substrate (RFC 012)
smarm-agent
2026-06-15 16:41:30 +00:00
4d4a2a6c9b
roadmap: ship v0.9, promote Process groups to up-next
smarm-agent
2026-06-15 12:39:30 +00:00
6566e2f613
roadmap: remove RFC 004 spinning sections (3. Spinning workers, 4. RFC 004 bench + interaction pass)
smarm-agent
2026-06-15 11:22:21 +00:00
793941693f
benches: salvage generic tooling from the excised spin work
smarm-agent
2026-06-15 11:21:43 +00:00
64bd7e81a5
docs: neutralize excised-spin references in per-switch N=1 profile
smarm-agent
2026-06-15 11:21:09 +00:00
371915ad07
docs: per-switch N=1 local profile — shims are ~1% at N=1; cost is schedule_loop + run-queue + a hot-path futex_wake (revises handoff shim hypothesis to a many-core one)
smarm-agent
2026-06-14 18:58:26 +00:00
7a42d49746
bench: add switch_cost local-mode per-switch microbench (rdtsc+wall, RFC per-switch spike)
smarm-agent
2026-06-14 18:56:16 +00:00
b0c9685c89
plan: roadmap refresh
smarm
2026-06-13 18:58:42 +02:00
cc4000a165
fix bug in test that only shows on multicore enviroments
smarm
2026-06-12 00:05:55 +02:00
156dcca496
doc: note bug report form urus agent
smarm
2026-06-12 00:05:33 +02:00
8e5b754249
docs(roadmap): record the chunk-2 session candidates — no-io idle sleep gap, cross-thread unpark
Claude
2026-06-11 21:15:45 +00:00
7bab4d23ea
fix(scheduler): entry-side check_cancelled in park_current — stop against a QUEUED actor was lossy
Claude
2026-06-11 21:15:03 +00:00
eddf3fe929
fix(runtime): wake idle sibling schedulers at termination
Claude
2026-06-11 21:03:20 +00:00
51f1a61a40
perf: check in cleaner baseline
smarm
2026-06-11 23:07:23 +02:00
1ed179fc12
benches: stable medians via independent process sets in sweep.py
Claude
2026-06-11 21:01:28 +00:00
f9f60a43d1
benches: add SMARM_BENCH_SETS (default 5) for stable medians
Claude
2026-06-11 20:50:29 +00:00
37d931968e
fix(scheduler): align(64) on SchedulerStats to prevent false sharing
smarm
2026-06-11 22:37:47 +02:00
2708042990
feat(scheduler): RFC 005 wake slot — per-scheduler capacity-one wake cache
Claude
2026-06-11 05:13:41 +00:00
f09e992f32
commit new baseline before perf work
smarm
2026-06-11 20:18:51 +02:00
393cdd01f4
feat(select): fd arms in select + timed fd waits (RFC 008 phase 1)
Claude
2026-06-11 11:28:58 +00:00
4e4b617559
docs(roadmap): restructure around the rq shootout verdict
Claude
2026-06-10 21:58:40 +00:00
7a244d057c
docs(deep-dive): update to v0.8 — slot slab, park-epoch, run queue variants, gen_server, OTP
Claude
2026-06-10 21:44:09 +00:00
0e3df6ec5b
docs(roadmap,readme): v0.8 complete — record outcomes and deviations
Claude
2026-06-10 15:08:04 +00:00
f6969e538b
fix(io): deregister a stopped actor's fd wait on the unwind path
Claude
2026-06-10 15:07:35 +00:00
24b95c99ae
feat(gen_server): handle_down — runtime monitor forwarding via ServerCtx/Watcher
Claude
2026-06-10 14:59:44 +00:00
e5d1b3b54b
feat(gen_server): handle_info — static info arms selected ahead of the inbox
Claude
2026-06-10 14:56:51 +00:00