Skip to content

ci: establish sanitizing snapshots and Rust text gates #3167

Closed

Description

@mblua

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 --check

The 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

  1. added a commit that references this issue on Oct 22, 2026
  2. mblua commented on Oct 22, 2026

    @mblua
    OwnerAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions