Skip to content

features

Dylan McCavitt edited this page Jul 4, 2026 · 1 revision

Features

Features are cross-cutting capabilities that span multiple systems. Each one weaves together core schemas, a system under src/, and the extension or CLI to deliver a learner-facing behavior. The pages below describe the end-to-end flow for each capability and link to the systems pages for the implementation details of each building block.

  • Quest verification: the path from a learner action to a verified quest completion. The Pi extension observes an event, the verifier evaluates the quest's checks against recorded events and on-demand probes, and on a full pass the progression engine appends quest_completed and unlock events. Spans extension, verifier, and progression.
  • Capability gating: how gates restrict harness features and how progression lifts them. The gate catalog maps feature IDs to Pi config surfaces, the renderer turns an unlock set into config.yml and mcp.json, and the live unlock applier applies tools without a reload or reloads for config-baked surfaces. Spans adapter, extension unlocks, and the CLI.
  • Curriculum and quest packs: the eight-level arc and the pack authoring format. Quest packs are data (pack.yml plus quest .md files), loaded by the pack loader, and the level completion rule drives progression. Spans the loader, progression, and the domain model.
  • Onboarding: the garnish init wizard. It installs the certified runtime, asks at most five questions, copies packs, renders the locked L0 gate config, bundles the extension, and launches the isolated session. Spans the CLI init wizard, adapter, and the extension.

For the building blocks themselves, see systems. For the foundational types these features move around, see primitives.

Clone this wiki locally