ontoref/reflection/migrations/0011-manifest-coverage-hooks.ncl
Jesús Pérez 472952e29b
Some checks failed
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
Nickel Type Check / Nickel Type Checking (push) Has been cancelled
feat: domain extension system, VCS abstraction, personal/provisioning domains, web subpages
Domain extension system (ADR-012): bash-layer dispatch activates repo_kind-conditional CLI
  domains. install.nu copies domains/ tree; short_alias wrappers generated (personal, prov).
  ore help and describe capabilities domain-aware.

  personal domain (PersonalOntology): career skills/talks/publications/positioning, CFP
  pipeline (Watching→Delivered), opportunities lifecycle, content pipeline, Sessionize
  integration. Daemon pages: /career, /personal.

  provisioning domain (DevWorkspace/Mixed): FSM state, next transitions, connections graph,
  gates, workspace card, capabilities, backlog. Daemon page: /provisioning.

  VCS abstraction layer (ADR-013): reflection/modules/vcs.nu — uniform jj/git API via
  filesystem detection (.jj/ vs .git/). opmode.nu and git-event.nu migrated off ^git.
  reflection/bin/jjw.nu — jj + ontoref + Radicle agent workspace lifecycle. jjw-ncl-merge.nu
  registered as jj merge tool for .ontology/ NCL conflicts. init-repo.nu for new_project mode.
  jj/rad not in ontoref requirements — belong in orchestration project manifests.

  'Framework RepoKind: ontology/schemas/manifest.ncl gains 'Framework variant; ontoref
  self-identifies as framework — no domain activates for the protocol itself.

  Web presence: personal.html and provisioning.html domain subpages. index.html gains
  "Project Types — Domain Extensions" section with type cards and subpage links. Nav
  compacted (Arch/Prov labels, solid backdrop-filter background).

  on+re: vcs-abstraction (adrs: adr-013) and agent-workspace-orchestration Practice nodes;
  21 manifest capabilities; state.ncl catalysts updated.
2026-04-07 23:08:29 +01:00

44 lines
2.1 KiB
Text

{
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_PROJECT_ROOT=\"$(pwd)\" ontoref 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_PROJECT_ROOT=\"$REPO_ROOT\" \\
ontoref 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.
",
}