Repository navigation
Description
Parent feature epic: #3097. Phase P01, class mechanical, owner ac-dev-rust-v5, no dependencies.
Situation and intended result
The approved feature needs a typed optional debug collection. Existing Rust struct literals require a consistent inert storage slot before schema/derivation can activate it. Prepare only skipped None-valued fields; preserve all existing serialized and runtime behavior.
Approved specification and scope
Canonical D:/0_repos/AgentsCommander_iac/.ac/plans/3097-id-hash-debug/p01-v2-inert-slots.md.
Phase SHA256 ACAE64D6AE85CF2D626873246234B3737FE3BBD6431FD8CD3847352EE73543AE.
Parent plan-v3 SHA256 B86F5DC6F3813AF551FD1055953829DC0493936AD82EAE1BAF05DA8D1520351E.
Exact-set consensus recorded in adjacent consensus-round3-v3.json. Execution still requires mapped child/branch and coordinator cold gate.
One mechanical rule: add serde-skipped Option<Vec> id_hash_debug adjacent to id_hash in AgentConfig/ProfileCellConfig and initialize None in every explicit constructor, including custom Deserialize results. No wire, decoder, test, hash, API or runtime behavior change. No Default refactor.
19 allowed files under repo-AgentsCommander:
src-tauri/src/config/settings.rs
src-tauri/src/commands/config.rs
src-tauri/src/cli/coding_agent.rs
src-tauri/src/config/coding_agent_mutations.rs
src-tauri/src/agent_update.rs
src-tauri/src/cli/create_agent.rs
src-tauri/src/cli/self_switch.rs
src-tauri/src/commands/ac_discovery.rs
src-tauri/src/commands/entity_creation.rs
src-tauri/src/commands/session.rs
src-tauri/src/config/agent_command.rs
src-tauri/src/config/agent_config.rs
src-tauri/src/config/coding_agent_profiles.rs
src-tauri/src/lib.rs
src-tauri/src/loops/delivery.rs
src-tauri/src/phone/mailbox.rs
src-tauri/src/pty/menu_guard/mod.rs
src-tauri/src/web/commands.rs
src-tauri/tests/pty_powershell_managed_native.rs
Acceptance and verification
Only the inert rule appears in the full diff; all explicit constructors compile; no observable serialization or behavior changes. Shipper alone runs cargo check --locked --manifest-path src-tauri/Cargo.toml --all-targets from the authorized repo, with the phase's root/toolchain/structural gates. Local evidence and every applicable exact-head CI check must pass before PR merge. Child-only closure; do not close #3097. No packaged build, install, release or version bump.
Activity
Merge pull request #3105 from mblua/feature/3098-id-hash-debug-slots
mblua commentedon Oct 18, 2026
Delivered via #3105, merged as 01456f1. I3098 is CLOSED; epic3097 remains OPEN.
P01 adds the two serde-skipped optional id_hash_debug slots and initializes every explicit constructor to None. Serialized settings, hash outputs and runtime behavior remain unchanged; later phases activate the requested metadata.
Validation: locked all-target Cargo check, read-only formatting, nine existing layering tests (zero failed/ignored/filtered), clean actual-base PRE versus exact tested-head POST with identical complete SCC sets/counts and1211unique arcs, byte-identical96449-byte records, and independent CODE_AND_PROOF_REVIEW_PASS. All56raw artifacts verified. PR regression gates https://github.com/mblua/AgentsCommander/actions/runs/39092559336 completed successfully on 5b07f07; ci-tier run3411 selected full=false, explaining all seven skipped job groups. All executed checks succeeded and all14configured required contexts were mapped to actual results or explicit tier conditions. Source and CI receipts are under room-19-ac-dev-team-v5/room-shared/e2432-id-hash/id-hash-debug/execution/P01.
The incoming main delta1892e47 was independently classified UNRELATED_NO_UPDATE and recorded on the PR. Complete merged-tree verification checked1200entries: all19P01 paths equal the tested feature blobs, every other path equals incoming main. Local main equals origin/main at01456f15, checkout clean; local/remote phase branch and stale tracking ref are absent.
No distributable build was requested. P02(#3099), P03(#3100) and P04(#3101) remain pending; P04 will refresh the incoming IPC baseline when it starts.