Skip to content

feat: I3097 P03 derive and persist hash debug inputs #3100

Closed

Description

@mblua

Parent feature epic: #3097. Phase P03, class design-bearing, owner ac-dev-rust-v5, dependency P02 (merged main required).

Situation and intended result

Derive readable original contributing strings beside both existing base and pair hashes; include configured variables without changing cid1, stable IDs or runtime behavior.

Approved specification and scope

Canonical D:/0_repos/AgentsCommander_iac/.ac/plans/3097-id-hash-debug/p03-v3-derived-persistence.md, SHA256 E6F255F765343B4B91C28B1FD5F6D275A088BB4A83E8EBF84F9A6FC36A48C7E9.
Parent plan-v3 SHA256 B86F5DC6F3813AF551FD1055953829DC0493936AD82EAE1BAF05DA8D1520351E; exact-set consensus in consensus-round3-v3.json.
Four files: src-tauri/src/config/settings.rs (production derivation/publication plus bounded tests), src-tauri/src/commands/config.rs, src-tauri/src/cli/coding_agent.rs, src-tauri/src/config/coding_agent_mutations.rs (existing test assertions only).
Original base command, all base env keys/values in vector order including disabled/empty/duplicates; then pair profile arguments and env keys/values in BTreeMap order. Derive from authoritative real inputs, never stale debug. Keep every existing hash/preimage function byte-identical. Mirror current physical/effective refresh and insert/remove ownership; retained groups and no-write reads preserved. No new save, lock, runtime env, shell parsing or logging.

Acceptance and verification

Arrays match independent raw input oracle, fixed hashes remain equal, and Unicode pair proof reproduces two-stage normalization independently. First-match, orphan, absent/empty, malformed/forged, physical/effective, retained groups, fixed-point saves, rejection/CAS and CLI/returned snapshots follow approved contracts.
Shipper: all-target check plus serial locked --lib filters id_hash, settings_draft_events, local_overlay_1737, source_identity_tests, issue_3047, profile_identity_2450, derived_agent_id_binding_projection, blocking_menus_1905, remote_blocking_menus_1925. Positive counts/green results; exact root/structural/CI gates in canonical phase. Child-only closure; no package/install/release/version.

Activity

  1. added a commit that references this issue on Oct 18, 2026
  2. mblua commented on Oct 18, 2026

    @mblua
    OwnerAuthor

    Delivered P03 through PR #3108, merged 2026-10-18T15:14:53Z. Issue #3100 is closed. Final main: b127c4edf664ec4732d805fa8c370822f824538e, tree 6b506611e3c4fee5fc8efdaf2d8a96ce679b0c60; the merged tree is exactly the tested feature tree.

    Base-agent and profile-pair id_hash_debug arrays now derive from original configured command/environment strings, including disabled, duplicate and empty values. Effective refresh uses current sources; editable physical publication preserves raw unknown fields, retained overlay groups and read-only load behavior. All seven hash/preimage functions remain byte-identical to the phase base.

    Validation on f5f59e7e98334dbd1c2dcb45347feb17d28d213c:

    • Locked all-target check and formatting check passed.
    • Nine focused lib filters plus three layering guards produced 162 passing selections, zero failures (selection overlap possible).
    • Complete structural PRE/FINAL SCC member sets are unchanged: one existing cycle with 89 members. All 1,211 unique module arcs are unchanged; PRE/FINAL/committed arc records are byte-identical.
    • Independent CODE_AND_PROOF_REVIEW_PASS; review SHA256 09f0148811aa07ea210ddedf58510c6645a06f006b547770ead41a14f60aadb9.
    • PR CI run 39136177331, attempt1, run number3414: SUCCESS on the exact tested head. Actual ci-tier log confirms full=false; all 13 executed rollup checks passed, seven full-tier groups have explicit skip evidence, and all 14 configured required contexts are accounted for.

    Epic #3097 remains open for P04 (#3101) and the required final integrated validation. Post-merge main CI is active at its initial observation; the next ticket waits for terminal state. No packaged artifact, install, release 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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions