Repository navigation
ci: establish sanitizing snapshots and Rust text gates #3167
Description
P01 — Establish Git snapshots and Rust text regression gates
Parent: #3166. Stable phase ID: P01. Class: design-bearing. Owner: ac-dev-rust-v5.
Repository: D:/0_repos/AgentsCommander_iac/.ac/room-18-ac-dev-team-v5/repo-AgentsCommander.
Situation and need
Provide the fixed Git snapshot and Rust scanner contracts required by the sanitizing gates, and add the line-length and file-size ratchets.
Specification identity
Canonical phase: D:/0_repos/AgentsCommander_iac/.ac/plans/3166-sanitizing-ci-gates/P01-v3-base-and-text.md
Phase-SHA256: A772FA1C46B02D8561858DC5432F449452512D14B3CF2F26EF124928A691566E
Parent plan: plan-v6-sanitizing-ci-gates.md, Plan-SHA256 436C4A0F9006F76E1B1E22896B0D3868A889243E42D7E66F4579E212458B79F6.
Dependencies: None.
The immutable phase is the implementation specification. Follow its exact associated input hashes and the coordinator's verified phase-to-issue mapping. A branch is created from current main only when this phase starts.
Files
- scripts/sanitizing_baseline.mjs
- scripts/sanitizing_rust_scan.mjs
- scripts/sanitizing_line_metrics.mjs
- scripts/sanitizing_line_length.mjs
- scripts/sanitizing_file_size.mjs
- scripts/sanitizing_tests.mjs
- package.json
- .github/workflows/pr-regression-gates.yml
Acceptance
- Changed Rust files preserve or reduce lines over 100 Unicode characters; new files have none.
- Files may not cross 1,000 lines or grow further above that size.
- Git, parsing and execution failures never become an empty successful result.
- Focused positive/negative controls cover the specified Git, text and scanner cases; existing cycle/arc validation remains effective.
- Preserve unrelated work and existing Rust, runtime behavior, lockfiles and versions.
- Follow independent code review, exact-head required CI and protected PR landing; close only this child issue, never the parent epic.
Verification
Run from the repository directory, with the scratch/environment requirements in the phase:
npm run sanitizing:self
npm run sanitizing:line_length
npm run sanitizing:file_size
npm run check:arcs
npm run check:cycles
npm run version:check
git diff --checkThe starting measurements were recorded on 72aa89f after PR #3165. Classify subsequent target drift and refresh only affected evidence; do not reset accepted cycle baselines or replace dynamic merge-base ratchets with stored debt thresholds.
Current identity/approval: D:/0_repos/AgentsCommander_iac/.ac/plans/3166-sanitizing-ci-gates/phase-issues-v6.json and approval-v6-identity-receipt.json. Earlier identities are historical. P01 continuation uses the authenticated checkpoint; later phases still start from current main after dependency landing. Self retains native node:test exits and any failure blocks CI.
Activity
Merge pull request #3170 from mblua/ci/3167-sanitizing-baseline-text
mblua commentedon Oct 22, 2026
Delivered P01 in PR #3170 (#3170). Merge commit: 04ea622. Final verified main: 04ea622.
Both independent reviewers approved exact HEAD 9ff9138. Developer and reviewers report 31/31 native tests; corpus 266/266 and site replay 1325/1325 reuse is documented. All 26 triggered checks/statuses and all 14 required checks passed on that exact HEAD, including SonarCloud and Windows/Linux/macOS regression checks.
Feature branch removed; main matches origin/main and the working tree/index are clean. P02 (#3168) and P03 (#3169) remain pending; parent Epic #3166 remains open.