Skip to content

ci: add Rust layout boundary globals and environment gates #3168

Closed

Description

@mblua

P02 — Add Rust layout, Tauri boundary, globals and environment gates

Parent: #3166. Stable phase ID: P02. 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

Cover symptoms 05, 06, 08 and 09 using the landed shared snapshot/scanner implementation, without cleaning existing Rust debt.

Specification identity

Canonical phase: D:/0_repos/AgentsCommander_iac/.ac/plans/3166-sanitizing-ci-gates/P02-v3-layout-and-edge.md
Phase-SHA256: D35F52FC57AEF5881F2F3EA21AD5091FD41C9B9310C75E50A295FE783D51EB47
Parent plan: plan-v6-sanitizing-ci-gates.md, Plan-SHA256 436C4A0F9006F76E1B1E22896B0D3868A889243E42D7E66F4579E212458B79F6.
Dependencies: P01 must be merged to main; verify the merge commit is an ancestor of the new phase branch base.
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_file_layout.mjs
  • scripts/sanitizing_tauri_edge.mjs
  • scripts/sanitizing_global_state.mjs
  • scripts/sanitizing_process_env.mjs
  • scripts/sanitizing_tests.mjs
  • package.json
  • .github/workflows/pr-regression-gates.yml

Acceptance

  • Apply each source-defined regression counter and strict new-file/new-command condition separately.
  • Preserve production after test-only items and count ambiguous constructs conservatively.
  • Apply the exact Tauri/process/environment boundaries and demonstrated readonly Regex exception from the frozen phase specification.
  • Positive/negative controls and relevant existing checks pass; this phase leaves main shippable.
  • 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 sanitizing:file_layout
npm run sanitizing:tauri_edge
npm run sanitizing:global_state
npm run sanitizing:process_env
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. mblua commented on Oct 22, 2026

    @mblua
    OwnerAuthor

    P02 — Re-score de composición JS restante

    Skill task-technical-scoring. Original34/100 permanece en issue/epic; delta actual se limita a composición de soporte repetido. No incluye implementación nueva de cuatro detectores, que ya existe y fue revisada.

    Categoría Puntos1–20 Ancla y justificación
    Scope footprint 7 Entre1 archivo y módulo coherente10: cuatro detectores, soporte compartido y tests existentes.
    Diagnosis difficulty 2 Próximo ancla1: causa localizada/duplicación medida por Sonar y fuente.
    Domain knowledge 5 Entre código ordinario1 y reglas subsistema10: conservar ratchets/scanner/errores.
    Solution ambiguity 3 Próximo ancla1: propuesta concreta del autor reutilizable, ubicación final requiere confirmar responsabilidades.
    Blast radius/reversibility 5 Entre local1 y compartido10: soporte de cuatro gates, reversible por Git.
    Dependency/integration 2 Próximo autocontenido1: sólo builtins/componentes existentes, sin nueva dependencia externa.
    Verification 10 Ancla10: equivalencia y controles existentes soportan la validación; preservar regresión Atomic.
    State/data/compatibility 1 No aplicable: sin persistencia/migración.
    Concurrency/timing 1 No aplicable: corrida secuencial, sin concurrencia nueva.
    Environment/tooling 6 Entre entorno uniforme1 y detalleplataforma10: Node/CI/Sonar y tiers actuales, sin cambiar toolchain.

    Raw42/200. Final round((42-10)/190*99)+1 =18/100. BandaLite por coste; ejecución conserva camino Full arquitectónico/recertificación de fase y mismos cuatro participantes del original. Verification14/Environment10 históricos no se eximen; aplicar evidencia mínima suficiente y reutilización por inputs intactos.

    Excluidos: issues, naming/branch/push/PR, esperaCI, rondas de revisión, delegación/mensajería, changelog/version, merge/cleanup. No confundir workflowFull de entrega con ci:full: usuario rechazó forzar matriz total para este cambioJS.

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

    @mblua
    OwnerAuthor

    Delivered via PR #3173, merged at 80722c8. Both independent reviewers approved exact feature head a13283d; self47/47 and the four real gates passed locally, and CI test-debt succeeded.

    CI was not green: the full regression run was cancelled and Sonar failed with34.965986394557824% duplication (257/735 new lines). The user explicitly instructed merging anyway and continuing composition separately. That exact exception was recorded before admin merge; protections and check results were not changed.

    Composition continues in #3174 under stable defect AC-3168-002. Main/local/origin80722c88 are clean and synchronized, feature refs removed, reviewed head ancestry verified. P03/#3169 remains pending under epic #3166. No application build or version bump was requested.

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