Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ The same path as a ticket-to-merge pipeline. Questions: [factory FAQ](factory/fa
| Module | What you learn | Open or run |
| ------------------------------------------------------- | ----------------------------------------------------- | -------------------------------------- |
| [F0 Overview](factory/f0-overview.md) | the whole path from a ticket to a merged pull request | `make factory ISSUE=1 FLAGS=--dry-run` |
| [Auth modes](factory/auth-modes.md) | sign in with an API key or a subscription token | `docs/factory/auth-modes.md` |
| [Visual guide](factory/visual-guide.md) | the factory in pictures | `docs/factory/visual-guide.md` |
| [F0.1 Anatomy](factory/f0-1-anatomy.md) | every file the factory reads | `docs/factory/f0-1-anatomy.md` |
| [F1 Plan](factory/f1-plan.md) | intent, triage and the risk tier | `docs/factory/f1-plan.md` |
| [F2 Design](factory/f2-design.md) | the spec is the first test | `docs/factory/f2-design.md` |
Expand Down Expand Up @@ -71,10 +73,21 @@ make lab ID=daily-03 work on any lab, in any order
| `factory` | ticket to intent, acceptance first, dry run, workflow contract | `make lab ID=factory-01` |
| `advanced` | reviewer subagent, cost per call, worktrees, tree-wide checks | `make lab ID=advanced-01` |

Which lab goes with which module:

| Lab | Module |
| ------------- | --------------------------------------------------- |
| `factory-01` | [F1 Plan](factory/f1-plan.md) |
| `factory-02` | [F2 Design](factory/f2-design.md) |
| `factory-03` | [F3 Build](factory/f3-build.md) |
| `factory-04` | [F8 Workflows](factory/f8-workflows.md) |
| `advanced-05` | [F11 Cloud sessions](factory/f11-cloud-sessions.md) |

Modules with no lab yet are read-only: F0, F4 to F7, F9, F10, F12 and F13.

## 4. Cloud sessions

- [F11 Cloud sessions](factory/f11-cloud-sessions.md): connect GitHub, make an environment, run a session, pull it back with `claude --teleport <session-id>`.
- [F12 Model routing](factory/f12-model-routing.md) and [F13 Spend and safety](factory/f13-spend-and-safety.md): pick the model per stage, then cap spend before you leave a session unattended.
F11 to F13 are in the table above. Read F13 before you leave a session unattended, and pull a finished session back with `claude --teleport <session-id>`.

## 5. Agent track

Expand Down
2 changes: 1 addition & 1 deletion docs/factory/f0-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ A model writes `intent.md`, `spec.md`, `plan.md`, the tests and the fix. Code de
- `review.ts` keeps a finding only when at least two of its three verifiers vote for it. The `review` step of a real run calls it.
- `risk.ts` turns changed paths into a tier, and a human gate needs that tier's approvals: none for low, one for medium, two for high. An agent's approval never counts.
- `interpret.ts` stops a run once its spend reaches the configured share of the cap in `.factory/config.json`, and hands each call the money that is left.
- `bands.ts` turns a metric breach into an action with no model involved. Only tests call it so far.
- `bands.ts` turns a metric breach into an action with no model involved. `maintain.ts` calls it from `make factory-maintain` and from `.github/workflows/maintain.yml`, which runs weekly.

The rule behind the list: a gate reads an exit code or a hash, never the model's word that it is done.

Expand Down
Loading