diff --git a/.github/scripts/check-phase-doc-placeholder-tokens.sh b/.github/scripts/check-phase-doc-placeholder-tokens.sh new file mode 100755 index 0000000000..9068b3f9d5 --- /dev/null +++ b/.github/scripts/check-phase-doc-placeholder-tokens.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +cd "$ROOT" + +# Guard against unresolved generator placeholders in planning reports. +# Allow natural-language "undefined" mentions; block explicit malformed token patterns. +PATTERN='undefinedBKM-[A-Za-z0-9_-]+|undefined[A-Z0-9_-]+undefined' + +if rg -n --pcre2 "$PATTERN" docs/planning/reports -g '*.md'; then + echo "[FAIL] unresolved placeholder-like tokens detected in docs/planning/reports" + exit 1 +fi + +echo "[OK] no unresolved placeholder-like tokens in docs/planning/reports" diff --git a/Taskfile.yml b/Taskfile.yml index 2a478fe0f7..dd7b8ff66e 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -356,6 +356,7 @@ tasks: cmds: - task: preflight - task: quality:docs-open-items-parity + - task: quality:docs-phase-placeholders - ./.github/scripts/release-lint.sh quality:docs-open-items-parity: @@ -363,6 +364,11 @@ tasks: cmds: - ./.github/scripts/check-open-items-fragmented-parity.sh + quality:docs-phase-placeholders: + desc: "Reject unresolved placeholder-like tokens in planning reports" + cmds: + - ./.github/scripts/check-phase-doc-placeholder-tokens.sh + test:smoke: desc: "Run smoke tests for startup and control-plane surfaces" deps: [preflight, cache:unlock] diff --git a/docs/planning/reports/issue-wave-cp2k-next30-execution-summary-2026-02-23.md b/docs/planning/reports/issue-wave-cp2k-next30-execution-summary-2026-02-23.md index 7539c23638..4e31f9016c 100644 --- a/docs/planning/reports/issue-wave-cp2k-next30-execution-summary-2026-02-23.md +++ b/docs/planning/reports/issue-wave-cp2k-next30-execution-summary-2026-02-23.md @@ -16,11 +16,11 @@ | Lane 5 | CP2K-0051,0052,0053,0054,0056 | Completed; auth watcher hardening + quickstart/runbook additions | | Lane 6 | CP2K-0059,0060,0062,0063,0064 | Completed; troubleshooting matrix/test coverage updates | -## Undefined Placeholder Audit +## Placeholder Token Audit -- Requested issue: generated phase docs showing malformed placeholders like `undefinedBKM-*`. -- Audit in this repo/worktree: no malformed placeholder tokens found. -- Found `undefined` only as literal issue text/context in historical reports and compiler diagnostics. +- Requested issue: generated phase docs showing malformed placeholders such as unresolved backmatter IDs. +- Audit in this repo/worktree: no malformed tokens like `undefinedBKM-*` were found. +- Remaining `undefined` strings are literal error-context text in historical reports and compiler diagnostics, not template placeholders. ## Key Changes Included @@ -53,4 +53,3 @@ - Known unrelated blockers in baseline: - package-level compile drift around `normalizeGeminiCLIModel` in unrelated executor tests. -