workflow: delete docs/journals/ and docs/journal-archive.md

Strict application of the "Future-Use, not Verlauf" criterion to the
two remaining journal artefacts:

- `docs/journals/` (110 files): the per-iter and audit journals from
  2026-05-11 onward. Pure history; no live reader after the previous
  sweep. Entire directory removed.
- `docs/journals/2026-05-19-design-decision-records.md`: the one file
  that had live readers (`docs_honesty_pin.rs:108`, `parse.rs:80`,
  `duplicate_ctor_pin.rs:8`, three roadmap.md mentions) and was framed
  as a "relitigation guard". On re-examination its three asserted
  pinned phrases ("Regions were considered and rejected", the
  "demands annotations *because*" rationale, the prose-render
  placeholder statement) are rationale-prose, not load-bearing
  invariants — the test pinned itself, not a system property. Any
  Decision that still holds lives in the code, `design/contracts/`,
  or `design/models/`. Removed with the rest.
- `docs/journal-archive.md` (pre-2026-05-11 history): content-frozen
  long-tail history with no live reader. Removed; if anyone ever
  needs the pre-cutoff rationale they can `git log --before=2026-05-11
  --grep=<keyword>`.

Live-file consequences:
- `docs_honesty_pin.rs` `design_md_present_tense_anchors_present`:
  the three `records.*` assertions and the `read("docs/journals/…")`
  are dropped; the contract/model anchor pins remain.
- `duplicate_ctor_pin.rs`: the "why-two-overlays rationale lives in
  docs/journals/…" comment is replaced with the rationale inline.
- `parse.rs`: the "form-refinement rationale lives in docs/journals/…"
  comment is dropped (the rule body already states the refinement).
- `roadmap.md`: the decision-records mention in the DESIGN.md →
  design/ entry's body is dropped; the journal-archive.md `context:`
  pointers across ~12 closed entries are either rephrased to point
  at the relevant iter/audit (no path), or simplified to a one-line
  comment when the iter name alone carries the story.
- `CLAUDE.md` Roles section: the `docs/journal-archive.md` slot is
  removed; vocabulary note rephrased.
- `design/INDEX.md`: the Docs bullet drops `journal-archive.md`.
- `skills/README.md` bootstrap-rationale pointer rephrased.

`docs/specs/` and `docs/plans/` (per-milestone specs and per-iteration
plans) are unaffected — they remain the structured-design artefacts
they were before this sweep.

Workspace builds, full test suite green.
This commit is contained in:
2026-05-20 11:25:15 +02:00
parent 8e586f493f
commit 54f0ced148
118 changed files with 55 additions and 30541 deletions
+29 -28
View File
@@ -21,11 +21,10 @@ work progresses.
- **\[idea\]** — not yet decision-ready, no commitment.
- Optional `depends on:` line names another entry that has to land
first.
- Optional `context:` line points to the rationale. For current
work this is a spec file under `docs/specs/` or a commit hash
(`git show <hash>`); for pre-2026-05-11 entries it points to the
archived `docs/journal-archive.md`. The roadmap is intentionally
terse; rationale stays in those sources.
- Optional `context:` line points to the rationale: a spec file
under `docs/specs/`, a commit hash (`git show <hash>`), or a
`git log --grep="<keyword>"` pointer for older entries. The
roadmap is intentionally terse; rationale stays in those sources.
- Priority buckets:
- **P0** — in flight. Spec or plan already exists.
- **P1** — next up. Decision made; not yet started.
@@ -365,9 +364,8 @@ work progresses.
polymorphic links — prose file OR authoritative source `//!`),
14 `design/contracts/*.md` test-linked invariants + 3
source-link-only contracts (mangling/env-construction/
qualified-xref — code is SoT), 5 `design/models/*.md`
whitepapers, and `docs/journals/2026-05-19-design-decision-records.md`
(the relitigation-guard archive). RED-first
qualified-xref — code is SoT), and 5 `design/models/*.md`
whitepapers. RED-first
`design_index_pin.rs` 4-clause anti-regrowth spine; clause-3 is
a hand-rolled **faithful Sweep-1 superset** so the in-code hard
gate enforces the honesty spirit (clause-3 GREEN ⟹ Sweep-1
@@ -418,9 +416,9 @@ work progresses.
- **Decision-record / relitigating-guard** — why X was chosen,
why Y/Z were rejected (region inference, tracing GC, …).
Consumer: a future `brainstorm`, so it does not re-propose a
settled-and-rejected idea. This already has a home —
`docs/journals/` — and sits in DESIGN.md only because the
audit-trail invariant predates per-iter addressable journals.
settled-and-rejected idea. (This tier was migrated out of
DESIGN.md at split time and later retired entirely; the
project's history lives in `git log`.)
Underlying principle: the code is authoritative for *what it
does* — delete every description of behaviour, the code speaks;
@@ -440,8 +438,8 @@ work progresses.
single-owner `//!` source header (mangling, env, roundtrip,
float, tail-calls, data-model), or a `design/models/…`
whitepaper. INDEX.md is the sole addressable entry point.
Decision-records move out to `docs/journals/`; the honesty-lint
audit-trail invariant is repointed there in the same milestone.
Decision-records move out of DESIGN.md; the honesty-lint
audit-trail invariant is repointed in the same milestone.
**Rejected — do not relitigate.** Quarto / `.qmd` was evaluated
and rejected: every distinctive Quarto feature (rendered
@@ -618,13 +616,14 @@ work progresses.
`<` etc. resolved via the typeclass instead of the built-in
primitive comparators. No commitment; gated on bench re-baselining
to make sure the indirection doesn't tank latency.
- context: `docs/journal-archive.md` (2026-05-09 entry).
- context: `git log --before=2026-05-11 --grep=...` for the
pre-archive-cutoff rationale.
- depends on: Post-22 Prelude — Eq/Ord (shipped 23.5)
- [x] **\[todo\]** `types` / `ctor_index` overlay shape question —
decide whether the env's two parallel ctor maps should collapse
into one overlay, or stay split. Surfaced during the
env-construction unify audit.
- context: `docs/journal-archive.md` (2026-05-10 "Audit close: env-construction unify"); closed by iter ctt.1 — DESIGN.md §"Env construction" anchors the split decision.
- context: closed by iter ctt.1 — DESIGN.md §"Env construction" anchors the split decision.
- [x] **\[todo\]** CLI human-mode diagnostic surface for `WorkspaceLoadError`.
Shipped 2026-05-14 as iter cli-diag-human — a new `load_workspace_human`
helper in `crates/ail/src/main.rs` routes 9 non-JSON
@@ -639,7 +638,7 @@ work progresses.
the malformed `Type::Con { name: param }` shape earlier). The
enum variant + `walk_kind_mismatch` helper stay as dead-but-defensive
code; a future tidy can delete both.
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.1"); closed by iter ctt.3 — variant + helper + dispatch + Display arm all deleted; canonical-form-rejection test stays green asserting `BareCrossModuleTypeRef`.
- context: closed by iter ctt.3 — variant + helper + dispatch + Display arm all deleted; canonical-form-rejection test stays green asserting `BareCrossModuleTypeRef`.
- [x] **\[todo\]** Re-key `Registry.type_def_module` to handle
bare-name-collision-across-modules — `BTreeMap<String, String>` keyed
by bare type name silently overwrites when two modules each define
@@ -647,11 +646,12 @@ work progresses.
and `N.Foo` to whichever insert won. Acceptable for current corpus
(distinct bare type names across modules), but the proper fix is to
key by `(owning_module, bare_name) → defining_module`.
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.1") — flagged by ct.1.5a quality reviewer.
- context: flagged by the ct.1.5a quality reviewer.
- [ ] **\[feature\]** 22c — typeclass corpus expansion. User-defined
classes beyond the prelude four; multi-parameter classes; superclass
chains; richer instance bodies. Deferred from milestone 22.
- context: `docs/journal-archive.md` (2026-05-09 entry).
- context: `git log --before=2026-05-11 --grep=...` for the
pre-archive-cutoff rationale.
- [x] **\[milestone\]** Module-qualified class names + type-driven
method dispatch — retired the `MethodNameCollision` workaround;
shipped 2026-05-13 as iters mq.1 (canonical-form extension for
@@ -671,7 +671,8 @@ work progresses.
- [ ] **\[todo\]** Boehm full retirement — remove the transitional
Boehm GC path now that RC + uniqueness is the canonical memory
story.
- context: `docs/journal-archive.md` (pre-22, "Boehm transitional").
- context: pre-milestone-22 "Boehm transitional" decision —
see commits from that window.
- [ ] **\[feature\]** Closure-pair slab / pool — codegen tweak to
pool the env+code closure pairs instead of one-shot heap allocs.
Bench-gated.
@@ -705,7 +706,8 @@ work progresses.
`ailang-core`: private-item links from public doc, unresolved
intra-crate links). All predate the design-md-consolidation
milestone; treat as a one-off sweep.
- context: `docs/journal-archive.md` (2026-05-10 "Audit close: design-md-consolidation").
- context: surfaced in the design-md-consolidation audit close
(2026-05-10).
- [ ] **\[todo\]** `ailang-plan-recon` site-undercount countermeasure
(P2, **escalated** — now a structural recon-contract defect, no
longer a single-milestone curiosity) — the recon agent hand-lists
@@ -744,7 +746,7 @@ work progresses.
Constrain the test to scan only §"Data model" + ParamMode
block, or extract JSON-schema blocks into a machine-readable
file the test consumes.
- context: `docs/journal-archive.md` (2026-05-10 "Audit close").
- context: surfaced in the 2026-05-10 audit close.
- [ ] **\[todo\]** Split `BadCrossModuleTypeRef` into two diagnostics —
the current single shape collapses unknown-owner and
known-owner / unknown-type-in-owner into one message. The two
@@ -835,8 +837,8 @@ work progresses.
time, not the runtime ctor lookup (which is type-driven post-ct.2.2).
Narrowing is mechanical but needs a careful read to confirm no
other consumer survives.
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.4")
milestone close follow-up; closed by iter ctt.1 — recon confirmed the rebuild is the load-bearing consumer of in-band DuplicateCtor (pinned by `crates/ailang-check/tests/duplicate_ctor_pin.rs`); the asymmetry with the mono side is intentional.
- context: milestone close follow-up; closed by iter ctt.1
recon confirmed the rebuild is the load-bearing consumer of in-band DuplicateCtor (pinned by `crates/ailang-check/tests/duplicate_ctor_pin.rs`); the asymmetry with the mono side is intentional.
- [x] **\[feature\]** `str_concat : (borrow Str, borrow Str) -> Str` —
heap-Str concatenation primitive. Shipped 2026-05-13 as iter
str-concat (closes fieldtest-form-a friction #4). Symmetric to the
@@ -1004,7 +1006,7 @@ work progresses.
qualified `Type::Con` through pattern lowering would type-anchor
it symmetric to the ct.2.2 typecheck-side fix. Not load-bearing
(uniqueness is enforced at typecheck), but cleaner.
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.3" + ct.4 close).
- context: surfaced in iter ct.3 + ct.4 close (2026-05-11).
- [ ] **\[todo\]** `compare_primitives_smoke` IR-shape assertion —
observe `compare__Int` / `compare__Bool` / `compare__Str` symbols
in the emitted IR. Blocked on `emit-ir` CLI not running mono;
@@ -1013,8 +1015,7 @@ work progresses.
build`. The E2E stdout assertion already covers correctness; the
IR-shape test would catch refactor regressions that rename
mono symbols.
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.4") —
dropped from ct.4.4 when the BLOCKED condition surfaced.
- context: dropped from ct.4.4 when the BLOCKED condition surfaced.
- [ ] **\[idea\]** Latency methodology rework — switch from per-run
timing to a histogram-based approach so tail-latency regressions
@@ -1023,13 +1024,13 @@ work progresses.
sites (class × 3, class method × 2, instance × 3, instance method
× 1). No regression pin today; only worth it if a 22b.4a-era
diagnostic needs to change.
- context: `docs/journal-archive.md` (2026-05-10 "Iteration 22-tidy.7").
- context: surfaced in iter 22-tidy.7 (2026-05-10).
- [ ] **\[idea\]** `write_type` `Type::Forall` arm in
`crates/ailang-prose/src/lib.rs` silently drops constraints in
inline-type rendering. Dormant — surface forms today only carry
forall at fn-signature top level. Fix only if a future feature
carries forall + constraints inline.
- context: `docs/journal-archive.md` (2026-05-10 "Iteration 22-tidy.6").
- context: surfaced in iter 22-tidy.6 (2026-05-10).
- [ ] **\[idea\]** Richer integration paths between RC and
uniqueness — deferred from the 21' arc; revisit once the
uniqueness inference covers more program shapes.