Skip to content

v0.1.6

Choose a tag to compare

@cskwork cskwork released this 04 Jun 14:37
· 50 commits to main since this release

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 (per flows/*.md), Rules that must not break (invariants with grounding status), Get hands-on (test-map.md commands), and Trust & freshness (verified/unverified legend + lastUpdated).
  • Grounding discipline carries over: rendered from the pack only (no new facts; never upgrade unverified to 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 honoring prefers-reduced-motion, declared color-scheme with 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 is explore (reads the persisted pack, writes the doc).
  • New templates/domain-onboarding.html skeleton (token set, the seven sections with source-mapped <!-- FILL ... --> markers, ToC, badge legend, <details> progressive disclosure, light/dark). Wired into SKILL.md (pipeline row, LEARN-vs-LEARN-DOMAIN note, template-script table) and reference/learn-domain.md (Step 7 + dispatch row + stop condition). tests/learn-domain-contract.test.sh grows 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, and debugger/explore did 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 a DOMAIN BRIEF slot 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 Brief to 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"). executor is unchanged - it builds from the frozen plan.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.html is never an agent input. tests/domain-context-contract.test.sh grows 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 lists interview + learn-domain in the Layout summary.
  • chore: keep root to SKILL/README/LICENSE; move DESIGN + preference files - repo root trimmed to SKILL.md, README.md, LICENSE; DESIGN.md -> docs/DESIGN.md, USER_PREFERENCE.template.md and the git-ignored USER_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 README
  • feat: 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