{ id = "0011", slug = "manifest-coverage-hooks", description = "Add pre-commit hook for manifest capability coverage and SessionStart hook showing manifest health. Prevents incomplete manifests from being committed and ensures agents see gaps at session start.", check = { tag = "NuCmd", cmd = "let root = $env.ONTOREF_PROJECT_ROOT; let pcf = $\"($root)/.pre-commit-config.yaml\"; let hook = $\"($root)/.claude/hooks/session-context.sh\"; let has_manifest_hook = if ($pcf | path exists) { (open --raw $pcf | str contains 'manifest-coverage') } else { false }; let has_session_audit = if ($hook | path exists) { (open --raw $hook | str contains 'manifest-check') } else { false }; if $has_manifest_hook and $has_session_audit { exit 0 } else { exit 1 }", expect_exit = 0, }, instructions = " Two hooks ensure manifest completeness is enforced and visible: ## 1. Pre-commit hook (blocks commits when manifest has Hard failures) Add to .pre-commit-config.yaml in the local hooks section: - id: manifest-coverage name: Manifest capability completeness entry: bash -c 'ONTOREF_ROOT=\"$(pwd)\" ONTOREF_PROJECT_ROOT=\"$(pwd)\" nu --no-config-file -c \"use ./reflection/modules/sync.nu *; sync manifest-check\"' language: system files: (\\.ontology/|reflection/modes/|reflection/forms/).*\\.ncl$ pass_filenames: false stages: [pre-commit] This fires when .ontology/, reflection/modes/, or reflection/forms/ NCL files change. It blocks on Hard failures (no capabilities declared at all) and warns on Soft issues. ## 2. SessionStart hook (shows manifest health at session start) Add to .claude/hooks/session-context.sh before the final line: # quick manifest/ontology health check HEALTH_OUT=$(cd \"$REPO_ROOT\" && ONTOREF_ROOT=\"$REPO_ROOT\" ONTOREF_PROJECT_ROOT=\"$REPO_ROOT\" \\ nu --no-config-file -c 'use ./reflection/modules/sync.nu *; sync manifest-check' 2>/dev/null || true) if [[ -n \"$HEALTH_OUT\" ]]; then echo \"Manifest Coverage\" echo \"$HEALTH_OUT\" fi This ensures every Claude Code session starts with visibility into manifest completeness. Agents see immediately if capabilities are missing and avoid reinventing existing functionality. ", }