## What
Hookless epic S2 (`soc-khev6`): delete the `standards-injector`
PreToolUse hook and **fully retire** its dedicated CI gate.
`standards-injector` is a value-negative noise-injector — it injects
language standards on every Edit/Write regardless of relevance (A/B Δ=0,
per `docs/architecture/hook-noise-audit.md`). The replacement is the
`standards` skill, read on demand: a PRODUCT surface, not hook magic.
## Teardown (all of it)
- **Hook + tests:** `git rm hooks/standards-injector.sh`, its embedded
copy, and `tests/hooks/standards-injector.bats`.
- **Manifests:** pruned the Edit + Write entries from `hooks/hooks.json`
and `hooks/codex-hooks.json`, dropping the now-empty matcher groups.
**Codex native handlers 17 → 15** (two entries removed, not one — Edit
retains `codex-parity-warn.sh`, Write group dropped).
- **CI gate retired:** removed the `standards-injector-completeness` job
from `validate.yml` + both `needs:` lists
(`validate-pr-evidence-claims`, `summary`) + the summary echo; `git rm`
the check script + its bats; removed from `ci-jobs.yaml` manifest and
regenerated `AGENTS-CI.md`; removed from `pre-push-gate.sh` + its bats
stub.
- **Codex test assertions (the S1 bite):** `test-runtime-codex-smoke.sh`
and `test-codex-native-install.sh` length `17 → 15`; removed
`standards-injector.sh` from the require-handlers array.
- **Shared iterators:** pruned the `@test`/section blocks from
`test-hooks.bats`, `hook-output-schema.bats`,
`hook-stdin-contracts.bats`, `test-hook-chain.sh`,
`test-hook-lifecycle.sh`, `test-hooks.sh`, and the eval fixture
`hook-context-value-smoke.sh`.
- **Other surfaces:** `validate-hook-preflight.sh`,
`install-codex-plugin.sh`, `install-codex.ps1` owned-script lists;
`hooks_test.go` (swapped synthetic name to a live hook);
`context_compiler.go` port doc comment.
- **Regen:** hook-lease classification + inventory, registry, embedded
sync.
- **Docs:** `HOOKS.md`, `hook-noise-audit.md` (records S2 deletion),
`ENV-VARS.md` (`AGENTOPS_STANDARDS_*` vars), `LOOP-BUDGET.md`,
`cli-skills-map.md`, `software-factory.md`, `SDK-INVENTORY.md`.
## Verify (all green locally)
`check-hook-lease-inventory`, `validate-hooks-doc-parity`,
`check-hook-port-replacements`, `validate-hook-preflight`,
`generate-registry --check`, `validate-ci-policy-parity`,
`tests/smoke-test.sh` (codex smoke + native install),
`test-runtime-codex-smoke.sh`, the 3 bats hook suites, `go
build/vet/test`. `grep standards-injector validate.yml
ci-local-release.sh` → empty.
Diff stat: 39 files, +32 / -1045 (deletion-heavy, as expected for a
teardown).
Closes-scenario: soc-khev6#rm-standards-injector
Bounded-context: BC5-Runtime
Evidence: docs/contracts/hook-lease-inventory.md
Council vibe found 9 stale references after the threshold changes:
- Auto-prune comment: "opt-in" → "opt-out" (default is now 1)
- Add AGENTOPS_AUTO_PRUNE to docs/ENV-VARS.md
- 5+ docs said "manual (default)" for startup mode → now "lean"
- Add stub rejection test for pool_ingest "no significant learnings"
- Update 8 stale test comments (0.7→0.55, harmful>=5→>=3, conf<0.2→<0.3)
- Fix helpers2_test boundary confidence 0.19→0.29 for new 0.3 threshold
- Fix json_validity_test fixture data to match new thresholds
- Add AGENTOPS_STARTUP_CONTEXT_MODE tristate (manual/lean/legacy)
- manual (default): MEMORY.md auto-loaded, no extract/inject, pointer only
- lean: extract + inject with reduced budget (existing behavior)
- legacy: extract + inject with full budget (backward compat)
- Add --source auto|sessions|pending and --session flags to ao notebook update
- auto (default): tries sessions/*.jsonl first, falls back to pending.jsonl
- Filters .jsonl only (ignores .md files in sessions dir)
- Fix minimal hook install: add SessionEnd to events, use script paths
- generateMinimalHooksConfig uses ${CLAUDE_PLUGIN_ROOT} script refs
- replacePluginRoot called for minimal mode too
- Remove --queue from forge call in session-end-maintenance.sh
- Update inject SKILL.md, using-agentops SKILL.md, HOOKS.md, ENV-VARS.md
- Regenerate COMMANDS.md with new flags
- 7 new tests for session source resolution, all passing