frontend-harness 0.7.0 → 0.7.5

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 (39) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +6 -4
  3. package/dist/cli/index.js +279 -15
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/runtime/builtin-skills.js +3 -3
  6. package/dist/runtime/clean.js +6 -1
  7. package/dist/runtime/clean.js.map +1 -1
  8. package/dist/runtime/command-taxonomy.js +2 -0
  9. package/dist/runtime/command-taxonomy.js.map +1 -1
  10. package/dist/runtime/knowledge.d.ts +3 -0
  11. package/dist/runtime/knowledge.js +24 -4
  12. package/dist/runtime/knowledge.js.map +1 -1
  13. package/dist/runtime/plan/component-resolver.d.ts +2 -2
  14. package/dist/runtime/plan/component-resolver.js +74 -8
  15. package/dist/runtime/plan/component-resolver.js.map +1 -1
  16. package/dist/runtime/plan/guidance.js +2 -2
  17. package/dist/runtime/plan/guidance.js.map +1 -1
  18. package/dist/runtime/plan.js +1 -4
  19. package/dist/runtime/plan.js.map +1 -1
  20. package/dist/runtime/project-paths.d.ts +5 -0
  21. package/dist/runtime/project-paths.js +28 -0
  22. package/dist/runtime/project-paths.js.map +1 -1
  23. package/dist/runtime/protocol-init.js +1 -1
  24. package/dist/runtime/protocol-init.js.map +1 -1
  25. package/dist/runtime/state.js +1 -1
  26. package/dist/runtime/state.js.map +1 -1
  27. package/dist/runtime/ui-restoration.d.ts +3 -3
  28. package/dist/runtime/ui-restoration.js +8 -8
  29. package/dist/runtime/ui-restoration.js.map +1 -1
  30. package/dist/runtime/verify.js +37 -10
  31. package/dist/runtime/verify.js.map +1 -1
  32. package/dist/runtime/visual-compare.d.ts +35 -0
  33. package/dist/runtime/visual-compare.js +271 -0
  34. package/dist/runtime/visual-compare.js.map +1 -0
  35. package/dist/schemas/types.d.ts +1 -1
  36. package/docs/DIRECTION.md +1 -0
  37. package/package.json +1 -1
  38. package/templates/scaffold/vue/gitignore.tpl +8 -1
  39. package/templates/scaffold/vue/playwright.config.mjs +1 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,51 @@ All notable changes to `frontend-harness` are documented here.
4
4
 
5
5
  This project follows semver while it is pre-1.0: patch releases may include harness policy improvements that tighten validation, and minor releases may change generated protocol expectations.
6
6
 
7
+ ## 0.7.5 - 2026-05-25
8
+
9
+ ### Changed
10
+
11
+ - Refine design restoration evidence handling so design artifacts should be reused before repeated capture, duplicate evidence entries and artifact paths are rejected, and `design_to_code` only requires temporary asset localization when it is used as project source.
12
+ - Remove stale agent runtime artifacts from `clean` and keep unsupported `agent` / `run` commands on the normal unknown-command path.
13
+ - Align workflow documentation and injected useful-command guidance with the current review, PRD, and UI-source planning flows.
14
+
15
+ ## 0.7.4 - 2026-05-25
16
+
17
+ ### Changed
18
+
19
+ - Treat captured design evidence, evidence inputs, and visual comparison artifacts as local intermediate files in the Vue scaffold `.gitignore`, while keeping project-owned harness knowledge and skills available to track.
20
+ - Include local evidence directories in `clean` so `design-sources/`, `evidence/`, and `visual/` can be removed with other generated harness state.
21
+ - Clarify that `visual compare` is a deterministic pixel-level PNG evidence tool, not a full production visual-regression platform.
22
+
23
+ ## 0.7.3 - 2026-05-25
24
+
25
+ ### Added
26
+
27
+ - Added `visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png>` for dependency-free PNG screenshot comparison, diff artifact generation, hashes, and optional JSON reports.
28
+
29
+ ### Fixed
30
+
31
+ - Fixed design restoration planning so provider URLs are stripped before component naming and URL-only Pixso restoration tasks fall back to `RestoredDesignPage` instead of names such as `HttpsCn...`.
32
+ - Clarified scaffold `.gitignore` output so durable harness evidence directories stay tracked while generated runtime state remains ignored.
33
+
34
+ ## 0.7.2 - 2026-05-25
35
+
36
+ ### Fixed
37
+
38
+ - Improved UI restoration planning so high-confidence agent `targetCandidates` for the real page/component become the primary execution boundary instead of forcing an extra system-invented page file.
39
+ - Allowed real evidence input JSON to live under `.frontend-harness/evidence/` and filled missing `createdAt` timestamps during `evidence record`, while still rejecting inputs under generated verification state.
40
+
41
+ ## 0.7.1 - 2026-05-25
42
+
43
+ ### Added
44
+
45
+ - Added command-specific help for project policy commands and subcommands so flags for knowledge, evidence, proposal, repair, scaffold, state, verify, and clean are discoverable from `--help`.
46
+ - Added traceability flags to `knowledge module` so module summaries can carry coverage, anchor, and verification metadata into both frontmatter and rendered body sections.
47
+
48
+ ### Fixed
49
+
50
+ - Fixed the Vue scaffold Playwright config lint baseline by declaring the `process` global used for CI server reuse.
51
+
7
52
  ## 0.7.0 - 2026-05-25
8
53
 
9
54
  ### Added
package/README.md CHANGED
@@ -138,7 +138,7 @@ Use `init` after installation or package upgrades. Use `protocol check` when you
138
138
 
139
139
  `scaffold --preset vue` creates a Vue 3 + Vite + TypeScript engineering baseline inspired by the company `freight-admin` stack. It includes Vite config, ESLint/Prettier, Element Plus auto imports, and small `utils`, `storage`, and `service` layers. It intentionally does not create admin pages, routes, dashboards, permissions, or business components.
140
140
 
141
- UI restoration work treats design exports, screenshots, and generated code as source evidence for implementation and loop repair, not as paperwork to backfill after coding. For design-backed restoration, visual equivalence is the highest priority for the first project implementation: source material does not mean the agent may redesign the screen. When design_to_code or generated design markup is available, preserve it, localize temporary assets, and classify whether it is usable_as_source, usable_as_visual_baseline, usable_for_patch_reference, or unusable before deciding whether it can seed implementation or only guide repair; verify enforces that classification through visual-baseline metadata for design_to_code sources. Project-native rewrites may change file placement, framework integration, semantic markup, asset localization, naming, state wiring, and component boundaries only when the rendered result preserves the design's primary layout, spacing, typography, color, density, hierarchy, and visible states. When a design contains images, classify each one as required content, functional UI element, brand/product asset, decorative sample, or replaceable placeholder before implementation. Required images should become durable assets; decorative samples and placeholders should be replaced or documented in design evidence. Final handoff evidence should include a restoration verdict with score or pass/fail judgement, key visual differences, accepted gaps, and links to evidence artifacts. Component splits should follow semantic responsibility, reuse, and interaction boundaries rather than mirroring every design layer as a component.
141
+ UI restoration work treats design exports, screenshots, and generated code as source evidence for implementation and loop repair, not as paperwork to backfill after coding. For design-backed restoration, visual equivalence is the highest priority for the first project implementation: source material does not mean the agent may redesign the screen. When design_to_code or generated design markup is available, preserve it and classify whether it is usable_as_visual_baseline, usable_for_patch_reference, usable_as_source, or unusable before deciding whether it can seed implementation or only guide repair; verify enforces that classification through visual-baseline metadata for design_to_code sources, and temporary asset localization is required only when the generated artifact is used as project source. Project-native rewrites may change file placement, framework integration, semantic markup, asset localization, naming, state wiring, and component boundaries only when the rendered result preserves the design's primary layout, spacing, typography, color, density, hierarchy, and visible states. When a design contains images, classify each one as required content, functional UI element, brand/product asset, decorative sample, or replaceable placeholder before implementation. Required images should become durable assets; decorative samples and placeholders should be replaced or documented in design evidence. Final handoff evidence should include a restoration verdict with score or pass/fail judgement, key visual differences, accepted gaps, and links to evidence artifacts. Component splits should follow semantic responsibility, reuse, and interaction boundaries rather than mirroring every design layer as a component.
142
142
 
143
143
  ## Agent Protocol Commands
144
144
 
@@ -155,13 +155,14 @@ npm run harness -- state record-change --from-git
155
155
  npm run harness -- state check --json
156
156
  npm run harness -- evidence template --json
157
157
  npm run harness -- evidence record --json --file <evidence-input.json>
158
+ npm run harness -- visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png>
158
159
  npm run harness -- verify --json
159
160
  npm run harness -- repair packet --json
160
161
  npm run harness -- state next --json
161
162
  npm run harness -- state explain --json
162
163
  ```
163
164
 
164
- The agent should call them automatically while doing work. They persist state under `.frontend-harness/` and provide deterministic evidence for each step. `evidence template --json` prints the machine-readable evidence entry shape for the current plan; it is a schema aid, not proof. Put real captures, checks, comparisons, and hashes in a project-local evidence input JSON, then use `evidence record --json --file <evidence-input.json>` so the harness validates and writes `.frontend-harness/verification/evidence.json`.
165
+ The agent should call them automatically while doing work. They persist local state under `.frontend-harness/` and provide deterministic evidence for each step. `evidence template --json` prints the machine-readable evidence entry shape for the current plan; it is a schema aid, not proof. Put real captures, checks, comparisons, and hashes in a project-local evidence input JSON, then use `evidence record --json --file <evidence-input.json>` so the harness validates and writes `.frontend-harness/verification/evidence.json`. Captured evidence and visual comparison files are local intermediate artifacts by default; scaffolded projects ignore them and `clean` may remove them.
165
166
 
166
167
  `state check --json` verifies that recorded changed files cover the current plan's execution-unit files before verification. `verify --json` runs that contract check first, enforces PRD knowledge coverage when the plan has PRD input, and then discovers the default `typecheck`, `test`, and `build` scripts when present. Projects can also declare custom verification commands in `.frontend-harness/config.json`:
167
168
 
@@ -183,6 +184,7 @@ The agent should call them automatically while doing work. They persist state un
183
184
  - `api_integration`
184
185
  - `frontend_test`
185
186
  - `bug_fix`
187
+ - `frontend_review`
186
188
  - `requirement_change`
187
189
  - `documentation`
188
190
  - `maintenance`
@@ -297,7 +299,7 @@ The package writes project-local artifacts under `.frontend-harness/`:
297
299
  config.json
298
300
  ```
299
301
 
300
- Runtime artifacts such as `context/`, `plans/`, `state.json`, `verification/`, `logs/`, `repair/`, `state-explain/`, `execution-units/`, and `component-graph/` are generated continuity and evidence. They are ignored by git and can be removed with `frontend-harness clean --json`.
302
+ Runtime artifacts such as `context/`, `plans/`, `state.json`, `verification/`, `design-sources/`, `evidence/`, `visual/`, `logs/`, `repair/`, `state-explain/`, `execution-units/`, `component-graph/`, and stale runtime directories are generated local continuity and evidence. They are ignored by scaffolded project git and can be removed with `frontend-harness clean --json`.
301
303
 
302
304
  Durable project assets such as `knowledge/`, `skills/`, `config.json`, and protocol provenance are intentionally preserved by `clean` and may be committed when they represent project policy.
303
305
 
@@ -310,7 +312,7 @@ The project is being recentered around the original idea:
310
312
  3. Keep the public human workflow to install, initialize, and check protocol health.
311
313
  4. Preserve deterministic context, plan, verify, repair, and state primitives.
312
314
  5. Delete launcher/runtime features that duplicate Codex or Claude Code.
313
- 6. Keep removed `agent *` and `run --agent` surfaces out of the product unless the direction is explicitly revisited.
315
+ 6. Do not add `agent *` or `run --agent` surfaces unless the direction is explicitly revisited.
314
316
  7. Ship a small built-in set of project skills for common frontend workflows, while preserving project-local overrides.
315
317
  8. Keep documentation short, current, and product-oriented.
316
318
 
package/dist/cli/index.js CHANGED
@@ -14,10 +14,229 @@ import { checkSkills, discoverSkills } from "../runtime/skills.js";
14
14
  import { changedFilesFromGit, checkStateContract, getNextAction, loadState, recordChangedFiles } from "../runtime/state.js";
15
15
  import { checkExecutionUnits } from "../runtime/units.js";
16
16
  import { assertDesignSourceReadyForProjectChanges, createEvidenceTemplate, recordEvidence, runVerification } from "../runtime/verify.js";
17
+ import { compareVisualArtifacts } from "../runtime/visual-compare.js";
18
+ const COMMAND_HELP = {
19
+ init: [
20
+ "Usage:",
21
+ " frontend-harness init [--json]",
22
+ " frontend-harness init --dry-run --json",
23
+ " frontend-harness init --check --json",
24
+ "",
25
+ "Flags:",
26
+ " --dry-run Report protocol updates without writing files.",
27
+ " --check Exit non-zero when managed protocol files need updates.",
28
+ " --json Print machine-readable output."
29
+ ],
30
+ context: [
31
+ "Usage:",
32
+ " frontend-harness context --json"
33
+ ],
34
+ clean: [
35
+ "Usage:",
36
+ " frontend-harness clean [--json] [--dry-run] [--keep-logs <count>]",
37
+ "",
38
+ "Flags:",
39
+ " --dry-run Report generated runtime artifacts without removing them.",
40
+ " --keep-logs <count> Keep the newest N log files. Default: 20.",
41
+ " --json Print machine-readable output."
42
+ ],
43
+ plan: [
44
+ "Usage:",
45
+ " frontend-harness plan --json \"<task>\" [--prd <prd-file>] [--ui-source <ui-artifact-or-design-url>] [--agent-proposal <agent-proposal.json>]",
46
+ "",
47
+ "Flags:",
48
+ " --prd <file> Project-relative PRD or requirement source.",
49
+ " --ui-source <path-or-url> UI source artifact or supported design URL.",
50
+ " --agent-proposal <json-file> Bounded planning proposal envelope.",
51
+ " --json Print machine-readable output."
52
+ ],
53
+ verify: [
54
+ "Usage:",
55
+ " frontend-harness verify --json [--typecheck <command>] [--test <command>] [--build <command>]",
56
+ "",
57
+ "Flags:",
58
+ " --typecheck <command> Override discovered typecheck command.",
59
+ " --test <command> Override discovered test command.",
60
+ " --build <command> Override discovered build command.",
61
+ " --json Print machine-readable output."
62
+ ],
63
+ visual: [
64
+ "Usage:",
65
+ " frontend-harness visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png> [--report <report.json>] [--threshold <score>]",
66
+ "",
67
+ "Flags:",
68
+ " --design <png> Project-relative design/reference PNG.",
69
+ " --actual <png> Project-relative actual rendered PNG.",
70
+ " --diff <png> Output diff PNG path.",
71
+ " --report <json> Optional output JSON report path.",
72
+ " --threshold <score> Passing score threshold. Default: 90."
73
+ ],
74
+ "visual compare": [
75
+ "Usage:",
76
+ " frontend-harness visual compare --json --design <design.png> --actual <actual.png> --diff <diff.png> [--report <report.json>] [--threshold <score>]"
77
+ ],
78
+ evidence: [
79
+ "Usage:",
80
+ " frontend-harness evidence template --json",
81
+ " frontend-harness evidence record --json --file <evidence-input.json>"
82
+ ],
83
+ "evidence template": [
84
+ "Usage:",
85
+ " frontend-harness evidence template --json"
86
+ ],
87
+ "evidence record": [
88
+ "Usage:",
89
+ " frontend-harness evidence record --json --file <evidence-input.json>",
90
+ "",
91
+ "Flags:",
92
+ " --file <json-file> Project-relative evidence input JSON to validate and record.",
93
+ " --json Print machine-readable output."
94
+ ],
95
+ state: [
96
+ "Usage:",
97
+ " frontend-harness state next --json",
98
+ " frontend-harness state explain --json",
99
+ " frontend-harness state check --json",
100
+ " frontend-harness state record-change <file>",
101
+ " frontend-harness state record-change --from-git"
102
+ ],
103
+ "state record-change": [
104
+ "Usage:",
105
+ " frontend-harness state record-change <file>",
106
+ " frontend-harness state record-change --from-git",
107
+ "",
108
+ "Flags:",
109
+ " --from-git Record changed project files discovered from git status."
110
+ ],
111
+ knowledge: [
112
+ "Usage:",
113
+ " frontend-harness knowledge add --json --kind <kind> --subject \"<subject>\" <content-flag>",
114
+ " frontend-harness knowledge module --json --id <id> --title \"<title>\" --summary \"<summary>\" --body \"<body>\"",
115
+ " frontend-harness knowledge update --json --id <knowledge-id> [metadata flags]",
116
+ " frontend-harness knowledge index --json",
117
+ " frontend-harness knowledge coverage --json",
118
+ " frontend-harness knowledge list --json",
119
+ " frontend-harness knowledge search --json --query \"<query>\"",
120
+ " frontend-harness knowledge show --json --id <knowledge-id>",
121
+ " frontend-harness knowledge check --json",
122
+ "",
123
+ "Run a subcommand with --help for exact flags."
124
+ ],
125
+ "knowledge add": [
126
+ "Usage:",
127
+ " frontend-harness knowledge add --json --id <kebab-id> --kind <kind> --subject \"<subject>\" <content-flag> [traceability flags]",
128
+ "",
129
+ "Kinds and content flags:",
130
+ " rule --rule \"<rule>\"",
131
+ " workflow --workflow \"<workflow>\"",
132
+ " permission --permission \"<permission>\"",
133
+ " term --term \"<term>\"",
134
+ " pitfall --note \"<note>\"",
135
+ " decision --note \"<note>\"",
136
+ " convention --note \"<note>\"",
137
+ "",
138
+ "Traceability flags:",
139
+ " --source <path> Source PRD/document path. Repeat by comma-separating values.",
140
+ " --coverage <item> Precise PRD section, table, rule, or acceptance block.",
141
+ " --anchor <text> PRD anchor text.",
142
+ " --verification <check> Verification guidance for this knowledge.",
143
+ " --scope <scope> Scope label. Comma-separated values are accepted.",
144
+ " --tags <tags> Tags. Comma-separated values are accepted.",
145
+ " --summary <summary> Override generated summary.",
146
+ " --status active|deprecated",
147
+ " --stability stable|evolving"
148
+ ],
149
+ "knowledge module": [
150
+ "Usage:",
151
+ " frontend-harness knowledge module --json --id <kebab-id> --title \"<title>\" --summary \"<summary>\" --body \"<body>\" [traceability flags]",
152
+ "",
153
+ "Flags:",
154
+ " --id <kebab-id> Stable module id. Required when title slug is not sufficient.",
155
+ " --title <title> Module title.",
156
+ " --summary <summary> Short module summary.",
157
+ " --body <body> Durable module details.",
158
+ " --source <path> Source PRD/document path.",
159
+ " --coverage <item> Precise PRD coverage item.",
160
+ " --anchor <text> PRD anchor text.",
161
+ " --verification <check> Verification guidance.",
162
+ " --scope <scope> Scope label.",
163
+ " --tags <tags> Tags.",
164
+ " --related <ids> Related card ids, comma-separated.",
165
+ " --status active|deprecated",
166
+ " --stability stable|evolving"
167
+ ],
168
+ "knowledge update": [
169
+ "Usage:",
170
+ " frontend-harness knowledge update --json (--id <knowledge-id> | --path <knowledge-path>) [metadata flags]",
171
+ "",
172
+ "Flags:",
173
+ " --title <title> --summary <summary> --body <body>",
174
+ " --rule <rule> --workflow <workflow> --permission <permission> --term <term> --note <note>",
175
+ " --source <path> --coverage <item> --anchor <text> --verification <check>",
176
+ " --scope <scope> --tags <tags> --related <ids>",
177
+ " --status active|deprecated --stability stable|evolving"
178
+ ],
179
+ "knowledge promote": [
180
+ "Usage:",
181
+ " frontend-harness knowledge promote --json --title \"<title>\" --body \"<body>\" [--type <type>] [--source <path>] [--scope <scope>] [--tags <tags>]"
182
+ ],
183
+ "knowledge search": [
184
+ "Usage:",
185
+ " frontend-harness knowledge search --json --query \"<query>\" [--limit <count>] [--include-deprecated]"
186
+ ],
187
+ "knowledge show": [
188
+ "Usage:",
189
+ " frontend-harness knowledge show --json (--id <knowledge-id> | --path <knowledge-path>)"
190
+ ],
191
+ proposal: [
192
+ "Usage:",
193
+ " frontend-harness proposal check --json --file <agent-proposal.json>"
194
+ ],
195
+ repair: [
196
+ "Usage:",
197
+ " frontend-harness repair packet --json",
198
+ " frontend-harness repair decision check --json --file <repair-decision.json>"
199
+ ],
200
+ "repair decision": [
201
+ "Usage:",
202
+ " frontend-harness repair decision check --json --file <repair-decision.json>"
203
+ ],
204
+ scaffold: [
205
+ "Usage:",
206
+ " frontend-harness scaffold --preset vue --target <directory> [--dry-run] [--force] [--json]",
207
+ "",
208
+ "Flags:",
209
+ " --preset vue Scaffold preset.",
210
+ " --target <directory> Project-relative output directory.",
211
+ " --dry-run Report files without writing them.",
212
+ " --force Allow scaffolding into a non-empty target."
213
+ ],
214
+ skills: [
215
+ "Usage:",
216
+ " frontend-harness skills list --json",
217
+ " frontend-harness skills check --json"
218
+ ],
219
+ units: [
220
+ "Usage:",
221
+ " frontend-harness units check --json"
222
+ ],
223
+ graph: [
224
+ "Usage:",
225
+ " frontend-harness graph check --json"
226
+ ],
227
+ protocol: [
228
+ "Usage:",
229
+ " frontend-harness protocol check --json"
230
+ ]
231
+ };
17
232
  async function main() {
18
233
  const rawArgs = process.argv.slice(2);
19
234
  try {
20
235
  const parsed = parseArgs(rawArgs);
236
+ if (isHelpRequest(parsed)) {
237
+ printHelp(parsed);
238
+ return;
239
+ }
21
240
  validateFlags(parsed);
22
241
  const projectRoot = process.cwd();
23
242
  switch (parsed.command) {
@@ -62,6 +281,9 @@ async function main() {
62
281
  case "evidence":
63
282
  handleEvidence(projectRoot, parsed);
64
283
  return;
284
+ case "visual":
285
+ handleVisual(projectRoot, parsed);
286
+ return;
65
287
  case "state":
66
288
  handleState(projectRoot, parsed);
67
289
  return;
@@ -110,15 +332,6 @@ async function main() {
110
332
  process.exitCode = result.status === "failed" ? 1 : 0;
111
333
  return;
112
334
  }
113
- case "agent":
114
- case "run":
115
- throw new Error("Agent runtime commands have been removed. Use context, plan, state, verify, repair, skills, knowledge, and protocol policy commands.");
116
- case undefined:
117
- case "help":
118
- case "--help":
119
- case "-h":
120
- printHelp();
121
- return;
122
335
  default:
123
336
  throw new Error(`Unknown command: ${parsed.command}`);
124
337
  }
@@ -145,6 +358,21 @@ function handleEvidence(projectRoot, parsed) {
145
358
  }
146
359
  throw new Error("evidence requires subcommand: template or record");
147
360
  }
361
+ function handleVisual(projectRoot, parsed) {
362
+ if (parsed.subcommand === "compare") {
363
+ const result = compareVisualArtifacts(projectRoot, {
364
+ ...optionalString("design", parsed.flags["design"]),
365
+ ...optionalString("actual", parsed.flags["actual"]),
366
+ ...optionalString("diff", parsed.flags["diff"]),
367
+ ...optionalString("report", parsed.flags["report"]),
368
+ ...optionalNumber("threshold", parsed.flags["threshold"])
369
+ });
370
+ output(result, parsed.json);
371
+ process.exitCode = result.status === "failed" ? 1 : 0;
372
+ return;
373
+ }
374
+ throw new Error("visual requires subcommand: compare");
375
+ }
148
376
  function handleState(projectRoot, parsed) {
149
377
  if (parsed.subcommand === "explain") {
150
378
  output(explainState(projectRoot), parsed.json);
@@ -243,6 +471,9 @@ function handleKnowledge(projectRoot, parsed) {
243
471
  ...optionalString("title", parsed.flags["title"]),
244
472
  ...optionalString("summary", parsed.flags["summary"]),
245
473
  ...optionalString("body", parsed.flags["body"]),
474
+ ...optionalString("coverage", parsed.flags["coverage"]),
475
+ ...optionalString("anchor", parsed.flags["anchor"]),
476
+ ...optionalString("verification", parsed.flags["verification"]),
246
477
  ...optionalString("scope", parsed.flags["scope"]),
247
478
  ...optionalString("tags", parsed.flags["tags"]),
248
479
  ...optionalString("status", parsed.flags["status"]),
@@ -342,7 +573,7 @@ function parseArgs(args) {
342
573
  positionals.push(arg);
343
574
  }
344
575
  }
345
- const command = flags["help"] ? "--help" : positionals[0];
576
+ const command = positionals[0];
346
577
  return {
347
578
  command,
348
579
  subcommand: positionals[1],
@@ -353,16 +584,23 @@ function parseArgs(args) {
353
584
  };
354
585
  }
355
586
  function validateFlags(parsed) {
356
- if (parsed.command === "agent" || parsed.command === "run") {
587
+ const allowed = allowedFlags(parsed);
588
+ if (!allowed) {
357
589
  return;
358
590
  }
359
- const allowed = allowedFlags(parsed);
360
591
  for (const key of Object.keys(parsed.flags)) {
361
592
  if (!allowed.has(key)) {
362
593
  throw new Error(`Unsupported flag for ${parsed.command ?? "help"}: --${key}`);
363
594
  }
364
595
  }
365
596
  }
597
+ function isHelpRequest(parsed) {
598
+ return Boolean(parsed.flags["help"])
599
+ || parsed.command === undefined
600
+ || parsed.command === "help"
601
+ || parsed.command === "--help"
602
+ || parsed.command === "-h";
603
+ }
366
604
  function allowedFlags(parsed) {
367
605
  const global = ["json", "help"];
368
606
  const commandFlags = {
@@ -371,6 +609,7 @@ function allowedFlags(parsed) {
371
609
  clean: ["dry-run", "keep-logs"],
372
610
  plan: ["prd", "ui-source", "agent-proposal"],
373
611
  verify: ["typecheck", "test", "build"],
612
+ visual: parsed.subcommand === "compare" ? ["design", "actual", "diff", "report", "threshold"] : [],
374
613
  evidence: parsed.subcommand === "record" ? ["file"] : [],
375
614
  state: parsed.subcommand === "record-change" ? ["from-git"] : [],
376
615
  knowledge: knowledgeFlags(parsed.subcommand),
@@ -385,6 +624,9 @@ function allowedFlags(parsed) {
385
624
  "--help": [],
386
625
  "-h": []
387
626
  };
627
+ if (parsed.command && !Object.prototype.hasOwnProperty.call(commandFlags, parsed.command)) {
628
+ return null;
629
+ }
388
630
  return new Set([...global, ...(parsed.command ? commandFlags[parsed.command] ?? [] : [])]);
389
631
  }
390
632
  function knowledgeFlags(subcommand) {
@@ -397,7 +639,7 @@ function knowledgeFlags(subcommand) {
397
639
  case "promote":
398
640
  return ["title", "body", "type", ...lifecycle];
399
641
  case "module":
400
- return ["id", "title", "summary", "body", "related", ...lifecycle];
642
+ return ["id", "title", "summary", "body", "related", ...traceability, ...lifecycle];
401
643
  case "update":
402
644
  return ["id", "path", "title", "summary", "body", "related", ...atomicContent, ...traceability, ...lifecycle];
403
645
  case "list":
@@ -451,6 +693,20 @@ function renderHuman(value) {
451
693
  ...verification.results.map((item) => `- ${String(item.name ?? "verification")}: ${String(item.status ?? "unknown")} (${String(item.exitCode ?? "n/a")})`)
452
694
  ].join("\n");
453
695
  }
696
+ if ("comparisonTool" in value && "score" in value) {
697
+ const comparison = value;
698
+ return [
699
+ `status: ${String(comparison.status ?? "unknown")}`,
700
+ `score: ${String(comparison.score ?? "unknown")}`,
701
+ `threshold: ${String(comparison.threshold ?? "unknown")}`,
702
+ `changedPixels: ${String(comparison.changedPixels ?? "unknown")}`,
703
+ `changedRatio: ${String(comparison.changedRatio ?? "unknown")}`,
704
+ `diffPath: ${String(comparison.diffPath ?? "unknown")}`,
705
+ ...(Array.isArray(comparison.limitations) && comparison.limitations.length
706
+ ? [`limitations: ${comparison.limitations.map((item) => String(item)).join(" ")}`]
707
+ : [])
708
+ ].join("\n");
709
+ }
454
710
  if ("action" in value && "stateStatus" in value) {
455
711
  const next = value;
456
712
  return [
@@ -593,8 +849,16 @@ function renderCheck(value, countKey) {
593
849
  }
594
850
  return lines.join("\n");
595
851
  }
596
- function printHelp() {
597
- console.log(["frontend-harness", "", ...publicHelpLines()].join("\n"));
852
+ function printHelp(parsed) {
853
+ console.log(["frontend-harness", "", ...helpLinesFor(parsed)].join("\n"));
854
+ }
855
+ function helpLinesFor(parsed) {
856
+ if (!parsed || !parsed.command || ["help", "--help", "-h"].includes(parsed.command)) {
857
+ return publicHelpLines();
858
+ }
859
+ const key = [parsed.command, parsed.subcommand, parsed.positionals[2]].filter(Boolean).join(" ");
860
+ const commandHelp = COMMAND_HELP[key] ?? COMMAND_HELP[parsed.command];
861
+ return commandHelp ?? publicHelpLines();
598
862
  }
599
863
  function stringFlag(value) {
600
864
  return typeof value === "string" ? value : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}