@surlymochan/evalid 0.0.0-stage → 0.3.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 +74 -0
  2. package/LICENSE +21 -0
  3. package/README.md +315 -2
  4. package/RELEASE_NOTES.md +102 -0
  5. package/atoms/registry.json +758 -0
  6. package/bin/xflow.js +7208 -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 +83 -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 +1125 -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 +998 -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 +479 -0
  131. package/workflows/yolo.yaml +233 -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 +104 -0
  158. package/xflow/atoms/i6b_tdd_proof_validate.py +165 -0
  159. package/xflow/atoms/i6c_tdd_quality_review.py +357 -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 +747 -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 +38 -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 +480 -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 +66 -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,145 @@
1
+ # Public Release Gate
2
+
3
+ This page defines the final public-release boundary for evalid. It is intentionally stricter than local development because distribution is part of the product surface.
4
+
5
+ ## Current Registry Status
6
+
7
+ The package name `evalid` was checked against the npm public registry during the release-hardening pass and returned `404 Not Found`, meaning no published package with that name was visible at that time.
8
+
9
+ Do not treat this as permanent ownership. Re-check before publishing.
10
+
11
+ ```bash
12
+ npm view @surlymochan/evalid name version --json
13
+ ```
14
+
15
+ ## Release Check
16
+
17
+ Run:
18
+
19
+ ```bash
20
+ npm run publish:check
21
+ xflow evaluate --json
22
+ xflow release status --json
23
+ xflow launch dossier --output docs/launch-dossier.md
24
+ xflow launch claims --json
25
+ xflow launch copy --json
26
+ xflow adoption trial --name <team-or-project> --source <tracker-or-pr> --track yolo --json
27
+ xflow goal audit --json
28
+ xflow adoption status --json
29
+ xflow package status --json
30
+ xflow package preflight --check-registry --check-auth --json
31
+ xflow launch audit --pre-publish --strict --json
32
+ xflow package audit --check-registry --json
33
+ xflow launch audit --strict
34
+ ```
35
+
36
+ For the exact last-mile command sequence and current auth boundary, use
37
+ [npm Publish Handoff](./npm-publish-handoff.md).
38
+
39
+ This expands to:
40
+
41
+ ```bash
42
+ npm run release:pack
43
+ npm publish --dry-run --access public
44
+ ```
45
+
46
+ Expected proof:
47
+
48
+ - full test suite passes
49
+ - active-surface drift scan passes
50
+ - installed xflow skill diff is clean
51
+ - npm package dry-run excludes local config, tests, Python caches, and Finder metadata
52
+ - npm publish dry-run can construct the public package without mutating the registry
53
+ - evaluate gives a single machine-readable brief with score, Codex goal / Superpowers positioning, launch blockers, package evidence, release-owner status, safe claims, and the recommended first-run path
54
+ - launch dossier gives reviewers one concise, audit-backed summary of quality, goal comparison, yolo/corps proof paths, release gate, and blockers
55
+ - launch claims lists public claims that are safe now and claims that must wait for missing evidence
56
+ - launch copy generates announcement text, evaluation commands, and forbidden phrases from the same claim boundary
57
+ - launch audit includes `next_actions` so the release owner can see the exact commands needed to clear missing evidence
58
+ - launch audit embeds package preflight/audit `next_actions` under
59
+ `package_evidence` so automation can diagnose npm auth or registry blockers
60
+ without a second CLI call
61
+ - launch audit separates `available_surfaces` from `ready_surfaces` so runnable checks are not mistaken for evidence that has already passed
62
+ - goal audit proves `.xflow/GOAL.md` exists and the core skill family still consumes it before goal superiority claims are published
63
+ - package preflight confirms npm identity and package-name/version availability before the irreversible publish
64
+ - npm publish handoff records the current auth boundary and exact stop conditions
65
+ - pre-publish launch audit confirms the release is ready for the irreversible publish step, while still refusing to hide missing adoption or package proof
66
+ - package audit confirms the public npm registry reports the expected name and version
67
+ - launch audit separates verified engine/adoption/package evidence from missing registry proof
68
+
69
+ ## Authentication Check
70
+
71
+ The real publish requires an authenticated npm session:
72
+
73
+ ```bash
74
+ npm whoami
75
+ ```
76
+
77
+ If this returns `E401 Unauthorized`, stop at `npm run publish:check`; the package is dry-run ready but cannot be published from this machine until npm auth is restored.
78
+
79
+ ## Actual Publish Boundary
80
+
81
+ Only run the real publish after the release check is green and version ownership is confirmed.
82
+
83
+ ```bash
84
+ npm publish --access public
85
+ ```
86
+
87
+ ## Required Pre-Publish Evidence
88
+
89
+ Record these in the release note or PR:
90
+
91
+ - `npm run release:pack`
92
+ - `npm run publish:check`
93
+ - `xflow evaluate --json`
94
+ - `xflow release status --json`
95
+ - `xflow launch dossier --output docs/launch-dossier.md`
96
+ - `xflow launch claims --json`
97
+ - `xflow launch copy --json`
98
+ - `xflow adoption trial --name <team-or-project> --source <tracker-or-pr> --track yolo --json`
99
+ - `xflow goal audit --json`
100
+ - `xflow adoption status --json`
101
+ - `xflow package status --json`
102
+ - `xflow package preflight --check-registry --check-auth --json`
103
+ - `xflow launch audit --pre-publish --strict --json`
104
+ - `xflow adoption validate --json`
105
+ - `xflow adoption validate --splash --json`
106
+ - `xflow package audit --check-registry --json`
107
+ - `xflow launch audit --strict --json`
108
+ - `xflow launch audit --splash --strict --json`
109
+ - `docs/adoption/README.md` reviewed, with at least one real adoption record before splash launch
110
+ - `docs/adoption/openflow-release-hardening.md` reviewed as the current non-fixture adoption record
111
+ - `docs/npm-publish-handoff.md` reviewed before real publish
112
+ - `xflow score`
113
+ - `xflow compare superpowers`
114
+ - `xflow compare super-assistant`
115
+ - `xflow compare openspec`
116
+ - `xflow compare gstack`
117
+ - `xflow compare spec-kit`
118
+ - `docs/team-adoption.md` 95 percent readiness gate reviewed
119
+ - `git status --short --branch`
120
+
121
+ ## Failure Rules
122
+
123
+ - If `npm view @surlymochan/evalid` returns an existing package not owned by this project, choose a new package name before publishing.
124
+ - If `xflow package preflight --check-registry --check-auth --json` fails, do not run the real publish.
125
+ - If `xflow goal audit --json` fails, do not claim xflow goal is stronger than Codex native goal.
126
+ - If `xflow launch claims --json` lists a claim under `blocked_claims`, do not use that claim in launch copy.
127
+ - If `xflow launch copy --json` lists a phrase under `forbidden_phrases`, do not use that phrase in launch posts, README badges, or release notes.
128
+ - If `xflow launch audit --pre-publish --strict --json` fails, do not run the real publish; strict pre-publish mode runs the same npm identity and registry checks as package preflight, then combines them with score and adoption evidence.
129
+ - If `xflow package audit --check-registry --json` fails after publish, do not claim public package availability.
130
+ - If `npm publish --dry-run` includes `test/`, `.claude/`, `__pycache__`, `.pyc`, or local `.as-xflow/` state, fix package inclusion before publishing.
131
+ - If `xflow score` falls below `100/100`, fix score evidence before publishing.
132
+ - If `xflow launch audit --strict --json` lists `real_external_adoption` as missing,
133
+ publish can still be dry-run ready, but do not claim an industry-splash
134
+ launch until a real adoption artifact exists under `docs/adoption/` or a
135
+ linked public PR provides equivalent evidence. The audit removes this gap
136
+ only when the adoption validator passes.
137
+ - If `xflow launch audit --splash --strict --json` lists `third_party_adoption`
138
+ as missing, do not claim broad third-party adoption or industry-splash
139
+ readiness; maintainer dogfooding can support quality claims, but not ecosystem
140
+ adoption claims.
141
+ - If `xflow compare spec-kit` points to missing docs, do not publish a superiority claim.
142
+ - If `xflow compare gstack` cannot clearly explain where gstack is stronger, do not publish a fair comparison claim.
143
+ - If `xflow compare superpowers` cannot explain where Superpowers is stronger, do not publish a fair comparison claim.
144
+ - If `xflow compare super-assistant` cannot explain where Super-Assistant keeps stronger enterprise connector breadth, do not publish a fair comparison claim.
145
+ - If the team adoption operating model is not linked from README or reviewer docs, do not promote the package for multi-person adoption.
@@ -0,0 +1,139 @@
1
+ # evalid Quality Assessment
2
+
3
+ Date: 2026-05-23
4
+
5
+ ## Verdict
6
+
7
+ `evalid` is strong enough to present as a serious open-source agent delivery
8
+ runtime today. The core engine is no longer the weak point: yolo and corps both
9
+ have executable workflow data, verification gates, and release checks.
10
+
11
+ The remaining gap for an industry splash is distribution proof: publish the
12
+ package and show a polished external demo. Fixture-only adoption proof has been
13
+ replaced with a reviewable maintainer release-hardening record, while broader
14
+ third-party adoption remains the next ecosystem win.
15
+
16
+ In readiness terms, the current state is:
17
+
18
+ - `source_checkout`: ready
19
+ - `open_source_launch`: blocked by `published_package`
20
+ - `industry_splash`: blocked by `published_package` and `third_party_adoption`
21
+
22
+ ## Objective Audit
23
+
24
+ - `goal_vs_codex`: proven at the project layer
25
+ - `yolo_delivery`: proven from source checkout
26
+ - `corps_delivery`: proven from source checkout
27
+ - `skill_family_open_source_credibility`: ready from source checkout
28
+ - `open_source_launch`: blocked by `published_package`
29
+ - `industry_splash`: blocked by `published_package` and `third_party_adoption`
30
+
31
+ ## Can xflow Beat Codex Native Goal?
32
+
33
+ Yes, but only in a specific way.
34
+
35
+ Codex native goal is better for one active thread: it is close to the model,
36
+ cheap to update, and useful for completion accounting. `xflow:goal` is better
37
+ for project delivery when `.xflow/GOAL.md` becomes a durable artifact that yolo,
38
+ corps, Ralph, handoff, and takein all read and audit.
39
+
40
+ That distinction is the product claim:
41
+
42
+ ```text
43
+ Codex goal = thread memory
44
+ xflow goal = project alignment evidence
45
+ ```
46
+
47
+ ## Scorecard
48
+
49
+ | Surface | Grade | Current Evidence | Next Win |
50
+ | --- | --- | --- | --- |
51
+ | `xflow:goal` | A | `.xflow/GOAL.md`, `xflow goal set`, `xflow goal show --json`, `xflow goal audit --json`, `docs/goal-vs-codex.md` | Real examples where goal alignment changed review or handoff quality |
52
+ | `xflow:yolo` | A | YAML workflow, split TDD proof, quality review, archive order, drift tests | Tiny public bugfix demo from red proof to archive |
53
+ | `xflow:corps` | A | Governed corps entry, `xflow corps --explain`, `corps_proof.json`, visual benchmark gates, no-stub witnesses | Real product/UI adoption walkthrough backed by corps proof |
54
+ | Skill family | A- | `xflow quickstart`, `xflow guide`, `xflow assess`, `xflow score`, tooling matrix, skill sync/diff, `docs/adoption/openflow-release-hardening.md` | Public npm publish plus third-party adoption evidence |
55
+
56
+ ## Public Proof Path
57
+
58
+ ```bash
59
+ xflow objective
60
+ xflow objective --json
61
+ xflow assess
62
+ xflow assess --json
63
+ xflow evaluate
64
+ xflow evaluate --json
65
+ xflow compare codex-goal --json
66
+ xflow compare superpowers --json
67
+ xflow compare super-assistant --json
68
+ xflow compare gstack --json
69
+ xflow demo launch
70
+ xflow demo launch --json
71
+ xflow launch dossier
72
+ xflow launch claims --json
73
+ xflow launch copy --json
74
+ xflow launch audit
75
+ xflow launch audit --json
76
+ xflow launch audit --strict --json
77
+ xflow adoption kit --name <team-or-project> --source <tracker-or-pr> --track yolo
78
+ xflow adoption init --name <team-or-project> --source <tracker-or-pr> --track yolo
79
+ xflow adoption status --json
80
+ xflow adoption validate --json
81
+ xflow adoption validate --splash --json
82
+ xflow package status --json
83
+ xflow package preflight --check-registry --check-auth --json
84
+ xflow launch audit --pre-publish --strict --json
85
+ xflow launch audit --splash --strict --json
86
+ xflow package audit --check-registry --json
87
+ xflow score --json
88
+ xflow goal show --json
89
+ xflow goal audit --json
90
+ xflow corps --explain --json
91
+ npm run drift:scan
92
+ npm run release:pack
93
+ ```
94
+
95
+ `xflow assess` is the human-facing assessment. `xflow score` is the repository
96
+ evidence gate. `release:pack` proves the shipped package includes the current
97
+ docs, CLI, workflows, atoms, and skill sources.
98
+ `docs/npm-publish-handoff.md` is the last-mile publish checklist once npm auth
99
+ is restored.
100
+
101
+ ## Completion Boundary
102
+
103
+ Internal quality is ready: `xflow score --json` is 100/100, `xflow goal audit
104
+ --json` proves the Codex-goal comparison at the project layer, and
105
+ `npm run release:pack` proves the package contents. The remaining blockers are
106
+ external proof, not hidden engine work:
107
+
108
+ - `npm_auth_and_publish`: requires release-owner npm auth, preflight, real
109
+ `npm publish --access public`, and registry audit.
110
+ - `third_party_adoption`: requires a real third-party project or public PR
111
+ started from `xflow adoption kit`, captured with
112
+ `docs/adoption/<team-or-project>.md`, and validated by `xflow adoption
113
+ validate --splash --json`.
114
+
115
+ `xflow evaluate --json` reports both ordinary launch readiness and stricter
116
+ `splash_launch` readiness, plus ordinary `claims` and stricter `splash_claims`,
117
+ so evaluators can distinguish source-checkout quality, post-publish package
118
+ proof, and broad ecosystem claims.
119
+
120
+ ## Open-Source Launch Bar
121
+
122
+ Before calling the launch story excellent rather than merely ready:
123
+
124
+ 1. Publish the npm package from the verified tarball only after `xflow package preflight --check-registry --check-auth --json` confirms npm identity and package-name/version availability, and `xflow launch audit --pre-publish --strict --json` confirms score plus adoption evidence are not being bypassed.
125
+ 2. Keep `xflow adoption validate --json` green with at least one non-fixture
126
+ adoption record. The current maintainer release-hardening record proves the
127
+ gate works and names the remaining npm-publication failure; the next
128
+ ecosystem upgrade is a third-party project or public PR using
129
+ `xflow adoption kit` before converting trial results into the same
130
+ evidence shape.
131
+ 3. Keep `docs/launch-demo.md`, `docs/launch-dossier.md`,
132
+ `docs/corps-operator-guide.md`, and `xflow demo launch` current as the
133
+ canonical walkthrough for `goal -> yolo` and `goal -> corps proof`, and keep
134
+ `xflow launch dossier` aligned as the concise public-facing summary.
135
+ 4. Make `published_package` disappear from `xflow launch audit --strict --json` only
136
+ after `xflow package audit --check-registry --json` confirms the npm
137
+ registry reports the expected package name and version.
138
+ 5. Keep the scorecard honest: if any public claim lacks a runnable command,
139
+ checked artifact, or drift test, downgrade it until evidence exists.
@@ -0,0 +1,156 @@
1
+ # evalid Quickstart
2
+
3
+ Use this path when you want a project to adopt xflow without reading the implementation first.
4
+
5
+ ## 0. See The Delivery Loop
6
+
7
+ Use the published package path when `evalid` is available from npm:
8
+
9
+ ```bash
10
+ npm install -g @surlymochan/evalid
11
+ xflow quickstart
12
+ xflow guide
13
+ xflow evaluate
14
+ xflow assess
15
+ xflow demo clean
16
+ xflow demo launch
17
+ xflow launch dossier
18
+ ```
19
+
20
+ Use source checkout mode before npm publication:
21
+
22
+ ```bash
23
+ git clone <repo-url> evalid
24
+ cd evalid
25
+ npm install
26
+ npm run release:pack
27
+ node bin/xflow.js quickstart
28
+ node bin/xflow.js evaluate
29
+ node bin/xflow.js assess
30
+ node bin/xflow.js demo clean
31
+ node bin/xflow.js compare codex-goal
32
+ node bin/xflow.js launch dossier
33
+ ```
34
+
35
+ This shows the human-facing loop and the current quality scorecard for goal,
36
+ yolo, corps, and the overall skill family. The demo command shows the public
37
+ goal-to-yolo and goal-to-corps proof story; the launch audit names any missing
38
+ evidence before public promotion; the launch dossier turns the same evidence
39
+ into a one-page public narrative.
40
+
41
+ Release-owner checks are deliberately separate from this first-run path:
42
+
43
+ ```bash
44
+ xflow release status --json
45
+ xflow adoption trial --name first-team --source first-tracker --track yolo
46
+ xflow adoption kit --name first-team --source first-tracker --track yolo
47
+ xflow adoption init --name first-team --source first-tracker --track yolo
48
+ xflow adoption status --json
49
+ xflow adoption validate --json
50
+ xflow adoption validate --splash --json
51
+ xflow package status --json
52
+ xflow package preflight --check-registry --check-auth --json
53
+ xflow launch audit --pre-publish --strict --json
54
+ xflow launch audit --splash --strict --json
55
+ xflow package audit --check-registry --json
56
+ ```
57
+
58
+ `xflow adoption status` summarizes ordinary and splash adoption blockers without
59
+ failing the release-owner checklist. `xflow adoption trial` previews the external team's copy-paste command sequence
60
+ and evidence checklist without writing files. `xflow adoption kit` creates a
61
+ shareable trial packet for an external project.
62
+ `xflow adoption init` creates only a draft that must be filled from that real
63
+ trial before `xflow adoption validate --json` can pass. Package preflight blocks
64
+ the irreversible publish when npm identity or package availability is missing;
65
+ `xflow package status --json` summarizes that package state without failing;
66
+ package audit fails until the npm registry reports the expected public package
67
+ name and version. Splash validation is stricter than ordinary adoption
68
+ validation: it requires third-party adoption evidence beyond maintainer
69
+ dogfooding before broad ecosystem claims are allowed.
70
+
71
+ ## 1. Initialize
72
+
73
+ ```bash
74
+ xflow init --project-root .
75
+ xflow goal set "Ship the next verified change" --project-root .
76
+ xflow goal audit --project-root . --json
77
+ ```
78
+
79
+ This writes `.as-xflow/config.json` with portable defaults for workflow paths, skill paths, and issue routing.
80
+ Workflow aliases such as `yolo` and `corps` read this config when `--project-root` points at the initialized project. Issue setup and installed skill sync can also read their defaults from this file.
81
+ The goal command writes `.xflow/GOAL.md`, the project direction anchor consumed by `xflow:goal`, `xflow:yolo`, `xflow:corps`, `xflow:ralph`, `xflow:handoff`, and `xflow:takein`. The audit command fails if the project has no durable goal or if the packaged skill family stops declaring that goal as an intake and proof input.
82
+
83
+ ## 2. Check Readiness
84
+
85
+ ```bash
86
+ xflow doctor --project-root .
87
+ ```
88
+
89
+ Doctor checks package scripts, workflow YAML validity, skill topology, and the project root used by execution.
90
+
91
+ ## 3. Validate The Lite Workflow
92
+
93
+ ```bash
94
+ xflow workflow validate yolo
95
+ ```
96
+
97
+ Use `corps` instead of `yolo` when validating the heavy workflow.
98
+ Validation is preflight only; run the heavy track through `xflow corps` and
99
+ confirm final completion with `xflow proof --track corps`.
100
+
101
+ ## 4. Run A Lite Change
102
+
103
+ ```bash
104
+ xflow workflow run yolo --title "<中文标题>" --change-type backend \
105
+ --tdd-red-command "npm test -- --grep new-failing-case" \
106
+ --tdd-green-command "npm test"
107
+ ```
108
+
109
+ For real project work, run this from a branch whose name can derive a `CHANGE_ID`, or pass `--change-id <id>`.
110
+ The red command runs before implementation and must fail. After the execute step, the green command must pass, and xflow writes `quality-0.json` to prove code changes came with meaningful changed tests instead of empty assertions, snapshot-only tests, or mock-heavy smoke.
111
+
112
+ ## 5. Run A Heavy Corps Change
113
+
114
+ ```bash
115
+ xflow serve &
116
+ xflow corps --title "<产品标题>" --change-type frontend --change-id <id>
117
+ xflow proof --track corps --change-id <id>
118
+ ```
119
+
120
+ The conversation AI should not manually emulate `xflow:corps`; it clarifies
121
+ requirements, handles human-gate acknowledgements, and inspects
122
+ `corps_proof.json`. The proof only passes when the built-in corps manifest,
123
+ hash-linked phase/atom/gate witnesses, required artifacts, product contracts,
124
+ and no stubbed runtime fallback all pass together.
125
+
126
+ ## Release Checks
127
+
128
+ ```bash
129
+ npm run drift:scan
130
+ npm run verify
131
+ npm run skill:sync
132
+ npm run skill:diff
133
+ npm run release:pack
134
+ xflow host status --json
135
+ ```
136
+
137
+ Use `npm run release:local` when you intentionally want verification followed by installed skill sync.
138
+ By default, `npm run skill:sync` refreshes `~/.codex/skills`, and falls back to
139
+ `~/.agents/skills` only when the Codex install root does not exist. `xmem`
140
+ follows the same target selection. Set `SKILL_SYNC_TARGET_DIRS` when you want
141
+ an explicit multi-target sync.
142
+
143
+ For a clean adoption example, use the minimal temporary project flow shown in [docs/demo-proof.md](./demo-proof.md).
144
+
145
+ Low-friction spec and QA helpers:
146
+
147
+ ```bash
148
+ xflow spec start --title "example change" --change-type backend
149
+ xflow qa capture --url http://127.0.0.1:3000 --platform-profile mobile_h5
150
+ ```
151
+
152
+ ## Team Adoption
153
+
154
+ For a team rollout, use [docs/team-adoption.md](./team-adoption.md) before the
155
+ first shared PR. It defines the operator/reviewer/release-owner roles, required
156
+ CI checks, PR acceptance checklist, and the 95 percent public-promotion gate.
@@ -0,0 +1,43 @@
1
+ # evalid Reviewer Guide
2
+
3
+ Use this guide when reviewing an xflow-driven change in an issue, PR, or handoff.
4
+ For team rollout policy, pair this with [Team Adoption Operating Model](./team-adoption.md).
5
+
6
+ ## What To Check First
7
+
8
+ 1. `HANDOFF.md` current-state block names the active change, stage, verification state, archive state, and next action.
9
+ 2. `specs/changes/<change-id>/proposal.md` and `plan.md` match the PR scope.
10
+ 3. `verify_proof.json` or the PR body names the verification commands and outcomes.
11
+ 4. TDD proof includes a failing red command before implementation, a passing green/refactor command after implementation, and an `I6c` quality proof.
12
+ 5. `AHA.md` records durable lessons when the change exposed a reusable workflow insight.
13
+ 6. Archive order keeps publish/commit/push/close in `A5.archive.commit_push_close` before `A6.pr.create`.
14
+
15
+ ## Required Reviewer Questions
16
+
17
+ - Did the implementation stay inside the frozen proposal and plan?
18
+ - Did the workflow data, docs, and tests move together?
19
+ - Did `I6b.tdd.proof_validate` accept red/green semantics, and did `I6c.tdd.quality_review` reject empty/snapshot-only/mock-heavy tests?
20
+ - Did `npm run drift:scan` pass when active workflow or skill surfaces changed?
21
+ - Did `npm run skill:diff` pass after skill source changes?
22
+ - Is any local-machine assumption documented or moved into `.as-xflow/config.json`?
23
+ - Does the PR identify the operator, implementer, reviewer, and release owner when it is part of a team rollout?
24
+
25
+ ## Accept / Request Changes
26
+
27
+ Accept when the implementation, workflow artifacts, verification proof, and handoff agree.
28
+
29
+ Request changes when any of these are true:
30
+
31
+ - The PR changes workflow behavior without schema or test coverage.
32
+ - The PR changes public skill surfaces without `npm run skill:diff` evidence.
33
+ - The PR adds prose workflow steps without matching workflow YAML or atom registry updates.
34
+ - The PR claims archive completion while local status, issue state, or git history disagrees.
35
+
36
+ ## Reviewer Shortcuts
37
+
38
+ ```bash
39
+ xflow doctor
40
+ xflow score
41
+ npm run drift:scan
42
+ npm run skill:diff
43
+ ```
@@ -0,0 +1,73 @@
1
+ # spec-kit Benchmark
2
+
3
+ This benchmark is the repeatable comparison path for spec-kit-style specification-driven delivery.
4
+
5
+ ## Scenario
6
+
7
+ Use the same brownfield change in both systems:
8
+
9
+ > Add a deterministic spec delta review for a project that already has proposal, plan, task checklist, and durable root specs.
10
+
11
+ ## xflow Run
12
+
13
+ ```bash
14
+ xflow init --project-root .
15
+ xflow guide
16
+ xflow workflow validate yolo --project-root .
17
+ xflow spec delta --project-root . --change-id <change-id>
18
+ xflow score
19
+ npm run release:pack
20
+ ```
21
+
22
+ Expected xflow artifacts:
23
+
24
+ - `specs/changes/<change-id>/proposal.md`
25
+ - `specs/changes/<change-id>/plan.md`
26
+ - `specs/changes/<change-id>/spec_delta_review.json`
27
+ - `specs/changes/<change-id>/spec_delta_review.md`
28
+ - `specs/changes/<change-id>/tdd/red-0.json`
29
+ - `specs/changes/<change-id>/tdd/green-0.json`
30
+ - `specs/changes/<change-id>/tdd/quality-0.json`
31
+ - `HANDOFF.md`
32
+ - `AHA.md`
33
+
34
+ ## spec-kit Run
35
+
36
+ Use the equivalent spec-kit flow:
37
+
38
+ ```text
39
+ /speckit.constitution
40
+ /speckit.specify
41
+ /speckit.plan
42
+ /speckit.tasks
43
+ /speckit.implement
44
+ /speckit.analyze
45
+ ```
46
+
47
+ Record the generated spec, plan, tasks, implementation evidence, and quality checks.
48
+
49
+ ## Scoring Rubric
50
+
51
+ | Dimension | xflow Win Condition |
52
+ | --- | --- |
53
+ | Requirements traceability | Requirement-level statements appear in `requirements_delta`. |
54
+ | Executable workflow | Workflow order validates from YAML and atom registry. |
55
+ | TDD semantics | Red fails before implementation; green passes after implementation. |
56
+ | Test quality | `quality-0.json` rejects empty, snapshot-only, or mock-heavy tests without assertions. |
57
+ | Archive closure | Handoff/AHA/archive order is explicit and test-covered. |
58
+ | Release readiness | `npm run release:pack` passes. |
59
+ | Public comparison | `xflow compare spec-kit --json` prints machine-readable edges. |
60
+
61
+ ## Current Judgment
62
+
63
+ xflow should win the local engineering rigor section. spec-kit may still win public ecosystem breadth until xflow has public registry release, richer external adapters, and a larger example library.
64
+
65
+ Do not claim a full spec-kit product win unless:
66
+
67
+ - `npm run publish:check` passes
68
+ - `xflow package preflight --check-registry --check-auth --json` passes before public publish
69
+ - `xflow launch audit --pre-publish --strict --json` passes before the irreversible publish step
70
+ - `xflow package audit --check-registry --json` passes after public publish
71
+ - `docs/integrations.md` covers the target integration class
72
+ - `xflow compare spec-kit --json` is green
73
+ - the benchmark artifacts above are produced for the same change
@@ -0,0 +1,106 @@
1
+ # Super-Assistant Comparison
2
+
3
+ Use this page when someone asks whether evalid should absorb Super-Assistant's
4
+ enterprise delivery harness or split separate personal/team workflows.
5
+
6
+ ## Verdict
7
+
8
+ Super-Assistant has useful enterprise ingredients: team constraints, checkpoint
9
+ notifications, plugin execution, an experience index, and S3-backed team sync.
10
+ Those ideas are worth absorbing.
11
+
12
+ evalid should not absorb the whole harness. After the policy-overlay
13
+ integration, xflow is stronger because the same capabilities are expressed as
14
+ thin atoms, provider seams, and structured proof artifacts on top of the
15
+ existing `yolo` and `corps` tracks.
16
+
17
+ ```text
18
+ Super-Assistant = enterprise harness and connector inventory
19
+ xflow = workflow runtime plus policy overlay and atomized proof
20
+ ```
21
+
22
+ ## Scorecard
23
+
24
+ Overall, xflow wins the productized workflow comparison: `95/100` versus
25
+ `76/100`. Super-Assistant still has broader concrete enterprise connector
26
+ coverage, but xflow now has the cleaner runtime contract.
27
+
28
+ | Dimension | Weight | Super-Assistant | xflow | Winner |
29
+ | --- | ---: | ---: | ---: | --- |
30
+ | Workflow runtime authority | 15 | 10 | 15 | xflow |
31
+ | Policy overlay and team constraints | 15 | 12 | 15 | xflow |
32
+ | Adaptive intake | 10 | 8 | 10 | xflow |
33
+ | Enterprise atomization | 15 | 11 | 14 | xflow |
34
+ | Notification / gate separation | 10 | 6 | 10 | xflow |
35
+ | Experience reuse | 10 | 8 | 9 | xflow |
36
+ | Verification and packaging | 15 | 9 | 14 | xflow |
37
+ | Portability and secret boundary | 10 | 5 | 8 | xflow |
38
+
39
+ Machine-readable form:
40
+
41
+ ```bash
42
+ xflow compare super-assistant --json
43
+ ```
44
+
45
+ ## What xflow Absorbed
46
+
47
+ - `team_constraints.py` becomes `.xflow/profile.json`,
48
+ `.xflow/team-policy.json`, and `policy_effective.json`. Numeric thresholds
49
+ take the stricter value, lists merge and dedupe, and team strings/booleans
50
+ override personal defaults.
51
+ - Demand profiling becomes `workflow_recommendation.json`, generated by
52
+ `xflow intake recommend`, and remains advisory input rather than a workflow
53
+ bypass.
54
+ - Checkpoint notification becomes `notify.checkpoint`, which writes
55
+ `notification/checkpoint-*.json` and explicitly records
56
+ `approves_gate=false`.
57
+ - Plugin, storage, and experience reuse become `plugin.run`, `storage.sync`,
58
+ and `experience.digest`. The first provider set is `file`/`mock`/dry-run
59
+ safe, so DingTalk/S3-style secrets stay outside the core.
60
+ - Team enforcement becomes `policy.gate`, which emits structured
61
+ `failed_checks` for coverage, reviewer, smoke, and review-artifact
62
+ requirements.
63
+
64
+ ## Why Not Fork Team Workflows
65
+
66
+ Do not create `team-yolo` or `personal-yolo`. That would duplicate workflow
67
+ YAML and drift as soon as a phase changes.
68
+
69
+ The better split is execution mode:
70
+
71
+ - `personal`: default, local-first, no external providers required.
72
+ - `team`: loads the team policy, enables optional notification/experience
73
+ atoms, and checks stricter gates.
74
+
75
+ The workflow authority stays with `workflows/yolo.yaml`,
76
+ `workflows/corps.yaml`, the atom registry, and proof artifacts. External
77
+ systems may inform the run, but they do not advance state by themselves.
78
+
79
+ ## Proof Commands
80
+
81
+ ```bash
82
+ xflow compare super-assistant --json
83
+ xflow profile show --json
84
+ xflow policy validate --json
85
+ xflow intake recommend --change-id team-api-feature --title "team API feature" --description "touches API DB user data and CI" --repo-count 2 --json
86
+ xflow workflow validate yolo
87
+ xflow workflow validate corps
88
+ npm run verify
89
+ npm run drift:scan
90
+ ```
91
+
92
+ For the reference checkout, run Super-Assistant's own validation commands and
93
+ compare the resulting evidence:
94
+
95
+ ```bash
96
+ npm run check
97
+ python3 -m unittest discover -s tests -p 'test*.py' -v
98
+ python3 -m unittest discover -s .harness -p 'test*.py' -v
99
+ ```
100
+
101
+ ## Boundary
102
+
103
+ xflow should keep Super-Assistant's domain lessons, not its coupling model.
104
+ Concrete enterprise providers can be added later, but the first-class contract
105
+ must remain: notification is not approval, plugins are not workflow state, and
106
+ experience is advisory context rather than a gate substitute.