Prevent helper-era ROADMAP id collisions before review (#3115)

Add a lightweight ROADMAP duplicate-id guard and wire it into the low-risk docs/pre-push paths so optimistic append collisions introduced after the next-id helper are caught before merge.

Constraint: Current ROADMAP contains legacy numbered lists and pre-helper duplicate low ids, so the default guard checks helper-era ids >=723 while preserving --min-id 1 for a future strict audit.
Rejected: Fail CI on every numeric duplicate in the whole historical ROADMAP | current main would fail before this PR because old prose/list numbering is already duplicated.
Confidence: high
Scope-risk: narrow
Directive: Keep roadmap-next-id.sh paired with roadmap-check-ids.sh when changing ROADMAP append workflows.
Tested: bash -n scripts/roadmap-check-ids.sh scripts/roadmap-next-id.sh .github/hooks/pre-push; scripts/roadmap-check-ids.sh; temp ROADMAP copy with duplicate 723 failed nonzero and listed id 723; SKIP_CLAW_PRE_PUSH_BUILD=1 .github/hooks/pre-push; git diff --check; python3 .github/scripts/check_doc_source_of_truth.py; python3 .github/scripts/check_release_readiness.py
Not-tested: full cargo workspace build/test because this is docs/scripts-only and the local pre-push cargo build was smoke-tested with its documented skip path.
This commit is contained in:
Bellman
2026-05-26 08:49:23 +09:00
committed by GitHub
parent 922c239863
commit 25ee5f3d30
6 changed files with 113 additions and 8 deletions

View File

@@ -12,8 +12,9 @@
#
# The script reads the highest numeric id prefix from ROADMAP.md and
# prints highest+1. It does not lock the file; callers working in
# parallel should git-pull immediately before appending and resolve
# any append collision at git-push time.
# parallel should git-pull immediately before appending, run
# scripts/roadmap-check-ids.sh before push, and resolve any append
# collision at git-push time.
set -euo pipefail
ROADMAP="${1:-ROADMAP.md}"