Literate AI

Repository documentation

Operator adoption program

Outcome

v0.9.0 is tagged. The 0.10.0 line is being used, not more harness surface. A stranger can create a project or adopt an existing tree without reading architecture docs. Repeat operators can see status, convert stage, and the next verb from one command. Agents use the same state machine over --json; humans may use a TTY presenter. This program does not invent a second planner, daemon, or IDE.

Why this is the next headline

Goal 1 in PROJECT.md is already litai init and litai init --convert. Those verbs exist. What does not exist is a guided first hour, a repeat-use status surface, or a visible convert authority stage (wrapped is not spec-authoritative). The framework-score program still scores brownfield and operational maturity lowest. This program moves those scores with operator contracts, not with new languages.

Out of 0.9.0 scope

Do not absorb this program into the closed 0.9.0 cut. See RELEASE-0.9-CUT-001. v0.9.0 is tagged. STATUS-001, ONBOARD-001, GOLDEN-PATH-001, and BROWNFIELD-STATE-001 are 0.10.0 work. QUEUE-HYGIENE-001 is closed.

Rejected from this program: an in-tree IDE sample, a mandatory CodeGraph dependency, new language Flavors, and a Textual/VS Code shell that bypasses literate-ai/cli-result@1. Related but separate: #295 HTML5 observability; #301 re-init --force; #279 submodule monorepos; #251 0.8.4-to-0.9.0 wheel migration.

Ordered delivery

1. Readable queue (closed)

QUEUE-HYGIENE-001 archives completed programs to docs/history/roadmap/, refreshes PROJECT.md completeness so it matches the current catalog, and reconciles open GitHub issues that have no queue item. This is maturity work. It does not block the 0.9.0 tag.

2. Status and doctor

STATUS-001 adds litai status (doctor as the host-preflight view of the same contract). One screen: host tools, coding-CLI authentication, project vs convert state, stale locks, last receipt identity, next verb. TTY prose and --json share one typed envelope. Reuse init, convert-plan, lock, receipt, and host-path services. Do not add a new authority store.

3. Convert stages in project metadata

BROWNFIELD-STATE-001 records an explicit convert authority stage on the project: wrapped → retained → drafted → qualified. Status and onboard consume that field. Original source stays release authority until regenerative qualification passes. This is the load-bearing adopt-path slice, not a cosmetic badge.

DRAFT-PROMOTION-001 closes the retained-to-drafted gap without re-enabling model egress. A static inverse bundle may gain one explicit Component boundary only through spec review --component-graph FILE: the reviewer supplies kind, profiles, public capability contracts, entrypoints, build needs, source paths, observations, and exact evidence. The review signature binds that graph. Acceptance reopens the signed graph, checks it against the exact source snapshot and complete observation/evidence closure, and only then creates retained-source Component authority projections. Static review does not infer executable semantics or split one inventory into multiple Components. spec accept --integrate-project installs that authority as a registered source-free child of the retained project. The conversion gate validates the registry and aggregates the child projection identities, allowing the owning adopted project to advance to drafted without altering its retained source or catalog configuration.

4. Onboard create or adopt

ONBOARD-001 adds litai onboard as a state machine over existing verbs.

The TTY presenter is optional. --json is the contract. Agents must not need the TUI. No second planner.

5. Tested first hour from a wheel

GOLDEN-PATH-001 is the acceptance contract for the program: a stranger, empty directory, authenticated coding CLI, published wheel (not this checkout's make bootstrap), reaches either hello via create or a retained receipt via adopt. Getting-started leads with that path. Maintainer bootstrap stays documented separately.

Architecture

One application service owns operator session state (status snapshot, onboard plan, apply). CLI adapters render TTY or JSON. MCP tools, if added later, call the same service. Init and convert remain the mutators. Onboard never writes literate.project.json except by calling those mutators.

Convert stage is project metadata with fail-closed transitions. It is not inferred only from directory heuristics at print time, though heuristics may propose a stage for review.

Acceptance contract

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