4 Commits

Author SHA1 Message Date
Yeachan-Heo
667772e3b8 Keep local pre-push gate output machine-clean
The ROADMAP #694 local pre-push gate should catch stale Rust build breakage without polluting stdout that callers may reserve for structured output. Route the roadmap ID pre-check through stderr like the build gate messages.

Constraint: ROADMAP #693-#695 verification already covers typed analog phase errors, the cargo build gate, and startup preflight warnings; this change only fixes the failing pre-push hook contract found during G013 validation.
Rejected: Reworking hook installation or branch-protection policy | outside the local repository change surface available from this worktree.
Confidence: high
Scope-risk: narrow
Directive: Keep pre-push status/progress output on stderr so stdout stays available for machine callers.
Tested: python3 -m pytest tests/test_pre_push_hook_contract.py -q; cargo test --manifest-path rust/Cargo.toml -p claw-analog rag_response -- --nocapture; cargo test --manifest-path rust/Cargo.toml -p runtime startup_preflight -- --nocapture; python3 scripts/validate_cc2_board.py --board .omx/cc2/board.json; cargo fmt --manifest-path rust/Cargo.toml --all -- --check; cargo build --manifest-path rust/Cargo.toml --workspace --locked
Not-tested: full cargo test --workspace
2026-05-27 00:38:00 +00:00
Bellman
25ee5f3d30
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.
2026-05-26 08:49:23 +09:00
Yeachan-Heo
920d5c6c3a Catch stale Rust compile drift before push
Add a repository-local pre-push gate that runs the locked Rust workspace build from the repo root, plus concise install and verification docs for maintainers.

Constraint: ROADMAP #694 requires a local installable hook artifact only; branch protection remains external.
Rejected: CI or branch-protection changes | outside the requested local pre-push gate scope.
Confidence: high
Scope-risk: narrow
Directive: Keep .github/hooks/pre-push and contributor docs synchronized if the Rust workspace build command changes.
Tested: bash -n .github/hooks/pre-push; SKIP_CLAW_PRE_PUSH_BUILD=1 .github/hooks/pre-push; git diff --check; python3 .github/scripts/check_doc_source_of_truth.py; cargo fmt --manifest-path rust/Cargo.toml --all -- --check; cargo build --manifest-path rust/Cargo.toml --workspace --locked; .github/hooks/pre-push
Not-tested: shellcheck and markdownlint unavailable in environment.
2026-05-25 20:06:23 +00:00
Yeachan-Heo
c613e8e676 feat: sweep 2026-05-25 04:36:30 +00:00