JOURNAL: Boehm stays — orchestrator's call
User's stance on the retirement question raised in 18f / 18g.2: keep the dual-allocator setup. Boehm = default, RC = validated alternative ready to flip. Re-opening trigger is operational (maintenance cost), not performance. Concrete consequences recorded: no default flip, -lgc stays, and Decision 9's 'transitional' framing should be re-cast as 'dual allocator' in a follow-up DESIGN.md edit (queued). Decision 10 holds as the canonical real-time path. The three RC-side debts from the 18g tidy remain queued and don't block the dual stance.
This commit is contained in:
@@ -8240,3 +8240,42 @@ entry the family is formally closed; the next iter is the
|
||||
orchestrator's call between Boehm-retirement Path A and
|
||||
Path B (see 18g.2 entry for the framing). Three known debts
|
||||
travel forward as queue-items, not as 18-arc loose ends.
|
||||
|
||||
## 2026-05-08 — Decision: Boehm stays for now
|
||||
|
||||
Orchestrator's call on the retirement question raised in the
|
||||
18f / 18g.2 entries: **Boehm is NOT retired.** Both paths
|
||||
remain alive on paper, but the operational stance is "keep
|
||||
the dual-allocator setup — `--alloc=gc` (Boehm) stays default,
|
||||
`--alloc=rc` is the validated alternative". The trigger for
|
||||
re-opening the question is operational: if maintaining the
|
||||
Boehm path costs significant attention (libgc upgrade pain,
|
||||
runtime divergence, build complexity), the case for retirement
|
||||
becomes the active queue item. Until then the asymmetry
|
||||
(Boehm = default, RC = ready-to-flip) is the right one.
|
||||
|
||||
Concrete consequences:
|
||||
|
||||
- **No default flip.** `bench/run.sh`, `crates/ail/src/main.rs`'s
|
||||
`--alloc` default, README guidance — all unchanged.
|
||||
- **`-lgc` stays as a build dependency** for the gc path. The
|
||||
optional-link footwork that retirement would require stays
|
||||
un-attempted.
|
||||
- **Decision 9 (Boehm transitional) is no longer "transitional"
|
||||
in the original sense.** The Decision was framed in 2026-05-07
|
||||
as "transitional until RC is proven"; RC is now proven, but
|
||||
the user's stance is to keep the Boehm path live. A
|
||||
follow-up DESIGN.md edit should re-frame Decision 9 as "dual
|
||||
allocator: Boehm GC for default workloads, RC for real-time-
|
||||
sensitive workloads", removing the "transitional" framing
|
||||
without touching the rest. Recorded as a tidy item; not
|
||||
shipping in this entry.
|
||||
- **Decision 10 (RC + uniqueness) holds as the canonical real-
|
||||
time path.** The 18-arc's correctness invariants stand. Any
|
||||
future RC iter is justified by the RC story itself, not by
|
||||
retirement progress.
|
||||
|
||||
The three known debts from the 18g tidy (tag-conditional
|
||||
partial-drop, let-alias-aware mode propagation, bench-number
|
||||
stat-of-N) remain queued. They are RC-side improvements; none
|
||||
of them block the dual-allocator stance.
|
||||
|
||||
Reference in New Issue
Block a user