workflow: replace per-iter journal system with git log + BLOCKED.md
The per-iter journal under docs/journals/ duplicated the iter commit body's substance and accumulated as Verlauf-Doku with no Future-Use. Sweep across all live control documents: CLAUDE.md, the 7 SKILL.md files, the 11 agent files, design/INDEX.md and the contracts/models that referenced journals, docs/roadmap.md, and the handful of source comments + tests that pointed at journal files for rationale. Mechanism changes: - Standing-reading-lists in every agent now read `git log -N --format=full` for recent project state, never per-iter journal files. The architect reads `git log <prev-milestone-close>..HEAD --format=full` for audit scope. - implement-orchestrator no longer writes a journal file. DONE outcomes emit just code + stats; the end-report is the per-task summary the Boss uses to write the commit body. PARTIAL/BLOCKED outcomes emit BLOCKED.md at the repo root — uncommitted by convention, Boss removes on repair or discard. New iron-law line + four-rationalisation row + red-flag bullet codify it. - audit ratify mechanic: --update-baseline is now paired with an explicit ratify paragraph in the audit-close commit body, not a separate JOURNAL ratify entry. - design/contracts/honesty-rule.md: "history and rationale lives in docs/journals/" → "lives in git log (iter and audit commit bodies)". Pinned phrase preserved verbatim. - CLAUDE.md "Roles of …" section reframed: design/, git log, journal-archive.md (content-frozen), roadmap.md, specs/, plans/. No docs/journals/ slot anymore. - roadmap.md context-lines that pointed at per-iter journals are dropped where the spec/commit already carries the rationale, or rephrased to "shipped in the <iter> iter commit" / "docs/journal- archive.md (<date> entry)" for pre-2026-05-11 references. What stays (this commit): - docs/journals/ directory and contents are NOT touched. Removing the contents is a separate follow-up. - docs/journals/2026-05-19-design-decision-records.md still has live readers (docs_honesty_pin.rs Z 108 + parse.rs + duplicate_ctor_pin.rs + 3 roadmap mentions) — also follow-up. - docs/journal-archive.md still exists; its self-pointer header has been updated to drop the "see docs/journals/INDEX.md" mention. Workspace builds, full test suite green.
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
# JOURNAL
|
||||
|
||||
> **Status:** archived 2026-05-11. New iter journals live under
|
||||
> `docs/journals/`. See `docs/journals/INDEX.md` for the
|
||||
> chronological pointer list. This file remains the historical
|
||||
> record for entries prior to that date.
|
||||
> **Status:** archived 2026-05-11. Content-frozen. This file is the
|
||||
> historical record for entries prior to that date. Current iter and
|
||||
> audit history lives in `git log` (commit bodies).
|
||||
|
||||
Chronological notes for myself. Not every change; only decisions, obstacles,
|
||||
and observations that future iterations will need.
|
||||
|
||||
+63
-94
@@ -8,10 +8,9 @@ work progresses.
|
||||
## Conventions
|
||||
|
||||
- One checkbox per entry. `- [ ]` is open; `- [~]` is in progress
|
||||
(work has started — a plan exists, a branch is open, or commits are
|
||||
landing); `- [x]` is done. A finished entry may stay briefly for
|
||||
context, then is removed (with a one-line mirror in
|
||||
`docs/journals/`).
|
||||
(work has started — a plan exists or commits are landing); `- [x]`
|
||||
is done. A finished entry may stay briefly for context, then is
|
||||
removed; the durable record stays in `git log`.
|
||||
- Each entry is tagged by **kind** and lives under a **priority**
|
||||
bucket:
|
||||
- **\[milestone\]** — big chunk that will get a `docs/specs/<milestone>.md`.
|
||||
@@ -22,11 +21,11 @@ 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 journal entry (per-iter
|
||||
file under `docs/journals/` or, for pre-2026-05-11 entries, the
|
||||
archived `docs/journal-archive.md`) where the rationale lives.
|
||||
The roadmap is intentionally terse; rationale stays in the
|
||||
journals.
|
||||
- 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.
|
||||
- Priority buckets:
|
||||
- **P0** — in flight. Spec or plan already exists.
|
||||
- **P1** — next up. Decision made; not yet started.
|
||||
@@ -54,11 +53,9 @@ work progresses.
|
||||
programs, all worked first try without mutable locals — the
|
||||
removal thesis empirically confirmed). Decoupled from
|
||||
Stateful-islands. Stays here briefly for context; remove once
|
||||
stale (full record in `docs/journals/INDEX.md`).
|
||||
stale (full record in `git log`).
|
||||
- context: `docs/specs/2026-05-18-remove-mut-var-assign.md`;
|
||||
`docs/specs/2026-05-18-fieldtest-remove-mut-var-assign.md`;
|
||||
`docs/journals/2026-05-18-iter-remove-mut-var-assign.1.md`;
|
||||
`docs/journals/2026-05-18-audit-remove-mut-var-assign.md`
|
||||
`docs/specs/2026-05-18-fieldtest-remove-mut-var-assign.md`
|
||||
|
||||
- [x] **\[milestone\]** Prose `loop` binders — projection redesign —
|
||||
CLOSED 2026-05-18. Form-B prose now renders loop binders as a
|
||||
@@ -75,8 +72,7 @@ work progresses.
|
||||
P2 `*.bump_s` environmental staleness, latency-tail proven sampling
|
||||
noise by re-run); no fieldtest (projection-only, no authoring-
|
||||
surface change). Stays here briefly for context; remove once stale.
|
||||
- context: `docs/specs/2026-05-18-prose-loop-binders.md`;
|
||||
`docs/journals/2026-05-18-audit-prose-loop-binders.md`; surfaced
|
||||
- context: `docs/specs/2026-05-18-prose-loop-binders.md`; surfaced
|
||||
from the loop/recur prose review (2026-05-18 chat).
|
||||
|
||||
- [x] **\[milestone\]** Standalone `loop` / `recur` — CLOSED 2026-05-18.
|
||||
@@ -91,7 +87,7 @@ work progresses.
|
||||
no-termination exact). Two orthogonal non-blocking findings routed
|
||||
to P2 todos (niladic `(app f)` — re-confirms mut-local F3; module
|
||||
`(doc)` diagnostic hint). Stays here briefly for context; remove
|
||||
once stale (full record in `docs/journals/INDEX.md`).
|
||||
once stale (full record in `git log`).
|
||||
- context: `docs/specs/2026-05-17-loop-recur.md`;
|
||||
`docs/specs/2026-05-18-fieldtest-loop-recur.md`; principles entry
|
||||
`docs/specs/2026-05-17-llm-surface-discipline.md` §6.2.
|
||||
@@ -121,11 +117,9 @@ work progresses.
|
||||
P3 below; bench causally exonerated — HEAD vs `5bb7211`/`de66eb7`
|
||||
bench binaries `cmp`-byte-identical, NO ratify); no fieldtest (zero
|
||||
authoring-surface change). Stays here briefly for context; remove
|
||||
once stale (full record in `docs/journals/INDEX.md`).
|
||||
once stale (full record in `git log`).
|
||||
- context: `docs/specs/2026-05-18-docs-honesty-lint.md`
|
||||
(grounding-check PASS 10/10);
|
||||
`docs/journals/2026-05-18-iter-docs-honesty-lint.1.md`;
|
||||
`docs/journals/2026-05-18-audit-docs-honesty-lint.md`
|
||||
(grounding-check PASS 10/10).
|
||||
|
||||
## P1 — Next
|
||||
|
||||
@@ -158,11 +152,9 @@ work progresses.
|
||||
precise+self-correcting; 3 working) — 3 non-blocking findings
|
||||
routed to the two follow-up items directly below. Stays here
|
||||
briefly for context; remove once stale (full record in
|
||||
`docs/journals/INDEX.md`).
|
||||
`git log`).
|
||||
- context: `docs/specs/2026-05-18-embedding-abi-m1.md`;
|
||||
`docs/specs/2026-05-18-fieldtest-embedding-abi-m1.md`;
|
||||
`docs/journals/2026-05-18-iter-embedding-abi-m1.1.md`;
|
||||
`docs/journals/2026-05-18-audit-embedding-abi-m1.md`
|
||||
`docs/specs/2026-05-18-fieldtest-embedding-abi-m1.md`
|
||||
|
||||
- [x] **\[todo\]** form_a.md scalar-parameter mode carve-out — docs-
|
||||
honesty tidy (M1 fieldtest friction + spec_gap#1, shared root) —
|
||||
@@ -184,10 +176,9 @@ work progresses.
|
||||
gate (the pin IS the regression coverage). plan
|
||||
`docs/plans/form-a-scalar-param-mode-carveout.md` (`4c266a6`) → iter
|
||||
`7d7f04e`. Stays here briefly for context; remove once stale (full
|
||||
record in `docs/journals/INDEX.md`).
|
||||
record in `git log`).
|
||||
- context: `docs/specs/2026-05-18-fieldtest-embedding-abi-m1.md`
|
||||
findings [friction] + [spec_gap]#1;
|
||||
`docs/journals/2026-05-18-iter-form-a-scalar-param-mode-carveout.md`.
|
||||
findings [friction] + [spec_gap]#1.
|
||||
|
||||
- [x] **\[feature\]** `ail emit-ir --emit=staticlib` — restore the
|
||||
Decision-5 IR-readability affordance for kernels (M1 fieldtest
|
||||
@@ -213,10 +204,9 @@ work progresses.
|
||||
reuses the M1-audited codegen path, no invariant/surface change).
|
||||
plan `docs/plans/emit-ir-staticlib.md` (`03493c9`) → iter
|
||||
`bcfe554`. Stays here briefly for context; remove once stale (full
|
||||
record in `docs/journals/INDEX.md`).
|
||||
record in `git log`).
|
||||
- context: `docs/specs/2026-05-18-fieldtest-embedding-abi-m1.md`
|
||||
finding [spec_gap]#2;
|
||||
`docs/journals/2026-05-18-iter-emit-ir-staticlib.md`.
|
||||
finding [spec_gap]#2.
|
||||
|
||||
- [x] **\[milestone\]** Embedding ABI — M2: per-thread runtime
|
||||
context + concurrency safety — CLOSED 2026-05-18. A compiled
|
||||
@@ -257,11 +247,8 @@ work progresses.
|
||||
ratify) → tidy `a80d495` (the `## Embedding ABI` lockstep rename,
|
||||
drift resolved). No fieldtest (zero authoring-surface change).
|
||||
Stays here briefly for context; remove once stale (full record in
|
||||
`docs/journals/INDEX.md`).
|
||||
- context: `docs/specs/2026-05-18-embedding-abi-m2.md`;
|
||||
`docs/journals/2026-05-18-iter-embedding-abi-m2.1.md`;
|
||||
`docs/journals/2026-05-18-audit-embedding-abi-m2.md`;
|
||||
`docs/journals/2026-05-18-iter-embedding-abi-m2.tidy.md`.
|
||||
`git log`).
|
||||
- context: `docs/specs/2026-05-18-embedding-abi-m2.md`.
|
||||
|
||||
- [x] **\[milestone\]** Embedding ABI — M3: frozen value layout +
|
||||
single ADT/record crossing + RC ownership contract — CLOSED
|
||||
@@ -297,12 +284,9 @@ work progresses.
|
||||
families, NO ratify) → tidy `63d7d60` (pin-safe; drift resolved).
|
||||
No fieldtest (zero authoring-surface change). Stays here briefly
|
||||
for context; remove once stale (full record in
|
||||
`docs/journals/INDEX.md`).
|
||||
`git log`).
|
||||
- depends on: Embedding ABI — M2.
|
||||
- context: `docs/specs/2026-05-18-embedding-abi-m3.md`;
|
||||
`docs/journals/2026-05-18-iter-embedding-abi-m3.1.md`;
|
||||
`docs/journals/2026-05-18-audit-embedding-abi-m3.md`;
|
||||
`docs/journals/2026-05-18-iter-embedding-abi-m3.tidy.md`.
|
||||
- context: `docs/specs/2026-05-18-embedding-abi-m3.md`.
|
||||
|
||||
- [x] **\[milestone\]** Embedding ABI — M5: `ail-embed` adapter +
|
||||
`data-server` wiring + thread-swarm backtest — **DONE 2026-05-19**,
|
||||
@@ -337,13 +321,7 @@ work progresses.
|
||||
Stays one cycle for context, then prune.
|
||||
- depends on: Embedding ABI — M3 (shipped); Tick-coverage on M3
|
||||
(shipped `170464f`).
|
||||
- context: `docs/specs/2026-05-19-embedding-abi-m5.md`; iter
|
||||
journals `2026-05-19-iter-embedding-abi-m5.{1,2,3,tidy}.md` +
|
||||
`…-m5.2-resume-attempt.md` + bugfix
|
||||
`…-rc-global-stats-race.md` / `…-swarm-rc-alloc-undercount.md`;
|
||||
audit `docs/journals/2026-05-19-audit-embedding-abi-m5.md`; M4
|
||||
retirement
|
||||
`docs/journals/2026-05-18-brainstorm-embedding-abi-m4-retired.md`.
|
||||
- context: `docs/specs/2026-05-19-embedding-abi-m5.md`.
|
||||
|
||||
- [x] **\[milestone\]** Heap-`Str` ABI — runtime infrastructure for
|
||||
malloc-backed, refcounted `Str` values alongside the existing
|
||||
@@ -376,8 +354,7 @@ work progresses.
|
||||
blocked the original spec retired in mq.3 (2026-05-13); spec
|
||||
`docs/specs/2026-05-13-24-show-print.md` re-derived 24.2 + 24.3
|
||||
against the post-mq architecture.
|
||||
- context: spec `docs/specs/2026-05-13-24-show-print.md`; per-iter
|
||||
journals 2026-05-12-iter-24.1, 2026-05-13-iter-24.2, 2026-05-13-iter-24.3.
|
||||
- context: spec `docs/specs/2026-05-13-24-show-print.md`.
|
||||
|
||||
## P2 — Medium-term
|
||||
|
||||
@@ -412,7 +389,7 @@ work progresses.
|
||||
discipline, not a third patch). No fieldtest (zero
|
||||
authoring-surface change — reasoned exclusion). Stays briefly
|
||||
for context; remove once stale (full record in
|
||||
`docs/journals/INDEX.md`). Original decided-shape rationale
|
||||
`git log`). Original decided-shape rationale
|
||||
retained below for context until pruned.
|
||||
|
||||
**Motivation.** The just-closed `docs-honesty-lint` milestone is
|
||||
@@ -499,12 +476,9 @@ work progresses.
|
||||
rewrites enforced invariants and agent contracts.
|
||||
- context: spec `docs/specs/2026-05-19-design-md-rolesplit.md`
|
||||
(incl. the Boss-adjudicated relocation Appendix; grounding-check
|
||||
PASS ×2); audit `docs/journals/2026-05-19-audit-design-md-rolesplit.md`;
|
||||
iter journals `2026-05-19-iter-design-md-rolesplit.{1,tidy}.md`;
|
||||
`docs/journals/2026-05-19-design-decision-records.md`; origin
|
||||
2026-05-18 chat (DESIGN.md-management dialogue — six-turn
|
||||
convergence). CLOSED — audited + drift-resolved; hard gate
|
||||
enforces the honesty spirit.
|
||||
PASS ×2); origin 2026-05-18 chat (DESIGN.md-management
|
||||
dialogue — six-turn convergence). CLOSED — audited +
|
||||
drift-resolved; hard gate enforces the honesty spirit.
|
||||
|
||||
- [x] **\[milestone\]** Formal cross-links in the `design/` ledger
|
||||
(browsable wiki) — CLOSED 2026-05-19. The positive completion
|
||||
@@ -534,13 +508,10 @@ work progresses.
|
||||
(grounding-check PASS ×3 across two corpus-grounded amendments —
|
||||
clause-6 + cross-ref definition; clause-5 fence-skip + closed
|
||||
convert-set enumeration); plan
|
||||
`docs/plans/design-ledger-formal-links.1.md`; iter journal
|
||||
`docs/journals/2026-05-19-iter-design-ledger-formal-links.1.md`;
|
||||
audit `docs/journals/2026-05-19-audit-design-ledger-formal-links.md`;
|
||||
origin this session's six-turn design conversation following the
|
||||
split close. CLOSED — audit clean (zero drift, bench trio
|
||||
0/0/0); no tidy, no fieldtest (zero authoring-surface change —
|
||||
reasoned exclusion).
|
||||
`docs/plans/design-ledger-formal-links.1.md`; origin this
|
||||
session's six-turn design conversation following the split close.
|
||||
CLOSED — audit clean (zero drift, bench trio 0/0/0); no tidy,
|
||||
no fieldtest (zero authoring-surface change — reasoned exclusion).
|
||||
|
||||
- [ ] **\[milestone\]** Flat array/slice primitive — performance
|
||||
follow-up to the Embedding ABI arc, *not* a capability gap.
|
||||
@@ -562,10 +533,9 @@ work progresses.
|
||||
- depends on: Embedding ABI — M5 (shipped; measured ~206 ns/tick
|
||||
— the justification input now exists).
|
||||
- context: 2026-05-18 chat (user deferred this to keep the ABI
|
||||
arc clean); M5 audit
|
||||
`docs/journals/2026-05-19-audit-embedding-abi-m5.md` (the
|
||||
friction-harvest number); M4 retirement
|
||||
`docs/journals/2026-05-18-brainstorm-embedding-abi-m4-retired.md`.
|
||||
arc clean); the friction-harvest number recorded in the M5
|
||||
audit commit; M4 retirement decision recorded in the M5 closing
|
||||
commits.
|
||||
|
||||
- [ ] **\[milestone\]** Iteration-totality story — structural +
|
||||
Int-bounded total recursion with *enforced* non-negativity.
|
||||
@@ -580,14 +550,14 @@ work progresses.
|
||||
- depends on: a future `Nat`/refinement-types milestone (no spec
|
||||
yet).
|
||||
- context: `docs/specs/2026-05-16-iteration-discipline-revert.md`
|
||||
(why the 2026-05 attempt was reverted) and
|
||||
`docs/journals/2026-05-15-iter-it.3.md` (the branching-builder
|
||||
counter-example that surfaced the gap).
|
||||
(why the 2026-05 attempt was reverted); the branching-builder
|
||||
counter-example that surfaced the gap landed in the it.3 iter
|
||||
commit.
|
||||
|
||||
- [x] **\[milestone\]** Retire `io/print_int` / `io/print_bool` /
|
||||
`io/print_float` effect-ops + migrate example corpus to `print`.
|
||||
Shipped 2026-05-14 as iter rpe.1.
|
||||
- context: per-iter journal `docs/journals/2026-05-14-iter-rpe.1.md`.
|
||||
- context: shipped in the rpe.1 iter commit.
|
||||
|
||||
- [x] **\[todo\]** Author `examples/prelude.ail` alongside
|
||||
`examples/prelude.ail.json`. (Satisfied 2026-05-13 by iter
|
||||
@@ -648,13 +618,13 @@ 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: JOURNAL 2026-05-09
|
||||
- context: `docs/journal-archive.md` (2026-05-09 entry).
|
||||
- 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: JOURNAL 2026-05-10 ("Audit close: env-construction unify"); closed by iter ctt.1 — DESIGN.md §"Env construction" anchors the split decision.
|
||||
- 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.
|
||||
- [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
|
||||
@@ -662,14 +632,14 @@ work progresses.
|
||||
`workspace_error_to_diagnostic`, so the bracketed `[code]` prefix is
|
||||
preserved across `ail check`, `build`, `run`, `emit-ir`, `prose`,
|
||||
`describe`, `deps`, `diff`, `manifest`.
|
||||
- context: per-iter journal `docs/journals/2026-05-14-iter-cli-diag-human.md`.
|
||||
- context: shipped in the cli-diag-human iter commit.
|
||||
- [x] **\[todo\]** Retire dead `KindMismatch` arm — `validate_classdefs`'s
|
||||
`walk_kind_mismatch` path is structurally unreachable through
|
||||
well-formed schema post-ct.1 (the canonical-form validator catches
|
||||
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: JOURNAL 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: `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`.
|
||||
- [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
|
||||
@@ -677,11 +647,11 @@ 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: JOURNAL 2026-05-11 ("Iteration ct.1") — flagged by ct.1.5a quality reviewer.
|
||||
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.1") — flagged by 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: JOURNAL 2026-05-09
|
||||
- context: `docs/journal-archive.md` (2026-05-09 entry).
|
||||
- [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
|
||||
@@ -701,7 +671,7 @@ work progresses.
|
||||
- [ ] **\[todo\]** Boehm full retirement — remove the transitional
|
||||
Boehm GC path now that RC + uniqueness is the canonical memory
|
||||
story.
|
||||
- context: JOURNAL pre-22, "Boehm transitional"
|
||||
- context: `docs/journal-archive.md` (pre-22, "Boehm transitional").
|
||||
- [ ] **\[feature\]** Closure-pair slab / pool — codegen tweak to
|
||||
pool the env+code closure pairs instead of one-shot heap allocs.
|
||||
Bench-gated.
|
||||
@@ -720,8 +690,7 @@ work progresses.
|
||||
real flat-closed-set / IO-only / `IndexMap`+codegen-`match`
|
||||
mechanism, satellite lockstep done, guarded by a 4-test
|
||||
doc-presence pin. No language/checker/codegen change.
|
||||
- context: per-iter journal
|
||||
`docs/journals/2026-05-16-iter-effect-doc-honesty.md`.
|
||||
- context: shipped in the effect-doc-honesty iter commit.
|
||||
- [ ] **\[todo\]** `io/print_float` always-emit-`.0` — surface
|
||||
printer always emits `.` or `e/E` so re-lex routes to Float;
|
||||
the runtime printer (`printf("%g\n", v)`) doesn't, so `2.0`
|
||||
@@ -736,7 +705,7 @@ 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: JOURNAL 2026-05-10 ("Audit close: design-md-consolidation").
|
||||
- context: `docs/journal-archive.md` (2026-05-10 "Audit close: design-md-consolidation").
|
||||
- [ ] **\[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
|
||||
@@ -775,7 +744,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: JOURNAL 2026-05-10 ("Audit close").
|
||||
- context: `docs/journal-archive.md` (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
|
||||
@@ -856,8 +825,8 @@ work progresses.
|
||||
- context: remove-mut-var-assign close audit, bencher localisation
|
||||
(2026-05-18) — byte-identical-binary causal exoneration + the
|
||||
3-milestone false-positive history.
|
||||
- context: `docs/journals/2026-05-16-audit-iteration-discipline-revert.md`
|
||||
(the bencher localisation evidence).
|
||||
- context: the bencher localisation evidence in the
|
||||
iteration-discipline-revert audit commit.
|
||||
- [x] **\[todo\]** `check_in_workspace` per-module overlay narrowing —
|
||||
`crates/ailang-check/src/lib.rs:1234` still clears+rebuilds
|
||||
`env.ctor_index` per-module; ct.3.2 narrowed the analogous mono
|
||||
@@ -866,8 +835,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: JOURNAL 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: `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.
|
||||
- [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
|
||||
@@ -876,7 +845,7 @@ work progresses.
|
||||
registration, `ailang-codegen` extern + `lower_app` arm, plus a
|
||||
fresh `examples/show_user_adt_with_label.ail` corpus fixture
|
||||
exercising the LLM-natural Show-body shape.
|
||||
- context: per-iter journal 2026-05-13-iter-str-concat.md.
|
||||
- context: shipped in the str-concat iter commit.
|
||||
|
||||
- [~] **\[milestone\]** Stateful islands — bounded mutation for
|
||||
streaming workloads (`Stateful a b` + `!Mut` effect + `mut`
|
||||
@@ -1035,7 +1004,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: JOURNAL 2026-05-11 ("Iteration ct.3" + ct.4 close).
|
||||
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.3" + ct.4 close).
|
||||
- [ ] **\[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;
|
||||
@@ -1044,8 +1013,8 @@ work progresses.
|
||||
build`. The E2E stdout assertion already covers correctness; the
|
||||
IR-shape test would catch refactor regressions that rename
|
||||
mono symbols.
|
||||
- context: JOURNAL 2026-05-11 ("Iteration ct.4") — dropped from
|
||||
ct.4.4 when the BLOCKED condition surfaced.
|
||||
- context: `docs/journal-archive.md` (2026-05-11 "Iteration ct.4") —
|
||||
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
|
||||
@@ -1054,13 +1023,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: JOURNAL 2026-05-10 ("Iteration 22-tidy.7")
|
||||
- context: `docs/journal-archive.md` (2026-05-10 "Iteration 22-tidy.7").
|
||||
- [ ] **\[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: JOURNAL 2026-05-10 ("Iteration 22-tidy.6")
|
||||
- context: `docs/journal-archive.md` (2026-05-10 "Iteration 22-tidy.6").
|
||||
- [ ] **\[idea\]** Richer integration paths between RC and
|
||||
uniqueness — deferred from the 21' arc; revisit once the
|
||||
uniqueness inference covers more program shapes.
|
||||
@@ -1084,5 +1053,5 @@ work progresses.
|
||||
negative-lookbehind / line-range exclusion so the rule's own example
|
||||
list is not a hit. P3 — may be cut; the architect adjudicates the
|
||||
single known self-match trivially today.
|
||||
- context: `docs/journals/2026-05-18-audit-docs-honesty-lint.md`
|
||||
(architect `[medium]` advisory wart, carry-on)
|
||||
- context: docs-honesty-lint audit commit (architect `[medium]`
|
||||
advisory wart, carry-on).
|
||||
|
||||
Reference in New Issue
Block a user