Core model
PRis the unit of work.runis the unit of iteration inside a PR.wikiis the unit of memory.- humans define product direction, taste, and the final signoff bar.
Canon inputs
Every harnessed repository needs three stable canon docs.- Product Canon
- user value, target users, product direction, and non-goals
- Design Canon
- taste, interaction principles, and UI quality expectations
- Quality Canon
- testing posture, severity language, and the bar for final signoff
Worker model
The harness has one orchestrator and five workers.auto-project- PR lifecycle owner, loop scheduler, and final-signoff gatekeeper
auto-pm- locks goal, metric, quality target, boundary, and acceptance
auto-coding- improves correctness, runtime behavior, architecture, reliability, and CI until the runtime gap is closed
auto-qa- probes scenarios, finds regressions, and can veto promotion with explicit severity and confidence
auto-ui- improves hierarchy, density, spacing, affordance, and visual clarity against the design canon
auto-wiki- writes back memory, compiles synthesis, keeps the knowledge system resumable, and records why the loop stopped
PR lifecycle
proposedopenloopingfinal-signoffready-to-landdiscardedlanded
final-signoff is the point where the workers believe the bar is met and a human should confirm taste and direction before landing.
Filesystem contract
raw/- immutable sources and evidence
wiki/- PR pages, run pages, frontier map, and chronology
.agents/- operating schema, skill behavior, and templates
docs/- stable product, design, quality, and contributor documentation
Keep/discard discipline
The harness never accumulates speculative changes. Each run must:- establish a baseline
- make one bounded change
- measure the result against the relevant quality axis
- keep the change only if it is better
- revert or discard if it is not better
- continue until the relevant bar is closed or explicitly rerouted
Human role
Humans do not micromanage normal progress. Humans do set:- product direction
- taste and interaction standards
- the bar for final signoff
- destructive git or history operations
- secrets, privacy, security, or billing risk
- irreversible publication or release
Required records
Each active PR has a page inwiki/prs/.
Each iteration has a page in wiki/runs/.
Those pages are the durable working memory that lets the harness resume after interruptions.
The stable canon docs in docs/ explain what “good enough” means before a PR moves into final-signoff.