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 +18 -0
- package/README.md +20 -0
- package/ROADMAP.md +110 -0
- package/dist/bin/yam.js +422 -4
- package/dist/lib/trust-kernel.d.ts +38 -0
- package/dist/lib/trust-kernel.js +69 -0
- package/package.json +2 -1
- package/references/mission.md +24 -0
- package/references/tool-trust-layer.md +13 -0
- package/references/ueye-proof.md +39 -0
- package/skills/mission/SKILL.md +10 -6
- package/skills/ueye/SKILL.md +12 -3
- package/src/bin/yam.ts +408 -3
- package/src/lib/trust-kernel.ts +111 -0
- package/templates/mission-plan.md +13 -0
- package/templates/ueye-comparison.md +15 -0
- package/templates/ueye-review.md +15 -0
- package/yam.manifest.json +2 -2
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.
|