Lanes

The eight lanes codeloop init installs, stage by stage, from templates/lanes in the 0.4.1 package.

Each table is one lane file. The gate column says when the card stops: after the check passes, or before the stage runs for a public step. codeloop lane show <id> prints the same from your repo, and Lanes explains the keys.

text
  analyze    v1  pull → compare → judge → findings  cron 0 9 * * FRI
  build      v1  research → mock → spec → build → verify → review → staging → live  manual
  deploy     v1  staging → verify → prod → smoke  on git.tag
  learn      v1  capture → bump → promote  manual
  market     v1  brief → draft → publish → measure  on lane.done (build)
  plan       v1  gather → research → rank → story  cron 0 9 * * MON
  scan       v1  scan  cron 0 7 * * MON
  triage     v1  capture → classify → dedupe → file  cron 0 20 * * *

build

A feature, from research to live. Metric cycle_time_days, target under 5. Trigger manual. WIP 2, retries 3. When a card finishes, a market card starts.

Stage Skill Output Check Gate
research design {spec}/research.md codeloop check research {id} --min-sources 3
mock design codeloop check mock {id}
spec plan {spec}/tasks.md codeloop spec check {id} spec, owner, after
build test codeloop task check {id} --all-done && npm test
verify qa evidence/{nnn}/verify.md codeloop verify {id} local, owner, after
review commit evidence/{nnn}/review.md codeloop check file evidence/{nnn}/review.md --has 'verdict: approve' pr, reviewer, after
staging deploy evidence/{nnn}/staging.md codeloop check file evidence/{nnn}/staging.md --has 'result: pass'
live ship evidence/{nnn}/prod.md codeloop check file evidence/{nnn}/prod.md --has 'result: pass' prod, owner, before

The mock stage is optional per card: a spec with screens: none passes it without a mock.

deploy

A release. Metric change_failure_rate, target under 15%. Trigger: a new git tag. WIP 1, retries 3.

Stage Skill Output Check Gate
staging deploy deploy/{id}/staging.md codeloop check file deploy/{id}/staging.md --has 'result: pass'
verify qa deploy/{id}/verify.md codeloop check file deploy/{id}/verify.md --has 'result: pass'
prod ship deploy/{id}/prod.md codeloop check file deploy/{id}/prod.md --has 'result: pass' prod, owner, before
smoke debug deploy/{id}/smoke.md codeloop check file deploy/{id}/smoke.md --has 'result: pass'

market

A launch post for every shipped feature. Metric signups_from_launch, target +10%. Trigger: a build card finishing. WIP 2, retries 3.

Stage Skill Output Check Gate
brief plan marketing/{id}/brief.md codeloop check file marketing/{id}/brief.md --has 'audience:' 'claim:' 'metric:'
draft design marketing/{id}/blog.md codeloop check file marketing/{id}/blog.md --has 'claim:' copy, owner, after
publish ship marketing/{id}/published.md codeloop check file marketing/{id}/published.md --has 'url:' publish, owner, before
measure reflect marketing/{id}/result.md codeloop check file marketing/{id}/result.md --has 'verdict:'

plan

The weekly plan. Metric shipped_cards_that_moved_their_metric. Trigger: Monday 09:00. WIP 1, retries 3. Proposals from triage and scan are promoted into this lane.

Stage Skill Output Check Gate
gather reflect plan/{id}/signals.md codeloop check file plan/{id}/signals.md --has 'signals:'
research design plan/{id}/research.md codeloop check file plan/{id}/research.md --has 'verdict:'
rank manage plan/{id}/ranked.md codeloop check file plan/{id}/ranked.md --has 'rice:'
story plan plan/{id}/stories.md codeloop check file plan/{id}/stories.md --has 'acceptance:' backlog, owner, after

triage

Issues and feedback become proposals. Metric proposals_accepted_ratio. Trigger: every day 20:00. WIP 1, retries 3.

Stage Skill Output Check Gate
capture debug triage/{id}/capture.md codeloop check file triage/{id}/capture.md --has 'sources:'
classify manage triage/{id}/classified.md codeloop check file triage/{id}/classified.md --has 'category:'
dedupe manage triage/{id}/deduped.md codeloop check file triage/{id}/deduped.md --has 'duplicates:'
file manage triage/{id}/proposals.md codeloop check file triage/{id}/proposals.md --has 'proposals:' proposals, owner, after

scan

What competitors shipped. Metric competitor_proposals_promoted. Trigger: Monday 07:00. WIP 1, retries 3. One stage, and the stage is a command: no skill, no agent.

Stage Skill Output Check Gate
scan codeloop scan competitors

scan competitors reads the changelog link on each page in .codeloop/wiki/competitors/, compares it with the last scan, and proposes one plan card per competitor that shipped something new. The proposals wait in the inbox.

analyze

The weekly growth review. Metric north_star, from analytics. Trigger: Friday 09:00. WIP 1, retries 3. When a card finishes, a plan card starts.

Stage Skill Output Check Gate
pull reflect growth/{id}/metrics.md codeloop check file growth/{id}/metrics.md --has 'north_star:'
compare reflect growth/{id}/compare.md codeloop check file growth/{id}/compare.md --has 'delta:'
judge reflect growth/{id}/verdicts.md codeloop check file growth/{id}/verdicts.md --has 'verdict:' verdicts, owner, after
findings reflect growth/{id}/findings.md codeloop check file growth/{id}/findings.md --has 'findings:'

learn

A lesson into a rule. Metric repeat_gotcha_rate. Trigger manual. WIP 2, retries 3.

Stage Skill Output Check Gate
capture reflect learn/{id}/capture.md codeloop check file learn/{id}/capture.md --has 'gotcha:'
bump reflect learn/{id}/bump.md codeloop check file learn/{id}/bump.md --has 'freq:'
promote reflect learn/{id}/promote.md codeloop check file learn/{id}/promote.md --has 'rule:' rule, owner, after

What stats can compute

codeloop stats prints metric <name>: <value|no-data> per lane. A value only comes back for source: cards and a name the engine knows how to derive from the cards themselves: done, done_cards, cards_done, done_without_reject, first_pass_done, cycle_time_hours, cycle_time_days, proposals_accepted_ratio. Of the eight shipped lanes, that is build's cycle_time_days and triage's proposals_accepted_ratio — the rest (deploy, plan, scan's card-sourced names, and analyze's, market's and learn's analytics/knowledge-sourced ones) print no-data until something outside the card log feeds the number in.

The skills the lanes name

codeloop init writes these ten, one file each under the host's commands folder, and every stage above names one.

Skill Used by
design build/research, build/mock, market/draft, plan/research
plan build/spec, market/brief, plan/story
manage plan/rank, triage/classify, triage/dedupe, triage/file
test build/build
commit build/review
qa build/verify, deploy/verify
deploy build/staging, deploy/staging
debug deploy/smoke, triage/capture
reflect market/measure, plan/gather, analyze (all four), learn (all three)
ship build/live, deploy/prod, market/publish