Skip to content

NRCL-99 Match MLB propositions and expose settlement differences - #33

Merged
hudsonaikins merged 4 commits into
mainfrom
codex/nrcl-99-sports-matching
Sep 10, 2026
Merged

NRCL-99 Match MLB propositions and expose settlement differences#33
hudsonaikins merged 4 commits into
mainfrom
codex/nrcl-99-sports-matching

Conversation

@hudsonaikins

@hudsonaikins hudsonaikins commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Sports markets with the same teams can settle differently. Add a standalone versioned contract that retains native venue IDs and canonical game/outcome identity, then compares the sporting proposition separately from reviewed settlement terms. Missing identities or incomplete rule coverage return unknown; doubleheaders and partial games stay distinct. Existing StrategySpec and neural.contracts v1 remain unchanged.

Seven synthetic scenarios cover ordinary winner, forfeit, postponement, doubleheader, partial-game exclusion and missing identity/rules. Real rule references retain source content digests but deliberately do not certify a real equivalent market pair. Fixture rules require fixture-prefixed native event/market/outcome identities and canonical event identity when known. Strict wire validation accepts DNS and unscoped IPv6 source authorities, rejects IPv6 zone identifiers and text that cannot encode as UTF-8.

Validation at a7ee8f0: 369 tests passed, 6 skipped; Ruff, explicit changed-file Black, mypy (79 files), documentation/example validators, docs-site typecheck/build and offline demo passed. Existing repository Black include pattern selects no files; changed Python files were checked explicitly.

Plane: https://app.plane.so/intelligent-intellectual-property/projects/7ffb1939-48c5-4a7a-a4be-6cd283fc8274/issues/730de44e-7f65-4c6b-95f7-3501f4e00d71

No live access, orders, deployment or new dependencies. Reviewed term values remain caller-supplied assertions. Merge awaits explicit approval.

@github-actions

Copy link
Copy Markdown

📚 Documentation Status

✅ Code changes detected

  • Docstring coverage checked
  • API documentation validation completed
    ✅ Documentation changes detected
  • Documentation structure validated
  • Links checked for broken references
    ✅ Example changes detected
  • Example documentation validated
  • Code syntax verified

This comment is automatically generated by the documentation workflow.

Copy link
Copy Markdown
Contributor Author

@codex review

Review the sports identity and settlement contract at 5c61d8a. Focus on false-equivalence risks, unknown evidence, strict wire validation and backward compatibility.

@makeplane

makeplane Bot commented Sep 10, 2026

Copy link
Copy Markdown

Linked to Plane Work Item(s)

References

This comment was auto-generated by Plane

@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: 5c61d8ae28

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread neural/sports.py
Comment thread neural/sports.py
Comment thread neural/sports.py

Copy link
Copy Markdown
Contributor Author

@codex review

Review repaired head ded734c. Addressed all three findings from the previous official review: fixture-scope evidence now requires fixture-prefixed native event/market/outcome identities and canonical event identity when known; source URLs validate DNS/IPv6 hostname and numeric port; text fields reject lone surrogates before UTF-8 transport. Added targeted regression cases and documented the boundary. No wire fields or existing StrategySpec/contracts schemas changed.

Exact-head validation passed: 366 tests passed, 6 skipped; ruff; explicit changed-file Black; mypy across 79 source files; docs/examples validators; docs-site typecheck/build; seven-case offline demo. Repository-wide Black still selects no files due its pre-existing include pattern, so changed files were checked explicitly.

Novig fixture provenance was already the exact MLB Winner Series PDF path with temporary query parameters omitted, bound to SHA-256 a60394032c519301b91a452c998ef4e77c5153ff92e4cee29d6d3d949b30b7dc. It does not attach that digest to the contract-directory HTML.

@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: ded734c6cb

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread neural/sports.py

Copy link
Copy Markdown
Contributor Author

@codex review

Review head 391b7f5. The latest official finding is fixed: bracketed source authorities always use IPv6Address rather than DNS validation after urlsplit. Added the exact https://[v1.foo]/rules rejection regression. No schema or adapter interface changes.

Exact-head checks passed: 367 tests passed, 6 skipped; Ruff, explicit changed-file Black, mypy79 files, docs/examples validators, docs-site typecheck/build, seven-case offline demo. PR body updated. Merge remains separately gated.

@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: 391b7f583b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread neural/sports.py

Copy link
Copy Markdown
Contributor Author

@codex review

Review head a7ee8f0. The latest official URL finding is fixed by forbidding IPv6 zone identifiers in rule provenance URLs. Added literal and percent-encoded scope regressions; ordinary DNS and unscoped IPv6 remain supported. No schema/interface changes.

Exact-head validation passed: 369 tests passed, 6 skipped; Ruff, explicit changed-file Black, mypy (79 files), docs/examples validators, docs-site typecheck/build, and seven-case offline demo. Body updated. Merge remains separately gated.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: a7ee8f08f0

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@hudsonaikins
hudsonaikins merged commit abf7d3b into main Sep 10, 2026
9 checks passed
@hudsonaikins
hudsonaikins deleted the codex/nrcl-99-sports-matching branch September 10, 2026 20:48
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