Pre-trekexecute snapshot of in-progress CLAUDE.md/SKILL.md edits and extracted docs/ files. Captured as one commit so /trekexecute claude-design can run against a clean working tree. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Config-Audit — Plain-language output (v5.1.0)
Imported from CLAUDE.md via pointer.
Default output of all 18 commands routes through humanizeEnvelope from lib/humanizer.mjs. Findings are decorated with three additive fields and may have title/description/recommendation replaced when a translation exists.
Output modes
| Flag | Behavior |
|---|---|
| (default, no flag) | Plain-language: humanizer applied, findings group by user-impact, titles lead with prose. Self-audit terminal render also humanized. |
--raw |
Byte-stable v5.0.0 verbatim — humanizer bypassed, technical IDs and severity-only labels. For tooling that scrapes stderr from v5.0.0. |
--json |
Unchanged from v5.0.0 — humanizer bypassed, byte-stable JSON envelope. Always preferred for programmatic consumption over --raw. |
--output-file <path> |
Writes raw v5.0.0-shape JSON (humanizer bypassed). Posture-specific. |
--raw is threaded through every CLI: posture.mjs, scan-orchestrator.mjs, token-hotspots-cli.mjs, manifest.mjs, whats-active.mjs, fix-cli.mjs, drift-cli.mjs, self-audit.mjs.
Vocabularies
User-impact category (added to each finding as userImpactCategory, derived from scanner prefix):
| Label | Scanners |
|---|---|
| Configuration mistake | CML, SET, HKV, RUL, MCP, IMP, PLH |
| Conflict | CNF, COL |
| Wasted tokens | TOK, CPS |
| Dead config | DIS |
| Missed opportunity | GAP |
Action language (added to each finding as userActionLanguage, derived from severity):
| Severity | Phrase |
|---|---|
| critical | Fix this now |
| high | Fix soon |
| medium | Fix when convenient |
| low | Optional cleanup |
| info | FYI |
Relevance context (added to each finding as relevanceContext, computed from finding's file path):
| Value | When |
|---|---|
test-fixture-no-impact |
Path contains /tests/fixtures/ or /test/fixtures/ |
affects-this-machine-only |
Basename matches *.local.* (e.g., settings.local.json) |
affects-everyone |
Default — assumed shared/committed config |
Wave 5 lessons
- Posture's stderr scorecard is rendered prose-side and is not part of the JSON envelope;
humanized.areas[].titleHumanizedreferenced by command templates lives only in the prose render. - Posture's
--output-filewrites raw v5.0.0-shape JSON becauseposture.mjsdoes not callhumanizeEnvelope. If session-files should later be humanized, posture needs its own humanize pass — out of v5.1.0 scope. - The default-output snapshot at
tests/snapshots/default-output/posture.jsonis frozen — change requiresUPDATE_SNAPSHOT=1plus intent confirmation.