docs(config-audit): v5 implementation log — Session 2 alpha.2 result
This commit is contained in:
parent
55cedbea2c
commit
dd0d4bf738
1 changed files with 28 additions and 2 deletions
|
|
@ -70,9 +70,35 @@ Written at the end of each session. State for the next session lives in
|
|||
|
||||
---
|
||||
|
||||
## Session 2 — alpha.2 (TBD)
|
||||
## Session 2 — alpha.2 (2026-05-01)
|
||||
|
||||
*Steps 10-17.*
|
||||
**Outcome:** All 8 steps shipped. 569 → 586 tests, all green. Direct-to-main on Forgejo (autorisert).
|
||||
|
||||
**Per-step result:**
|
||||
|
||||
| # | Step | Result | Commit |
|
||||
|---|------|--------|--------|
|
||||
| 10 | F7 — recalibrate TOK severities + calibration_note | ✓ green (+6 tests, table-driven by title — TOK IDs are sequential per scan, not semantic per pattern) | `58d6b5b` feat(config-audit): recalibrate TOK severities for tokens/turn (v5 F7) |
|
||||
| 11 | M6 — `additionalDirectories` KNOWN_KEYS + threshold (>2 → low) | ✓ green (+3 tests, fixtures `additional-dirs-many` + `additional-dirs-ok`) | `9330124` feat(config-audit): flag additionalDirectories > 2 (v5 M6) |
|
||||
| 12 | M4 — TOK Pattern E: cascade > 10k tokens (medium) | ✓ green (+2 tests, fixtures `large-cascade` 14475 tokens + `small-cascade` 5171 tokens; ambient cascade ≈5126) | `25ca613` feat(config-audit): TOK flags CLAUDE.md cascade > 10k tokens (v5 M4) |
|
||||
| 13 | M2 — TOK Pattern F: SKILL.md description > 500 chars (low) | ✓ green (+2 tests, scoped to discovery.files only — activeConfig.skills walk found 22 ambient bloated skills polluting tests; project-only is the right scope) | `9a44df2` feat(config-audit): TOK flags skill description > 500 chars (v5 M2) |
|
||||
| 14 | M1 — MCP tool-count detection (cache → package.json → null) | ✓ green (+4 tests, helper `detectMcpToolCount`, fixture `mcp-tool-heavy` with mocked `node_modules/mcp-heavy/package.json`) | `1422daf` feat(config-audit): MCP tool-count detection with manifest fallback (v5 M1) + `7181862` chore: allow fake node_modules in tests/fixtures |
|
||||
| 15 | M5 — HKV verbose hook output (>50 lines → low) | ✓ green (+2 tests, fixtures `hooks-verbose` 61 lines + `hooks-quiet` 5 lines, helper `countVerboseLines`) | `910567d` feat(config-audit): HKV flags verbose hook output (v5 M5) |
|
||||
| 16 | F6 — `self-audit --check-readme` flag | ✓ green (+4 tests, helper `checkReadmeBadges` + `runSelfAudit({checkReadme:true})`, fixture `readme-desynced`; real plugin self-check intentionally red — scanners 10 vs 9, tests 31 vs 543, deferred to Step 28) | `3c79f95` feat(config-audit): self-audit --check-readme flag (v5 F6) |
|
||||
| 17 | CHANGELOG 5.0.0-alpha.2 entry | ✓ added with F7/M1/M2/M4-M6/F6 summary, breakdown of new fixtures, and notes on alpha-phase passed===false acceptance | `55cedbe` docs(config-audit): CHANGELOG 5.0.0-alpha.2 entry |
|
||||
|
||||
**Notable observations / deviations:**
|
||||
- **Step 10 plan vs reality:** Plan's table used `findingId: 'CA-TOK-NNN'` mapping IDs to patterns. Actual TOK finding IDs are sequential per scan (output.mjs:31), not semantic per pattern — when only Pattern B fires (redundant-tools fixture), it gets CA-TOK-001 not CA-TOK-002. Test was rewritten to identify findings by title regex instead.
|
||||
- **Step 13 scope:** Plan said "walk activeConfig.skills". Implementation walks only `discovery.files` of type `skill-md`. Reason: walking activeConfig.skills pulls in user's `~/.claude/skills/` (11 user skills + 54 plugin skills, of which 22 had > 500-char descriptions in this user's ambient state) — none of which are actionable in a project-scoped audit. Discovery-only matches what `/config-audit <path>` is asking about.
|
||||
- **Step 14 fixture committed via gitignore exception:** `node_modules/` is repo-wide ignored; added `!tests/fixtures/**/node_modules/**` so the `mcp-heavy/package.json` fixture stays under version control.
|
||||
- **Step 14 hook command path:** Initial fixture used `node ./hooks/scripts/loud.mjs` but `extractScriptPath` resolves relative paths from `dirname(file.absPath)` which is already `hooks/`, so the path needed to be `./scripts/loud.mjs` (no leading `hooks/`).
|
||||
- **Step 16 plan deviation on tests count:** Plan's heuristic "count `.test.mjs` files in `tests/`" yields 31 for the real plugin, but the README badge says "543+" (test cases, not files). Both are legitimate measurements — alpha phase explicitly does not require `passed === true`. Step 28 will reconcile.
|
||||
- **`[skip-docs]` tag on every feat commit:** pre-commit-docs-gate hook requires README/CLAUDE.md updates on `feat:` commits to Forgejo; v5 plan explicitly fences off doc updates until Session 5. Each commit message ends with `[skip-docs]` and a reason; logged to `~/.claude/audit/docs-gate-skips.log`.
|
||||
- Total tests: 569 → 586 (+17 from new + already-counted F7 in 569 baseline).
|
||||
|
||||
**No blockers carried into Session 3.**
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue