Skip to content

Repo hardening: CI, hermetic tests, site catalog refresh, plugin READMEs#32

Merged
karanb192 merged 3 commits into
mainfrom
repo-hardening
Jul 19, 2026
Merged

Repo hardening: CI, hermetic tests, site catalog refresh, plugin READMEs#32
karanb192 merged 3 commits into
mainfrom
repo-hardening

Conversation

@karanb192

Copy link
Copy Markdown
Owner

Closes the gaps from the holistic repo review:

1. CI (the big one). test.yml runs the full 1,165-test suite on Node 18/20/22 for every push to main and every PR. Until now the tests badge linked to an Actions page that had never run a test; external PRs arrived unchecked. README gets the live CI badge alongside the count badge.

2. Hermetic tests. notify-permission.test.js scrubs CCH_SLA_WEBHOOK before requiring the hook — previously 2/29 tests failed for anyone with that env var set. The whole suite now passes with every known pollutant set (CCH_SLA_WEBHOOK + all three HOOK_ASK_*).

3. Site catalog catches up with reality. Cards for protect-tests (07) and session-logger (08), plugins renumbered 09–15, protect-tests removed from the forthcoming strip (it shipped in #20), all six/thirteen counts now eight/fifteen. Visually QA'd headless.

4. Per-plugin READMEs. All 7 plugins documented from source: install one-liner, hook table (event/sync-async/behavior), real config knobs with defaults, state location, data & privacy, uninstall.

5. Doc-drift fixes found while writing them (each verified against hooks.json + source):

  • nerf-receipts: trend card renders at SessionStart, not SessionEnd → plugin.json corrected, v1.0.1
  • dead-rules-audit: matcher prose omitted MultiEdit → JSDoc + plugin.json corrected, v1.0.1
  • bounty-board: JSDoc matcher omitted MultiEdit/NotebookEdit → corrected, v1.0.1
  • marketplace tags now list every registered event (dead-end-registry, standup-autopilot)

6. SECURITY.md — private vulnerability reporting + an explicit guardrails-not-a-sandbox threat model.

Suite: 1,165/0 clean and fully polluted. claude plugin validate: ✔.

karanb192 added 3 commits July 19, 2026 11:22
- CI: .github/workflows/test.yml runs the full suite on Node 18/20/22 for
  every push to main and every PR; README gets the live CI badge
- Hermetic tests: notify-permission no longer inherits CCH_SLA_WEBHOOK from
  the runner's shell (2 tests failed for anyone with that var set)
- Site: catalog now shows all 8 classic hooks (new cards: protect-tests,
  session-logger), plugin cards renumbered 09-15, protect-tests removed
  from the forthcoming strip, all six/thirteen counts corrected to
  eight/fifteen
- README: CI badge, Node >= 18 note, session-logger folded into the
  Session Lifecycle section (removes duplicate 'Session' heading)
- Plugin READMEs: all 7 plugins get a README (install, hook table,
  config knobs, data/privacy, uninstall) written from source
- Doc-drift fixes surfaced while writing them: nerf-receipts renders the
  trend card at SessionStart not SessionEnd (plugin.json, v1.0.1);
  dead-rules-audit matcher prose now includes MultiEdit (v1.0.1);
  bounty-board JSDoc matcher now includes MultiEdit/NotebookEdit (v1.0.1);
  marketplace tags complete the registered-event lists
- SECURITY.md: private vulnerability reporting + explicit threat model
@karanb192
karanb192 merged commit 7bca871 into main Jul 19, 2026
3 checks passed
@karanb192
karanb192 deleted the repo-hardening branch July 19, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant