#67 has factory/status/blocked since 22:50
feat(web): the day count on Today — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the day count on Today — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the day grid and its legend — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the habit row — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the reminder time, on brain/select — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the reminder switch, on brain/toggle — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the three button variants, on helm button — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the week starts on Monday or Sunday — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the calendar of one habit — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): a theme control, system to dark to light — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the settings row — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the week strip and its met bar — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): a habit's colour, on brain/radio-group — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the stat block on a habit's history — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the target stepper — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): a privacy notice, reached from settings — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the language is a setting — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the archived habits, and the way to them — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): deleting asks twice, and the two questions differ — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): export hands over the whole record — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(web): the reminder actually arrives — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(api): the event log reaches the second device — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(api): the account, its passkey and its devices — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
fix(web): nothing re-checks the committed icons against their tokens — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(events): the streak counts weeks against a target — Held. An issue this change depends on is open.
Merge the issue it waits for. The hold then clears itself.
feat(events): a profile setting travels as an event — Held. A run failed or was refused.
Fix the cause and remove the label.
| State | Chain | Family | Blended — comparable | Raw total — not comparable | Cache reads |
|---|---|---|---|---|---|
| review-plan | #93 | codex 4 runs |
348.052 | codex does not report it | — |
| build | #93 | codex 2 runs |
300.343 | codex does not report it | — |
| review-change | #93 | codex 2 runs |
260.899 | codex does not report it | — |
| specify | #80 | codex 2 runs |
232.814 | codex does not report it | — |
| review-spec | #93 | codex 3 runs |
232.406 | codex does not report it | — |
| review-plan | #70 | codex 1 run |
231.193 | codex does not report it | — |
| document | #93 | codex 2 runs |
226.329 | codex does not report it | — |
| plan | #93 | codex 1 run |
204.682 | codex does not report it | — |
| specify | #93 | codex 2 runs |
183.839 | codex does not report it | — |
| review-spec | #80 | claude/codex · claude-opus-5 2 runs |
143.432 | 699.359 | 616.654 · 88.2 % |
| architecture | #93 | codex 1 run |
116.300 | codex does not report it | — |
| plan | #68 | claude · claude-opus-5 1 run |
49.302 | 3.785.858 | 3.633.534 · 96.0 % |
10 states, 4 with reviews: · measured: 11 data points, 2.480.289 blended
docs: three claims the tree has moved past — has factory/finding, last touched 35 h 19 min ago
A person sets a state label. The factory then picks it up. No run starts before that.
fix(web): the installed app is unchecked on a real device — has factory/finding, last touched 29 h 22 min ago
A person sets a state label. The factory then picks it up. No run starts before that.
| Commit | Time | Subject | Scope |
|---|---|---|---|
| b986276 | 19:18 | fix(factory): generate the decision index |
20 files · +463/−109 · no Refs line |
| 273e8c5 | 19:05 | fix(factory): recover missing labels |
5 files · +89/−3 · Refs #93 |
| d3e8073 | 18:38 | fix(factory): accept adjacent criterion markers |
6 files · +73/−7 · Refs #93 |
| 07cefcb | 17:23 | perf(factory): bound reviewer work records |
5 files · +254/−5 · no Refs line |
| d07c998 | 17:23 | test(factory): retain reviewer replay corpus |
28 files · +5956/−2 · no Refs line |
| 0211398 | 17:19 | docs(deploy): keep the board at five minutes |
3 files · +17/−9 · no Refs line |
| 15df880 | 17:01 | feat(deploy): serve the factory board from the Pi |
6 files · +304/−9 · no Refs line |
| 6ff586e | 16:42 | docs(factory): file overtaken proposals |
4 files · +30/−7 · Refs NONE |
| 9ce13c3 | 16:42 | fix(factory): mark direct handback comments |
5 files · +29/−5 · Refs #21 |
| 9e7deb2 | 16:40 | fix(factory): stop criteria at headings |
3 files · +34/−2 · Refs #39 |
| e143154 | 16:40 | fix(factory): drop unused mediator output |
6 files · +12/−14 · Refs NONE |
| e9b4a64 | 16:39 | docs(factory): index built proposal 59 |
1 file · +1/−0 · Refs NONE |
| beffc9b | 16:39 | fix(factory): expire stale hold repeats |
5 files · +108/−4 · Refs #63 |
| 392c906 | 16:37 | docs(factory): record proposal 59 outcome |
1 file · +22/−0 · Refs NONE |
| 5902cf8 | 16:34 | fix(factory): enforce outcome dependencies |
5 files · +176/−12 · Refs NONE |
| 39f89a3 | 16:05 | chore(specs): record QA handover |
1 file · +9/−0 · Refs #97 |
| 4179e2a | 16:01 | chore(specs): record clean change review |
2 files · +59/−0 · Refs #97 |
| 58bc4b0 | 15:34 | docs(e2e): add bare server keywords |
4 files · +33/−4 · Refs #97 |
| a6c5a1c | 15:22 | fix(web-e2e): format gate config checks |
4 files · +71/−6 · Refs #97 |
| d585fbd | 15:22 | fix(factory): correct architecture review copy |
2 files · +2/−1 · Refs NONE |
| 3f131c9 | 15:16 | docs(factory): describe architecture writer |
1 file · +32/−24 · Refs NONE |
| c40d0c5 | 15:16 | fix(factory): make architecture fill gaps |
6 files · +163/−71 · Refs NONE |
| 6f08321 | 14:55 | chore(specs): approve finding task plan |
1 file · +1/−0 · Refs #97 |
| 44aecf4 | 14:52 | fix(factory): re-point moved rule citations |
19 files · +132/−128 · Refs NONE |
| 0db0ad3 | 14:51 | fix(factory): keep unsupported uniqueness out of schemas |
3 files · +20/−4 · Refs #97 |
| 960509f | 14:43 | docs(factory): record architecture state landing |
1 file · +41/−0 · Refs NONE |
| bbaae3a | 14:38 | docs(factory): document architecture state |
1 file · +124/−46 · Refs NONE |
| 198275f | 14:34 | fix(factory): keep architecture copy in English |
1 file · +1/−1 · Refs NONE |
| 2e36b1a | 14:22 | feat(factory): add architecture state |
15 files · +479/−27 · Refs NONE |
| f892030 | 14:13 | chore(specs): record review findings |
4 files · +169/−0 · Refs #97 |
| 6cd018d | 14:01 | docs(testing): explain end-to-end server ownership |
4 files · +82/−6 · Refs #97 |
| f030f4c | 13:57 | feat(charter): the constitution says who decides |
9 files · +724/−475 · Refs #101 |
| 648da4b | 13:56 | fix(e2e): align the offline server decision |
3 files · +45/−11 · Refs #97 |
| efe0184 | 13:50 | fix(e2e): let Playwright own the development server |
6 files · +230/−64 · Refs #97 |
| fd5c8b3 | 13:39 | chore(factory): use sol for review states |
1 file · +3/−3 · no Refs line |
| 7dc914e | 13:39 | chore(specs): pass the e2e startup plan to build |
1 file · +1/−0 · Refs #97 |
| 43a0c7a | 13:38 | chore(specs): expand task 01 scope |
3 files · +6/−57 · Refs #97 |
| 79a018e | 13:34 | fix(specs): the handback carries the criterion marker its checker wants |
1 file · +2/−0 · Refs #97 |
| f56ded7 | 13:32 | chore(specs): hand task 01 AC2 back to plan |
3 files · +56/−0 · Refs #97 |
| e0d79aa | 13:27 | chore(specs): plan reliable e2e startup |
6 files · +310/−0 · Refs #97 |
| … and 94 more commits today. The full list is in git log origin/main --since=today. | |||
Korrektur zuerst. Eine frühere Fassung dieses Befunds sagte, build lege die Nachzügleraufgaben an. Das ist falsch. .factory/shared/writing-a-task.md:3: *„Three states write task files: plan, review-change and rework."* build ist nicht dabei.
Der Fund. Über 12 Ketten mit lokalem Arbeitsdatensatz: 208 von 599 ausgeführten Zustandsläufen (34,7 %) entfallen auf zwei Zustände, die keinen Produktcode schreiben. Über 9 Ketten mit Kantenmarkern sind 78 von 241 Kanten (32 %) der Kreis selbst — …
The source prompts contain 21135 words. A rendered pass through all ten states contains 60214 words. The proposals below come from contract, convergence, and prompt-size investigations. Only the counts and past-run costs are evidence. The expected savings rema…
Fixed at the source 2026-08-25; the gate is what remains.
Null Aufrufe in 21 Issues. Keines trägt die Signatur, die cmd_split anhängt (factory.py:3433, „Geschnitten aus #%d"); alle 21 sind von Hand eröffnet.
branch_of nahm die erste passende branch aus einer paginierten Antwort und entschied damit per Reihenfolge, auf welcher branch eine chain arbeitet. Repariert: bei zwei Treffern hält es an und nennt beide.
1 hold wait for a person · 0 pull requests ready, and §8.6 leaves the merge with the owner · 2 issues without a state label. A person decides what comes next.