Skip to content

Consume canonical UCNS bridge and certification evidence - #20

Merged
erinepshovel-code merged 17 commits into
mainfrom
agent/edcm-ucns-evidence-consumer
Jul 12, 2026
Merged

erinepshovel-code merged 17 commits into
mainfrom
agent/edcm-ucns-evidence-consumer

Conversation

@erinepshovel-code

Copy link
Copy Markdown
Contributor

What changed

Completes the substantive UCNS evidence boundary after canonical producer envelopes merged in The-Interdependency/ucns PR #108.

  • pins EDCM's ucns and full-stack extras to merged UCNS producer commit 27c004b21b6d02bf3873c280ebd3158131ef87fe;
  • expands the EDCM-owned UCNS adapter to consume actual UCNSObject, UCNSBridgeRecord, and UCNSFactorizationEvidence public surfaces;
  • accepts bridge and factorization producer records as actual objects, canonical JSON, or canonical mappings;
  • validates serialized forms through UCNS's own from_json / from_dict constructors rather than duplicating producer schemas;
  • converts live objects through ucns.bridge_record() so live and serialized geometry share one canonical evidence path;
  • requires factorization evidence to bind to the same stable object hash as attached geometry;
  • independently reports object, bridge, scope, factorization, negative-certification, and theorem-status attachment;
  • attaches negative certification only when a validated matching authoritative record says negative_result_certified = true;
  • preserves the complete UCNS search, coverage, pruning, factor, scope, uncertified-reason, and evidence-digest record in the EDCM result;
  • bumps edcm.shared-stack-result to 1.1.0 with an explicit ucns_factorization_evidence compartment;
  • binds factorization/status evidence into result_identity while keeping measurement epoch_identity governed by canon, geometry, policy, and implementation;
  • adds adversarial fake-producer tests plus live certified, uncertified, unit-domain, tamper, mismatch, and false-attachment fixtures;
  • updates UCNS-only, METAPAT-only, full-stack, and clean-wheel CI contracts;
  • updates adapter and result-contract documentation.

Canonical inputs

Exactly one geometry form:

ucns_object
ucns_bridge_record
ucns_bridge_record_json
ucns_bridge_record_dict

Optionally exactly one matching factorization-evidence form:

ucns_factorization_evidence
ucns_factorization_evidence_json
ucns_factorization_evidence_dict

Evidence firewall

UCNS records retain typed domain status and authoritative negative-certification evidence. They deliberately preserve:

theorem_status_transfer = false
measurement_validity_claim = false
proof_status_transfers_to_measurement_validity = false

An attached uncertified record remains evidence while ucns_negative_certification_attached stays false. Package availability alone attaches nothing.

Validation contract

CI must prove:

  • base EDCM remains sibling-free on Python 3.11–3.13;
  • canonical live and serialized UCNS geometry resolve to the same stable identity;
  • certified S2 evidence survives with exact search/coverage/pruning provenance;
  • unit and incomplete-catalogue results never become certification;
  • mismatched product/geometry hashes fail closed;
  • METAPAT-only mode remains geometry-free;
  • full-stack mode attaches bridge status without silently inventing factorization evidence;
  • result identity changes when status evidence changes while measurement epoch identity does not;
  • source/wheel build, twine check, integrity, and clean-wheel public API remain green.

hmmm

Version 1 UCNS evidence digests establish canonical content identity, not cryptographic producer signatures. Signed producer or transport authentication remains unresolved and explicitly reported.

@erinepshovel-code
erinepshovel-code marked this pull request as ready for review July 12, 2026 17:29
@erinepshovel-code
erinepshovel-code merged commit 5780b2f into main Jul 12, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant