Skip to content

I2432 P22: guarded pair target validation #2960

Closed

Description

@mblua

Resolución vigente — reverificación de scope mínimo

Epic: #2432 (vínculo nativo conservado).

DIFERIDO — NO NECESARIO COMO FASE

Validación de pares depende del mecanismo mínimo elegido; no es prerrequisito automático.

Fuera de la prioridad de lanzamiento actual. Mantener vinculado a la Epic para revisión posterior; no ejecutar por dependencias o aprobaciones históricas.

Objetivo vigente: «los ids de agentes cambien a unos ids que se desprendan de el string univoco que requieren ejecutar». Una ventana/editor. El usuario ordenó atacar únicamente lo estrictamente necesario y revisar el resto después. La auditoría de 22 hijos preserva diferencias entre necesidad conceptual y paquete histórico; no es consenso de implementación. Faltan definir el string/equivalencias y la compatibilidad de IDs anteriores antes de certificar el mínimo exacto. Hash determinista no prueba idempotencia. Las especificaciones y dependencias históricas no habilitan ampliar ni bloquear automáticamente el núcleo reducido. Esta resolución no elimina ni revierte comportamiento entregado; los estados abiertos/cerrados se conservan.

Evidencia: auditoría de cinco perspectivas por issue, base main d823839; artefactos locales room-shared/e2432-necessity-audit/issue-2960/.


Especificación anterior — antecedente histórico

El alcance ampliado siguiente no es la orden vigente de ejecución.

Situation

The source/reference persistence phase of Epic #2432 needs a guarded PAIR persistence seam. Existing deterministic staging paths also permit a retained hard-link alias to be reopened and truncated by a later writer. The P15 prerequisite is delivered through #2896 / PR #2958.

Change

P22 is a design-bearing Rust prerequisite, dependent on P15 and preceding #2897 (P03). Add synchronous borrowed fallible target validation to the existing PAIR facade and IO lifecycle, preserve sticky refusal and ownership, and acquire fresh exclusive staging through one checked-sequence, bounded create_new allocator shared by all four writers. Preserve ordinary policy, CAS/no-clobber, retries and primary-error/cleanup-refusal diagnostics. Debris retention and observed-directory-witness limits are explicitly accepted.

Exactly three files:

  • src-tauri/src/config/agent_config.rs
  • src-tauri/src/config/local_config_io.rs
  • src-tauri/tests/c4_state_key_census.rs (13 DATA fields in P6/P7/P8 only)

No new modules, dependencies, durable schema, module pairs, cleanup service or source activation. module-arcs remains byte-identical. P03 stays deferred until the actual P22 merge and its own new agreed/frozen version.

Specification and authorization

Canonical directory: D:/0_repos/AgentsCommander_iac/.ac/plans/2432-identity-layers
Plan: plan-v32-identity-layers.md, SHA256 782187e5dbdcd5ef033333fec5c02cd194b3a24ffce55cf44c6e34c46f30fb77.
Phase: phase-v32-P22-guarded-pair-target-validation.md, SHA256 81b528c8a26db996977729dc3f65269255363907c17dc981e990a792e774630b.
Complete digest-set-v32.json SHA256 ad6eb09a2a2e6222a38bf8d1422f554b095123226fb56dcd10f3dfcb7271de21.
All four exact-version documentary agreements exist. This issue materializes the identity mapping only. Human R15 exact freeze, pre-implementation purge and real execution baseline remain pending; no implementation is authorized by issue creation.

Acceptance and verification

Apply the exact reviewed normalized three-file candidate, preserving every non-DATA scanner byte. Fresh stages must never open, truncate, reclaim or delete occupied candidates; only successful acquisition grants cleanup ownership. Rejected validation remains sticky through effects/retries/cleanup. All four subsequent writers preserve refused aliases and remain available.

Shipper must list and execute all 20 count-positive P22 source fixtures, pair_activity regressions, the 13-test census, locked all-target check, stable format and applicable locked Clippy/cognitive checks. Commands run at the repository root with toolchain/configuration captured; detailed command sets are in the self-contained P22 phase. Example: cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib p22_. Native OS and long-path results are execution evidence, not inherited documentary PASS.

Rust/Grinch verify actual integrated PRE/POST SCC member sets, zero new module pairs, byte-identical arc record and layering guards. Capture detector exits independently and require 0/1 plus fresh valid graph; treat git check-ignore, cmp and whitelist pipeline exit statuses as explicit assertions. Lead verifies applicable triggered/required CI on the exact PR head before delivery. The PR closes this child only, never the Epic or #2897.

Owner: Rust. Workflow: Full, sequential author/Rust/UI/Grinch, per-cut approval. No packaged build, installation, release or version bump requested.

Activity

  1. mblua commented on Oct 8, 2026

    @mblua
    OwnerAuthor

    Cross-platform verification: PENDING_LINUX_TESTS
    Developed on: Windows. Test on: native Linux.
    PR: #2961
    Tested feature head: 659f53c.
    Publication status: PR opened; NOT yet landed on origin/main. The landed merge SHA will be added after all applicable CI passes and merge completes. Keep this issue open.

    Windows evidence: 82 tests (20 P22, 40 pair_activity, 13 census, 9 layering) and all-targets check passed on b508276; final test-only type alias preserves identical bodies/callers and types. Final 659f53c passed Clippy/cognitive (45 entries), fmt and npm guards; Grinch reviewed exact head. Receipts and logs are in room-shared/i2960-execution/shipper-validation-659f53c6-20261008/ and shipper-validation-b508276b-20261008/. Local Node 26/npm11.19 differs from CI22/npm11.6.2; Rust is pinned1.98.1, locked.

    Missing runtime proof: Linux execution of P22 target validation, exclusive staging across all four writers, retained hard-link/symlink aliases, refusal/retry behavior and native Unix rename semantics. Current GitHub Actions Linux Clippy type-checks Unix code but does not run the new P22 fixtures, even in its full tier. Do not treat compilation or unrelated Linux tests as runtime coverage.

    Target group: obtain landed origin/main, record exact tested SHA, OS/kernel/toolchain, and any intervening delta. Use the repository's existing Linux/Tauri prerequisites, Rust1.98.1 and locked dependencies; run from repo root in its own authorized environment. No GUI/input or installation is required.

    Commands:

    • cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib p22_ -- --list
    • cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib p22_
    • cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib pair_activity -- --list
    • cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib pair_activity
    • cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --test c4_state_key_census

    Expected: actual selected P22 fixture inventory reported (source inventory contains 20 fixtures; platform-specific exclusions must be explicit), positive pair_activity count, zero failures, 13 passing census tests. Report any ignored/zero-selected cases; they do not establish proof. Explicitly identify native Unix and retained-alias fixtures executed. Return PASS/FAIL/BLOCKED per command, selected/executed/skipped counts, exit codes, logs/artifact links and source SHA in this issue. Missing Linux verification remains labeled requires-test-linux until reconciled.

    User cross-OS policy permits reviewed changes to land through protected PR flow with the unavailable other-OS tests openly pending; it supersedes only that pre-landing condition of frozen v32. It does not waive failures or required CI. P03 remains deferred pending complete P22 verification and recertification on its actual merged base.

  2. mblua commented on Oct 8, 2026

    @mblua
    OwnerAuthor

    CI blocked on exact head 659f53c: run37825368797 attempt1, rust-regression job113476739031 failed at cargo test (6112 passed, 5 failed, 26 ignored). Failures: agent_config::tests::a_refusal_keeps_every_value; agent_config::tests::every_state_key_moves_without_loss; coding_agent_profiles::tests::issue_1937_selection_state_already_unlocked_no_publish; settings::tests::agent_help_2133::a_write_failure_is_swallowed; settings::tests::blocking_menus_1905::export_aborts_when_the_local_file_cannot_be_written. The failures report unexpected successful writes where the fixture expected refusal. P22 changes staging acquisition; causal relationship needs specialist verification, not assumed flaky or unrelated because some caller files are unchanged.

    ONE failed-job rerun was requested on the same head under git-ci-scope-guard, without modifying source, environment, workflow, constants or thresholds. Preserve both attempts; stop repeated retries if it reproduces. No merge or repair outside the frozen scope is authorized by the failure alone.

    Linux Clippy, Windows format, test-debt, lockfile-drift, branch-name and external analysis checks passed. Full-tier jobs were skipped by their configured ci-tier condition; they are not claimed executed. Native Linux P22 runtime remains explicitly pending as recorded above. Current main400a3512 is still an ancestor and the principal checkout remains at the exact published CI head.

  3. mblua commented on Oct 11, 2026

    @mblua
    OwnerAuthor

    Delivered P22 through PR #2961, merged as 30766b2. Final reviewed/tested feature head d2bdfaa, plan v47 unanimous five-role consensus.

    Guarded target revalidation and fresh exclusive staging preserve PAIR semantics and prevent alias truncation. Complete refusal fixtures remain intact; canonical target representation fixes the reproduced Windows fixture failure. Cognitive baseline only removes the proven obsolete loader entry; census DATA13 preserved.

    Windows 20 P22/40 activity/13 census/five WHOLE/layering/fmt/check/Clippy passed. PRE/POST SCC sets and module arcs unchanged. Native Windows/Linux/macOS baseline sets matched with zero stale/new debt; Rust Grinch NATIVE3PASS. Full run38104533640 and PR run38104534791 plus all configured required/triggered checks passed exact final head. Local main clean and equal origin/main after merge. No packaged build requested. Epic #2432 remains open; next P03/#2897 requires its own readiness and scope review.

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

    developed-windowsDeveloped on Windows.enhancementNew feature or requestrequires-test-linuxLinux testing is pending; report results in this issue.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions