Literate AI

Repository documentation

Framework defect-mitigation program

Independent evaluation of the framework against its own premises identified defects in five areas: Component-model expressiveness, Flavor taxonomy naming, directory-taxonomy self-contradiction, litai init --convert correctness, and rollout evidence. This document owns the cross-cutting ordering and design; each phase lands through its own queue item with local acceptance evidence.

Phase 1 — convert quarantine + hygiene (low risk)

Owner: CONVERT-FW-002 (quarantine), CONVERT-FW-003 (message/hygiene/docs).

Evidence: new unit tests cover git-tracked moves (renames visible to git status), non-git moves, mixed trees, hierarchy byte-equality, double-conversion rejection, and symlink refusal; full non-live suite green.

Phase 2 — harness inspection + wrapper; catalog single-source

Status: landed.

Deferred from this phase, recorded as queue items:

Phase 3 — flavor naming migration

One canonical scheme <axis-prefix>-<value> (dash) for all axes; legacy spellings (package.pip, bare aliases) become deprecated aliases resolved through canonical flavor selectors with deprecation notes in lock reports; decide flat-alias removal vs generated coverage. Designed in ADR 0010 (Accepted). The catalog migration command, canonical directories/names, Bazel target rename, and one-release legacy selector aliases are implemented. All affected sample interface, oracle, lifecycle-driver, runner, and documentation identities were re-pinned through their normal review boundaries; the complete non-live suite is green.

Phase 4 — component expressiveness (schema)

Additive optional component.md frontmatter behind literate-markdown@2: data_contracts (typed schema attachments), invariants (verifier-evaluated predicates), error_taxonomy, performance_budgets; typed acceptance-contract kinds (golden-io, exit-code, schema-match, property); require ≥1 acceptance contract for generatable non-sample components. Designed in ADR 0011 (Accepted for 1.1, 2026-09-13); implementation is authorized and remains open. The A3 portion — removing the hardcoded Rust/JS topology from the prompt builder and moving it into the sample's authority with a domain-neutrality boundary test — landed in Phase 2; the published v1 schemas remain untouched throughout.

Phase 5 — proof sample + composition

Add one stateful/networked/persistent reference sample specified entirely through the new metadata with zero prompt special-casing; begin per-node generation-cache scoping so leaf changes revalidate only affected nodes. Full per-component build/link remains a separate program (framework score-improvement recommendation 4).

Rejected scope

Read the Markdown sourceConference homePublished 1.3.0 · Patch 1.3.1 in progress · Development 1.4