Repository navigation
E2432 selected-file P03: preserve source references in existing carriers #2900
Description
Current selected-file delivery — P03
Situation: Settings and session selection currently use effective/global ID-based views. The user approved physical agents-file selectors in both menus and BASE-hash profile sharing confined to the selected file. Each menu remembers its own source. This child covers only the approved phase below.
Explicit reconciliation with the existing issue
The approved selected-file launch must preserve source provenance through existing typed selection/default/session carriers. Reuse this open reference-transport issue for that minimal concept; no new phone/mailbox envelopes or broad envelope package is activated. Historical specifications and their phase mappings remain intact below and in their frozen plan directory; they are not the execution contract for this new selected-file cut. No new issue is created or closed issue reopened. This is an explicit current-scope mapping, not evidence that the old broad package was implemented.
Certified phase identity
- Parent: IDs de agentes derivados de su ejecución — alcance mínimo #2432 (native link retained)
- Selected-file phase: P03; class: design-bearing; owner: ac-dev-rust-v5
- Depends on: P02 / E2432 selected-file P02: expose selected physical source snapshots and saves #2905; sequential landing only
- Branch at phase start: feature/2900-source-ref-carriers
- Canonical epic: D:/0_repos/AgentsCommander_iac/.ac/plans/2432-selected-file-profiles/plan-v7-selected-file-profiles.md
- Plan-SHA256: 2E09A6E856CA77EF70A1C47D9976DB93CF9206C9B0540434199E33FC8821A3BA
- Sole phase specification: D:/0_repos/AgentsCommander_iac/.ac/plans/2432-selected-file-profiles/phase-v3-p03-selection-reference-persistence.md
- Phase-SHA256: 4C0121088193E18C97DCE1F6F102C84BD4E3C5254AE3105E5D5613FD748DB7AC
- Exact five-party consensus: room-shared/profile-hash-link-intake/formal-round6-consensus-v1.json (author + four independent approvals)
Allowed files
- src-tauri/src/config/coding_agent_profiles.rs — selection/default expectation and tooling ref read/write helpers
- src-tauri/src/config/sessions_persistence.rs — CodingAgentBindingSeed optional ref, capture/failed recipe/snapshot compatibility
- src-tauri/src/commands/config.rs — existing expectation/default constructors and default fingerprint preserve optional ref; no new IPC input yet
- src-tauri/src/config/agent_config.rs — existing ReplicaSelectionDefault inline fixture adds None
- src-tauri/src/session/selection.rs — existing CodingAgentBindingSeed inline fixture adds None
Acceptance and focused validation
Rust owner authors new/updated inline e2432_ selection/default/binding-origin fixtures and None constructor compatibility edits; Shipper executes: old bytes/no-ref legacy; source seed/ref roundtrip through live snapshot and
failed_recoverable; malformed/pair-ref divergence; stale ref/source expectations zero publication; locked/skipped/unchanged controls; default-only
preservation; deliberate legacy replacement clears stale ref; source seed never overwritten/global-bootstrapped; origin remains byte witness. cargo test --locked --lib e2432_ plus existing binding and selection_write filtered controls. Compatible optional carriers are shippable, dormant broad protocol
remains off.
New e2432_source_seed_roundtrip_decoy fixture persists F seed/ref through snapshot, failed recipe and reload with G holding the SAME stable ID AND
SAME BASE but different profile cell/env. Editing G must not change reloaded F source/hint/UUID/origin or replace its seed through capture_binding_seed.
P03 proves carrier preservation; P04 owns actual restore/restart source resolution assertions.
Delivery authority and limits
User standing authorizations apply to exact consensus within this scope. Mapping/freeze/cold gate must complete before writes. The actual phase owner authors source/fixtures; Shipper executes the approved checks. Preserve current main and unrelated changes. A phase PR closes only this child after its acceptance checks; no broad historical requirement or parent Epic closure is implied. No final executable/GUI/input/install/release/version change requested.
Preserved historical issue record — not the current execution specification
Resolución vigente — reverificación de scope mínimo
Epic: #2432 (vínculo nativo conservado).
DIFERIDO — NO NECESARIO COMO PAQUETE
Nuevos envelopes de referencias de capas no son requeridos para transportar IDs.
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-2900/.
Especificación anterior — antecedente histórico
El alcance ampliado siguiente no es la orden vigente de ejecución.
Part of epic #2432 (under #2429). This phase implements the certified typed source envelopes contract for independent coding-agent identities/layers and recoverable persistence. Existing references, defaults, locks and history must be preserved.
Specification
Canonical phase: D:/0_repos/AgentsCommander_iac/.ac/plans/2432-identity-layers/phase-v17-P12-typed-source-envelopes.md
Phase-SHA256: b6f35ca145871c416232f687c5ba7b4448628736b80d0e5451718d641d44f066
Plan-SHA256: 8393829484bb61d01034a79b6a5f1fb095bdf66927ee0854911b64681b884622
Version: v17; owner: Rust; class: design-bearing
Depends on: #2899
Files
-
src-tauri/src/phone/types.rs
-
src-tauri/src/phone/mailbox.rs
-
src-tauri/src/cli/create_agent.rs
-
src-tauri/src/cli/coding_agent.rs
-
src-tauri/src/config/coding_agent_mutations.rs
-
src-tauri/module-arcs.txt
Symbols
Symbols: SourceQueueRequest/SourceQueueResult/SourceQueueAction/strict decode; SourceDispatchEnvelope/SourceSessionRequestEnvelope; mailbox::decode_source_request_with_activation_guard; legacy DTOs/literals intactos.
Acceptance
Implement exactly the frozen phase behavior, edge cases and failure contracts. Stay within this phase whitelist; preserve the inactive/activation and recovery ordering. All count-positive phase fixtures and required integrated-tree guards must pass before publication. Future tests are not claimed as run.
Verification commands
cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib source -- --list
cargo +1.98.1 test --locked --manifest-path src-tauri/Cargo.toml --lib source
cargo +1.98.1 check --locked --manifest-path src-tauri/Cargo.toml --all-targets
cargo +stable fmt --manifest-path src-tauri/Cargo.toml --all -- --checkAuthorization
Technical consensus is complete. Human gate 7.5 is pending. No implementation or branch creation is authorized by issue creation. Current API lifecycle/FUP #2885 and #2436 remain outside this phase.
Activity
[-]I2432 P12: typed source envelopes[/-][+]E2432 selected-file P03: preserve source references in existing carriers[/+]mblua commentedon Oct 21, 2026
P03 execution starts from synchronized main e78d199; P02 dependency PR #3141 is MERGED and its merge is an ancestor. Current approved specification supersedes earlier candidate pointers in the issue body:
Persistence-only carriers and prepared helpers; P04 owns runtime activation. No new IPC source callers, GUI/input, final executable, install, release or version requested. P02 physical Unix check was canceled by the user for P02 only; it remains UNEXECUTED/NOT_PASS and grants no later waiver.
Execution evidence: room-shared/e2432-selected-file-profiles/execution/P03/p03-cold-start-authority-v1.json. Implementation, review, checks and CI are pending. This phase closes only #2900.
Merge pull request #3144 from mblua/feature/2900-source-ref-carriers
mblua commentedon Oct 21, 2026
Delivered P03 via PR #3144: #3144
Main f705437; tested source 27f1afd; merge tree identical. Existing carriers preserve selected-file references, marker intent and recovery provenance. Only #2900 closes; P04 runtime and later phases remain pending under #2432.
113 distinct local Windows tests, fmt, locked all-target check, strict Clippy and enforcing classifier passed (zero NEW/STALE/CONFIG). Both independent source/fixture and execution/proof reviews passed. Full1211 module-pair sets and89-member cyclic SCC retained, arc record byte-identical. Known cycles/detector limits remain.
All five triggered GitHub Actions workflows and applicable security checks passed on exact head. Regression run39542573021/number3478 used configured full=false; seven full-tier omissions justified, no failed/unknown check waived. AC-2900-001/002 verified; original failures retained.
Immutable P03v4/overallv14 and original-five consensus unchanged. Evidence room-shared/e2432-selected-file-profiles/execution/P03/p03-final-ci-and-landing-authority-v1.json and p03-delivery-cleanup-receipt-v1.json.
Verified CLOSED; primary main==origin/main clean; feature removed locally/remotely. No final executable/install/release/version requested.