Skip to content

Define option-preserving gonol relationship displays - #168

Merged
erinepshovel-code merged 4 commits into
mainfrom
agent/gonol-relationship-display-spec-v1
Aug 3, 2026
Merged

erinepshovel-code merged 4 commits into
mainfrom
agent/gonol-relationship-display-spec-v1

Conversation

@erinepshovel-code

@erinepshovel-code erinepshovel-code commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Outcome

Records an authority-declared, option-preserving UCNS display contract for the primitive arity range {1,2,3,7} without selecting the unresolved continuous Möbius, seven-form, comparison, higher-composition, or embedding laws.

  • admits a figure-eight centerline projection for one Möbius gonol;
  • fixes the equal-circle vesica construction for two, including the 3r/2 scope circle and r/2 relationship circle;
  • fixes the equilateral three-circle triquetra while retaining separate A↔B, B↔C, and C↔A vesicas;
  • retains seven as a full-UCNS primitive while refusing to guess its geometry or pairing plan;
  • defines any-scale admission with native scale retained and screen radius explicitly equalized;
  • pins the exact Public Gonol 157 source and all 25 declared Unicode SPACE manifestations;
  • proposes occurrence-address vectors as identity evidence, not an embedding;
  • adds a strict relationship-receipt JSON Schema and cross-repository stack manifest.

Current producer artifacts

  • machine contract commit: 9025957b4063c4748429cb56b52d3c9a56157c42
  • machine contract blob: fdb94ff829a42c267de5f00f2a752550352a444d
  • machine contract SHA-256: d1ac67d4a5d5b4cd0622056af94b24a1404f1f5c7d7dfeb59ee28e5edb73aad5
  • strict receipt-schema commit: cfad06cf41bd1cc82861f08f6076f0d398a0089b
  • strict receipt-schema blob: 569ff5ce8a891a879314f2845905b7c9b8bc085c
  • strict receipt-schema SHA-256: 2b15b1fbc517fdf11e617da8d31ae542cb6f240755ba12390a5bbc7d81034d56
  • current PR head: 8091e53dab60d36f90c0a9f6e25ef7c4ddf9e6e7
  • stack-manifest blob: 5b494f5356b87ce1ef5279c7a37aee16c1d7da76
  • stack-manifest work-graph digest: cb642cb5cbde47d456f6c512448e557686530eb41f77b21543b3dba955d1f1da

Review repair at current head

The receipt schema now:

  • binds the exact ucns.display.relation-equalized/0.1.0 display policy, radius, scale-retention flags, and derived-layer visibility;
  • requires both declared information-loss statements and all five current hmmm boundaries;
  • fixes ordered operand slots and pair plans for arities one, two, three, and seven;
  • fixes primitive-three pair order as A-B, B-C, C-A and links pairwise receipts to those slots;
  • keeps primitive seven explicitly unresolved rather than accepting a guessed pairing plan;
  • keeps numeric_rank = null until a separately named scale law exists;
  • requires a complete candidate-identity record before any candidate-measured status;
  • requires a named candidate comparison policy and non-null outcome for candidate-measured pairs;
  • requires the producer Git blob and explicit false non-transfer boundaries in portable provenance.

The stack manifest now pins The-Interdependency/ucns@cfad06c..., a commit that actually contains the machine contract and repaired schema, and its canonical work-graph digest has been recomputed.

Focused validation completed

  • strict JSON parsing: passed
  • Draft 2020-12 schema meta-validation: passed
  • valid representative receipts for arities 1, 2, 3, and 7: passed
  • valid candidate-measured receipt with candidate identity and policy: passed
  • negative fixtures reject empty loss, empty hmmm, numeric scale rank, wrong pair order, wrong display policy, missing candidate identity, null measured-comparison policy, missing producer blob, and any status-transfer flag: passed
  • canonical stack-manifest digest recomputation: passed

Actions boundary

The repository workflow did not produce a usable repository verdict for the repaired heads. Both Python matrix jobs fail before exposing steps or retrievable logs. A separate draft diagnostic PR #169 reduced the workload to a single echo plus artifact upload; that runner probe also failed before producing an artifact. PR #169 was closed without merge and its branch reset to this PR head.

Accordingly, this PR remains open and unmerged. Red checks are not being overridden.

Remaining before merge

  • restore Actions execution and run the complete repository gate;
  • refresh the narrative work-graph pin in docs/GONOL_RELATIONSHIP_DISPLAY_V1.md to the final producer identity;
  • reply to and resolve the eight review threads against a green final head;
  • allow the dependent website consumer to repin only after this producer is merged.

Cross-repository boundaries

No semantic, mathematical, proof, certification, measurement, empirical, completion, embedding, or producer-authentication standing transfers to the website. Display equality is not native-scale equality. Digest identity is not geometry or a signature. Registry integration remains pending.

hmmm

Continuous local-frame geometry, the seven-gonol construction and pairing plan, promotion of derived scope or relationship circles, cross-scope higher-gonol composition, a complete English root policy and lexical run, and the hyperdimensional embedding law remain unresolved. The immediate operational blocker is Actions execution, not an asserted successful repository gate.

@erinepshovel-code
erinepshovel-code marked this pull request as ready for review August 3, 2026 06:30
@erinepshovel-code
erinepshovel-code marked this pull request as draft August 3, 2026 06:37
@erinepshovel-code
erinepshovel-code marked this pull request as ready for review August 3, 2026 06:40

@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: 9025957b40

ℹ️ 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".

"repositories": [
{
"repository": "The-Interdependency/ucns",
"commit": "a98c9e6c69804a8a08d0786b1d8b450bb2c49a97",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Pin the manifest to a commit containing the contract

When the publication consumer follows this work graph, it resolves the UCNS producer to a98c9e6..., but that is the parent of the reviewed commit and contains none of the newly introduced gonol relationship files. The promised commit-pinned machine contract therefore cannot be fetched from the declared producer identity, blocking the dependent website path described by this change; publish the contract first, pin a commit that actually contains it, and recompute work_graph_sha256.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 8091e53. The stack manifest now pins The-Interdependency/ucns@cfad06cf41bd1cc82861f08f6076f0d398a0089b, a commit containing both the machine contract and repaired receipt schema. The canonical SHA-256 over exactly repositories plus boundaries is cb642cb5cbde47d456f6c512448e557686530eb41f77b21543b3dba955d1f1da. Leaving this thread unresolved until the full repository gate can execute.

Comment on lines +221 to +225
"comparison_policy": {
"oneOf": [
{"type": "null"},
{"$ref": "#/$defs/policy"}
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Reject measured comparisons without a policy

For a pair marked candidate-measured-evidence, the schema still accepts comparison_policy: null together with any comparison_outcome, so a consumer can emit a schema-valid measured comparison without naming its comparison semantics. Add a conditional tying candidate-measured status or a non-null outcome to a non-null policy; otherwise the receipt bypasses the repository's explicit-comparison invariant.

AGENTS.md reference: AGENTS.md:L93-L94

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. A pair with relationship_status: candidate-measured-evidence now requires a non-null named/versioned comparison_policy with standing: experiment-candidate and a non-null comparison_outcome. Represented evidence requires both fields to remain null. The focused negative fixture rejects a measured pair without policy. Leaving unresolved pending a green repository gate.

"consumer_reference": {"type": ["string", "null"]}
}
},
"information_loss": {"type": "array", "items": {"type": "string", "minLength": 1}},

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 Require the display's declared information loss

Every display covered by this contract loses at least native-scale magnitude, and the centerline projections also omit continuous band/frame behavior, yet information_loss: [] is schema-valid. A consumer can consequently publish a conforming-looking receipt without disclosing the losses that the machine contract and publication contract make mandatory; require the applicable declared losses rather than merely requiring an array.

AGENTS.md reference: AGENTS.md:L86-L87

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. Top-level and display-policy information_loss now require both exact contract losses: native-scale magnitude is not encoded by visible radius, and continuous Möbius band width/local-frame motion are not encoded by the centerline projection. Empty or partial loss arrays fail validation. Leaving unresolved pending a green repository gate.

Comment on lines +45 to +48
"prefixItems": [
{"type": "string", "minLength": 1},
{"type": "string", "minLength": 1}
],

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 Enforce that declared pairs reference the operands

For arities two and three, the conditionals constrain only the number of pairs; each pair may contain arbitrary strings, repeat another pair, or reference no operand_id, and the corresponding pairwise receipts are likewise unlinked. Thus a primitive-three receipt with three copies of an unknown X/Y pair validates despite the contract requiring the ordered A↔B, B↔C, and C↔A relationships, so the schema needs a structure that validates operand references and the declared pair order.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. Operands now occupy exact ordered slots, and arity-specific plans/receipts are fixed as: arity 1 none; arity 2 A-B; arity 3 A-B, B-C, C-A; arity 7 explicitly unresolved with no guessed pairs. Pairwise receipts carry the same fixed left/right slots, so unknown, repeated, or reordered pairs fail. Leaving unresolved pending a green repository gate.

"maxItems": 7,
"items": {"$ref": "#/$defs/operand"}
},
"display_policy": {"$ref": "#/$defs/policy"},

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 Bind receipts to the declared display policy

The receipt's display_policy accepts the generic policy definition, so any nonempty policy ID and version, any allowed standing, and arbitrary parameters validate. A primitive-two or primitive-three receipt can therefore use native-scale radii or another projection while claiming conformance, even though the machine contract fixes ucns.display.relation-equalized/0.1.0 with display radius 1; constrain this field to that policy identity and its required parameters.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. display_policy is no longer generic: it is fixed to ucns.display.relation-equalized/0.1.0, standing: declared-static-projection, display radius 1, native-scale retention true, visible-radius/native-scale equivalence false, and an explicit derived-layer visibility boolean. Alternative projection policies fail. Leaving unresolved pending a green repository gate.

}
},
"information_loss": {"type": "array", "items": {"type": "string", "minLength": 1}},
"hmmm": {"type": "array", "items": {"type": "string", "minLength": 1}}

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 Require unresolved boundaries to remain in receipts

The required hmmm field still accepts an empty array, including for primitive seven, so a schema-valid receipt can omit the unresolved seven-gonol geometry, pairing construction, continuous frame law, and other boundaries that the publication contract requires consumers to expose. Require the applicable unresolved entries—or at minimum a nonempty boundary set—so validation cannot erase unresolved constraints by omission.

AGENTS.md reference: AGENTS.md:L126-L126

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. The receipt now requires all five current unresolved boundaries: continuous local-frame geometry, seven-gonol geometry/pairing, derived-layer promotion, cross-scope/higher composition, and English lexical-source/embedding completion. Operand and pairwise hmmm arrays are also nonempty. Empty omission fails. Leaving unresolved pending a green repository gate.

}
]
},
"evidence_status": {"enum": ["represented-evidence", "candidate-measured-evidence"]},

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Require candidate identity for measured receipts

Setting the top-level status to candidate-measured-evidence triggers no additional requirements, and the schema has no field that records the candidate's name, evaluator kind, version, code reference, scope, or policy dependencies. A consumer can therefore promote a represented display to candidate-measured status by changing this single enum value, with no recoverable identity for the measurement; add a conditional candidate-identity record before permitting that status.

AGENTS.md reference: AGENTS.md:L101-L102

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. Any top-level, operand, or pairwise candidate-measured status now promotes the whole receipt to candidate-measured and requires candidate_identity with name, evaluator kind, version, code reference, scope, and policy dependencies. Represented-only receipts require candidate identity to remain null. Leaving unresolved pending a green repository gate.

"properties": {
"scale_id": {"type": "string", "minLength": 1},
"declaration": {"type": "string", "minLength": 1},
"numeric_rank": {"type": ["number", "null"]}

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 Disallow numeric scale ranks without a scale law

The contract defines native scale as opaque unless a separate scale law supplies additional structure, but numeric_rank accepts any number and the receipt has no field that identifies such a law, its version, standing, or evidence. A consumer can therefore assign arbitrary ranks and use them to order or coerce otherwise incomparable scales while still producing a schema-valid receipt; keep this value null until a named scale-law record is present.

AGENTS.md reference: AGENTS.md:L83-L85

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in cfad06c. native_scale.numeric_rank is now const: null; the current receipt schema contains no hidden scale-law escape hatch. Numeric ordering remains unavailable until a separately named, versioned scale-law record and evidence contract exist. The focused negative fixture rejects any numeric rank. Leaving unresolved pending a green repository gate.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@erinepshovel-code
erinepshovel-code merged commit 67964aa into main Aug 3, 2026
0 of 10 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