yam-flow 0.1.0 → 0.1.2

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/COMMANDS.md CHANGED
@@ -39,6 +39,14 @@ $ueye
39
39
  yam template ueye-comparison
40
40
  ```
41
41
 
42
+ Opt-in visual evidence helpers:
43
+
44
+ ```bash
45
+ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
46
+ yam ueye compare --reference ./reference.png --actual .yam/screens/home.png
47
+ yam proof --route ueye --truth partial --visual "browser/local screenshot comparison executed" --require-visual
48
+ ```
49
+
42
50
  ## Review-Only
43
51
 
44
52
  ```text
@@ -135,12 +143,22 @@ yam tools doctor /path/to/project --json
135
143
  yam proof /path/to/project
136
144
  yam proof --route deep --truth verified --command "npm run build: pass"
137
145
  yam proof --route ueye --truth verified --visual "reference image only"
146
+ yam proof --route ueye --truth partial --visual-provenance '{"source_kind":"reference","source_hash":"unknown","comparison_result":"not-verified","truth_status":"partial"}'
147
+ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
148
+ yam ueye compare --reference ./reference.png --actual .yam/screens/home.png --json
149
+ 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"}'
138
150
  yam proof --route deep --truth proven --require-runtime --runtime "mock server fixture"
139
151
  yam proof write /path/to/project --route deep --truth partial --command "npm run build: pass"
140
152
  yam proof write /path/to/project --format md --truth assumed --assumption "No runtime was started"
141
153
  yam safety "supabase db reset --linked"
142
154
  ```
143
155
 
156
+ Release reporting intentionally runs the release checks and returns a machine-readable summary.
157
+
158
+ ```bash
159
+ yam release report --json
160
+ ```
161
+
144
162
  ## Lite Hook
145
163
 
146
164
  Advisory-only hook. It does not run checks or force routes.
package/README.md CHANGED
@@ -126,6 +126,11 @@ yam tools doctor /path/to/project --json
126
126
  yam proof /path/to/project
127
127
  yam proof write /path/to/project --route quick --truth verified --command "npm run verify:self: pass"
128
128
  yam proof --route ueye --truth verified --visual "reference image only"
129
+ yam proof --route ueye --truth partial --visual-provenance '{"source_kind":"reference","source_hash":"unknown","comparison_result":"not-verified","truth_status":"partial"}'
130
+ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
131
+ yam ueye compare --reference ./reference.png --actual .yam/screens/home.png
132
+ 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"}'
133
+ yam release report --json
129
134
  yam safety "supabase db reset"
130
135
  yam detect /path/to/project
131
136
  yam pack /path/to/project
@@ -172,3 +177,18 @@ Publishing still requires confirming the final npm package name and account acce
172
177
  - DB/Supabase safety signals
173
178
 
174
179
  It is implemented locally in `src/lib/trust-kernel.ts` and kept route-scoped. It is not an always-on release gate.
180
+
181
+ ## Ueye Capture And Compare
182
+
183
+ `$ueye` stays one skill. It starts fast by default, then uses capture/compare only when a visual claim needs real evidence.
184
+
185
+ ```bash
186
+ yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
187
+ yam ueye compare --reference ./reference.png --actual .yam/screens/home.png --json
188
+ ```
189
+
190
+ `capture` uses a Playwright install from the current project when present, then falls back to the package context. It does not install browsers or add runtime dependencies by itself. If capture is unavailable, the visual claim stays `partial` or `blocked` until a real screenshot is supplied.
191
+
192
+ `compare` is local-only and dependency-free. It records file hashes, dimensions, comparison result, and proof-ready visual provenance. Exact image matches can be `verified`; different screenshots stay `partial` so visual parity is not overclaimed.
193
+
194
+ For agent-driven visual QA, prefer the Codex in-app Browser plugin. Use the user's Chrome browser only when explicitly requested or when Chrome-only session/profile state is required.
package/ROADMAP.md CHANGED
@@ -311,3 +311,113 @@ Tasks:
311
311
  - Add `yam proof write`. Done.
312
312
  - Prepare npm/npx package metadata and dry-run packaging. Done.
313
313
  - Add small route-scoped trust kernel: truth caps, fake/real policy, runtime truth matrix, and completion proof object. Done.
314
+
315
+ ### 16. Deferred Triggers
316
+
317
+ Goal: keep useful future trust-layer ideas visible without turning them into always-on gates too early.
318
+
319
+ Rules:
320
+
321
+ - Do not implement deferred items just because they are listed here.
322
+ - Mention an item again when its trigger appears in real use.
323
+ - Prefer lite metadata before runtime systems.
324
+ - Keep ordinary `$quick`, `$question`, and `$scout` flows free of these gates.
325
+
326
+ #### Mission Patch Queue Lite
327
+
328
+ Status: next candidate for `$mission` only.
329
+
330
+ Trigger:
331
+
332
+ - A mission uses two or more real subagent/lane outputs.
333
+ - Multiple lanes touch nearby files or the same subsystem.
334
+ - It becomes hard to tell who changed what, why, and how to revert it.
335
+ - Mission rollback or apply order starts to matter.
336
+
337
+ First shape:
338
+
339
+ - pending / applied / verified / reverted / blocked state.
340
+ - lane id and assigned scope.
341
+ - changed files.
342
+ - verification hint.
343
+ - rollback hint.
344
+ - truth status.
345
+
346
+ Keep out for now:
347
+
348
+ - automatic merge engine.
349
+ - persistent locks.
350
+ - parallel apply worker.
351
+ - broad runtime orchestration.
352
+
353
+ #### Tool Intent Label / Tool Trust Metadata
354
+
355
+ Status: near-term lightweight metadata.
356
+
357
+ Trigger:
358
+
359
+ - A route uses several tool classes together, such as browser, package manager, GitHub, filesystem, database, or deployment tools.
360
+ - Read-only and write actions need to be distinguished in proof.
361
+ - Destructive actions need a visible route recommendation before execution.
362
+ - Release or mission reports need clearer evidence about what kind of tool ran.
363
+
364
+ First shape:
365
+
366
+ - tool intent: read_only / write / destructive / runtime / visual.
367
+ - parallel safe: true / false / unknown.
368
+ - approval required: true / false / unknown.
369
+ - evidence kind and truth status.
370
+
371
+ Keep out for now:
372
+
373
+ - automatic scheduling.
374
+ - automatic permission mutation.
375
+ - mandatory tool graph.
376
+
377
+ #### MCP Scheduler Runtime
378
+
379
+ Status: later.
380
+
381
+ Trigger:
382
+
383
+ - Tool intent labels are no longer enough.
384
+ - The harness starts coordinating multiple external tools inside one route.
385
+ - Write or destructive actions could run near read-only checks.
386
+ - Parallel tool execution becomes common and needs ordering.
387
+ - A mission needs deterministic tool sequence proof.
388
+
389
+ First shape:
390
+
391
+ - scheduler proof object.
392
+ - read-only overlap allowed.
393
+ - write/destructive serialization.
394
+ - blocked/approved/skipped status.
395
+
396
+ Keep out for now:
397
+
398
+ - default scheduler for normal work.
399
+ - route-wide mandatory scheduler.
400
+ - background runtime service.
401
+
402
+ #### Appshots Attachment Gate
403
+
404
+ Status: deferred.
405
+
406
+ Trigger:
407
+
408
+ - Ueye visual provenance cannot answer which exact visual source was used.
409
+ - A team workflow needs thread-level or attachment-level audit trails.
410
+ - Reference and implementation screenshots are easy to confuse.
411
+ - External review requires source image lineage beyond path/hash/id.
412
+
413
+ First shape:
414
+
415
+ - optional attachment source fields.
416
+ - no mandatory gate.
417
+ - preserve Ueye visual provenance as the default.
418
+
419
+ Keep out for now:
420
+
421
+ - required thread attachment ids.
422
+ - app-specific visual gates.
423
+ - blocking ordinary Ueye work when attachment metadata is absent.