Skip to content

I3047 P02: Derive and persist each coding-agent/profile id_hash #3051

Closed

Description

@mblua

Part of #3047, under #2432. Phase P02; owner ac-dev-rust-v5; class design-bearing; depends on P01.

Situation and result

Derive simultaneous metadata for each baseCommand/additionalArguments pair using the frozen normalization/environment contract. Refresh effective final views without load writes; derive editable physical cells from their final physical agent/profile inputs. Preserve ownership, raw unknown fields, all existing reader/validation errors, stable IDs and the separate legacy/base/profile/launch identity domains.

The user requires one hash per CodingAgent/profile command combination while stable agent IDs remain unchanged. Implement only this phase after exact consensus, identity/mapping verification and the required cold-start gate.

Frozen specification

Phase: D:/0_repos/AgentsCommander_iac/.ac/plans/3047-profile-pair-id-hash/P02-v3-pair-persistence.md
Phase-SHA256: 71FA5272DD8CBE4A6BA38E46C9D829342835ED374ED3B974B79348C6ADC99F10
Plan: D:/0_repos/AgentsCommander_iac/.ac/plans/3047-profile-pair-id-hash/plan-v5-profile-pair-id-hash.md
Plan-SHA256: 87C95FCB3383B48B59B329FDFAF7B67409CB8C8AD4248F2ECB507B4BA0F110DF
Five-party consensus receipt: D:/0_repos/AgentsCommander_iac/.ac/room-19-ac-dev-team-v5/room-shared/e2432-id-hash/profile-correction/round3-consensus.json

The complete phase is the sole implementation specification. Read it in full and verify its digest before edits; this issue does not replace any edge case, proof or delivery gate.

Modified files

  • src-tauri/src/config/settings.rs

No added or removed product files.

Acceptance and verification

All behaviors, error cases, source ownership, positive/negative proof and nonempty test counts in the frozen phase are mandatory. Focused commands from the repository root:

cargo test --locked --lib issue_3047_pair -- --test-threads=1
cargo test --locked --lib id_hash_activation -- --test-threads=1
cargo test --locked --lib identity_ -- --test-threads=1
cargo test --locked --lib orphan -- --test-threads=1
cargo test --locked --lib cell_identity -- --test-threads=1
cargo fmt --all -- --check

Also complete the frozen exact SCC/arc comparison and the four existing integration layering targets with passed>0 per target before publication. These are future verification gates, not claims of executed tests or green CI. Preserve unrelated changes, lockfiles/workflows, stable IDs and references.

Delivery

One phase branch and protected PR to main, closing only this child. Start from synchronized current main after predecessor merge/ancestry verification. Required and triggered CI must succeed on the exact PR head. No packaging, install, release, version bump, rekey/layer package or visible GUI testing is requested. #3022/P04 remains deferred behind this correction.

Activity

  1. mblua commented on Oct 17, 2026

    @mblua
    OwnerAuthor

    P02 remaining correction: technical score 30/100, raw 66/200. Original approved feature score remains 38/100, raw 81/200; this measures only the remaining delta after the reproduced failures on 5880d4d.

    Category Score Anchor and evidence
    Scope footprint 5 Two existing files and their focused tests, below a whole module: settings.rs and commands/config.rs.
    Diagnosis difficulty 3 Causes now located by reproduced assertions and source paths; no intermittent or silent cause remains open.
    Domain knowledge 9 Existing overlay ownership, raw legacy/sidecar persistence and final effective views have subsystem-specific rules.
    Solution-space ambiguity 4 Architect and Rust agree on a narrow proposal; it still needs independent review and exact scope disposition.
    Blast radius and reversibility 10 Shared saver and existing draft-event comparison affect other configuration paths; normal rollback remains available.
    Dependency and integration load 4 Two local boundaries must agree; no external dependency or coordinated system migration.
    Verification difficulty 11 Existing harness supports focused cases, but protected raw data, loader failure paths and event negative controls require distinct observations.
    State, data and compatibility 13 Live legacy/sidecar physical values and overlay-protected groups must survive; no schema migration or destructive rekey.
    Concurrency and timing 4 Existing lock/publisher remains; sequential finalization order matters, with no new lock or async resource.
    Environment and tooling 3 Established Windows runner/toolchain and compiled candidate; Node mismatch remains disclosed, no tooling repair proposed.

    Normalization: round((66 - 10) / 190 * 99) + 1 = 30.

    Excluded ceremony: issue/branch/PR creation, messages, review rounds, waiting for CI, consensus, purge, merge, cleanup and any release/version paperwork. No new issue, harness, runner or CI repair proposed.

    Path: Full, despite the 26–55 score band, because persistence compatibility remains involved. State13 requires architect contract; verification11 requires proof review. Same five initial participants: Architect, Rust, UI, RustGrinch, ArchitectGrinch. New candidate root/P02 bytes need new matching approvals; P01 stays delivered and P03 unchanged. Proposed caller-file/raw-preservation exceptions remain pending, with no product edits authorized.

    Evidence: P02-RUST-failure-triage.md SHA349DCF11BD38620EF4BA01E7BEC51ACBCCED15AF0DEB9B871716728681E35C26; P02-RUST-loader-supplement.md SHA91BF8AB22ED7E340B204E968F5E8314D157DABA64EC928A200F45E6A14D0B679; P02-ARCHITECT-failure-disposition.md SHA8D826F62D275C1A57D0F09F737653FEAACE1A5037E35D580EE8FDAE54BE4B097. All under room19 room-shared/e2432-id-hash/profile-correction/execution/P02.

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

    @mblua
    OwnerAuthor

    Delivered P02 through #3067, merged 2aec522; #3051 is CLOSED. Original BASE 7b4191f preserved. Tested/published head 8c9dd14. Pair cid1 hashes now include the final base command/configured environment and each profile's arguments/environment, with final effective refresh and ownership-aware physical writes. Stable IDs/references/sessions/HOME and the legacy base hash remain intact. Protected legacy MAIN retains only the approved identityByAgent exception; other protected raw configuration remains preserved. Profile events ignore only derived cell metadata.

    Exact-head CI run39065283227 attempt1 succeeded: full Windows library 6364 passed / 0 failed / 26 ignored, remaining Windows regression commands and Linux Clippy passed. All five triggered workflows and applicable external checks succeeded. Seven full-tier-only jobs had no steps and were conditionally inapplicable because ci-tier full=false; all 14 configured contexts/app IDs were reconciled against the actual workflow, including unexpanded matrix contexts. No red/pending/unexplained skip bypass.

    Local affected Windows validation passed (five filters 7/20/111/35/2; structural targets 25/5/1/3; format/Clippy/cognitive gates), 209 overlapping executions, no failures/ignored in these checks. Independent final CODE_AND_PROOF_PASS SHA243ce2d9f336721e5c6ec978c1b1cde26bf6e3a44200750aec5a969bab25f330. Current-target PRE/POST proof preserves SCC member sets and all1211 module arcs; unchanged two authored blobs and exact inherited-main union verified. No full local suite is claimed for this integration; the full result above belongs to exact-head CI. Local individual bindings omit Cargo.lock; --locked execution, clean tracked state and full-tree proof support unchanged locks, without an invented digest.

    Local main==origin/main==2aec52210b7213dd12079941e0c2862402ff77af, clean; feature absent locally/server/tracking. Evidence: room-shared/e2432-id-hash/profile-correction/execution/P02/P02-delivered.md, P02-main08-final-landing-gate.json and P02-postmerge-cleanup-receipt.json. Postmerge main CI is separate and currently active. #3047 remains open for #3052 and final integrated validation; no packaging/install/release/version or GUI work 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

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions