Commit Graph

461 Commits

Author SHA1 Message Date
Brummel 207970098f journal: or.1 audit close (clean after tidy) — 0 bench regressions, 4-file drift sweep 2026-05-11 12:03:28 +02:00
Brummel c252b1aa28 iter or.1.tidy: audit-driven sweep of stale JOURNAL.md references in live docs 2026-05-11 12:03:01 +02:00
Brummel e46bc540eb iter or.1: INDEX entry for orchestrator-refactor 2026-05-11 11:57:15 +02:00
Brummel 8a05340b0b iter or.1: per-iter journal 2026-05-11 11:56:56 +02:00
Brummel 92e39bbc25 iter or.1.7: document ailang-implement-orchestrator as named exception 2026-05-11 11:54:58 +02:00
Brummel e3651c34be iter or.1.6-fix2: SKILL.md description drift + self-contained exception ref 2026-05-11 11:52:56 +02:00
Brummel 3b80046560 iter or.1.6-fix: correct git rebase syntax + README cross-ref wording 2026-05-11 11:50:24 +02:00
Brummel f4a4389d78 iter or.1.6: rewrite skills/implement/SKILL.md to delegate to orchestrator-agent 2026-05-11 11:47:05 +02:00
Brummel 72367e27a8 iter or.1.5: new agent ailang-implement-orchestrator 2026-05-11 11:33:44 +02:00
Brummel 1b78896bcc iter or.1.4: carrier switch task_text -> task_text_path 2026-05-11 11:30:32 +02:00
Brummel 3361851b66 iter or.1.3-fix: address quality-review minors (architect / audit phrasing) 2026-05-11 11:28:00 +02:00
Brummel 4017e514f7 iter or.1.3: repoint skill + agent reading lists to docs/journals/ 2026-05-11 11:24:58 +02:00
Brummel c069087573 iter or.1.2-fix: address quality-review minor + nit 2026-05-11 11:20:14 +02:00
Brummel 7496b00fc3 iter or.1.2: repoint top-level docs to docs/journals/ + journal-archive.md 2026-05-11 11:17:09 +02:00
Brummel 6268d08f40 iter or.1.1: migrate JOURNAL.md to journal-archive.md + docs/journals/ 2026-05-11 11:14:08 +02:00
Brummel 1891030253 plan: orchestrator-refactor (or.1) — 7 tasks toward Boss-context offload + per-iter journals + branch isolation 2026-05-11 11:12:14 +02:00
Brummel 61ed6d47c8 skill: rename plan to planner
Anthropic now reserves /plan as a UI command, so the Skill tool refuses to
dispatch it. Rename the project's plan skill to planner, update the symlink
under .claude/skills/, and adjust references in CLAUDE.md, DESIGN.md,
skills/README.md, and the cross-references between brainstorm / implement /
audit / fieldtest / fieldtester. Plan files themselves (docs/plans/*.md)
keep their name — only the skill ID changes.
2026-05-11 11:05:36 +02:00
Brummel adcea02e85 spec: implement-orchestrator-agent
Three coupled changes to /implement:
- Boss-context offload via single subagent dispatch (target ~100x reduction)
- Iter isolation via branches (eliminates parallel-implementer conflicts)
- Per-iter journals under docs/journals/ replacing the JOURNAL.md monolith

JOURNAL.md becomes docs/journal-archive.md at acceptance time. Workers
stay at Opus 4.7; saving comes from token-volume relocation only.
2026-05-11 10:56:24 +02:00
Brummel 0e6079d335 audit: canonical-type-names milestone close (clean) + ratify post-23.3.3 compile baseline 2026-05-11 10:27:19 +02:00
Brummel ef4eff3f8b roadmap: ct.4 follow-ups (P2 check_in_workspace overlay narrow, P3 IR-shape test + lookup_ctor_in_pattern) 2026-05-11 10:13:13 +02:00
Brummel 72ec572c3d journal: ct.4 canonical-type-names milestone close 2026-05-11 10:12:27 +02:00
Brummel ba48349052 iter ct.4.4: compare_primitives_smoke E2E fixture (closes iter 23.3 Task 4) 2026-05-11 10:09:48 +02:00
Brummel b651b1e8fc iter ct.4.3-tidy: drop dated prefixes from new prose comments 2026-05-11 10:01:29 +02:00
Brummel 06bc5f017c iter ct.4.3: prose qualifier-trim-on-print + ordering_match snapshot 2026-05-11 09:58:22 +02:00
Brummel 1d039b782e iter ct.4.2: pin canonical-form hashes for migrated fixtures + unmigrated sanity 2026-05-11 09:51:19 +02:00
Brummel 61ad3e3b46 iter ct.4.1: DESIGN.md Decision 2 — canonical Type::Con name scoping rule 2026-05-11 09:47:42 +02:00
Brummel 4845f913b6 plan: ct.4 milestone close 2026-05-11 09:46:11 +02:00
Brummel 4530548bb3 journal: ct.3 codegen + mono cleanup 2026-05-11 09:40:26 +02:00
Brummel 666c78468f iter ct.3.3: retire obsolete ambiguous-type paragraph in migrate-canonical-types docstring 2026-05-11 09:39:47 +02:00
Brummel 91498016b2 iter ct.3.2: mono overlay narrowed to env.types only; rename to apply_per_module_types_overlay 2026-05-11 09:37:07 +02:00
Brummel 05d0cce5c7 iter ct.3.1-tidy: drop dated comment prefix 2026-05-11 09:34:17 +02:00
Brummel a8a58cc41e iter ct.3.1: codegen lookup_ctor_by_type direct lookup; delete imports-fallback 2026-05-11 09:31:48 +02:00
Brummel d4927b2297 plan: ct.3 codegen + mono cleanup 2026-05-11 09:29:21 +02:00
Brummel 22de0314cf journal: ct.2 typechecker cleanup 2026-05-11 09:25:13 +02:00
Brummel 97bb5e71fd iter ct.2.3: Term::Ctor synth direct lookup; delete imports-fallback + dead AmbiguousType 2026-05-11 09:21:36 +02:00
Brummel edb694fdce iter ct.2.2-doctidy: refresh stale doc-comments on UnknownCtorInPattern and mono_xmod_ctor_pattern 2026-05-11 09:16:20 +02:00
Brummel 0044467425 iter ct.2.2-tidy: remove unused Bag fixture from cross_module_ws helper 2026-05-11 09:14:17 +02:00
Brummel 0ca5b3d567 iter ct.2.2-followup: delete dead AmbiguousCtor variant + refresh stale comment + fold redundant re-match
Quality-review follow-up on ct.2.2 (b3c3b60).

- Delete CheckError::AmbiguousCtor: its sole producer (the Pattern::Ctor
  imports-fallback) was removed in ct.2.2, leaving the variant, the
  code()/ctx() arms, and the diagnostic.rs doc-comment as dead surface.
  Workspace grep confirms no remaining Rust consumers. AmbiguousType
  stays (it still has a Term::Ctor producer, scheduled for symmetric
  removal in ct.2.3).
- Refresh the per-module-overlay rationale comment in check_in_workspace:
  it still cited the now-defunct Pattern::Ctor local-first / imports-
  fallback path. The overlay's current job is duplicate detection plus
  bare-name lookups for local Term::Ctor synth.
- Fold the awkward re-match in type_check_pattern: the first match on
  expected now binds scrutinee_args alongside resolved_type_name /
  resolved_td / resolved_owning_module, deleting the second match +
  unreachable!(). Collapse the any-then-expect ctor lookup into a single
  find().ok_or(UnknownCtorInPattern).

Build green, 449+ tests green across the workspace.
2026-05-11 09:13:12 +02:00
Brummel b3c3b6088e iter ct.2.2: Pattern::Ctor type-driven lookup; delete imports-fallback 2026-05-11 09:07:59 +02:00
Brummel f482a6317f process: switch WhatsNew.md and Notify text to English
Reversal of the language decision from 6d94fa5. Texts that get
committed to the repo permanently should follow the same English-
only rule as everything else; the Notify push stays 1:1 with the
WhatsNew entry, so both are English now.

The "only file intentionally not in English" carve-out in CLAUDE.md
is removed.
2026-05-11 09:06:47 +02:00
Brummel 6d94fa5826 process: user-facing WhatsNew.md changelog + done-state notify protocol
Done-state notifications now produce two synchronised outputs sharing
one text: an entry appended to docs/WhatsNew.md and the same string
sent via notify.sh. The text is written in German for the user-as-
reader who did not watch the session — no technical internals, no
iteration codes, lead with the change-in-the-project.

WhatsNew.md is the only file in the repo intentionally not in English;
the exception is documented in CLAUDE.md (Roles of docs/...) so a
future reader does not "correct" it back. Bounce-back notifications
stay Notify-only.
2026-05-11 09:01:04 +02:00
Brummel 78ccbcee9c iter ct.2.1: qualify_local_types on class-method channel + Forall constraints recursion 2026-05-11 09:00:06 +02:00
Brummel e9aae3e9fb plan: ct.2 typechecker cleanup 2026-05-11 08:55:48 +02:00
Brummel a951c725be roadmap: ct.1 follow-ups (CLI diag surface, dead KindMismatch, type_def_module re-key) 2026-05-11 01:52:33 +02:00
Brummel 4ed9096c87 journal: ct.1 canonical type names — validator + migration 2026-05-11 01:52:02 +02:00
Brummel c1783e01bc iter ct.1.8: E2E coverage for canonical-form diagnostic surface + happy path
Five tests in crates/ail/tests/ct1_check_cli.rs, each pinning one named property:

- check_json_emits_bare_cross_module_type_ref: --json mode surfaces
  `bare-cross-module-type-ref` with non-zero exit on the
  test_ct1_bare_xmod_rejected fixture.
- check_json_emits_bad_cross_module_type_ref: same for
  `bad-cross-module-type-ref`.
- check_json_emits_qualified_class_name: same for `qualified-class-name`.
- check_human_mode_emits_actionable_message_to_stderr: human (non-JSON)
  mode prints both the offending type name and the migration-command
  hint to stderr — this path goes through the anyhow/thiserror Display
  impl, not workspace_error_to_diagnostic, so it needs its own pin.
- check_ordering_match_post_migration_is_clean: post-migration
  ordering_match.ail.json typechecks via the CLI with zero diagnostics,
  guarding against revert of the ct.1.5 migration or a regression in
  Registry::normalize_type_for_lookup that would reject the canonical form.
2026-05-11 01:50:29 +02:00
Brummel f22f88b547 iter ct.1.7: on-disk fixture tests for canonical-form diagnostics 2026-05-11 01:46:58 +02:00
Brummel 727d2c13ec iter ct.1.6: wire validator into load_workspace; refresh kind-mismatch test 2026-05-11 01:42:45 +02:00
Brummel d3280e9adf iter ct.1.5: migrate bare cross-module type refs in examples/ 2026-05-11 01:40:20 +02:00
Brummel 5e653ff536 iter ct.1.5a-followup: forall-constraints recursion + docstring + drop iteration-tag comments
Three Minor items from the ct.1.5a quality review:

1. normalize_type_for_registry now recurses into
   Type::Forall.constraints[].type_, symmetric to walk_type. Closes a
   latent gap: a Forall with bare cross-module constraint types reaching
   the registry would have produced a key disagreeing with the qualified
   form. RED test: ct1_5a_normalize_recurses_into_forall_constraints.

2. Documented the bare-name limitation on Registry::type_def_module:
   two modules each defining 'type Foo' collide at insert; the proper
   fix (re-key as (owning_module, bare_name)) is out of ct.1's scope.

3. Removed the four iter-tag explanatory paragraphs at the
   normalize_type_for_lookup call sites (check/lib.rs check_fn,
   mono.rs three sites). Replaced each with a one-line pointer to the
   helper's docstring per project comment policy.
2026-05-11 01:39:26 +02:00