yam-flow 0.1.1 → 0.1.3
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 +14 -0
- package/README.md +31 -0
- package/dist/bin/yam.js +576 -21
- package/dist/lib/trust-kernel.d.ts +41 -0
- package/dist/lib/trust-kernel.js +117 -0
- package/package.json +2 -1
- package/references/ueye-proof.md +40 -0
- package/skills/ueye/SKILL.md +13 -0
- package/src/bin/yam.ts +558 -19
- package/src/lib/trust-kernel.ts +147 -0
package/COMMANDS.md
CHANGED
|
@@ -39,6 +39,16 @@ $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 ueye report --reference ./reference.png --actual .yam/screens/home.png --design-quality needs-polish --json
|
|
48
|
+
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
49
|
+
yam proof --route ueye --truth partial --visual "browser/local screenshot comparison executed" --require-visual
|
|
50
|
+
```
|
|
51
|
+
|
|
42
52
|
## Review-Only
|
|
43
53
|
|
|
44
54
|
```text
|
|
@@ -136,6 +146,10 @@ yam proof /path/to/project
|
|
|
136
146
|
yam proof --route deep --truth verified --command "npm run build: pass"
|
|
137
147
|
yam proof --route ueye --truth verified --visual "reference image only"
|
|
138
148
|
yam proof --route ueye --truth partial --visual-provenance '{"source_kind":"reference","source_hash":"unknown","comparison_result":"not-verified","truth_status":"partial"}'
|
|
149
|
+
yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
|
|
150
|
+
yam ueye compare --reference ./reference.png --actual .yam/screens/home.png --json
|
|
151
|
+
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --design-quality pass --json
|
|
152
|
+
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
139
153
|
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"}'
|
|
140
154
|
yam proof --route deep --truth proven --require-runtime --runtime "mock server fixture"
|
|
141
155
|
yam proof write /path/to/project --route deep --truth partial --command "npm run build: pass"
|
package/README.md
CHANGED
|
@@ -127,6 +127,10 @@ 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
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 ueye report --reference ./reference.png --actual .yam/screens/home.png --design-quality needs-polish --json
|
|
133
|
+
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
130
134
|
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"}'
|
|
131
135
|
yam release report --json
|
|
132
136
|
yam safety "supabase db reset"
|
|
@@ -172,6 +176,33 @@ Publishing still requires confirming the final npm package name and account acce
|
|
|
172
176
|
- fake versus real distinction
|
|
173
177
|
- runtime truth matrix
|
|
174
178
|
- visual evidence caps
|
|
179
|
+
- Ueye visual run reports
|
|
180
|
+
- runtime backend evidence
|
|
181
|
+
- media generation proof caps
|
|
175
182
|
- DB/Supabase safety signals
|
|
176
183
|
|
|
177
184
|
It is implemented locally in `src/lib/trust-kernel.ts` and kept route-scoped. It is not an always-on release gate.
|
|
185
|
+
|
|
186
|
+
## Ueye Capture And Compare
|
|
187
|
+
|
|
188
|
+
`$ueye` stays one skill. It starts fast by default, then uses capture/compare only when a visual claim needs real evidence.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
yam ueye capture --url http://localhost:3000 --out .yam/screens/home.png
|
|
192
|
+
yam ueye compare --reference ./reference.png --actual .yam/screens/home.png --json
|
|
193
|
+
yam ueye report --reference ./reference.png --actual .yam/screens/home.png --design-quality pass --json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
`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.
|
|
197
|
+
|
|
198
|
+
`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.
|
|
199
|
+
|
|
200
|
+
`report` gathers reference sources, implementation screenshots, comparison result, design quality judgment, and next action into one compact proof-ready JSON object.
|
|
201
|
+
|
|
202
|
+
Generated media can guide visual direction, but it cannot prove the implemented UI by itself:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
yam media proof --requested --attempted --output ./generated.png --wait-loop --json
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
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.
|