@haaaiawd/loom 2.1.2 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
- # Changelog
2
-
3
- ## Unreleased
1
+ # Changelog
2
+
3
+ ## 2.1.3
4
+
5
+ - Removed Keeper auto-pass: every still-open finding must be closed with evidence in a later independently attested pass. A changed project digest proves a change, not that findings were resolved.
6
+ - `loom task start` now requires an independently attested Keeper pass (`review.mode: "independent"`) or a recorded `loom keeper skip`; `loom check` reports an unattested legacy pass as an error instead of a quiet warning.
7
+ - Keeper findings are cumulative across attempts: a passing record must carry `closure_results` for every gap still open from earlier rounds.
8
+ - Task references are verified, not just non-empty: `implements` must resolve to an existing design file and section (or a decision name present in project truth), and `capability_hooks` must resolve to an existing dossier and node. `loom project ready` runs this integrity check.
9
+ - `loom context` lists each blocked Task with its reason and recovery conditions, and recommends `loom task reopen <id> --reason` when nothing is executable.
10
+ - Done Tasks resist silent rewrites: `loom task update` on a done Task is rejected with a reopen pointer, and reopening a blocked Task requires a concrete reason describing how the recovery conditions were met.
11
+ - Decision-affected done Tasks warn only until re-verified: reopening and re-completing the Task after the decision clears the warning.
12
+ - Deliverable coverage now distinguishes planned from delivered: units covered only by open or blocked Tasks no longer count as delivered.
13
+ - `loom record --help` documents `resolved` and `retire_assumptions` so Agents can close questions and assumptions they opened.
4
14
 
5
15
  ## 2.1.2
6
16
 
@@ -12,40 +22,40 @@
12
22
  - Added Task integrity enforcement for design links, capability hooks or explicit exemptions, plus declared output existence checks before completion.
13
23
  - Added command-specific canonical JSON help and recovery pointers for every structured-write command.
14
24
  - Updated generated Agent guidance and both public READMEs so installed and source-checkout invocation paths are unambiguous.
15
-
16
- ## 2.1.1
17
-
18
- - Re-published 2.1.0 content with corrected CHANGELOG line endings.
19
-
20
- ## 2.1.0
21
-
22
- - Added a current-state and recommended-action header to `loom context` output. Agents entering a project or resuming after compression now see project status, active task, work-map counts, and a recommended next action before the full protocol. The recommendation is advisory, not a script.
23
- - Rewrote `AGENTS.md` with explicit LOOM trigger conditions (project entry, context reset, before substantial work, between Tasks) and a standard work rhythm that keeps Agent judgment while making the next step obvious.
24
- - Integrated Crux integrity-chain review into the Keeper handoff. The Keeper now checks that responsible intent, project promises, design and capability decisions, Work Map, executable behavior, and human feedback loop form an intact chain, and looks for omission, substitution, drift, unsupported leaps, blindness, and ownerless gaps.
25
- - Added staged visibility and review guidance to the project template and active-Task execution protocol. Tasks should prefer human-visible acceptance evidence, the Agent should show real working things at milestones, run `loom check` and project tests together before declaring a batch done, and prioritize reaching an exciting surface early to sustain the human's momentum.
26
- - Strengthened capability source validation: `loom capability synthesize` now requires each decision-tree node's `source:` citation to reference a real `.md` file in the dossier's `research/` directory.
27
- - Added `research/_guide.md` generation in `loom capability research` so Agents know what good research material looks like, what to avoid, and how to cite sources.
28
- - Added `.loom/STRUCTURE.md` as a fifth project-truth layer declaring where source code, tests, docs, assets, and configuration files live. `loom check` warns when it is missing or still templated.
29
- - Added `loom decision --json-file` for recording consequential superseding decisions with affected files and tasks. `loom check` warns when a done Task is marked affected by a later decision.
30
- - Added `acceptance[]` as the primary Task completion structure, pairing `criterion`, `verify_by`, and `evidence`. Legacy `done_when[]` remains supported.
31
- - Added Keeper auto-pass: when all Keeper gaps are minor and 3 or fewer, fixing them and running `loom project ready` auto-passes without another Keeper round.
32
- - Added deliverable coverage tracking through `loom deliverable add` and Task `covers` field. `loom check` reports uncovered delivery units.
33
- - Added `loom capability research → synthesize → confirm` lifecycle with status tracking per dossier.
34
- - Updated help text with a typical first-pass flow and capability lifecycle sequence.
35
-
36
- ## 2.0.1
37
-
38
- - Added an active-Task execution protocol that restores workspace-aware coding guidance, risk-based testing, restartable progress, criterion-level proof, and conditional commit/PR boundaries after context resets.
39
- - Strengthened the generated `AGENTS.md` anchor so Agents reload LOOM at project entry, after context loss, and before resumed editing without invoking it before every tool call.
40
-
41
- ## 2.0.0
42
-
43
- - Rebuilt LOOM as invisible Agent infrastructure around project understanding, a scalable design-document graph, separate professional-field dossiers, a broad Work Map, and one active Task.
44
- - Replaced fixed roles and stages with an adaptive clarification protocol and explicit convergence conditions.
45
- - Added human-editable project truth, structured continuity state, and superseding decision history.
46
- - Added context selection that keeps very large Task maps on disk and injects only the active horizon.
47
- - Added seven adaptable design-document templates and `loom prompts` as a complete live prompt inventory.
48
- - Reduced Keeper to one independent build-readiness handoff with revision, changed-digest, fresh-run, and stale-state enforcement.
49
- - Added controlled Evil Eval scaffolding for equal-condition, repeated, reset-heavy blind comparison.
50
- - Added bilingual English/Chinese release documentation and a flat, minimal visual system with editable loop diagrams.
51
- - Deliberately stopped automatic mutation of legacy `.loom/v1` projects.
25
+
26
+ ## 2.1.1
27
+
28
+ - Re-published 2.1.0 content with corrected CHANGELOG line endings.
29
+
30
+ ## 2.1.0
31
+
32
+ - Added a current-state and recommended-action header to `loom context` output. Agents entering a project or resuming after compression now see project status, active task, work-map counts, and a recommended next action before the full protocol. The recommendation is advisory, not a script.
33
+ - Rewrote `AGENTS.md` with explicit LOOM trigger conditions (project entry, context reset, before substantial work, between Tasks) and a standard work rhythm that keeps Agent judgment while making the next step obvious.
34
+ - Integrated Crux integrity-chain review into the Keeper handoff. The Keeper now checks that responsible intent, project promises, design and capability decisions, Work Map, executable behavior, and human feedback loop form an intact chain, and looks for omission, substitution, drift, unsupported leaps, blindness, and ownerless gaps.
35
+ - Added staged visibility and review guidance to the project template and active-Task execution protocol. Tasks should prefer human-visible acceptance evidence, the Agent should show real working things at milestones, run `loom check` and project tests together before declaring a batch done, and prioritize reaching an exciting surface early to sustain the human's momentum.
36
+ - Strengthened capability source validation: `loom capability synthesize` now requires each decision-tree node's `source:` citation to reference a real `.md` file in the dossier's `research/` directory.
37
+ - Added `research/_guide.md` generation in `loom capability research` so Agents know what good research material looks like, what to avoid, and how to cite sources.
38
+ - Added `.loom/STRUCTURE.md` as a fifth project-truth layer declaring where source code, tests, docs, assets, and configuration files live. `loom check` warns when it is missing or still templated.
39
+ - Added `loom decision --json-file` for recording consequential superseding decisions with affected files and tasks. `loom check` warns when a done Task is marked affected by a later decision.
40
+ - Added `acceptance[]` as the primary Task completion structure, pairing `criterion`, `verify_by`, and `evidence`. Legacy `done_when[]` remains supported.
41
+ - Added Keeper auto-pass: when all Keeper gaps are minor and 3 or fewer, fixing them and running `loom project ready` auto-passes without another Keeper round. (removed in 2.1.3)
42
+ - Added deliverable coverage tracking through `loom deliverable add` and Task `covers` field. `loom check` reports uncovered delivery units.
43
+ - Added `loom capability research → synthesize → confirm` lifecycle with status tracking per dossier.
44
+ - Updated help text with a typical first-pass flow and capability lifecycle sequence.
45
+
46
+ ## 2.0.1
47
+
48
+ - Added an active-Task execution protocol that restores workspace-aware coding guidance, risk-based testing, restartable progress, criterion-level proof, and conditional commit/PR boundaries after context resets.
49
+ - Strengthened the generated `AGENTS.md` anchor so Agents reload LOOM at project entry, after context loss, and before resumed editing without invoking it before every tool call.
50
+
51
+ ## 2.0.0
52
+
53
+ - Rebuilt LOOM as invisible Agent infrastructure around project understanding, a scalable design-document graph, separate professional-field dossiers, a broad Work Map, and one active Task.
54
+ - Replaced fixed roles and stages with an adaptive clarification protocol and explicit convergence conditions.
55
+ - Added human-editable project truth, structured continuity state, and superseding decision history.
56
+ - Added context selection that keeps very large Task maps on disk and injects only the active horizon.
57
+ - Added seven adaptable design-document templates and `loom prompts` as a complete live prompt inventory.
58
+ - Reduced Keeper to one independent build-readiness handoff with revision, changed-digest, fresh-run, and stale-state enforcement.
59
+ - Added controlled Evil Eval scaffolding for equal-condition, repeated, reset-heavy blind comparison.
60
+ - Added bilingual English/Chinese release documentation and a flat, minimal visual system with editable loop diagrams.
61
+ - Deliberately stopped automatic mutation of legacy `.loom/v1` projects.
package/README.md CHANGED
@@ -1,70 +1,70 @@
1
- <p align="center"><strong>English</strong> · <a href="README.zh-CN.md">简体中文</a></p>
2
-
3
- <p align="center">
4
- <img src="docs/brand/loom-readme-header.svg" alt="LOOM — Keep the whole. Continue the work." width="100%">
5
- </p>
6
-
7
- <p align="center">
8
- <a href="https://www.npmjs.com/package/@haaaiawd/loom"><img src="https://img.shields.io/npm/v/%40haaaiawd%2Floom?style=flat-square&amp;color=4169E1&amp;label=npm" alt="npm version"></a>
9
- <img src="https://img.shields.io/badge/node-%E2%89%A518-17212B?style=flat-square" alt="Node.js 18 or newer">
10
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-9AD8C2?style=flat-square&amp;labelColor=17212B" alt="MIT license"></a>
11
- </p>
12
-
13
- <p align="center"><strong>The human talks to the Agent. LOOM helps the Agent remember, understand, and continue.</strong></p>
14
-
15
- LOOM is spec-driven continuity, proof, and project understanding infrastructure for AI coding agents.
16
- It supports any work that can be materially advanced through code or command-line tools: software,
17
- operations, research workflows, office automation, data work, and highly personalized projects.
18
-
19
- The human does not learn a framework or operate a CLI. They describe what they want, answer useful
20
- questions, disagree, delegate decisions, and watch the work become real. The Agent uses LOOM in the
21
- background to preserve the whole project across context compression, new sessions, and implementation.
22
-
23
- <table>
24
- <tr>
25
- <td width="33%"><strong>Whole over fragments</strong><br>Keep the result, decisions, systems, and unknowns connected.</td>
26
- <td width="33%"><strong>Expertise over costumes</strong><br>Compile project-specific professional judgment, not decorative expert personas.</td>
27
- <td width="33%"><strong>Proof over ceremony</strong><br>Use independent handoff, exact done conditions, and disk evidence.</td>
28
- </tr>
29
- </table>
30
-
31
- ## The loop
32
-
33
- ![The LOOM production loop](docs/loom-production-loop.svg)
34
-
35
- LOOM has three explicit feedback loops: understanding converges on the whole project; a fresh Keeper
36
- tests the frozen handoff and returns concrete gaps; restartable Tasks carry implementation and evidence
37
- across interruptions. A failed Keeper does not become a warning that everyone politely ignores—it sends
38
- the project back to the exact source that needs repair, then requires a changed digest and a new Keeper.
39
-
40
- The loop is adaptive. LOOM does not provide a universal questionnaire, fixed professional roles, or
41
- a mandatory phase ritual. The Agent keeps clarifying while unknowns could materially change the whole.
42
- It proceeds when the remaining uncertainty is reversible and local, or when the human explicitly asks
43
- to skip after hearing the concrete cost.
44
-
45
- ## Project truth on disk
46
-
47
- An initialized project contains one small semantic backbone:
48
-
49
- ```text
50
- .loom/
51
- ├── PROJECT.md concise entry point and map of the current whole
52
- ├── DECISIONS.md concise history when important decisions supersede earlier ones
53
- ├── design/ product, experience, system, contract, verification, operations, or research docs
54
- ├── capabilities/ one project-specific dossier per recognizable professional field
55
- ├── state.json confirmed facts, assumptions, unresolved questions, Keeper status
56
- ├── tasks.json broad Work Map plus the detailed active horizon
57
- └── eval/ optional Evil Eval scenarios for testing LOOM itself
58
- ```
59
-
60
- Small projects may need few design documents; large projects may need many. A consequential subsystem,
61
- experience, interface, contract, or operational concern gets its own document when a fresh Agent must
62
- understand or verify it independently. `PROJECT.md` maps the whole instead of becoming a thousand-line attic.
63
-
64
- ### Capability dossiers
65
-
66
- A dossier exists only when specialist knowledge would change a question, design choice,
67
- implementation, risk, or verification method. Each dossier represents one recognizable professional
1
+ <p align="center"><strong>English</strong> · <a href="README.zh-CN.md">简体中文</a></p>
2
+
3
+ <p align="center">
4
+ <img src="docs/brand/loom-readme-header.svg" alt="LOOM — Keep the whole. Continue the work." width="100%">
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="https://www.npmjs.com/package/@haaaiawd/loom"><img src="https://img.shields.io/npm/v/%40haaaiawd%2Floom?style=flat-square&amp;color=4169E1&amp;label=npm" alt="npm version"></a>
9
+ <img src="https://img.shields.io/badge/node-%E2%89%A518-17212B?style=flat-square" alt="Node.js 18 or newer">
10
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-9AD8C2?style=flat-square&amp;labelColor=17212B" alt="MIT license"></a>
11
+ </p>
12
+
13
+ <p align="center"><strong>The human talks to the Agent. LOOM helps the Agent remember, understand, and continue.</strong></p>
14
+
15
+ LOOM is spec-driven continuity, proof, and project understanding infrastructure for AI coding agents.
16
+ It supports any work that can be materially advanced through code or command-line tools: software,
17
+ operations, research workflows, office automation, data work, and highly personalized projects.
18
+
19
+ The human does not learn a framework or operate a CLI. They describe what they want, answer useful
20
+ questions, disagree, delegate decisions, and watch the work become real. The Agent uses LOOM in the
21
+ background to preserve the whole project across context compression, new sessions, and implementation.
22
+
23
+ <table>
24
+ <tr>
25
+ <td width="33%"><strong>Whole over fragments</strong><br>Keep the result, decisions, systems, and unknowns connected.</td>
26
+ <td width="33%"><strong>Expertise over costumes</strong><br>Compile project-specific professional judgment, not decorative expert personas.</td>
27
+ <td width="33%"><strong>Proof over ceremony</strong><br>Use independent handoff, exact done conditions, and disk evidence.</td>
28
+ </tr>
29
+ </table>
30
+
31
+ ## The loop
32
+
33
+ ![The LOOM production loop](docs/loom-production-loop.svg)
34
+
35
+ LOOM has three explicit feedback loops: understanding converges on the whole project; a fresh Keeper
36
+ tests the frozen handoff and returns concrete gaps; restartable Tasks carry implementation and evidence
37
+ across interruptions. A failed Keeper does not become a warning that everyone politely ignores—it sends
38
+ the project back to the exact source that needs repair, then requires a changed digest and a new Keeper.
39
+
40
+ The loop is adaptive. LOOM does not provide a universal questionnaire, fixed professional roles, or
41
+ a mandatory phase ritual. The Agent keeps clarifying while unknowns could materially change the whole.
42
+ It proceeds when the remaining uncertainty is reversible and local, or when the human explicitly asks
43
+ to skip after hearing the concrete cost.
44
+
45
+ ## Project truth on disk
46
+
47
+ An initialized project contains one small semantic backbone:
48
+
49
+ ```text
50
+ .loom/
51
+ ├── PROJECT.md concise entry point and map of the current whole
52
+ ├── DECISIONS.md concise history when important decisions supersede earlier ones
53
+ ├── design/ product, experience, system, contract, verification, operations, or research docs
54
+ ├── capabilities/ one project-specific dossier per recognizable professional field
55
+ ├── state.json confirmed facts, assumptions, unresolved questions, Keeper status
56
+ ├── tasks.json broad Work Map plus the detailed active horizon
57
+ └── eval/ optional Evil Eval scenarios for testing LOOM itself
58
+ ```
59
+
60
+ Small projects may need few design documents; large projects may need many. A consequential subsystem,
61
+ experience, interface, contract, or operational concern gets its own document when a fresh Agent must
62
+ understand or verify it independently. `PROJECT.md` maps the whole instead of becoming a thousand-line attic.
63
+
64
+ ### Capability dossiers
65
+
66
+ A dossier exists only when specialist knowledge would change a question, design choice,
67
+ implementation, risk, or verification method. Each dossier represents one recognizable professional
68
68
  field—such as UI/UX design, visual art direction, game design, psychology, security, or distributed
69
69
  systems. Different fields remain separate even when tightly coupled; their synthesis belongs in the
70
70
  design document whose decision they jointly shape. A task technique such as triage, ranking, parsing,
@@ -72,175 +72,174 @@ or caching is not allowed to masquerade as the project's entire capability surfa
72
72
 
73
73
  Capability scenario authority remains visible: `--source human` confirms a user-selected scenario;
74
74
  `--source agent` records a provisional selection when the human is unavailable.
75
-
76
- ### Work Map and Task
77
-
78
- The Work Map may be hundreds or thousands of lines. It is stored, searched, and revised on disk; it
79
- is not injected into every model context. Planning begins broadly, while detailed steps are compiled
80
- only for the active horizon.
81
-
82
- A Task is not a miniature bureaucracy. It is the smallest restartable checkpoint that tells a fresh
83
- Agent:
84
-
85
- - what observable result to create;
86
- - what proves completion;
87
- - what must not be damaged;
75
+
76
+ ### Work Map and Task
77
+
78
+ The Work Map may be hundreds or thousands of lines. It is stored, searched, and revised on disk; it
79
+ is not injected into every model context. Planning begins broadly, while detailed steps are compiled
80
+ only for the active horizon.
81
+
82
+ A Task is not a miniature bureaucracy. It is the smallest restartable checkpoint that tells a fresh
83
+ Agent:
84
+
85
+ - what observable result to create;
86
+ - what proves completion;
87
+ - what must not be damaged;
88
88
  - which project and capability documents matter;
89
89
  - which design decision and capability nodes apply, or why they do not;
90
- - what has happened, what is happening, and what comes next;
91
- - which evidence already exists and which exact done condition it proves.
92
-
93
- ## Agent quick start
94
-
95
- Install the CLI:
96
-
97
- ```bash
98
- npm install --global @haaaiawd/loom
99
- loom --version
100
- ```
101
-
102
- Or install from the repository during development:
103
-
104
- ```bash
105
- npm install --global .
106
- loom --version
107
- ```
108
-
109
- Inside a project, the Agent runs:
110
-
111
- ```bash
112
- loom init
113
- loom context
114
- ```
115
-
116
- When a Task is active, `loom context` also restores a compact execution protocol: reconcile the Task with
117
- the current workspace and version-control state, inspect relevant tests before editing, choose proof by risk
118
- and exact `acceptance` criteria, persist `completed/current/next` at meaningful handoffs, show the human real
119
- working things at milestones, and close only with reproducible evidence. It does not impose a ceremonial test
120
- or pull request on work that does not need one.
121
-
122
- ### Unattended and benchmark runs
123
-
124
- LOOM does not invent a user when none is reachable. Tell the context compiler that the human channel is
125
- unavailable; the Agent then resolves uncertainty in order: inspect the workspace and tools, research only
126
- objective facts when the task permits it, then record a bounded assumption and choose a reversible action or
127
- block on unavailable authority. Web research never substitutes for user intent, preference, or permission.
128
-
129
- ```bash
130
- loom context --human-channel unavailable
131
- ```
132
-
133
- Benchmark runners can keep LOOM state out of the scored workspace by using an external sidecar on **every**
134
- LOOM command. Virtual references such as `.loom/PROJECT.md` still work inside Task context, but `init` does not
135
- write `.loom/` or `AGENTS.md` into the workspace being scored.
136
-
137
- ```bash
138
- loom init --state-dir /runner/run-001/loom-state
139
- loom context --state-dir /runner/run-001/loom-state --human-channel unavailable
140
- ```
141
-
142
- The Agent edits `.loom/PROJECT.md`, design documents, and capability dossiers as human-readable project truth. Structured
143
- writes use JSON files so long content remains auditable and shell quoting does not corrupt it:
144
-
145
- ```bash
146
- loom record --json-file understanding-update.json
147
- loom design add product --title "Product definition" --kind product
148
- loom design add local-analysis --title "Local analysis system" --kind system
149
- loom design add acceptance --title "Vertical-slice verification" --kind verification
150
- loom capability add ui-ux-design --title "UI/UX design"
90
+ - what has happened, what is happening, and what comes next;
91
+ - which evidence already exists and which exact done condition it proves.
92
+
93
+ ## Agent quick start
94
+
95
+ Install the CLI:
96
+
97
+ ```bash
98
+ npm install --global @haaaiawd/loom
99
+ loom --version
100
+ ```
101
+
102
+ Or install from the repository during development:
103
+
104
+ ```bash
105
+ npm install --global .
106
+ loom --version
107
+ ```
108
+
109
+ Inside a project, the Agent runs:
110
+
111
+ ```bash
112
+ loom init
113
+ loom context
114
+ ```
115
+
116
+ When a Task is active, `loom context` also restores a compact execution protocol: reconcile the Task with
117
+ the current workspace and version-control state, inspect relevant tests before editing, choose proof by risk
118
+ and exact `acceptance` criteria, persist `completed/current/next` at meaningful handoffs, show the human real
119
+ working things at milestones, and close only with reproducible evidence. It does not impose a ceremonial test
120
+ or pull request on work that does not need one.
121
+
122
+ ### Unattended and benchmark runs
123
+
124
+ LOOM does not invent a user when none is reachable. Tell the context compiler that the human channel is
125
+ unavailable; the Agent then resolves uncertainty in order: inspect the workspace and tools, research only
126
+ objective facts when the task permits it, then record a bounded assumption and choose a reversible action or
127
+ block on unavailable authority. Web research never substitutes for user intent, preference, or permission.
128
+
129
+ ```bash
130
+ loom context --human-channel unavailable
131
+ ```
132
+
133
+ Benchmark runners can keep LOOM state out of the scored workspace by using an external sidecar on **every**
134
+ LOOM command. Virtual references such as `.loom/PROJECT.md` still work inside Task context, but `init` does not
135
+ write `.loom/` or `AGENTS.md` into the workspace being scored.
136
+
137
+ ```bash
138
+ loom init --state-dir /runner/run-001/loom-state
139
+ loom context --state-dir /runner/run-001/loom-state --human-channel unavailable
140
+ ```
141
+
142
+ The Agent edits `.loom/PROJECT.md`, design documents, and capability dossiers as human-readable project truth. Structured
143
+ writes use JSON files so long content remains auditable and shell quoting does not corrupt it:
144
+
145
+ ```bash
146
+ loom record --json-file understanding-update.json
147
+ loom design add product --title "Product definition" --kind product
148
+ loom design add local-analysis --title "Local analysis system" --kind system
149
+ loom design add acceptance --title "Vertical-slice verification" --kind verification
150
+ loom capability add ui-ux-design --title "UI/UX design"
151
151
  loom capability add behavioral-psychology --title "Behavioral psychology"
152
152
  loom capability confirm behavioral-psychology --scenario "<project-specific expert situation>" --source human
153
153
  loom task plan --json-file initial-work-map.json
154
- loom project ready
155
- ```
156
-
157
- At the transition to material execution, open a fresh Agent thread and give it one short instruction:
158
-
159
- ```text
160
- Run loom keeper prompt in this project and follow it. Decide whether you can responsibly start.
161
- ```
162
-
154
+ loom project ready
155
+ ```
156
+
157
+ At the transition to material execution, open a fresh Agent thread and give it one short instruction:
158
+
159
+ ```text
160
+ Run loom keeper prompt in this project and follow it. Decide whether you can responsibly start.
161
+ ```
162
+
163
163
  Keeper pass JSON records `review.mode: "independent"`, a reviewer identity, and concrete isolation evidence.
164
164
  Known self-review cannot pass; if the host cannot isolate a fresh Agent, use `loom keeper skip` with the
165
165
  reason so reduced confidence stays visible.
166
166
 
167
167
  If Keeper returns `needs_revision` or `blocked`, those exact gaps reappear in `loom context`. The Agent
168
- repairs the relevant project, design, capability, or Task source, prepares a changed digest, and opens a
169
- different fresh Keeper. If the host cannot create a subagent, the human can open a new window and use the
170
- same sentence. After the one-time handoff passes, the execution Agent starts and maintains Tasks normally:
171
-
172
- ```bash
173
- loom task next
174
- loom task start TASK-001
175
- loom context
176
- loom task update TASK-001 --json-file progress.json
177
- loom task block TASK-001 --json-file block.json
178
- loom task reopen TASK-001
179
- loom task reopen TASK-001 --reason "Prior completion evidence was disproven"
180
- loom task done TASK-001 --json-file evidence.json
181
- ```
182
-
183
- Completion is deliberately explicit:
184
-
185
- ```json
186
- {
187
- "evidence": ["npm test: 21 passed, 0 failed"],
188
- "acceptance_results": [
189
- {
190
- "criterion": "The exact acceptance criterion from the Task.",
168
+ repairs the relevant project, design, capability, or Task source, prepares a changed digest, and opens a
169
+ different fresh Keeper. If the host cannot create a subagent, the human can open a new window and use the
170
+ same sentence. After the one-time handoff passes, the execution Agent starts and maintains Tasks normally:
171
+
172
+ ```bash
173
+ loom task next
174
+ loom task start TASK-001
175
+ loom context
176
+ loom task update TASK-001 --json-file progress.json
177
+ loom task block TASK-001 --json-file block.json
178
+ loom task reopen TASK-001 --reason "How the recovery conditions were met, or why the completion was disproven"
179
+ loom task done TASK-001 --json-file evidence.json
180
+ ```
181
+
182
+ Completion is deliberately explicit:
183
+
184
+ ```json
185
+ {
186
+ "evidence": ["npm test: 27 passed, 0 failed"],
187
+ "acceptance_results": [
188
+ {
189
+ "criterion": "The exact acceptance criterion from the Task.",
191
190
  "evidence": "The command, artifact, or observation that proves this criterion."
192
- }
193
- ]
194
- }
195
- ```
196
-
191
+ }
192
+ ]
193
+ }
194
+ ```
195
+
197
196
  Run `loom --help` for the complete command surface. Structured-write commands expose canonical payloads
198
197
  through command-specific help such as `loom record --help` and `loom task done --help`. Run `loom check`
199
198
  for structural health. Run
200
- `loom prompts` to print every cognitive message LOOM can inject: the stable collaboration core,
201
- runtime protocol, dynamic state layer, all document templates, Keeper prompt, eval conditions, judge
202
- prompt, and their composition order. See the [prompt and message catalog](docs/PROMPT_CATALOG.md).
203
-
204
- ## What LOOM deliberately removed
205
-
206
- LOOM 2 replaces the v1 chain of Doctrine, Vision, Capability Graph, Impact Gate, Intent Map, Expertise
207
- Pack, Atelier, Quality Arena, per-Intent Keeper, and Atlas with one adaptive understanding loop, a
208
- scalable graph of design documents, separate professional-field dossiers, one Work Map, and one
209
- restartable Task contract.
210
-
211
- The valuable ideas remain: project judgment, external professional capability, authored choices,
212
- observable completion, context isolation, and evidence. They no longer require separate roles and gates.
213
-
214
- ## Proving that LOOM helps
215
-
216
- `loom eval scaffold --json-file scenario.json` creates an Evil Eval scenario with equal model, tools,
217
- workspace, user-channel availability, facts, and budget across two conditions. The only intended difference is the availability
218
- of LOOM. Runs are repeated, context is forcibly reset, outputs are blinded and order-swapped, and ceremony,
219
- user burden, time, and token cost are penalized alongside quality. See [EVIL_EVAL.md](EVIL_EVAL.md).
220
-
221
- ![The LOOM Evil Eval](docs/loom-eval-loop.svg)
222
-
223
- ## Development
224
-
225
- ```bash
226
- npm test
227
- ```
228
-
199
+ `loom prompts` to print every cognitive message LOOM can inject: the stable collaboration core,
200
+ runtime protocol, dynamic state layer, all document templates, Keeper prompt, eval conditions, judge
201
+ prompt, and their composition order. See the [prompt and message catalog](docs/PROMPT_CATALOG.md).
202
+
203
+ ## What LOOM deliberately removed
204
+
205
+ LOOM 2 replaces the v1 chain of Doctrine, Vision, Capability Graph, Impact Gate, Intent Map, Expertise
206
+ Pack, Atelier, Quality Arena, per-Intent Keeper, and Atlas with one adaptive understanding loop, a
207
+ scalable graph of design documents, separate professional-field dossiers, one Work Map, and one
208
+ restartable Task contract.
209
+
210
+ The valuable ideas remain: project judgment, external professional capability, authored choices,
211
+ observable completion, context isolation, and evidence. They no longer require separate roles and gates.
212
+
213
+ ## Proving that LOOM helps
214
+
215
+ `loom eval scaffold --json-file scenario.json` creates an Evil Eval scenario with equal model, tools,
216
+ workspace, user-channel availability, facts, and budget across two conditions. The only intended difference is the availability
217
+ of LOOM. Runs are repeated, context is forcibly reset, outputs are blinded and order-swapped, and ceremony,
218
+ user burden, time, and token cost are penalized alongside quality. See [EVIL_EVAL.md](EVIL_EVAL.md).
219
+
220
+ ![The LOOM Evil Eval](docs/loom-eval-loop.svg)
221
+
222
+ ## Development
223
+
224
+ ```bash
225
+ npm test
226
+ ```
227
+
229
228
  The v2 test suite exercises the complete loop, including a 250-Task Work Map, context selection,
230
- superseding decisions, scalable design documents, professional-field separation, capability compilation with
231
- source-citation validation, multi-attempt Keeper revision with auto-pass, stale digest and duplicate-run
232
- rejection, exact-file Task start, block/reopen including disproven completion, per-acceptance-criterion evidence,
233
- deliverable coverage, decision recording with affected-task warnings, and Evil Eval controls. See the
234
- [complete UX and loop specification](docs/UX_FLOW.md).
235
-
236
- ## Documentation
237
-
238
- | Read this | When you need |
239
- | --- | --- |
240
- | [System design](design.md) | The architecture, storage model, invariants, and command contracts |
241
- | [UX and loop specification](docs/UX_FLOW.md) | Every human, Agent, LOOM, Keeper, and Task transition |
242
- | [Prompt and message catalog](docs/PROMPT_CATALOG.md) | Every message LOOM injects and how the layers compose |
243
- | [Evil Eval protocol](EVIL_EVAL.md) | A controlled framework-vs-no-framework comparison |
244
- | [Changelog](CHANGELOG.md) | What changed in LOOM 2 |
245
-
246
- Editable Draw.io sources live beside both flow diagrams in [`docs/`](docs/).
229
+ superseding decisions, scalable design documents, professional-field separation, capability compilation with
230
+ source-citation validation, multi-attempt Keeper revision with explicit closure evidence, stale digest and duplicate-run
231
+ rejection, exact-file Task start, block/reopen including disproven completion, per-acceptance-criterion evidence,
232
+ deliverable coverage, decision recording with affected-task warnings, and Evil Eval controls. See the
233
+ [complete UX and loop specification](docs/UX_FLOW.md).
234
+
235
+ ## Documentation
236
+
237
+ | Read this | When you need |
238
+ | --- | --- |
239
+ | [System design](design.md) | The architecture, storage model, invariants, and command contracts |
240
+ | [UX and loop specification](docs/UX_FLOW.md) | Every human, Agent, LOOM, Keeper, and Task transition |
241
+ | [Prompt and message catalog](docs/PROMPT_CATALOG.md) | Every message LOOM injects and how the layers compose |
242
+ | [Evil Eval protocol](EVIL_EVAL.md) | A controlled framework-vs-no-framework comparison |
243
+ | [Changelog](CHANGELOG.md) | What changed in LOOM 2 |
244
+
245
+ Editable Draw.io sources live beside both flow diagrams in [`docs/`](docs/).