Commit Graph

271 Commits

Author SHA1 Message Date
Brummel 64b0841c5a skills: deduplicate single-agent SKILL.md files (debug, fieldtest)
The four-phase debug process and the five-phase fieldtest process
each lived twice — once in SKILL.md (orchestrator-facing) and once
in the dispatched agent's file (subagent-facing). The orchestrator
does not execute these phases; the subagent does. Duplicating them
in SKILL.md just bloated the orchestrator's main context with bytes
that only the subagent ever needs.

SKILL.md now carries only what the orchestrator must consult at
dispatch time: trigger gating, Iron Law as headline, the carrier
contract, the produced handoff, and cross-references. Iron Law in
operational form, full process, Common Rationalisations, Red Flags,
and (for fieldtest) the spec template now live solely in the agent
file. Net −160 LOC across the skills tree.

CLAUDE.md pointer for 'Bug fixes — TDD, always' updated to reflect
that the substantive discipline lives in the agent file, not the
skill file.
2026-05-10 10:53:53 +02:00
Brummel bb6b52e7c3 skills: harmonise fieldtest example paths to examples/fieldtest/
Mixed Underscore/Subdir notation in two files; harmonised on the
Subdir form so the dispatched agent and the skill spec agree on
where examples land.
2026-05-10 10:41:11 +02:00
Brummel 7cc9613810 skills: add fieldtest — LLM-usability gate after audit
New skill that runs after a clean audit at milestone close. Picks
2-4 real-world programming tasks within the milestone's scope,
implements each in the AIL Surface form (.ailx), runs the binaries,
and writes a friction-and-bug spec to docs/specs/<date>-fieldtest-
<milestone>.md.

The dispatched agent (ailang-fieldtester) is restricted to DESIGN.md
plus the public examples/ corpus — crates/, runtime/, bench/ are
forbidden reads. This simulates a downstream LLM author who has only
the specification, which is the empirical complement to brainstorm's
prospective application of the LLM-utility criterion.

Findings classify as bug / friction / spec_gap / working, each with
a one-line downstream recommendation (debug / plan / ratify /
carry-on). The orchestrator dispatches the follow-ups; fieldtest
does not self-resolve.

Files:
- skills/fieldtest/SKILL.md
- skills/fieldtest/agents/ailang-fieldtester.md
- .claude/skills/fieldtest, .claude/agents/fieldtest (discovery
  symlinks)
- skills/README.md updated (skill table → 6, pipeline ASCII,
  agent roster, discovery list)
2026-05-10 10:39:47 +02:00
Brummel 5676a99bfa iter 22-tidy.7: journal entry 2026-05-10 05:18:46 +02:00
Brummel dafdf17f72 iter 22-tidy.7: extract duplicate_clause_err helper, retire 17 inline blocks 2026-05-10 05:14:53 +02:00
Brummel bf8ac31d63 plan: 22-tidy.7 strict-clause helper consolidation 2026-05-10 05:11:24 +02:00
Brummel 14b3dc4a63 iter 22-tidy.6: journal entry, milestone-22 carried debt empty 2026-05-10 05:01:39 +02:00
Brummel 51011511b4 iter 22-tidy.6.2: write_fn_def renders forall class constraints 2026-05-10 04:58:01 +02:00
Brummel 788c9808dd iter 22-tidy.6.1 fixup: cover abstract-method + instance-override branches; doc + fallback comments 2026-05-10 04:54:22 +02:00
Brummel d1c992d49a iter 22-tidy.6.1: write_class_def + write_instance_def — full Form-B projection 2026-05-10 04:47:50 +02:00
Brummel e7af79183d plan: 22-tidy.6 Form-B prose printer arms for ClassDef + InstanceDef 2026-05-10 04:43:38 +02:00
Brummel 204c702fcf iter 22-tidy.5: journal entry 2026-05-10 04:38:51 +02:00
Brummel 4cb69f85f7 iter 22-tidy.5.3: parse_data rejects duplicate doc clause 2026-05-10 04:35:49 +02:00
Brummel 9097b88625 iter 22-tidy.5.2: drop transient iter-tags from parse_fn duplicate-clause tests 2026-05-10 04:33:59 +02:00
Brummel 3fd17827bf iter 22-tidy.5.2: parse_const rejects duplicate doc/type/body clauses 2026-05-10 04:31:08 +02:00
Brummel 9592478971 iter 22-tidy.5.1: parse_fn rejects duplicate doc/type/params/body clauses 2026-05-10 04:27:19 +02:00
Brummel 2506180023 plan: 22-tidy.5 strict duplicate-clause detection 2026-05-10 04:25:11 +02:00
Brummel e37d099edb iter 22-tidy.4: journal entry 2026-05-10 04:21:18 +02:00
Brummel 557bf57cdb iter 22-tidy.4: mono::primitive_surface_name delegates to ailang-core 2026-05-10 04:18:46 +02:00
Brummel 5fd95e4e9f iter 22-tidy.4: route 4 matches! sites through is_primitive_name 2026-05-10 04:15:47 +02:00
Brummel 9523a1cd63 iter 22-tidy.4: pin lockstep invariant + tighten module doc 2026-05-10 04:13:41 +02:00
Brummel bbfadb2d72 iter 22-tidy.4: ailang-core::primitives — single home for the primitive-name set 2026-05-10 04:11:29 +02:00
Brummel 0fbc1f72f1 plan: 22-tidy.4 primitive-name-set consolidation 2026-05-10 04:09:57 +02:00
Brummel c3fd1c08a3 iter env-unify.audit: tidy stale Env docs, pin-test docstring; queue types/ctor_index shape 2026-05-10 02:36:27 +02:00
Brummel e414144d48 iter env-unify: journal entry, milestone close 2026-05-10 02:30:34 +02:00
Brummel d7e333fdf7 iter env-unify.2: drop redundant overlay comments 2026-05-10 02:28:54 +02:00
Brummel 2ab9d77113 iter env-unify.2: check_in_workspace consumes build_check_env 2026-05-10 02:26:24 +02:00
Brummel 92b94afa2a iter env-unify.1: rustdoc fixup (re-anchor check_in_workspace doc, drop transient task tag) 2026-05-10 02:19:24 +02:00
Brummel d6870d7a62 iter env-unify.1: extract build_check_env, mono uses it 2026-05-10 02:16:21 +02:00
Brummel cd08f53315 test: fix env-pin globals assertion (builtins seed operators workspace-flat) 2026-05-10 02:14:38 +02:00
Brummel 42a7ed7673 test: clean red signal for env-construction pin (inline module_types) 2026-05-10 02:06:46 +02:00
Brummel d7706dc3ed test: red for env-construction drift-shape pin 2026-05-10 02:03:09 +02:00
Brummel 08abfdf791 plan: env-construction unify 2026-05-10 02:00:41 +02:00
Brummel 1d4a6b4231 spec: env-construction unify — single source of truth for Env shape 2026-05-10 01:47:56 +02:00
Brummel 9db47d2f4e journal: audit — lib.rs gap sites defensive, env.imports gap was the fifth 2026-05-10 01:24:18 +02:00
Brummel a9c685ded8 fix: mono pass seeds env.imports for qualified cross-module refs in class workspace 2026-05-10 01:23:07 +02:00
Brummel 2bf827f600 test: red for mono-pass unknown module prefix on qualified xmod reference in class workspace 2026-05-10 01:19:45 +02:00
Brummel ca8ffe8dc3 journal: bug fix — mono pass env.globals seeding 2026-05-10 01:12:11 +02:00
Brummel 13b36ccb0f fix: mono pass seeds env.globals for recursive top-level fn in class workspace 2026-05-10 01:10:31 +02:00
Brummel 3b0bcf3f65 test: red for mono-pass unknown identifier on recursive fn in class workspace 2026-05-10 01:06:18 +02:00
Brummel 4cacfcbdac bench: mono-vs-vdisp micro-benchmark + revised Decision 11 rationale
Hypothesis-driven measurement of "did monomorphisation actually
buy us performance?" on a 100M-iter LCG hot loop, AILang mono'd
code vs. four C reference variants (direct-inlinable, direct-
noinline, indirect-monomorphic, indirect-polymorphic). Zen 3,
clang -O2, median-of-15.

Headline: H1 supported, but the mechanism is inlining, not
dispatch shape. AILang mono = hand-C direct (1.000x). Indirect-
monomorphic = direct-noinline (1.000x) — saturating branch
predictor makes the indirect-call cost vanish on this hardware.
Inlining is the actual 3.31x win; polymorphic indirect adds
another 21% predictor-miss penalty.

DESIGN.md Decision 11 gains a rationale paragraph reframing mono
as inlining-enabler rather than indirect-call-eliminator, with
explicit pointer to the bench. JOURNAL entry records the full
methodology, ratios, limitations, and the side-effect mono-pass
env.globals-seeding bug surfaced while building the AILang fixture
(separate RED-first debug iter to follow).
2026-05-10 01:03:21 +02:00
Brummel 105ad3fe80 iter 22-tidy: journal entry — milestone 22 closed 2026-05-09 22:52:49 +02:00
Brummel c8fc33fb86 iter 22-tidy.3: prose-lib — drop 22b.4 reference from class/instance placeholder 2026-05-09 22:52:17 +02:00
Brummel cc3f28c053 iter 22-tidy.2: spec — components table reflects 22b.4a/b split + 22c shipped 2026-05-09 22:51:49 +02:00
Brummel e6fe2dfd81 iter 22-tidy.1: DESIGN.md — reconcile Decision 11 with milestone-22 outcome (no Prelude, '__' separator) 2026-05-09 22:51:17 +02:00
Brummel a98da81e32 plan: 22-tidy DESIGN.md and spec drift after milestone-22 close 2026-05-09 22:50:25 +02:00
Brummel ea30b6815d iter 22c: journal entry — milestone-22 acceptance fixture + mono pass user-ADT fix 2026-05-09 22:45:02 +02:00
Brummel 5c5180fc48 fix: mono pass seeds env.types and env.ctor_index for user ADTs 2026-05-09 22:43:54 +02:00
Brummel 59e86b3805 test: red for monomorphise_workspace unknown type on user ADT 2026-05-09 22:41:18 +02:00
Brummel f3c94e554c plan: 22c user-class e2e fixture 2026-05-09 22:37:26 +02:00