@surlymochan/evalid 0.0.0-stage → 0.4.1

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.
Files changed (192) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/LICENSE +21 -0
  3. package/README.md +315 -2
  4. package/RELEASE_NOTES.md +124 -0
  5. package/atoms/registry.json +758 -0
  6. package/bin/xflow.js +7261 -0
  7. package/docs/adoption/README.md +128 -0
  8. package/docs/adoption/openflow-release-hardening.md +61 -0
  9. package/docs/benchmark-openflow-vs-gstack-superpowers-openspec-2026-05-25.md +81 -0
  10. package/docs/compatibility.md +52 -0
  11. package/docs/competitive-benchmark.md +108 -0
  12. package/docs/corps-operator-guide.md +75 -0
  13. package/docs/demo-proof.md +126 -0
  14. package/docs/examples-gallery.md +115 -0
  15. package/docs/fixtures/tracker-item.json +7 -0
  16. package/docs/goal-vs-codex.md +129 -0
  17. package/docs/gstack-comparison.md +88 -0
  18. package/docs/install-upgrade.md +133 -0
  19. package/docs/integrations.md +49 -0
  20. package/docs/launch-demo.md +123 -0
  21. package/docs/launch-dossier.md +180 -0
  22. package/docs/methodology.md +149 -0
  23. package/docs/npm-publish-handoff.md +96 -0
  24. package/docs/openspec-migration.md +106 -0
  25. package/docs/public-benchmark.md +68 -0
  26. package/docs/public-release.md +145 -0
  27. package/docs/quality-assessment.md +139 -0
  28. package/docs/quickstart.md +156 -0
  29. package/docs/reviewer-guide.md +43 -0
  30. package/docs/spec-kit-benchmark.md +73 -0
  31. package/docs/super-assistant-comparison.md +106 -0
  32. package/docs/superpowers-comparison.md +82 -0
  33. package/docs/team-adoption.md +123 -0
  34. package/docs/tooling-matrix.md +91 -0
  35. package/docs/walkthrough.md +76 -0
  36. package/docs/workflow-manual.md +1130 -0
  37. package/package.json +83 -4
  38. package/prompts/pencil-draft.md +46 -0
  39. package/prompts/pencil-refine.md +46 -0
  40. package/prompts/phase-artifact.md +24 -0
  41. package/prompts/phase-execution.md +32 -0
  42. package/schemas/competitor-reconstruction-contract.schema.json +91 -0
  43. package/schemas/llm-design-review-aggregate.schema.json +83 -0
  44. package/schemas/visual-benchmark.schema.json +978 -0
  45. package/schemas/workflow.schema.json +100 -0
  46. package/scripts/run-tests.mjs +23 -0
  47. package/scripts/takein_digest.py +139 -0
  48. package/specs/README.md +118 -0
  49. package/specs/architecture.md +36 -0
  50. package/specs/product.md +33 -0
  51. package/specs/workflow.md +349 -0
  52. package/src/agent_team/atoms/codex-app-bridge.js +8 -0
  53. package/src/agent_team/atoms/design/competitor-reconstruction-review.js +44 -0
  54. package/src/agent_team/atoms/design/contract-freeze.js +8 -0
  55. package/src/agent_team/atoms/design/generation-contract.js +442 -0
  56. package/src/agent_team/atoms/design/reconstruction-pack.js +246 -0
  57. package/src/agent_team/atoms/design/reference-surface-lock.js +49 -0
  58. package/src/agent_team/atoms/patch-challenge.js +19 -0
  59. package/src/agent_team/atoms/pencil/accept.js +9 -0
  60. package/src/agent_team/atoms/pencil/draft.js +365 -0
  61. package/src/agent_team/atoms/pencil/refine.js +229 -0
  62. package/src/agent_team/atoms/phase-run-dispatch.js +8 -0
  63. package/src/agent_team/atoms/team-run.js +380 -0
  64. package/src/agent_team/atoms/visual/aesthetic-review.js +231 -0
  65. package/src/agent_team/atoms/visual/benchmark-repair-plan.js +291 -0
  66. package/src/agent_team/atoms/visual/benchmark.js +1652 -0
  67. package/src/agent_team/atoms/visual/design-selection.js +23 -0
  68. package/src/agent_team/atoms/visual/direction-synthesis.js +124 -0
  69. package/src/agent_team/atoms/visual/dom-rect-export.js +129 -0
  70. package/src/agent_team/atoms/visual/image-diff.js +186 -0
  71. package/src/agent_team/atoms/visual/layout-competition.js +8 -0
  72. package/src/agent_team/atoms/visual/page-evidence-capture.js +806 -0
  73. package/src/agent_team/atoms/visual/playwright-runtime.js +8 -0
  74. package/src/agent_team/atoms/visual/review-aggregate.js +87 -0
  75. package/src/agent_team/atoms/visual/review.js +77 -0
  76. package/src/agent_team/atoms/visual/visual-report.js +197 -0
  77. package/src/agent_team/atoms/visual/visual-token-export.js +417 -0
  78. package/src/agent_team/common.js +311 -0
  79. package/src/core/atoms/agent-invoke.js +684 -0
  80. package/src/core/atoms/event/ingest.js +30 -0
  81. package/src/core/atoms/experience/digest.js +55 -0
  82. package/src/core/atoms/gate/artifact-verify.js +83 -0
  83. package/src/core/atoms/gate/competitor-contract-validate.js +119 -0
  84. package/src/core/atoms/gate/evidence-collect.js +64 -0
  85. package/src/core/atoms/gate/payload-from-phase-run.js +78 -0
  86. package/src/core/atoms/gate/visual-benchmark-validate.js +183 -0
  87. package/src/core/atoms/gate/workbench.js +79 -0
  88. package/src/core/atoms/intake/classify.js +15 -0
  89. package/src/core/atoms/intake/design-skill-select.js +16 -0
  90. package/src/core/atoms/intake/preview-or-refine.js +19 -0
  91. package/src/core/atoms/intake/recommend.js +20 -0
  92. package/src/core/atoms/intake/research-same-category.js +19 -0
  93. package/src/core/atoms/intervention/create.js +30 -0
  94. package/src/core/atoms/memory/manage.js +27 -0
  95. package/src/core/atoms/memory/mount.js +13 -0
  96. package/src/core/atoms/mission/create.js +19 -0
  97. package/src/core/atoms/mission/list.js +14 -0
  98. package/src/core/atoms/mission/show.js +26 -0
  99. package/src/core/atoms/notify/checkpoint.js +46 -0
  100. package/src/core/atoms/phase-run/complete.js +42 -0
  101. package/src/core/atoms/phase-run/fail.js +40 -0
  102. package/src/core/atoms/phase-run/persist.js +39 -0
  103. package/src/core/atoms/phase-run/start.js +30 -0
  104. package/src/core/atoms/plugin/run.js +76 -0
  105. package/src/core/atoms/policy/gate.js +90 -0
  106. package/src/core/atoms/policy/resolve.js +11 -0
  107. package/src/core/atoms/storage/sync.js +57 -0
  108. package/src/core/atoms/workflow/advance.js +25 -0
  109. package/src/core/atoms/workflow/guard.js +127 -0
  110. package/src/core/atoms/workflow/state-load.js +37 -0
  111. package/src/core/bindings.js +37 -0
  112. package/src/core/change-artifacts.js +134 -0
  113. package/src/core/competitive-score.js +265 -0
  114. package/src/core/concurrency-policy.js +35 -0
  115. package/src/core/execution-log.js +108 -0
  116. package/src/core/intake-recommendation.js +134 -0
  117. package/src/core/memory-state.js +62 -0
  118. package/src/core/mission-state.js +780 -0
  119. package/src/core/pending-gates.js +66 -0
  120. package/src/core/phase-cost.js +116 -0
  121. package/src/core/phase-run-read.js +27 -0
  122. package/src/core/policy-overlay.js +180 -0
  123. package/src/core/state-store.js +201 -0
  124. package/src/core/workflow-executor.js +1014 -0
  125. package/src/core/workflow-integrity.js +111 -0
  126. package/src/core/workflow-loader.js +163 -0
  127. package/src/core/workflow-rerun.js +84 -0
  128. package/src/core/workflow-state.js +119 -0
  129. package/src/server.js +1307 -0
  130. package/workflows/corps.yaml +481 -0
  131. package/workflows/yolo.yaml +241 -0
  132. package/xflow/README.md +76 -0
  133. package/xflow/aha/SKILL.md +82 -0
  134. package/xflow/aha/scripts/append_aha.py +50 -0
  135. package/xflow/archive/scripts/archive_change.py +338 -0
  136. package/xflow/archive/templates/merge-design.md +54 -0
  137. package/xflow/archive/templates/merge-workflow.md +26 -0
  138. package/xflow/atoms/__init__.py +6 -0
  139. package/xflow/atoms/a1_issue_create_or_patch.py +70 -0
  140. package/xflow/atoms/a2_branch_create_and_link.py +42 -0
  141. package/xflow/atoms/a3_repo_doctor.py +11 -0
  142. package/xflow/atoms/a4_project_set_status.py +11 -0
  143. package/xflow/atoms/a5_archive_commit_push_close.py +11 -0
  144. package/xflow/atoms/a6_pr_create.py +72 -0
  145. package/xflow/atoms/b1_change_scaffold.py +11 -0
  146. package/xflow/atoms/b2_status_read.py +16 -0
  147. package/xflow/atoms/b2b_status_write.py +20 -0
  148. package/xflow/atoms/b3_status_transition.py +27 -0
  149. package/xflow/atoms/b4_handoff_scaffold_or_refresh.py +11 -0
  150. package/xflow/atoms/b5_aha_append.py +11 -0
  151. package/xflow/atoms/b6_takein_digest.py +11 -0
  152. package/xflow/atoms/b6b_lookback_digest.py +11 -0
  153. package/xflow/atoms/b7_change_mission_bind.py +43 -0
  154. package/xflow/atoms/c1_mem.py +54 -0
  155. package/xflow/atoms/e6_gate_local_precheck.py +23 -0
  156. package/xflow/atoms/h1_design_lite_gate.py +74 -0
  157. package/xflow/atoms/i6a_tdd_run.py +107 -0
  158. package/xflow/atoms/i6b_tdd_proof_validate.py +184 -0
  159. package/xflow/atoms/i6c_tdd_quality_review.py +372 -0
  160. package/xflow/atoms/j1_tests_run.py +129 -0
  161. package/xflow/atoms/j4a_spec_consistency_structural.py +105 -0
  162. package/xflow/atoms/j4b_spec_delta_review.py +316 -0
  163. package/xflow/atoms/j4c_openspec_migration_map.py +121 -0
  164. package/xflow/atoms/j4d_spec_clarify_gate.py +373 -0
  165. package/xflow/atoms/j6_cr_review.py +443 -0
  166. package/xflow/atoms/k1_artifacts_complete_check.py +39 -0
  167. package/xflow/atoms/k2_merge_snippets_apply.py +11 -0
  168. package/xflow/atoms/k3_handoff_refresh.py +14 -0
  169. package/xflow/atoms/k4_mem_lesson_persist.py +65 -0
  170. package/xflow/atoms/k5_archive_publish.py +21 -0
  171. package/xflow/atoms/k6_aha_merge.py +42 -0
  172. package/xflow/atoms/tdd_lib.py +956 -0
  173. package/xflow/corps/SKILL.md +109 -0
  174. package/xflow/exec/scripts/set_issue_in_progress.py +159 -0
  175. package/xflow/goal/SKILL.md +150 -0
  176. package/xflow/handoff/SKILL.md +95 -0
  177. package/xflow/handoff/scripts/scaffold_handoff.py +304 -0
  178. package/xflow/lookback/SKILL.md +66 -0
  179. package/xflow/lookback/scripts/lookback_digest.py +46 -0
  180. package/xflow/openissue/scripts/open_issue_flow.py +438 -0
  181. package/xflow/plan/SKILL.md +47 -0
  182. package/xflow/ralph/SKILL.md +123 -0
  183. package/xflow/scripts/check_installed_xflow_skill_sync.sh +44 -0
  184. package/xflow/scripts/common.py +483 -0
  185. package/xflow/scripts/doctor.py +278 -0
  186. package/xflow/scripts/sync_installed_xflow_skill.sh +134 -0
  187. package/xflow/takein/SKILL.md +81 -0
  188. package/xflow/takein/scripts/takein_digest.py +88 -0
  189. package/xflow/yolo/SKILL.md +75 -0
  190. package/xflow/yolo/scripts/scaffold_specs_change.py +673 -0
  191. package/xflow/yolo/scripts/yolo_gate.py +312 -0
  192. package/xflow/yolo/templates/DESIGN.md +179 -0
@@ -0,0 +1,758 @@
1
+ {
2
+ "_comment": "Canonical atom registry. Every atom has exactly ONE implementation. track=lite atoms must not import heavy modules.",
3
+ "atoms": {
4
+ "A1.issue.create_or_patch": {
5
+ "track": "lite",
6
+ "type": "python",
7
+ "script": "xflow/atoms/a1_issue_create_or_patch.py",
8
+ "description": "Create or patch a GitHub issue, return issue number and URL",
9
+ "input_schema": {
10
+ "repo": "string",
11
+ "change_id": "string",
12
+ "title": "string",
13
+ "body_file": "string?",
14
+ "issue_number": "integer?"
15
+ }
16
+ },
17
+ "A2.branch.create_and_link": {
18
+ "track": "lite",
19
+ "type": "python",
20
+ "script": "xflow/atoms/a2_branch_create_and_link.py",
21
+ "description": "Create branch named after issue, push, and link back to issue via comment",
22
+ "input_schema": {
23
+ "repo": "string",
24
+ "change_id": "string",
25
+ "issue_number": "integer",
26
+ "base_branch": "string?"
27
+ }
28
+ },
29
+ "A3.repo.doctor": {
30
+ "track": "lite",
31
+ "type": "python",
32
+ "script": "xflow/atoms/a3_repo_doctor.py",
33
+ "description": "Validate repo/remote/issue/branch/project consistency, emit JSON verdict",
34
+ "input_schema": {
35
+ "project_root": "string",
36
+ "change_id": "string"
37
+ }
38
+ },
39
+ "A4.project.set_status": {
40
+ "track": "lite",
41
+ "type": "python",
42
+ "script": "xflow/atoms/a4_project_set_status.py",
43
+ "description": "Move GitHub Project item to a named status column (In Progress / Done)",
44
+ "input_schema": {
45
+ "project_root": "string",
46
+ "change_id": "string",
47
+ "target_status": "string"
48
+ }
49
+ },
50
+ "A5.archive.commit_push_close": {
51
+ "track": "lite",
52
+ "type": "python",
53
+ "script": "xflow/atoms/a5_archive_commit_push_close.py",
54
+ "description": "Stage artifacts, create commit, push branch, close issue, mark project Done",
55
+ "input_schema": {
56
+ "project_root": "string",
57
+ "change_id": "string",
58
+ "commit_message": "string?"
59
+ }
60
+ },
61
+ "A6.pr.create": {
62
+ "track": "lite",
63
+ "type": "python",
64
+ "script": "xflow/atoms/a6_pr_create.py",
65
+ "description": "Open a PR from the issue branch against base, return PR URL",
66
+ "input_schema": {
67
+ "project_root": "string",
68
+ "change_id": "string",
69
+ "base_branch": "string?"
70
+ }
71
+ },
72
+ "B1.change.scaffold": {
73
+ "track": "lite",
74
+ "type": "python",
75
+ "script": "xflow/atoms/b1_change_scaffold.py",
76
+ "description": "Initialize specs/changes/<change_id>/ with proposal/plan/tasks/status.json",
77
+ "input_schema": {
78
+ "project_root": "string",
79
+ "change_id": "string",
80
+ "title": "string",
81
+ "change_type": "string"
82
+ }
83
+ },
84
+ "B2.status.read": {
85
+ "track": "lite",
86
+ "type": "python",
87
+ "script": "xflow/atoms/b2_status_read.py",
88
+ "description": "Read and return the parsed status.json for a change",
89
+ "input_schema": {
90
+ "project_root": "string",
91
+ "change_id": "string"
92
+ }
93
+ },
94
+ "B2b.status.write": {
95
+ "track": "lite",
96
+ "type": "python",
97
+ "script": "xflow/atoms/b2b_status_write.py",
98
+ "description": "Merge fields into status.json, preserving history arrays",
99
+ "input_schema": {
100
+ "project_root": "string",
101
+ "change_id": "string",
102
+ "fields": "object"
103
+ }
104
+ },
105
+ "B3.status.transition": {
106
+ "track": "lite",
107
+ "type": "python",
108
+ "script": "xflow/atoms/b3_status_transition.py",
109
+ "description": "Assert and record a stage or status transition with history entry",
110
+ "input_schema": {
111
+ "project_root": "string",
112
+ "change_id": "string",
113
+ "to_stage": "string?",
114
+ "to_status": "string?",
115
+ "reason": "string?"
116
+ }
117
+ },
118
+ "B4.handoff.scaffold_or_refresh": {
119
+ "track": "lite",
120
+ "type": "python",
121
+ "script": "xflow/atoms/b4_handoff_scaffold_or_refresh.py",
122
+ "description": "Create or refresh root HANDOFF.md with required Context Pack sections",
123
+ "input_schema": {
124
+ "project_root": "string",
125
+ "title": "string?"
126
+ }
127
+ },
128
+ "B5.aha.append": {
129
+ "track": "lite",
130
+ "type": "python",
131
+ "script": "xflow/atoms/b5_aha_append.py",
132
+ "description": "Append a structured AHA entry to root AHA.md",
133
+ "input_schema": {
134
+ "project_root": "string",
135
+ "title": "string",
136
+ "insight": "string",
137
+ "why": "string",
138
+ "action": "string",
139
+ "evidence": "string[]?"
140
+ }
141
+ },
142
+ "B6.takein.digest": {
143
+ "track": "lite",
144
+ "type": "python",
145
+ "script": "xflow/atoms/b6_takein_digest.py",
146
+ "description": "Extract compact digest from HANDOFF.md and AHA.md for session rehydration",
147
+ "input_schema": {
148
+ "project_root": "string"
149
+ }
150
+ },
151
+ "B6b.lookback.digest": {
152
+ "track": "lite",
153
+ "type": "python",
154
+ "script": "xflow/atoms/b6b_lookback_digest.py",
155
+ "description": "List lookback sources (HANDOFF.md, AHA.md, DESIGN.md, recent plans)",
156
+ "input_schema": {
157
+ "project_root": "string"
158
+ }
159
+ },
160
+ "B7.change_mission.bind": {
161
+ "track": "lite",
162
+ "type": "python",
163
+ "script": "xflow/atoms/b7_change_mission_bind.py",
164
+ "description": "Write change_id <-> mission_id binding row to .as-xflow/bindings.json",
165
+ "input_schema": {
166
+ "project_root": "string",
167
+ "change_id": "string",
168
+ "mission_id": "string?",
169
+ "direction": "string?"
170
+ }
171
+ },
172
+ "C1.mem": {
173
+ "track": "lite",
174
+ "type": "python",
175
+ "script": "xflow/atoms/c1_mem.py",
176
+ "description": "Opaque personal/global memory atom — all subcommands passed through verbatim",
177
+ "input_schema": {
178
+ "subcommand": "string",
179
+ "args": "string[]?"
180
+ }
181
+ },
182
+ "E6.gate.local_precheck": {
183
+ "track": "lite",
184
+ "type": "python",
185
+ "script": "xflow/atoms/e6_gate_local_precheck.py",
186
+ "description": "Deterministic preflight gate: artifact presence + status.json consistency + doctor. Single source of truth for lite gate logic.",
187
+ "input_schema": {
188
+ "project_root": "string",
189
+ "change_id": "string",
190
+ "phase": "string"
191
+ }
192
+ },
193
+ "H1.design.lite_gate": {
194
+ "track": "lite",
195
+ "type": "python",
196
+ "script": "xflow/atoms/h1_design_lite_gate.py",
197
+ "description": "Check DESIGN.md presence and required sections (Reference Anchors, Beauty Contract, Layout Premise). Deterministic.",
198
+ "input_schema": {
199
+ "project_root": "string",
200
+ "change_id": "string",
201
+ "require_full_contract": "boolean?"
202
+ }
203
+ },
204
+ "I6a.tdd.run": {
205
+ "track": "lite",
206
+ "type": "python",
207
+ "script": "xflow/atoms/i6a_tdd_run.py",
208
+ "description": "Run test command, snapshot the tree, and bind the exit code, output hash, and failure class into a TDD proof",
209
+ "input_schema": {
210
+ "project_root": "string",
211
+ "change_id": "string",
212
+ "test_command": "string",
213
+ "phase": "string?",
214
+ "expect": "pass|fail?"
215
+ }
216
+ },
217
+ "I6b.tdd.proof_validate": {
218
+ "track": "lite",
219
+ "type": "python",
220
+ "script": "xflow/atoms/i6b_tdd_proof_validate.py",
221
+ "description": "Recompute the TDD proof binding, re-run the command on its snapshot, and check red/green semantics. refactor and docs modes can omit a red proof.",
222
+ "input_schema": {
223
+ "project_root": "string",
224
+ "change_id": "string",
225
+ "phase": "string?",
226
+ "tdd_mode": "red-green|refactor|docs?"
227
+ }
228
+ },
229
+ "I6c.tdd.quality_review": {
230
+ "track": "lite",
231
+ "type": "python",
232
+ "script": "xflow/atoms/i6c_tdd_quality_review.py",
233
+ "description": "Review changed-test quality, red/green command identity, skip/todo markers, and weak assertions. tdd_mode refactor or docs replaces the red-proof requirement.",
234
+ "input_schema": {
235
+ "project_root": "string",
236
+ "change_id": "string",
237
+ "diff_ref": "string?",
238
+ "tdd_mode": "red-green|refactor|docs?"
239
+ }
240
+ },
241
+ "J4a.spec_consistency.structural": {
242
+ "track": "lite",
243
+ "type": "python",
244
+ "script": "xflow/atoms/j4a_spec_consistency_structural.py",
245
+ "description": "Deterministic structural consistency check: diff proposal sections vs plan tasks vs specs/* vs AHA.md keyword anchors",
246
+ "input_schema": {
247
+ "project_root": "string",
248
+ "change_id": "string"
249
+ }
250
+ },
251
+ "J4b.spec_delta.review": {
252
+ "track": "lite",
253
+ "type": "python",
254
+ "script": "xflow/atoms/j4b_spec_delta_review.py",
255
+ "description": "Generate deterministic reviewer-facing spec delta review for proposal, plan, tasks, and merge spec snippets",
256
+ "input_schema": {
257
+ "project_root": "string",
258
+ "change_id": "string"
259
+ }
260
+ },
261
+ "J4d.spec_clarify.gate": {
262
+ "track": "lite",
263
+ "type": "python",
264
+ "script": "xflow/atoms/j4d_spec_clarify_gate.py",
265
+ "description": "Pre-implementation SPEC clarification gate: flag unquantified MUST/SHALL statements, scenarios missing WHEN/THEN, unquantified vague terms (EN/CN), and unresolved placeholders; every finding carries a concrete clarification question. Writes spec_clarify.json/.md.",
266
+ "input_schema": {
267
+ "project_root": "string",
268
+ "change_id": "string",
269
+ "files": "string[]?"
270
+ }
271
+ },
272
+ "J4c.openspec.migration_map": {
273
+ "track": "lite",
274
+ "type": "python",
275
+ "script": "xflow/atoms/j4c_openspec_migration_map.py",
276
+ "description": "Read OpenSpec folders and generate a safe evalid migration mapping report",
277
+ "input_schema": {
278
+ "project_root": "string",
279
+ "openspec_root": "string?"
280
+ }
281
+ },
282
+ "J6.cr.review": {
283
+ "track": "lite",
284
+ "type": "python",
285
+ "script": "xflow/atoms/j6_cr_review.py",
286
+ "description": "Deterministic first-pass code review gate before PR/archive: spec alignment of changed code, test follow per code file, assertion net-decrease check, and a configurable loop budget (diff size) that recommends splitting the spec",
287
+ "input_schema": {
288
+ "project_root": "string",
289
+ "change_id": "string",
290
+ "diff_ref": "string?",
291
+ "max_files": "integer?",
292
+ "max_lines": "integer?"
293
+ }
294
+ },
295
+ "K6.aha.merge": {
296
+ "track": "lite",
297
+ "type": "python",
298
+ "script": "xflow/atoms/k6_aha_merge.py",
299
+ "description": "Merge durable insights from change workspace into root AHA.md (idempotent, dated)",
300
+ "input_schema": {
301
+ "project_root": "string",
302
+ "change_id": "string"
303
+ }
304
+ },
305
+ "D1.mission.create": {
306
+ "track": "heavy",
307
+ "type": "js",
308
+ "module": "src/core/atoms/mission/create.js",
309
+ "export": "missionCreate",
310
+ "description": "Create mission in state.sqlite with goal/workspace/repo/intake_snapshot",
311
+ "requires_http": false
312
+ },
313
+ "D2.mission.list": {
314
+ "track": "heavy",
315
+ "type": "js",
316
+ "module": "src/core/atoms/mission/list.js",
317
+ "export": "missionList",
318
+ "description": "List missions from state",
319
+ "requires_http": false
320
+ },
321
+ "D2b.mission.show": {
322
+ "track": "heavy",
323
+ "type": "js",
324
+ "module": "src/core/atoms/mission/show.js",
325
+ "export": "missionShow",
326
+ "description": "Show mission detail including phase-runs and gate decisions",
327
+ "requires_http": false
328
+ },
329
+ "D3a.phase_run.start": {
330
+ "track": "heavy",
331
+ "type": "js",
332
+ "module": "src/core/atoms/phase-run/start.js",
333
+ "export": "phaseRunStart",
334
+ "requires_http": false
335
+ },
336
+ "D3b.phase_run.persist": {
337
+ "track": "heavy",
338
+ "type": "js",
339
+ "module": "src/core/atoms/phase-run/persist.js",
340
+ "export": "phaseRunPersist",
341
+ "requires_http": false
342
+ },
343
+ "D3c.phase_run.complete": {
344
+ "track": "heavy",
345
+ "type": "js",
346
+ "module": "src/core/atoms/phase-run/complete.js",
347
+ "export": "phaseRunComplete",
348
+ "requires_http": false
349
+ },
350
+ "D3d.phase_run.fail": {
351
+ "track": "heavy",
352
+ "type": "js",
353
+ "module": "src/core/atoms/phase-run/fail.js",
354
+ "export": "phaseRunFail",
355
+ "requires_http": false
356
+ },
357
+ "D4.event.ingest": {
358
+ "track": "heavy",
359
+ "type": "js",
360
+ "module": "src/core/atoms/event/ingest.js",
361
+ "export": "eventIngest",
362
+ "requires_http": false
363
+ },
364
+ "D5.intervention.create": {
365
+ "track": "heavy",
366
+ "type": "js",
367
+ "module": "src/core/atoms/intervention/create.js",
368
+ "export": "interventionCreate",
369
+ "requires_http": false
370
+ },
371
+ "E1.workflow.state_load": {
372
+ "track": "heavy",
373
+ "type": "js",
374
+ "module": "src/core/atoms/workflow/state-load.js",
375
+ "export": "workflowStateLoad",
376
+ "requires_http": false
377
+ },
378
+ "E2.workflow.guard": {
379
+ "track": "heavy",
380
+ "type": "js",
381
+ "module": "src/core/atoms/workflow/guard.js",
382
+ "export": "workflowGuard",
383
+ "description": "Mint gate token, run command, validate artifact, advance state. Uses E6 for structural checks.",
384
+ "requires_http": false
385
+ },
386
+ "E3.gate.workbench": {
387
+ "track": "heavy",
388
+ "type": "js",
389
+ "module": "src/core/atoms/gate/workbench.js",
390
+ "export": "gateWorkbench",
391
+ "requires_http": false
392
+ },
393
+ "E4.gate.payload_from_phase_run": {
394
+ "track": "heavy",
395
+ "type": "js",
396
+ "module": "src/core/atoms/gate/payload-from-phase-run.js",
397
+ "export": "gatePayloadFromPhaseRun",
398
+ "requires_http": false
399
+ },
400
+ "E5.artifact.verify": {
401
+ "track": "heavy",
402
+ "type": "js",
403
+ "module": "src/core/atoms/gate/artifact-verify.js",
404
+ "export": "artifactVerify",
405
+ "requires_http": false
406
+ },
407
+ "E7.workflow.advance": {
408
+ "track": "heavy",
409
+ "type": "js",
410
+ "module": "src/core/atoms/workflow/advance.js",
411
+ "export": "workflowAdvance",
412
+ "description": "Advance workflow cursor to next phase after gate passes. Split from E2 for retry support.",
413
+ "requires_http": false
414
+ },
415
+ "F1.memory_item.manage": {
416
+ "track": "heavy",
417
+ "type": "js",
418
+ "module": "src/core/atoms/memory/manage.js",
419
+ "export": "memoryItemManage",
420
+ "requires_http": false
421
+ },
422
+ "F2.memory.mount": {
423
+ "track": "heavy",
424
+ "type": "js",
425
+ "module": "src/core/atoms/memory/mount.js",
426
+ "export": "memoryMount",
427
+ "requires_http": false
428
+ },
429
+ "G1.intake.preview_or_refine": {
430
+ "track": "heavy",
431
+ "type": "js",
432
+ "module": "src/core/atoms/intake/preview-or-refine.js",
433
+ "export": "intakePreviewOrRefine"
434
+ },
435
+ "G2.intake.classify": {
436
+ "track": "heavy",
437
+ "type": "js",
438
+ "module": "src/core/atoms/intake/classify.js",
439
+ "export": "intakeClassify",
440
+ "requires_http": false
441
+ },
442
+ "G3.research.same_category": {
443
+ "track": "heavy",
444
+ "type": "js",
445
+ "module": "src/core/atoms/intake/research-same-category.js",
446
+ "export": "researchSameCategory",
447
+ "requires_http": false
448
+ },
449
+ "G4.design_skill.select": {
450
+ "track": "heavy",
451
+ "type": "js",
452
+ "module": "src/core/atoms/intake/design-skill-select.js",
453
+ "export": "designSkillSelect",
454
+ "requires_http": false
455
+ },
456
+ "H2.design.contract_freeze": {
457
+ "track": "heavy",
458
+ "type": "js",
459
+ "module": "src/agent_team/atoms/design/contract-freeze.js",
460
+ "export": "designContractFreeze",
461
+ "requires_http": false
462
+ },
463
+ "H2b.design.competitor_reconstruction_review": {
464
+ "track": "heavy",
465
+ "type": "js",
466
+ "module": "src/agent_team/atoms/design/competitor-reconstruction-review.js",
467
+ "export": "competitorReconstructionReview",
468
+ "requires_http": false
469
+ },
470
+ "H2d.design.reference_surface_lock": {
471
+ "track": "heavy",
472
+ "type": "js",
473
+ "module": "src/agent_team/atoms/design/reference-surface-lock.js",
474
+ "export": "referenceSurfaceLock",
475
+ "requires_http": false
476
+ },
477
+ "H2e.design.reconstruction_pack": {
478
+ "track": "heavy",
479
+ "type": "js",
480
+ "module": "src/agent_team/atoms/design/reconstruction-pack.js",
481
+ "export": "reconstructionPack",
482
+ "requires_http": false
483
+ },
484
+ "H2f.design.generation_contract": {
485
+ "track": "heavy",
486
+ "type": "js",
487
+ "module": "src/agent_team/atoms/design/generation-contract.js",
488
+ "export": "generationContract",
489
+ "requires_http": false
490
+ },
491
+ "H2c.design.competitor_contract_validate": {
492
+ "track": "heavy",
493
+ "type": "js",
494
+ "module": "src/core/atoms/gate/competitor-contract-validate.js",
495
+ "export": "competitorContractValidate",
496
+ "requires_http": false
497
+ },
498
+ "H3a.visual.direction_synthesis": {
499
+ "track": "heavy",
500
+ "type": "js",
501
+ "module": "src/agent_team/atoms/visual/direction-synthesis.js",
502
+ "export": "visualDirectionSynthesis",
503
+ "requires_http": false
504
+ },
505
+ "H3b.visual.layout_competition": {
506
+ "track": "heavy",
507
+ "type": "js",
508
+ "module": "src/agent_team/atoms/visual/layout-competition.js",
509
+ "export": "visualLayoutCompetition",
510
+ "requires_http": false
511
+ },
512
+ "H3c.visual.design_selection": {
513
+ "track": "heavy",
514
+ "type": "js",
515
+ "module": "src/agent_team/atoms/visual/design-selection.js",
516
+ "export": "visualDesignSelection",
517
+ "requires_http": false
518
+ },
519
+ "H4a.pencil.draft": {
520
+ "track": "heavy",
521
+ "type": "agent_invoke",
522
+ "module": "src/core/atoms/agent-invoke.js",
523
+ "prompt_template": "prompts/pencil-draft.md",
524
+ "expected_artifact": "specs/changes/${change_id}/pencil_output.pen",
525
+ "agent_config": { "adapter": "auto", "require_real_runtime": true, "model": "claude-sonnet-4-6", "timeout_ms": 900000 },
526
+ "stub_config": {
527
+ "write_pen": true
528
+ }
529
+ },
530
+ "H4b.pencil.refine": {
531
+ "track": "heavy",
532
+ "type": "agent_invoke",
533
+ "module": "src/core/atoms/agent-invoke.js",
534
+ "prompt_template": "prompts/pencil-refine.md",
535
+ "expected_artifact": "specs/changes/${change_id}/pencil_output.pen",
536
+ "agent_config": { "adapter": "auto", "require_real_runtime": true, "model": "claude-sonnet-4-6", "timeout_ms": 900000 },
537
+ "stub_config": {
538
+ "write_pen": true
539
+ }
540
+ },
541
+ "H4c.pencil.accept": {
542
+ "track": "heavy",
543
+ "type": "js",
544
+ "module": "src/agent_team/atoms/pencil/accept.js",
545
+ "export": "pencilAccept",
546
+ "requires_http": false
547
+ },
548
+ "H5.visual.review": {
549
+ "track": "heavy",
550
+ "type": "js",
551
+ "module": "src/agent_team/atoms/visual/review.js",
552
+ "export": "visualReview",
553
+ "requires_http": false
554
+ },
555
+ "H5b.visual.review.aggregate": {
556
+ "track": "heavy",
557
+ "type": "js",
558
+ "module": "src/agent_team/atoms/visual/review-aggregate.js",
559
+ "export": "visualReviewAggregate",
560
+ "description": "Aggregate parallel visual review and benchmark worker outputs into a single llm_design_review artifact"
561
+ },
562
+ "H6.visual.benchmark": {
563
+ "track": "heavy",
564
+ "type": "js",
565
+ "module": "src/agent_team/atoms/visual/benchmark.js",
566
+ "export": "visualBenchmark",
567
+ "description": "Execute the deterministic reference-backed visual benchmark and persist visual_benchmark.json"
568
+ },
569
+ "H6b.visual.benchmark_validate": {
570
+ "track": "heavy",
571
+ "type": "js",
572
+ "module": "src/core/atoms/gate/visual-benchmark-validate.js",
573
+ "export": "visualBenchmarkValidate",
574
+ "requires_http": false
575
+ },
576
+ "H6c.visual.benchmark_repair_plan": {
577
+ "track": "heavy",
578
+ "type": "js",
579
+ "module": "src/agent_team/atoms/visual/benchmark-repair-plan.js",
580
+ "export": "benchmarkRepairPlan",
581
+ "requires_http": false
582
+ },
583
+ "H6d.visual.aesthetic_review": {
584
+ "track": "heavy",
585
+ "type": "js",
586
+ "module": "src/agent_team/atoms/visual/aesthetic-review.js",
587
+ "export": "visualAestheticReview",
588
+ "requires_http": false,
589
+ "description": "Gate high-aesthetic UI readiness across aesthetic contract, image-reference strategy, Pencil boundary, and benchmark proof"
590
+ },
591
+ "I1.team.run": {
592
+ "track": "heavy",
593
+ "type": "agent_invoke",
594
+ "module": "src/core/atoms/agent-invoke.js",
595
+ "prompt_template": "prompts/phase-execution.md",
596
+ "expected_artifact": "specs/changes/${change_id}/execution.json",
597
+ "agent_config": { "adapter": "auto" }
598
+ },
599
+ "I1b.team.run.structured": {
600
+ "track": "heavy",
601
+ "type": "js",
602
+ "module": "src/agent_team/atoms/team-run.js",
603
+ "export": "teamRun",
604
+ "requires_http": false
605
+ },
606
+ "I2.phase_run.dispatch": {
607
+ "track": "heavy",
608
+ "type": "agent_invoke",
609
+ "module": "src/core/atoms/agent-invoke.js",
610
+ "prompt_template": "prompts/phase-artifact.md",
611
+ "expected_artifact": "specs/changes/${change_id}/execute.json",
612
+ "agent_config": { "adapter": "auto" },
613
+ "stub_config": {
614
+ "use_phase_artifact": false,
615
+ "summary": "Phase-run dispatch completed and execution evidence was recorded."
616
+ }
617
+ },
618
+ "I4.patch.challenge": {
619
+ "track": "heavy",
620
+ "type": "js",
621
+ "module": "src/agent_team/atoms/patch-challenge.js",
622
+ "export": "patchChallenge"
623
+ },
624
+ "I5.codex.app_bridge": {
625
+ "track": "heavy",
626
+ "type": "js",
627
+ "module": "src/agent_team/atoms/codex-app-bridge.js",
628
+ "export": "codexAppBridge",
629
+ "requires_http": false
630
+ },
631
+ "J1.tests.run": {
632
+ "track": "lite",
633
+ "type": "python",
634
+ "script": "xflow/atoms/j1_tests_run.py",
635
+ "description": "Run planned verification commands, capture pass/fail proof",
636
+ "input_schema": {
637
+ "project_root": "string",
638
+ "change_id": "string",
639
+ "commands": "string[]"
640
+ }
641
+ },
642
+ "J5.gate.evidence_collect": {
643
+ "track": "heavy",
644
+ "type": "js",
645
+ "module": "src/core/atoms/gate/evidence-collect.js",
646
+ "export": "gateEvidenceCollect",
647
+ "description": "Walk specs/changes/<id>/ and phase-run artifactRefs, build evidence packet for gate",
648
+ "requires_http": false
649
+ },
650
+ "P1.policy.resolve": {
651
+ "track": "lite",
652
+ "type": "js",
653
+ "module": "src/core/atoms/policy/resolve.js",
654
+ "export": "policyResolve",
655
+ "description": "Resolve personal/team policy overlay and write policy_effective.json without forking yolo/corps",
656
+ "requires_http": false
657
+ },
658
+ "P2.policy.gate": {
659
+ "track": "lite",
660
+ "type": "js",
661
+ "module": "src/core/atoms/policy/gate.js",
662
+ "export": "policyGate",
663
+ "description": "Evaluate effective team policy against coverage, reviewer, and smoke evidence; write structured policy_gate.json",
664
+ "requires_http": false
665
+ },
666
+ "G5.intake.recommend": {
667
+ "track": "lite",
668
+ "type": "js",
669
+ "module": "src/core/atoms/intake/recommend.js",
670
+ "export": "intakeRecommend",
671
+ "description": "Build demand profile and workflow_recommendation.json for yolo/corps plus optional gate overlays",
672
+ "requires_http": false
673
+ },
674
+ "N1.notify.checkpoint": {
675
+ "track": "lite",
676
+ "type": "js",
677
+ "module": "src/core/atoms/notify/checkpoint.js",
678
+ "export": "notifyCheckpoint",
679
+ "description": "Send file/mock checkpoint notification evidence; does not approve human gates",
680
+ "requires_http": false
681
+ },
682
+ "N2.plugin.run": {
683
+ "track": "lite",
684
+ "type": "js",
685
+ "module": "src/core/atoms/plugin/run.js",
686
+ "export": "pluginRun",
687
+ "description": "Run or dry-run generic script/webhook plugin providers and write structured plugin result evidence",
688
+ "requires_http": false
689
+ },
690
+ "N3.storage.sync": {
691
+ "track": "lite",
692
+ "type": "js",
693
+ "module": "src/core/atoms/storage/sync.js",
694
+ "export": "storageSync",
695
+ "description": "Import/export file/mock shared storage artifacts under .xflow/storage and record sync evidence",
696
+ "requires_http": false
697
+ },
698
+ "N4.experience.digest": {
699
+ "track": "lite",
700
+ "type": "js",
701
+ "module": "src/core/atoms/experience/digest.js",
702
+ "export": "experienceDigest",
703
+ "description": "Summarize local/team experience entries into advisory experience_digest.json",
704
+ "requires_http": false
705
+ },
706
+ "K1.artifacts.complete_check": {
707
+ "track": "lite",
708
+ "type": "python",
709
+ "script": "xflow/atoms/k1_artifacts_complete_check.py",
710
+ "description": "Verify proposal/plan/tasks/status.json (and design.md if frontend) exist and are non-empty",
711
+ "input_schema": {
712
+ "project_root": "string",
713
+ "change_id": "string"
714
+ }
715
+ },
716
+ "K2.merge_snippets.apply": {
717
+ "track": "lite",
718
+ "type": "python",
719
+ "script": "xflow/atoms/k2_merge_snippets_apply.py",
720
+ "description": "Standalone merge-snippets-only helper: append merge-*.md snippets from change workspace into root specs/* files",
721
+ "input_schema": {
722
+ "project_root": "string",
723
+ "change_id": "string"
724
+ }
725
+ },
726
+ "K3.handoff.refresh": {
727
+ "track": "lite",
728
+ "type": "python",
729
+ "script": "xflow/atoms/k3_handoff_refresh.py",
730
+ "description": "Refresh root HANDOFF.md to reflect completed change state",
731
+ "input_schema": {
732
+ "project_root": "string",
733
+ "change_id": "string"
734
+ }
735
+ },
736
+ "K4.mem.lesson_persist": {
737
+ "track": "lite",
738
+ "type": "python",
739
+ "script": "xflow/atoms/k4_mem_lesson_persist.py",
740
+ "description": "Persist durable lesson from change to cli-use-memory (via C1.mem lesson:project)",
741
+ "input_schema": {
742
+ "project_root": "string",
743
+ "lesson": "string",
744
+ "context": "string?"
745
+ }
746
+ },
747
+ "K5.archive.publish": {
748
+ "track": "lite",
749
+ "type": "python",
750
+ "script": "xflow/atoms/k5_archive_publish.py",
751
+ "description": "Standalone terminal status helper: mark status archived; not the workflow archive publisher",
752
+ "input_schema": {
753
+ "project_root": "string",
754
+ "change_id": "string"
755
+ }
756
+ }
757
+ }
758
+ }