Files
boshu2__agentops/scripts/docs-build.sh
T
Boden Fuller cc6750c4e8 feat(docs,skills): rebuild Pages site with MkDocs Material + harden RPI orchestrator delegation contract
## Docs site — boshu2.github.io/agentops

- Replace Jekyll minima with MkDocs Material (slate dark palette default)
- Landing hero scoped to .landing-hero (no gradient bleed on inner pages)
- Section landings (getting-started, architecture, reference, contracts, levels) with narrative ledes
- Generate skill catalog + per-skill pages from skills/*/SKILL.md at build
- Generate CLI reference from cli/docs/ at build (fails build on missing source)
- Fix every internal link via one-shot migration (scripts/migrations/2026-04-19-fix-docs-links.py)
- Wire mkdocs build --strict into pre-push gate (Check 25a)
- Replace .github/workflows/pages.yml with .github/workflows/docs.yml (actions/deploy-pages)
- README + docs/CONTRIBUTING updated with docs-build toolchain on-ramp
- tests/docs/validate-links.sh patched to understand mkdocs-generated paths

## RPI orchestrator strict-delegation contract

- Strict sub-skill delegation is now the default for /rpi, /discovery, /validation. No --full flag — always on.
- Canonical contract in skills/shared/references/strict-delegation-contract.md (plus Codex mirror)
- Forged learning with detection phrases + corrective actions (ao-inject-ready)
- Rename --no-lifecycle -> --no-scaffold in /discovery (Claude + Codex) with deprecation alias through v2.40.0
- Harden inline-work hotspots with orchestrator-owned markers in /crank STEPS 3a.3, 6.5, 8.7 + Inline Work Policy footer
- Flag consistency: --auto and --interactive scopes documented; --complexity syntax formalized
- CHANGELOG [Unreleased] documents + scaffolds; runtime hook enforcement explicitly deferred

## fix(hooks): go-test-precommit skips when no Go files staged

- Previously ran go vet + go build unconditionally, blocking non-Go commits when Go toolchain was missing or at a different version
- Now checks staged diff and exits cleanly if no *.go or go.{mod,sum,work} files are staged
- Applied to both hooks/ (source) and cli/embedded/hooks/ (synced)

Provenance: full RPI lifecycle with strict delegation at every phase boundary (Phase 1 Skill(discovery) -> Phase 2 Skill(crank) -> Phase 3 Skill(validation) -> Skill(vibe), Skill(post-mortem), Skill(retro)).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 10:37:58 -04:00

66 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
# Build the MkDocs Material site with strict link checking.
# Usage:
# scripts/docs-build.sh # strict build to _site/
# scripts/docs-build.sh --serve # local dev server
# scripts/docs-build.sh --check # strict build (exit 1 on warnings), no output kept
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$REPO_ROOT"
VENV_DIR=".venv-docs"
ensure_venv() {
if [[ ! -d "$VENV_DIR" ]]; then
echo "==> Creating MkDocs venv ($VENV_DIR)"
if command -v uv >/dev/null 2>&1; then
uv venv "$VENV_DIR" --python 3.12
else
python3 -m venv "$VENV_DIR"
fi
fi
# shellcheck disable=SC1091
source "$VENV_DIR/bin/activate"
if ! python -c "import mkdocs_material" >/dev/null 2>&1; then
echo "==> Installing MkDocs toolchain"
if command -v uv >/dev/null 2>&1; then
uv pip install -r requirements-docs.txt
else
pip install -q -r requirements-docs.txt
fi
fi
}
mode="${1:-build}"
ensure_venv
case "$mode" in
--serve|serve)
exec mkdocs serve --dev-addr 127.0.0.1:8000
;;
--check|check)
# Strict build, discard output dir
tmp_site="$(mktemp -d)"
trap 'rm -rf "$tmp_site"' EXIT
mkdocs build --strict --site-dir "$tmp_site"
echo "OK: mkdocs build --strict passed"
;;
--clean|clean)
rm -rf _site
echo "OK: removed _site"
;;
build|--build)
mkdocs build --strict
echo "OK: built site at _site/"
;;
*)
echo "Usage: $0 [build|--check|--serve|--clean]" >&2
exit 2
;;
esac