Phase 2 — Static pass #2

Closed
opened 2026-07-29 16:37:27 +03:00 by oleks · 0 comments
Owner

Per design/tasks.md Phase 2.

  • 2.1 bin/plugin-inventory: target resolution (path or cache name, semver pick, .orphaned_at skip), frontmatter parsing
  • 2.2 Signal extraction: procedural density, verb ratio, command-block signatures, rule tables, script coverage, hook/prose drift
  • 2.3 references/signals-catalog.md: verb lexicons + thresholds, externalized as a reviewable diff — required a rewrite mid-build to fenced-block extraction after the first format collided with markdown heading syntax (MD025) and with the parser's own comment-skipping logic
  • 2.4 tests/inventory.test.sh against tests/fixtures/sample-plugin/, 13 assertions, all passing
  • 2.5 Calibration run against token-budget, worktree-discipline, anxious, memory — recorded in Methodology/Calibration.md. Default thresholds reproduced the design doc's predicted ordering (token-budget cleanest, anxious richest in candidates) with no tuning needed. Also surfaced that hook/prose-drift is a distinct candidate category from the verb-ratio/coverage smell — flagged for Phase 4's rubric agent to keep separate.

Bug found and fixed along the way: the first hook/prose-drift heuristic matched plain English word overlap and fired on nearly every hook×skill pair in real plugins; tightened to identifier-shaped tokens only (snake_case/SCREAMING_CASE/filenames).

Commits: bf88742, caa2a8c, 07b5637.

Per design/tasks.md Phase 2. - [x] 2.1 `bin/plugin-inventory`: target resolution (path or cache name, semver pick, `.orphaned_at` skip), frontmatter parsing - [x] 2.2 Signal extraction: procedural density, verb ratio, command-block signatures, rule tables, script coverage, hook/prose drift - [x] 2.3 `references/signals-catalog.md`: verb lexicons + thresholds, externalized as a reviewable diff — required a rewrite mid-build to fenced-block extraction after the first format collided with markdown heading syntax (MD025) and with the parser's own comment-skipping logic - [x] 2.4 `tests/inventory.test.sh` against `tests/fixtures/sample-plugin/`, 13 assertions, all passing - [x] 2.5 Calibration run against token-budget, worktree-discipline, anxious, memory — recorded in [Methodology/Calibration.md](https://git.oleks.space/kotkan/claude-plugin-inference-arbitrage/wiki/Methodology%2FCalibration). Default thresholds reproduced the design doc's predicted ordering (token-budget cleanest, anxious richest in candidates) with **no tuning needed**. Also surfaced that hook/prose-drift is a distinct candidate category from the verb-ratio/coverage smell — flagged for Phase 4's rubric agent to keep separate. Bug found and fixed along the way: the first hook/prose-drift heuristic matched plain English word overlap and fired on nearly every hook×skill pair in real plugins; tightened to identifier-shaped tokens only (snake_case/SCREAMING_CASE/filenames). Commits: bf88742, caa2a8c, 07b5637.
oleks added this to the v0.1.0 milestone 2026-07-29 16:37:27 +03:00
oleks closed this issue 2026-07-29 16:37:31 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kotkan/claude-plugin-inference-arbitrage#2