v0.1.6
Seventh release. Focus: a human-facing onboarding handbook for LEARN-DOMAIN, plus wiring so the saved domain knowledge actually reaches the agents that build/debug/extend code. After the agent learns a codebase, the new Onboard step renders the grounded .domain-agent/ knowledge into one self-contained HTML page for fast human onboarding - what the domain is, key terms, architecture, flows, and the rules that must not break - styled to the Functional UI tier. And the ## Domain Brief is now a first-class dispatch input, so GREENFIELD/DEBUG/LEGACY agents receive it instead of it living only in conductor-facing docs. Plus README/docs surfacing and a repo-root cleanup.
LEARN-DOMAIN Onboard step (new)
- New terminal step in the LEARN-DOMAIN pipeline:
Intake -> Survey -> Scope checkpoint -> Map -> Deepen -> Ground -> Persist -> **Onboard** -> Freshness. - Renders the grounded pack into one self-contained
<knowledgePath>/onboarding.html(default.domain-agent/onboarding.html, gitignored) for humans only. The markdown pack stays the agent's source of truth; the HTML is a derived snapshot, regenerated on every Freshness run. - Seven sections, plain summary first then expert detail in
<details>: Orientation (mental model), Key terms (glossary in this repo's meaning), Architecture (systems/contexts/entry points + one inline diagram), Key flows (perflows/*.md), Rules that must not break (invariants with grounding status), Get hands-on (test-map.mdcommands), and Trust & freshness (verified/unverified legend +lastUpdated). - Grounding discipline carries over: rendered from the pack only (no new facts; never upgrade
unverifiedto verified), and every load-bearing fact shows a visible verified/unverified badge so a reader is never misled. - Functional tier (
reference/functional-ui.md), not the Expressive taste tier: one accent + one type/spacing/radius scale, computed WCAG-AA contrast (body AAA), information density, minimal motion honoringprefers-reduced-motion, declaredcolor-schemewith light+dark tokens, no empty decoration. - Self-contained and offline: inline CSS only, no external scripts/fonts/CDN/network requests, inline SVG for diagrams (zero added security surface). This constraint overrides functional-ui's "adopt one named design system" rule, so the baseline is implemented with a small inline token set instead of Fluent/Carbon/shadcn.
- LEARN-DOMAIN runs no implementation gates, so the render deliberately does not pull the product Designer's
claims.md/ QA contrast gate / committee apparatus; the agent self-applies the functional-ui baseline. Dispatch isexplore(reads the persisted pack, writes the doc). - New
templates/domain-onboarding.htmlskeleton (token set, the seven sections with source-mapped<!-- FILL ... -->markers, ToC, badge legend,<details>progressive disclosure, light/dark). Wired intoSKILL.md(pipeline row, LEARN-vs-LEARN-DOMAIN note, template-script table) andreference/learn-domain.md(Step 7 + dispatch row + stop condition).tests/learn-domain-contract.test.shgrows from 17 to 29 assertions.
Domain Brief reaches the dispatched agents (new)
- Closes a consumption gap: the saved
.domain-agent/knowledge was described only in conductor-facing docs - no persona and not the locked-prompt template referenced the pack or the Brief, anddebugger/exploredid not even have it in their READ scope. Domain context could be built and still never reach the agent doing the work. reference/experts.md: adds aDOMAIN BRIEFslot to the locked-prompt template (routing index only; verify against current code, current code wins; never bulk-read the pack) and a dispatch step that passes the Brief to the architect (GREENFIELD Plan), debugger/tracer (DEBUG Reproduce/Diagnose), and explorer (LEGACY Explore).agents/explore.md+agents/debugger.md: add the run's## Domain Briefto READ scope plus a one-line rule to route by it but verify load-bearing facts against current code.agents/architect.md: names the Brief explicitly (was a vague "selected domain/architecture docs").executoris unchanged - it builds from the frozenplan.md.- Passes the capped, current-code-verified Brief (<=5 files, <=80 lines), never the raw pack path, so the retrieval cap / current-code-wins / no-bulk-read discipline holds. The human
onboarding.htmlis never an agent input.tests/domain-context-contract.test.shgrows from 30 to 37 assertions.
Other
docs: add LEARN-DOMAIN mode + Onboard handbook to README- the Modes table listed only four modes (prose said "three modes") even though LEARN-DOMAIN shipped in v0.1.5; adds the LEARN-DOMAIN row (pipeline ends in Onboard (human handbook)), a usage example, and listsinterview+learn-domainin the Layout summary.chore: keep root to SKILL/README/LICENSE; move DESIGN + preference files- repo root trimmed toSKILL.md,README.md,LICENSE;DESIGN.md->docs/DESIGN.md,USER_PREFERENCE.template.mdand the git-ignoredUSER_PREFERENCE.md->learn/.
Verification
Full contract suite: domain-context 37/0, gate-scenarios 100/0, interview-contract 26/0, learn-contract 11/0, learn-domain-contract 29/0, ui-ux 17/0, worktree 17/0 = 237 passed, 0 failed. No regressions. Template confirmed self-contained (a grep for external scripts/links/CDN/url() matches only the in-comment instruction forbidding them).
Included changes
feat: pass the Domain Brief to dispatched agents (close consumption gap)docs: add LEARN-DOMAIN mode + Onboard handbook to READMEfeat: complete LEARN-DOMAIN Onboard step (Step 7 spec, Functional tier, tests)feat: wire LEARN-DOMAIN Onboard step (SKILL spine + handbook template)chore: keep root to SKILL/README/LICENSE; move DESIGN + preference files
Full changelog: v0.1.5...v0.1.6