2 Product Principles
jbr870 edited this page 2026-04-30 10:07:01 +00:00
Status Last updated Parent Read before this
complete 2026-04-30
Product - Vision
Product - Vision

Principles

The recurring commitments behind the design. Lower-level pages are consequences of these.

Current state

Three human touchpoints, no more. The orchestrator decides at PREQ approval, plan approval, and UAT. Everything else is automated. New decision points only get added when the absence of a human decision is causing visible harm.

Fix-forward over failure-prevention. The system is designed for fast recovery from a bad outcome, not for guaranteeing every outcome is good. Auto-deployed feature branches, isolated worktrees, and the ability to discard a feature folder without consequence are all in service of this.

One issue, one feature, one lifecycle. A feature's full SDLC travels with a single issue. The only fork is a deferred QA finding spawning a linked issue.

Skills are self-contained. A skill runs end-to-end. Where a decision is needed, the skill ends and emits a Contract - Phase Outcome; the orchestrator resolves; the next skill picks up. Skills don't pause for input mid-run.

Pluggable orchestrators. Whoever consumes Phase Outcomes is the orchestrator — human today, agent tomorrow. Skills don't know who or what is orchestrating them.

Forge-agnostic by contract. Main skills speak abstract operations. Adapters implement them per platform. See Contract - Forge Adapter.

Separation of concerns by agent population. Coding harness agents write to issues. The documentation agent reads closed issues and writes to the wiki. No agent holds both mental models. See Role - Coding Harness Agents and Role - The Documentation Agent.

Two artifact categories. Deliverables (synced to forge) and code/tests (travel via PR). No third "scratch" category. See Design - Artifacts.

YAGNI in design decisions. Capabilities are added when the system actually needs them. The forge contract grows with real demand, not speculatively. Skills are kept lean; complexity moves into procedures only when justified.

Token-cost discipline. Cheaper models do work that doesn't need expensive ones. Subagents isolate context so heavy reading doesn't pollute the orchestrator's window. Concept - Progressive Disclosure keeps skill content out of context until invoked.

Rationale

Most of these are reactions to specific failure modes that showed up in earlier iterations. Three gates emerged from finding that more gates created friction without catching new problems. Single-issue lifecycle replaced an earlier multi-issue model that turned out to be bookkeeping overhead — QA findings block the parent by default, so they're not really independent. The forge contract emerged from the observation that every main skill was about to grow if forge == "gitlab" branches.

The principles read as commitments rather than preferences because they have teeth — each one rules out designs that would otherwise be tempting. "Skills are self-contained" rules out skills that pause for input. "One issue per feature" rules out spawning child issues for SREQs and QA domains. "YAGNI" rules out building infrastructure for the doc agent before it exists.

Open questions

None at this level.