yam-flow 2.2.0 → 2.3.0
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 +23 -0
- package/COMMANDS.md +8 -1
- package/README.md +12 -0
- package/ROADMAP.md +25 -0
- package/dist/bin/yam.js +237 -62
- package/dist/lib/trust-kernel.d.ts +54 -0
- package/dist/lib/trust-kernel.js +194 -0
- package/dist/lib/ueye-artifacts.d.ts +98 -0
- package/dist/lib/ueye-artifacts.js +317 -0
- package/package.json +1 -1
- package/references/final-report.md +2 -0
- package/references/honest-completion.md +1 -0
- package/references/mission.md +16 -0
- package/references/scout-wide-scan.md +150 -0
- package/references/scout.md +9 -0
- package/references/tool-trust-layer.md +3 -0
- package/references/trust-kernel.md +3 -0
- package/references/truth-matrix.md +2 -0
- package/references/ueye-proof.md +6 -0
- package/references/ueye.md +12 -0
- package/references/verification-levels.md +2 -1
- package/skills/mission/SKILL.md +19 -4
- package/skills/scout/SKILL.md +18 -5
- package/skills/ueye/SKILL.md +11 -0
- package/src/bin/yam.ts +227 -56
- package/src/lib/trust-kernel.ts +239 -0
- package/src/lib/ueye-artifacts.ts +354 -0
- package/templates/mission-plan.md +25 -2
- package/templates/ueye-comparison.md +12 -0
- package/templates/ueye-review.md +26 -0
- package/yam.manifest.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to yam-flow are documented here.
|
|
4
4
|
|
|
5
|
+
## v2.3.0 - 2026-07-13
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added `yam mission receipt` with reviewer/doctor read-only contracts, explicit lifecycle/outcome separation, verification evidence, and per-thread completion eligibility.
|
|
10
|
+
- Added `yam mission gate` to block Mission completion when expected thread receipts are missing, duplicated, unexpected, ambiguous, failed, or violate read-only role boundaries.
|
|
11
|
+
- Added `yam ueye asset add|verify` for local reference provenance, license notes, protection/edit flags, dimensions, and SHA-256 integrity checks.
|
|
12
|
+
- Added `yam ueye revision archive|verify` for non-overwriting round archives with hashed revision history.
|
|
13
|
+
|
|
14
|
+
### Improved
|
|
15
|
+
|
|
16
|
+
- Mission proof requests for `verified` or `proven` now recompute and validate supplied completion gates, then cap the claim when a passing gate is missing.
|
|
17
|
+
- Ueye reports can attach asset and revision manifests; a supplied invalid manifest blocks a visual `done` claim.
|
|
18
|
+
|
|
19
|
+
## v2.2.1 - 2026-07-09
|
|
20
|
+
|
|
21
|
+
### Improved
|
|
22
|
+
|
|
23
|
+
- Strengthened `$scout` into a wider research harness with source mapping, evidence ledger, opposition pass, and blocked-source fallback guidance.
|
|
24
|
+
- Added `references/scout-wide-scan.md` for broad searches across tools, agent systems, protocols, harnesses, markets, and third-party ecosystems.
|
|
25
|
+
- Clarified that `insane-search` should be used as blocked-source acquisition for high-signal sources, not as Scout's default search path.
|
|
26
|
+
- Clarified that real subagent or parallel research lanes are explicit-only and should not turn ordinary scouting into `$mission`.
|
|
27
|
+
|
|
5
28
|
## v2.2.0 - 2026-07-07
|
|
6
29
|
|
|
7
30
|
### Added
|
package/COMMANDS.md
CHANGED
|
@@ -47,6 +47,10 @@ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
|
|
|
47
47
|
yam ueye compare --reference ./reference.png --actual .yam/screens/home.png
|
|
48
48
|
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --preflight-id ueye-preflight-123 --p0-risk "mobile CTA may clip" --quality-gate-note "check CTA contrast before done" --brief-dimension "primary CTA clarity" --constraint "mobile first" --acceptance-criterion "primary CTA remains visible on mobile" --design-system-evidence "uses existing button token" --implementation-evidence "browser screenshot reviewed" --state-check default:pass --state-check mobile:partial --skipped-check "hover state not checked on touch viewport" --residual-risk "tablet breakpoint still needs visual pass" --stop-condition "stop after primary states are checked and residual risk is recorded" --resume-hint "capture tablet screenshot next" --review-session-id pricing-card-v1 --provider-context local --execution-surface in-app-browser --browser-surface in-app-browser --similar "overall hierarchy" --different "button glow intensity" --missing "mobile state" --design-quality needs-polish --json
|
|
49
49
|
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --completion-claim done --design-quality pass --direction-locked --reference-read --states-checked --mobile-checked --contrast-checked --cta-checked --json
|
|
50
|
+
yam ueye asset add --manifest .yam/ueye/assets.json --id official-logo --file ./assets/logo.png --license-note "operator supplied; local review" --operator-provided --do-not-replace --json
|
|
51
|
+
yam ueye asset verify --manifest .yam/ueye/assets.json --json
|
|
52
|
+
yam ueye revision archive --file .yam/screens/home.png --round 1 --artifact-id home --root .yam/ueye/revisions --json
|
|
53
|
+
yam ueye revision verify --manifest .yam/ueye/revisions/manifest.json --json
|
|
50
54
|
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
51
55
|
yam proof --route ueye --truth partial --visual "browser/local screenshot comparison executed" --require-visual
|
|
52
56
|
```
|
|
@@ -162,6 +166,9 @@ yam media proof --requested --attempted --output ./generated.png --wait-loop --j
|
|
|
162
166
|
yam runtime evidence --backend terminal --claim observed --evidence-id dev-server-1 --command "npm run dev" --pid 123 --port 3000 --json
|
|
163
167
|
yam runtime evidence --backend terminal --claim cleanup-verified --cleanup-observed --exit-code 0 --cleanup-method "process exit checked" --json
|
|
164
168
|
yam mission queue --agent-id implementer --scope "checkout form" --changed src/checkout.tsx --verification-hint "npm run typecheck" --rollback-hint "revert checkout form patch if typecheck or smoke fails" --json
|
|
169
|
+
yam mission receipt --thread-id implementer-1 --role implementer --access-mode write --lifecycle stopped --outcome passed --scope "checkout form" --changed src/checkout.tsx --evidence "typecheck passed" --out .yam/mission/implementer-1.json --json
|
|
170
|
+
yam mission receipt --thread-id reviewer-1 --role reviewer --lifecycle stopped --outcome passed --scope "read-only checkout review" --evidence "review completed without edits" --out .yam/mission/reviewer-1.json --json
|
|
171
|
+
yam mission gate --expected-thread implementer-1 --expected-thread reviewer-1 --receipt .yam/mission/implementer-1.json --receipt .yam/mission/reviewer-1.json --out .yam/mission/completion.json --json
|
|
165
172
|
yam benchmark report --label "render time" --baseline 100 --current 86 --unit ms --target lower --json
|
|
166
173
|
yam proof --route mission --mission-envelope '{"agent_id":"implementer","assigned_scope":"target component","changed_files":["src/file.ts"],"verification_hint":"npm run typecheck","truth_status":"partial"}'
|
|
167
174
|
yam proof --route deep --truth proven --require-runtime --runtime "mock server fixture"
|
|
@@ -187,7 +194,7 @@ yam template tuning
|
|
|
187
194
|
yam tools doctor /path/to/project --json
|
|
188
195
|
yam release report --json
|
|
189
196
|
yam runtime evidence --backend terminal --claim cleanup-verified --cleanup-observed --exit-code 0 --cleanup-method "exit observed" --json
|
|
190
|
-
yam mission
|
|
197
|
+
yam mission receipt --thread-id reviewer-1 --role reviewer --lifecycle stopped --outcome passed --scope "changed files review" --evidence "read-only findings recorded" --json
|
|
191
198
|
yam benchmark report --label "bundle size" --baseline 120 --current 118 --unit kB --target lower --json
|
|
192
199
|
yam loop report --route deep --intent "verify release readiness" --blocked "npm auth not verified" --next-action "refresh npm token, then rerun npm whoami" --json
|
|
193
200
|
```
|
package/README.md
CHANGED
|
@@ -143,9 +143,15 @@ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
|
|
|
143
143
|
yam ueye compare --reference ./reference.png --actual .yam/screens/home.png
|
|
144
144
|
yam ueye preflight /path/to/project --json
|
|
145
145
|
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --preflight-id ueye-preflight-123 --p0-risk "mobile CTA may clip" --quality-gate-note "check CTA contrast before done" --acceptance-criterion "primary CTA remains visible on mobile" --state-check default:pass --state-check mobile:partial --implementation-evidence "browser screenshot reviewed" --completion-claim done --design-quality pass --direction-locked --reference-read --states-checked --mobile-checked --contrast-checked --cta-checked --provider-context local --execution-surface in-app-browser --app-surface codex-app --browser-surface in-app-browser --preserved-state --json
|
|
146
|
+
yam ueye asset add --manifest .yam/ueye/assets.json --id official-logo --file ./assets/logo.png --license-note "operator supplied; local review" --operator-provided --do-not-replace --json
|
|
147
|
+
yam ueye asset verify --manifest .yam/ueye/assets.json --json
|
|
148
|
+
yam ueye revision archive --file .yam/screens/home.png --round 1 --artifact-id home --root .yam/ueye/revisions --json
|
|
149
|
+
yam ueye revision verify --manifest .yam/ueye/revisions/manifest.json --json
|
|
146
150
|
yam proof --route ueye --truth verified --visual "implementation screenshot evidence recorded" --design-completion '{"completion_claim":"done","has_implementation_screenshot":true,"design_quality":"pass","states_checked":true,"mobile_checked":true,"contrast_checked":true,"cta_checked":true,"direction_locked":true,"truth_status":"verified"}'
|
|
147
151
|
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
148
152
|
yam proof --route mission --mission-envelope '{"agent_id":"implementer","assigned_scope":"target component","changed_files":["src/file.ts"],"verification_hint":"npm run typecheck","truth_status":"partial"}'
|
|
153
|
+
yam mission receipt --thread-id reviewer-1 --role reviewer --lifecycle stopped --outcome passed --scope "read-only review" --evidence "review completed without edits" --out .yam/mission/reviewer-1.json --json
|
|
154
|
+
yam mission gate --expected-thread reviewer-1 --receipt .yam/mission/reviewer-1.json --out .yam/mission/completion.json --json
|
|
149
155
|
yam loop report --route quick --intent "fix release readiness" --stage "inspect:passed:read release report" --evidence "typecheck passed" --evidence-level local --evidence-stamp "sha256:release-report" --touched-file src/bin/yam.ts --read-file README.md --verified-file scripts/cli-smoke.mjs --skipped-check "npm publish skipped by design" --stop-condition "stop after readiness evidence is recorded" --resume-hint "rerun release report after npm auth refresh" --readiness-state blocked --covered-requirement "release report is read-only" --uncovered-requirement "npm auth verified" --blocked-kind auth_blocked --failure-cause auth_token_invalid --safe-retry "retry after npm whoami succeeds" --recovery-hint "refresh npm auth, then rerun readiness checks" --fix-first-item "npm auth must be verified before publish" --remaining-task "rerun release report after auth refresh" --recommended-direction "fix npm auth first, then publish manually" --implementation-note "keep loop report read-only" --why-this-next "auth blocks public release claims" --blocked-by "npm whoami E401" --owner-route deep --owner-scope "release readiness only" --scope-owner deep --side-effect "no publish attempted" --avoidance-note "do not retry publish before npm auth is proven" --issue-code "src/bin/yam.ts release report" --issue-role "summarizes release readiness without publishing" --issue-symptom "npm auth failure needs clearer next action" --changed-code "yam loop report" --changed-role "records loop evidence and learning note" --change-summary "added a read-only loop artifact" --why-important "it helps users learn what changed without overclaiming verification" --learning-note "fix blockers before claiming done" --json
|
|
150
156
|
yam release report --json
|
|
151
157
|
yam safety "supabase db reset"
|
|
@@ -199,6 +205,8 @@ Publishing still requires confirming the final npm package name and account acce
|
|
|
199
205
|
- runtime backend evidence
|
|
200
206
|
- runtime evidence mini summaries
|
|
201
207
|
- mission patch queue lite records
|
|
208
|
+
- Mission read-only reviewer/doctor contracts, subagent receipts, and completion gate
|
|
209
|
+
- Ueye local asset provenance and non-overwriting revision history
|
|
202
210
|
- release report JSON
|
|
203
211
|
- loop report JSON
|
|
204
212
|
- study note JSON
|
|
@@ -220,6 +228,7 @@ These shapes keep reports machine-readable without turning normal work into a he
|
|
|
220
228
|
|
|
221
229
|
- Runtime evidence mini: compact route, command/process, observation, cleanup, truth status, and next action fields for `$deep` or `$mission` runtime claims.
|
|
222
230
|
- Patch queue lite: `$mission` lane records with pending/applied/verified/reverted/blocked state, changed files, verification hint, rollback hint, truth status, and next action.
|
|
231
|
+
- Mission completion receipt: every expected thread records lifecycle and outcome separately; reviewer/doctor write access, missing evidence, ambiguous stops, and receipt inventory gaps block the aggregate gate.
|
|
223
232
|
- Verification Ladder: L0 stated, L1 inspected, L2 local check, L3 integrated, L4 release/runtime/visual proof, and L5 bounded deep. Heavier claims require heavier evidence, but stop conditions prevent endless proof loops.
|
|
224
233
|
- Release report JSON: `yam release report --json` summarizes typecheck, forbidden-name scan, package boundary, registry status, CLI smoke, dist freshness, diagnostics, readiness receipt, and final truth status.
|
|
225
234
|
- Loop report JSON: `yam loop report --json` records a read-only handoff artifact: guided stages, touched/read/verified files, skipped checks, stop condition, resume hint, readiness state, requirement coverage, evidence level/stamp, blocker kind, failure cause, safe retry, recovery hint, owner route/scope, side effects, next action, fix-first items, remaining tasks, recommended direction, implementation notes, blocked-by notes, avoidance note, tool intent, truth status, and study note.
|
|
@@ -237,6 +246,7 @@ These shapes keep reports machine-readable without turning normal work into a he
|
|
|
237
246
|
- Ueye design completion gate: `$ueye` can stay fast for draft work, but a `done` claim is capped until implementation evidence, comparison/design-quality status, P0/P1 status, key states, mobile/responsive behavior, contrast/accessibility visuals, CTA affordance, and direction/reference-read proof are recorded when relevant.
|
|
238
247
|
- Ueye design brief and anti-slop review: `$ueye` reports can record operator-provided brief dimensions, constraints, invented metrics, placeholder copy, generic visuals, and custom anti-slop blockers. P0 anti-slop findings block `done` claims.
|
|
239
248
|
- Ueye deep visual review: `$ueye` can record acceptance criteria, touched/read/verified files, skipped checks, residual risks, stop condition, resume hint, design-system evidence, implementation evidence, and a state matrix so serious UI work can carry Deep-grade verification without leaving the Ueye route.
|
|
249
|
+
- Ueye asset/revision integrity: `$ueye` can record license/provenance and protected/editable flags for local references, then preserve pre-edit artifacts in hash-verified numbered rounds.
|
|
240
250
|
|
|
241
251
|
## Ueye Capture And Compare
|
|
242
252
|
|
|
@@ -246,6 +256,8 @@ These shapes keep reports machine-readable without turning normal work into a he
|
|
|
246
256
|
yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
|
|
247
257
|
yam ueye compare --reference ./reference.png --actual .yam/screens/home.png --json
|
|
248
258
|
yam ueye preflight . --json
|
|
259
|
+
yam ueye asset verify --manifest .yam/ueye/assets.json --json
|
|
260
|
+
yam ueye revision verify --manifest .yam/ueye/revisions/manifest.json --json
|
|
249
261
|
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --brief-dimension "primary CTA clarity" --constraint "mobile first" --anti-slop "placeholder copy remains" --acceptance-criterion "pricing card CTA remains visible on mobile" --design-system-evidence "uses existing button token" --implementation-evidence "browser screenshot reviewed" --state-check default:pass --state-check mobile:partial --skipped-check "hover state not checked on touch viewport" --residual-risk "tablet breakpoint still needs visual pass" --stop-condition "stop after primary states are checked and residual risk is recorded" --resume-hint "capture tablet screenshot next" --completion-claim done --design-quality pass --direction-locked --reference-read --states-checked --mobile-checked --contrast-checked --cta-checked --provider-context local --execution-surface in-app-browser --browser-surface in-app-browser --preserved-state --json
|
|
250
262
|
```
|
|
251
263
|
|
package/ROADMAP.md
CHANGED
|
@@ -71,6 +71,7 @@ Tasks:
|
|
|
71
71
|
- Merge `ui`, `eye`, and `review` into `ueye`. Done.
|
|
72
72
|
- Add Ueye checklist refinements. Done.
|
|
73
73
|
- Add Visual Evidence Inventory, Reference Read Proof, Reference vs Implementation Matrix, and Design Quality Review. Done.
|
|
74
|
+
- Add local reference asset provenance/protection manifest and non-overwriting revision history. Done.
|
|
74
75
|
- Add optional browser/screenshot capture notes.
|
|
75
76
|
- Keep image generation optional, never a gate.
|
|
76
77
|
|
|
@@ -231,6 +232,7 @@ Tasks:
|
|
|
231
232
|
- Add mission prompt template. Done.
|
|
232
233
|
- Add doctor scan checklist. Done.
|
|
233
234
|
- Require real subagent/team execution for full `$mission`; otherwise downgrade to `$deep` or report partial/blocked. Done.
|
|
235
|
+
- Make Reviewer/Doctor lanes read-only by default and require explicit per-thread receipts plus an aggregate completion gate. Done.
|
|
234
236
|
|
|
235
237
|
### 14. Quick / Ueye Consolidation
|
|
236
238
|
|
|
@@ -421,3 +423,26 @@ Keep out for now:
|
|
|
421
423
|
- required thread attachment ids.
|
|
422
424
|
- app-specific visual gates.
|
|
423
425
|
- blocking ordinary Ueye work when attachment metadata is absent.
|
|
426
|
+
|
|
427
|
+
#### Plan Review Canvas Lite
|
|
428
|
+
|
|
429
|
+
Status: deferred until repeated real-use demand.
|
|
430
|
+
|
|
431
|
+
Trigger:
|
|
432
|
+
|
|
433
|
+
- Users repeatedly need to annotate a generated plan or design report at exact elements instead of replying in prose.
|
|
434
|
+
- Terminal-only approval causes revision ambiguity or costly re-reading.
|
|
435
|
+
- A local browser review surface would materially shorten an approved Mission or Ueye feedback loop.
|
|
436
|
+
|
|
437
|
+
First shape:
|
|
438
|
+
|
|
439
|
+
- local-only artifact review.
|
|
440
|
+
- anchored comments and approve/request-changes verdict.
|
|
441
|
+
- explicit session end and bounded idle shutdown.
|
|
442
|
+
- Host/Origin checks, path confinement, and sandboxed artifact rendering.
|
|
443
|
+
|
|
444
|
+
Keep out for now:
|
|
445
|
+
|
|
446
|
+
- default local server.
|
|
447
|
+
- remote sharing or hosting.
|
|
448
|
+
- automatic implementation start without an explicit approval verdict.
|