Skip to content

feat(weave): add message-origin axis coupling candidate - #74

Merged
erinepshovel-code merged 4 commits into
mainfrom
weave-message-origin-coupling
Oct 5, 2026
Merged

erinepshovel-code merged 4 commits into
mainfrom
weave-message-origin-coupling

Conversation

@erinepshovel-code

Copy link
Copy Markdown
Contributor

Implements the next Weave construction after merged #73.

Preserved structure

  • each raw-byte message is one origin O_M
  • every source-bit occurrence is a distinct ordered axis at that origin
  • eight-circle full/private geometry remains unchanged
  • two-circle public degeneration remains unchanged
  • key-set-specific coupling parameters remain candidate data, not UCNS/UCHC law

UCHC boundary

Consumes the architecture actually present in UCHC human/english/english_gonol/hyperspace_construct.py (blob 8b55823805c87ad8c4cc9d7451dc2eb90bdedd3a): ordered axis participation at a shared origin, occurrence identity preservation, and construction-derived attachment. It does not invent UCHC cross-origin angles or continuum lift selection.

Falsification

The candidate is publicly recoverable. The same public pair and public coupling state used to encode are sufficient to replay the trajectory and recover the message. A separate test changes all six omitted circles while holding the two public circles fixed; ciphertext remains unchanged.

So:
message origin + ordered axes + public feedback
does not yet make the six private circles causal and is not an asymmetric relation.

This narrows the remaining work to the actual degeneration/lift relation: public forward operation, private eight-circle efficient lift, and failure of efficient public inversion.

Usage

cd research/weave && python test.py --receipt /tmp/weave-check.json

hmmm: the trapdoor degeneration/lift relation itself remains unresolved; no additional circle-selection policy is introduced.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-05T08:27:48.002678Z 36f5f4b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@erinepshovel-code
erinepshovel-code merged commit 92ccda0 into main Oct 5, 2026
6 checks passed

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 36f5f4bf04

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +102 to +105
if type(self.axes) is not tuple or len(self.axes) != self.byte_length * 8:
raise ValueError("message origin must contain exactly eight axes per byte")
if tuple(axis.index for axis in self.axes) != tuple(range(len(self.axes))):
raise ValueError("message axes must preserve contiguous admission order")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Validate axes against their declared source positions

When a caller constructs the public MessageOrigin object directly, this validation checks only sequential axis.index values, so eight MessageAxis instances can all claim the same bit_index or an out-of-range-for-the-message byte_index and still be accepted by CoupledWitness and public_recover. That permits evidence whose occurrence metadata does not represent the claimed source-bit topology; require each axis to be a MessageAxis with (byte_index, bit_index) matching its index (for example, divmod(index, 8)).

Useful? React with 👍 / 👎.

Comment on lines +20 to +22
space=Fraction((i * 3 + shift) % 16, 8),
zero=Fraction((i * 3 + shift + 1) % 16, 8),
one=Fraction((i * 3 + shift + 9) % 16, 8),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Perturb relative circle geometry in the causality test

In test_six_hidden_circles_are_not_causal_in_this_candidate, hidden_shift is added equally to space, zero, and one, but Circle.position() computes the selected bit position minus space, so the shift cancels and all six hidden circles have exactly the same positional behavior in both key sets. The ciphertext equality therefore does not test a changed hidden-circle relation as claimed; vary zero or one relative to space and assert that the hidden circles' position functions actually differ before using the result as a causality witness.

Useful? React with 👍 / 👎.

Comment on lines +128 to +132
Run all Weave evidence:

```bash
cd research/weave
python test.py --receipt /tmp/weave-check.json

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Do not label the unit-test run as all Weave evidence

Following this instruction only invokes test.py, which performs unittest discovery and never runs probe.py or its receipt check, even though the workspace README and specification identify those commands as the reproduction path for the executed schedule and attack evidence. A user can therefore obtain the advertised passing receipt without reproducing that evidence; narrow this wording to the local candidate tests or include the probe generation and verification commands.

Useful? React with 👍 / 👎.

Comment on lines +49 to +53
- participants are individually addressable axes at one declared origin;
- axis identity follows construction/admission order;
- occurrence identity is preserved;
- attachment happens at the participation point;
- unresolved cross-origin geometry is not silently promoted.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Label occurrence-per-axis as a Weave-only candidate

The referenced UCHC blob does not establish this bullet: it defines one axis per glyph, word, or definition identity, while compose_definition explicitly preserves repeated participation's order and multiplicity without duplicating identity. Making every raw-bit occurrence a distinct axis is therefore a new admission law, but this section attributes occurrence-identity preservation to UCHC and makes the experiment appear source-backed; mark this mapping as an explicit Weave candidate/hmmm or bind it to a producer source that actually defines occurrence axes.

AGENTS.md reference: AGENTS.md:L26-L26

Useful? React with 👍 / 👎.

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