workflow: scrub residual JOURNAL/journal refs missed in the first sweep

A re-grep found 15 live references (excluding docs/specs/ and
docs/plans/, which stay historical) the previous two commits
missed — all in source comments, doctests, bench helpers, and one
agent file.

Per-file:
- crates/ail/src/main.rs: typeclass-coherence diagnostic comment
  pointed at "the JOURNAL queue's wording" — points at
  design/contracts/typeclasses.md alone.
- crates/ailang-prose/src/lib.rs: `//!` header referred to
  docs/JOURNAL.md "Pinned: human-readable prose surface" —
  retargeted to design/contracts/authoring-surface.md.
- crates/ailang-check/src/lib.rs: bugfix tag + "see iter
  method-dispatch-refactor journal" prose collapsed to a clean
  rationale paragraph; the canonical shape is stated inline.
- crates/ailang-surface/tests/prelude_decouple_carve_out_pin.rs:
  "(d) record the rationale in a per-iter journal" →
  "(d) record the rationale in the commit body".
- crates/ailang-surface/tests/prelude_module_hash_pin.rs: header
  collapsed (pd.2/pd.3 milestone narrative dropped — the test's
  purpose is self-evident from its body); both "per-iter journal"
  drift-instructions point at the commit body.
- runtime/rc.c: "bench numbers in JOURNAL 18f.2" →
  "original profiling bench numbers".
- bench/run.sh: two "JOURNAL entry" comments → "commit body".
- bench/architect_sweeps.sh: header rewritten (cross-ref to the
  design-md-consolidation milestone commits, not a JOURNAL entry).
  Sweep-4 extended with two new anti-regrowth phrases
  ("see the per-iter journal", "in a per-iter journal") so journal
  prose can't grow back into design/contracts/ silently.
- skills/audit/agents/ailang-architect.md: "unlike a journal it
  lives on main" → "since it lives on main".
- ail-embed/src/bin/timeshard_runner.rs: "records it in the
  close-out journal" → "prints it to stderr".
- ail-embed/tests/timeshard.rs: two "journal-only friction timing"
  → "stderr-only friction timing".

Verification (after the edit):
- `grep -rin '\bjournal\b'` against live tree returns exactly two
  hits: the Sweep-4 regex itself (intentional — TABU phrases that
  prevent regrowth) and the PHRASES array in design_index_pin.rs
  (intentional — the same regrowth guard at test level). Both are
  load-bearing negative assertions.
- `bash bench/architect_sweeps.sh` exits 0 ("All five sweeps
  clean") — no design/-side regrowth.
- `cargo build --workspace` green; `cargo test --workspace` green.
This commit is contained in:
2026-05-20 11:32:37 +02:00
parent 54f0ced148
commit 99df14c792
11 changed files with 35 additions and 48 deletions
+2 -2
View File
@@ -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,
+6 -8
View File
@@ -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
+2 -3
View File
@@ -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
//!
@@ -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."
);
}
@@ -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."
);
}