diff --git a/ail-embed/src/bin/timeshard_runner.rs b/ail-embed/src/bin/timeshard_runner.rs index 1d03ab4..46be1c3 100644 --- a/ail-embed/src/bin/timeshard_runner.rs +++ b/ail-embed/src/bin/timeshard_runner.rs @@ -8,8 +8,8 @@ //! one-ctx-per-thread — a shared-ctx design is `error[E0277]`). //! Prints, in shard order, `RESULT //! `, then one `TIMING total_ticks=<Σn> elapsed_ms=` line -//! (the friction-harvest observation; the test records it in the -//! close-out journal, it is not asserted). +//! (the friction-harvest observation; the test prints it to stderr, +//! it is not asserted). use std::sync::Arc; use std::time::Instant; diff --git a/ail-embed/tests/timeshard.rs b/ail-embed/tests/timeshard.rs index 71fdbd4..1c19db8 100644 --- a/ail-embed/tests/timeshard.rs +++ b/ail-embed/tests/timeshard.rs @@ -13,7 +13,7 @@ //! is host arithmetic, NOT a kernel property — asserting it //! bit-exact would be WRONG, per the spec). //! Plus the global leak-Σ (deterministic since dbd76e5) and a -//! journal-only friction timing capture (NO bench gate). +//! stderr-only friction timing capture (NO bench gate). //! //! Concrete pin: EURUSD, months 2017-03 / 2017-04 / 2017-05 (all //! present on /mnt, contiguous, no gaps — recon-verified). data-server @@ -217,7 +217,7 @@ fn timeshard_boundary_invisibility_and_leak_free() { "globally leak-free: Σallocs==Σfrees across {seen} stat line(s)" ); - // Friction harvest: journal-only observation, NO assertion (the + // Friction harvest: stderr-only observation, NO assertion (the // value feeds the P2 batch-crossing decision; it is not a gate). if let Some(tl) = stdout.lines().find(|l| l.starts_with("TIMING ")) { eprintln!("m5.3 friction-harvest: {tl} (Σn={sum_n})"); diff --git a/bench/architect_sweeps.sh b/bench/architect_sweeps.sh index 66e87c8..62aa3fb 100755 --- a/bench/architect_sweeps.sh +++ b/bench/architect_sweeps.sh @@ -11,15 +11,13 @@ # Wunschdenken / post-mortem invariant. # # Companion to skills/audit/agents/ailang-architect.md "What you check -# / design/ history-anchor regrowth". See JOURNAL 2026-05-10 -# ("Milestone close: design-md-consolidation") for the rationale of -# each sweep regex; the regexes here are copied verbatim from JOURNAL -# entries 12487 (Sweep 1), 12619 (Sweep 2), 12718-12720 (Sweep 3), -# and 12840 (Sweep 4). +# / design/ history-anchor regrowth". The rationale of each sweep +# regex (Sweeps 1–4: history anchors; Sweep 5: honesty / Wunschdenken) +# lives in the design-md-consolidation milestone commits (2026-05-10). # # A non-zero exit is advisory, not authoritative: the architect agent # reviews each match and decides whether it is a legitimate quote -# (e.g. a JOURNAL citation inside a block-quote) or fresh drift. +# (e.g. a block-quote citation of a commit body) or fresh drift. set -u INDEX="design/INDEX.md" @@ -54,7 +52,7 @@ run_sweep "3 (schema SoT)" \ '^\s*(struct |enum |pub (struct|enum|fn))|whenever the two disagree|ast\.rs is the source of truth' run_sweep "4 (workflow + stale cross-references)" \ - 'agents/README\.md|ailang-docwriter|Recently lifted|see the JOURNAL queue|later the same day|Sharpened later|closure conversion in JOURNAL' + 'agents/README\.md|ailang-docwriter|Recently lifted|see the JOURNAL queue|later the same day|Sharpened later|closure conversion in JOURNAL|see the per-iter journal|in a per-iter journal' run_sweep "5 (honesty: wunschdenken + non-citation post-mortem)" \ 'on the path to|may land in a future|ships in a future iter|[Ww]ill back `Show|[Ww]ill eventually (be|support|back)|[Ii]f/?when [a-z]+ (arrives|lands)|[Aa]n earlier draft of this|previously all diagnostics were|[Ww]hat did change in 20|were retired 20[0-9]{2}-|retired in iter [a-z]|originally listed|\bwas deferred\b|foundation for [a-z]' diff --git a/bench/run.sh b/bench/run.sh index 4ca20e1..3bc9c0f 100755 --- a/bench/run.sh +++ b/bench/run.sh @@ -8,7 +8,7 @@ # The bump number minus the gc number is the upper-bound cost of GC. # # Output: a table with gc-median, bump-median, overhead %, and max RSS -# for both modes. Designed to be captured verbatim into a JOURNAL entry. +# for both modes. Designed to be captured verbatim into a commit body. # # Requirements: bash, /usr/bin/time -v (GNU coreutils), bc, sort, awk, # a release-mode `ail` binary. @@ -192,8 +192,8 @@ if [[ -x "$LAT_HARNESS" && -f "$LAT_IMPL_SRC" && -f "$LAT_EXPL_SRC" ]]; then "$AIL" build --opt=-O2 --alloc=rc "$LAT_IMPL_SRC" -o "$OUTDIR/bench_latency_implicit_rc" >/dev/null # The harness prints a multi-line block per arm; we let it speak - # for itself. The orchestrator captures the verbatim output into a - # JOURNAL entry like the throughput table above. `--runs 5` runs + # for itself. The orchestrator captures the verbatim output into + # the commit body like the throughput table above. `--runs 5` runs # each arm five times; the harness drops the slowest run and # reports median + range per cell, matching the throughput # table's drop-slowest convention. diff --git a/crates/ail/src/main.rs b/crates/ail/src/main.rs index 781b9c4..d5028c2 100644 --- a/crates/ail/src/main.rs +++ b/crates/ail/src/main.rs @@ -1099,8 +1099,8 @@ fn workspace_error_to_diagnostic( })), ), // typeclass-coherence diagnostics emitted from - // `workspace::build_registry`. The codes follow the JOURNAL - // queue's wording and the diagnostic-categories section of + // `workspace::build_registry`. The codes follow the + // diagnostic-categories section of // `design/contracts/typeclasses.md`. W::OrphanInstance { class, diff --git a/crates/ailang-check/src/lib.rs b/crates/ailang-check/src/lib.rs index f38d7ef..0b50bf4 100644 --- a/crates/ailang-check/src/lib.rs +++ b/crates/ailang-check/src/lib.rs @@ -1699,14 +1699,12 @@ fn check_def( } } -/// bugfix-instance-body-unbound-var (2026-05-13): route each -/// `InstanceMethod` body through `check_fn` by wrapping it in a -/// synthetic `FnDef`. The InstanceMethod body is conventionally a -/// `Term::Lam` (the post-canonical-class-form shape; see iter method-dispatch-refactor journal -/// "instance-method body shape ... existing-convention is `Term::Lam` -/// with paramTypes/retType"); we extract its `param_tys` / `ret_ty` -/// / `params` / `body` into an `FnDef` shape and reuse the existing -/// fn-body-check machinery. +/// Route each `InstanceMethod` body through `check_fn` by wrapping +/// it in a synthetic `FnDef`. The InstanceMethod body is by +/// convention a `Term::Lam` carrying its own `paramTypes` / `retType` +/// (the canonical class-form shape); we extract its `param_tys` / +/// `ret_ty` / `params` / `body` into an `FnDef` shape and reuse the +/// existing fn-body-check machinery. /// /// Class-method substitution: the on-disk Lam's `param_tys` / `ret_ty` /// reference the class's type parameter directly (e.g. the prelude diff --git a/crates/ailang-prose/src/lib.rs b/crates/ailang-prose/src/lib.rs index 6e23eee..f2bf1ce 100644 --- a/crates/ailang-prose/src/lib.rs +++ b/crates/ailang-prose/src/lib.rs @@ -15,9 +15,8 @@ //! effects, `clone`, `reuse-as`, doc strings, type annotations on //! signatures and lambdas, the `tail` flag) stays visible. //! -//! See `docs/JOURNAL.md` "Pinned: human-readable prose surface -//! (Family 20 candidate)" for the design pinning, and "Iter 20a" for -//! this iter's spec. +//! See `design/contracts/authoring-surface.md` for the prose-surface +//! invariants this crate must respect. //! //! # Public API //! diff --git a/crates/ailang-surface/tests/prelude_decouple_carve_out_pin.rs b/crates/ailang-surface/tests/prelude_decouple_carve_out_pin.rs index 79d0f37..0a48e33 100644 --- a/crates/ailang-surface/tests/prelude_decouple_carve_out_pin.rs +++ b/crates/ailang-surface/tests/prelude_decouple_carve_out_pin.rs @@ -24,6 +24,6 @@ fn prelude_ail_json_does_not_exist_on_disk() { (b) restore the §C4 (b) entry in carve_out_inventory.rs, \ (c) revert the §C4 (b) status marker in \ docs/specs/2026-05-13-form-a-default-authoring.md, and \ - (d) record the rationale in a per-iter journal." + (d) record the rationale in the commit body." ); } diff --git a/crates/ailang-surface/tests/prelude_module_hash_pin.rs b/crates/ailang-surface/tests/prelude_module_hash_pin.rs index bfd2763..c47a8a6 100644 --- a/crates/ailang-surface/tests/prelude_module_hash_pin.rs +++ b/crates/ailang-surface/tests/prelude_module_hash_pin.rs @@ -1,14 +1,7 @@ -//! pd.2/pd.3 (`prelude-decouple` milestone): pin the canonical -//! identity of the parsed prelude as a literal hex hash. Updates -//! intentionally on prelude-content changes (record the why in the -//! per-iter journal); accidental drift trips immediately. -//! -//! pd.2 also carried a `prelude_ail_and_json_parse_to_identical_module` -//! cross-form-identity preflight that compared `parse(prelude.ail)` -//! against `serde_json::from_str(prelude.ail.json)`. The preflight -//! discharged its purpose at pd.2 close (PASSED at hash -//! `3abe0d3fa3c11c99`) and was retired in pd.3 alongside the -//! `prelude.ail.json` file. +//! Pin the canonical identity of the parsed prelude as a literal +//! hex hash. Updates intentionally on prelude-content changes +//! (record the why in the commit body); accidental drift trips +//! immediately. use ailang_core::workspace::module_hash; use ailang_surface::parse_prelude; @@ -17,12 +10,11 @@ use ailang_surface::parse_prelude; fn prelude_parse_yields_canonical_hash() { let m = parse_prelude(); let h = module_hash(&m); - // The expected hex is captured at pd.2-iter close (Step 5 of this task). - // It updates intentionally on prelude-content changes; record the why - // in the per-iter journal entry. + // The expected hex updates intentionally on prelude-content + // changes; record the why in the commit body. assert_eq!( - h, "3abe0d3fa3c11c99", // captured at pd.2 iter close + h, "3abe0d3fa3c11c99", "prelude module hash drifted; if intentional, capture the new \ - hex below + record the why in the per-iter journal." + hex below + record the why in the commit body." ); } diff --git a/runtime/rc.c b/runtime/rc.c index 3294a19..a1f3192 100644 --- a/runtime/rc.c +++ b/runtime/rc.c @@ -89,8 +89,8 @@ static inline ailang_rc_header_t *header_of(void *payload) { * a relaxed atomic add on the global null-ctx fallback, a plain * `++` on the per-ctx path — negligible relative to the libc * malloc/free already on each path, - * and the bench numbers in JOURNAL 18f.2 were taken with the counters - * compiled in but disabled, so the figures are still valid. + * and the original profiling bench numbers were taken with the + * counters compiled in but disabled, so the figures are still valid. * * Atomic (relaxed): a multi-threaded host can drive the null-ctx * fallback path concurrently, so these two counters use diff --git a/skills/audit/agents/ailang-architect.md b/skills/audit/agents/ailang-architect.md index 9d3c72c..8922410 100644 --- a/skills/audit/agents/ailang-architect.md +++ b/skills/audit/agents/ailang-architect.md @@ -75,8 +75,8 @@ If `milestone_scope` is empty, return a structural error and stop. warning channel. - **Commit-body truthfulness.** Do the iter and audit commit bodies in the milestone scope match the diff, or are they optimistic? An - over-claiming commit body is its own kind of drift — and unlike a - journal it lives on main, so flagging matters more, not less. + over-claiming commit body is its own kind of drift — and since it + lives on main, flagging matters more, not less. - **design/ history-anchor regrowth.** Run `bash bench/architect_sweeps.sh` from the repo root. Exit 0 = clean. Exit 1 = at least one of the five sweeps matched. Sweeps 1-4 are the