You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(harness-component-snapshot): keep bounded diffs and usage errors useful
Post-merge review of pull request 69 found that a bounded diff sorted entries
by component ID only, so `unchanged` entries consumed the limit and a small
`--limit` could truncate away the only real difference while still reporting
`truncated: true`. Entries now order `changed`, `added`, and `removed` before
`unchanged`, falling back to the canonical component ID order so results stay
deterministic. Counts already covered every component and are unchanged.
CLI usage failures collapsed every argument problem into one opaque message.
The sanitization was protecting real privacy, because an unrecognized command
or option is caller-supplied argv that can hold a private path, but it also
discarded safe detail. Usage diagnostics now name the specific reason and, for
missing-value, duplicate, and missing-required failures, the allowlisted flag,
while never echoing an unrecognized token or any option value.
Two review findings are documentation rather than behavior: the v1
`relationships` set is fully derivable from `components`, which is now recorded
in `contract.mjs` and HCS-AC-5 as a deliberate extension point instead of
looking like accidental redundancy; and byte-level revisions differ across
operating systems when line-ending normalization differs, which the spec now
carries as an explicit risk against cross-platform `--population-key` diffs.
`.gitignore` re-includes `test/fixtures/**/.qoder/`. Those fixtures were only
tracked because they had been force-added, so new fixture assets under that
path were invisible to `git status`.
Symlink-tolerance consistency and the hard-coded read surface in
`assertProjectReadBoundaries` are recorded in the spec as deferred findings
rather than changed here, since each is a design decision beyond this slice.
Validated with `npm test` at 1290 passing, 0 failing, 0 skipped, doc links 6/6,
`npm run pack:verify` at 458 npm and 480 runtime-zip entries, and a manual
`diff --limit 1` check confirming the changed entry now survives truncation.
Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
0 commit comments