Skip to content

feat(interaction-map): expose Rust explained share - #1457

Draft
seonghobae wants to merge 13 commits into
feat/interaction-map-rust-summary-1412from
feat/interaction-map-explained-share
Draft

feat(interaction-map): expose Rust explained share#1457
seonghobae wants to merge 13 commits into
feat/interaction-map-rust-summary-1412from
feat/interaction-map-explained-share

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • compute cellwise squared reconstruction share in the Rust residual interaction-map core;
  • expose the same Rust-owned diagnostic through both the existing map API and the versioned feat(interaction-map): extend Rust result envelope #1417 envelope/PyO3 surface;
  • document the unclamped diagnostic contract and zero-residual semantics.

Live stack authority — 2026-09-03

This PR overlaps the residual interaction-map numerical core owned by #1417, so it remains intentionally stacked on feat/interaction-map-rust-summary-1412 rather than competing for protected main.

Fresh exact refs:

The prior ancestry-stale state is repaired. #1726 merged the explicit ancestry-only reconciliation and #1725 then closed as the superseded ordinary reconciliation lane. Later compatible parent/child movement advanced both exact refs without breaking the stack; current ref state, not historical prose, is authoritative. No destructive rebase or force update is used.

Scientific contract

The share is a cell-local diagnostic, not a probability. It remains unclamped; values above one can reveal an overshooting truncated reconstruction. A near-zero residual reconstructed near zero reports 0.0; otherwise the share is unavailable and becomes NaN only at the Python projection boundary. Existing residual, reconstruction, unexplained, cross-share, Gabriel scaling, eigendecomposition, distance, inertia, input-digest, and recovery arithmetic/contracts are otherwise unchanged.

All result-affecting interaction-map arithmetic remains Rust-owned. Python exposes and validates the versioned envelope; it does not recompute explained_share or neighboring diagnostics.

Current exact-head evidence

Current exact child head is 66209cce96a41c51823e3018176de73d213272e5. Every check/review attached to an older child head is historical after that movement. This PR remains Draft because #1417 is the parent integration authority and exact-current repository/security/package/coverage/SBOM/provenance/review evidence is not assumed from predecessor runs.

Integration acceptance

  • feat(interaction-map): extend Rust result envelope #1417 must integrate before this child can become a protected-main candidate.
  • After any parent or child movement, re-read exact ancestry and reacquire all then-applicable repository CI, CodeQL, security/SAST, fuzz/package, coverage, SBOM/provenance, and central-review evidence.
  • Only unresolved findings on the exact current head count; stale/outdated predecessor findings are not landing evidence.
  • Normal protected merge requires one unchanged exact head with every applicable live gate terminal success and the live-policy qualifying independent approval, including last-push approval semantics where applicable.
  • No self-approval, bypass, force push, destructive rebase, gate weakening, no-op retrigger commit, or predecessor-success transfer is authorized.

Consumer boundary

This diagnostic supports non-calculating downstream consumers without duplicating psychometric arithmetic outside fast-mlsirm. Temporal/event composition remains TEPP-owned. context-graph-contracts and enterprise-architecture-core remain read-only foreign-owner dependencies in this fast-mlsirm lane.

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae enabled auto-merge (squash) August 26, 2026 18:30

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread crates/mlsirm-core/src/interaction_map.rs
@opencode-agent
opencode-agent Bot disabled auto-merge August 26, 2026 18:41
@seonghobae
seonghobae enabled auto-merge (squash) August 26, 2026 18:43
@seonghobae
seonghobae marked this pull request as draft August 26, 2026 19:01
auto-merge was automatically disabled August 26, 2026 19:01

Pull request was converted to draft

@seonghobae
seonghobae changed the base branch from main to feat/interaction-map-rust-summary-1412 August 26, 2026 19:03

Copy link
Copy Markdown
Contributor Author

Current-parent reconciliation note: #1417 is fe6625d924fad95822ffe0472886acf1892bda46; this child is still ee8c21f5a1ab2258157a5ebfa10429c462d9ddda. The merge-forward preserves the child’s Rust-owned explained_share delta while carrying forward the parent’s newer input-digest / payload-replay contracts. No force push or destructive rebase is used.

Copy link
Copy Markdown
Contributor Author

Fresh recheck before the branch write: parent remains fe6625d924fad95822ffe0472886acf1892bda46; child remains ee8c21f5a1ab2258157a5ebfa10429c462d9ddda. Proceeding with the prepared two-parent merge tree.

Copy link
Copy Markdown
Contributor Author

The prepared merge tree preserves the current #1417 digest/payload-replay files and the child’s seven non-overlapping files; the three overlapping files were merged explicitly so input_digest hardening and explained_share coexist.

Copy link
Copy Markdown
Contributor Author

No branch ref has moved yet; the next mutation is the non-force merge-forward commit/ref update only.

chore(stack): record current #1417 parent on #1457
@seonghobae seonghobae added enhancement New feature or request priority: medium Normal-priority or P2 work status: draft Draft pull request labels Sep 2, 2026 — with ChatGPT Codex Connector
@seonghobae seonghobae added the type: feature New or expanded product capability label Sep 2, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: medium Normal-priority or P2 work status: draft Draft pull request type: feature New or expanded product capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant