Skip to content

Verify Comic Manifest contract compatibility (Studio #89) - #30

Merged
andrewperis merged 1 commit into
mainfrom
codex/issue-89-comic-manifest-consumer
Sep 17, 2026
Merged

andrewperis merged 1 commit into
mainfrom
codex/issue-89-comic-manifest-consumer

Conversation

@andrewperis

Copy link
Copy Markdown
Contributor

Summary

Prove that the proposed Comic Manifest contract binds exact production/result/release identities to the existing released SDK and prepared Context Package. Tests consume verbatim Codex schema/fixture bytes pinned to commit 53e4bd7738ae33c928bf72864d69d413168cc5b4, with source paths, sizes and SHA-256 digests. No Manifest runtime, orchestration or production dependency is introduced.

Merge after DefinitelySecureStudio/codex#13. Codex remains the normative owner; copied schema bytes are explicitly test-only and cannot be edited independently. The existing Builder fixture is reused unchanged.

Validation

  • npm test: 409 passing tests, including eight new consumer-proof tests.
  • node scripts/check-context-builder.mjs: offline conformance/reference flows pass with network guarded.
  • Tests cover all three schemas and detached bindings, SDK canonical identity agreement, exact prompt/package/Builder relationships, public-only artifact verification, unknown behavior, rehashed substitutions and expired/denied/wrong-purpose use.
  • Documentation links and exact source pins checked; git diff --check passes.
  • Released SDK/Builder code, schemas, locks and artifacts are unchanged.

Constitutional and release impact

Constitution v1.0.0, tag constitution/v1.0.0, Studio commit a9cc8a503aa30e17820edc62ac95f7cbe10e0564; merged Studio ADR 0018 at 7b5065cef76bea9580609caba356b0d8fe7cc17c. Owner: @andrewperis, with Codex/Platform review. Universal, repository/production-system and automated-workflow design profiles apply to this bounded offline proof. Runtime/release conformance is not claimed. Production adoption waits for #99; rollback removes this test consumer.

Boundaries and dependencies

  • Only synthetic/public fixtures; no real private data, canon or secrets.
  • Contract meanings remain in the coordinated Codex PR.
  • Documentation identifies test-only pins, verification scope, limitations and rollout.
  • No new runtime authorization, issuer, source reader, publisher or canon authority.
  • Schema validity/integrity is not approval; separate current use checks remain in the existing SDK boundary.

Closes DefinitelySecureStudio/studio#89 after the coordinated Codex contract PR is merged.

@andrewperis
andrewperis merged commit a3ec9b7 into main Sep 17, 2026
2 checks passed
@andrewperis
andrewperis deleted the codex/issue-89-comic-manifest-consumer branch September 17, 2026 17:02

@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: 3e267a856c

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

}
});
test('historical build/preparation evidence cannot replace or renew current use authority',()=>{
assert.throws(()=>bind(fixture,foundation,foundation.authorization.expires_at));

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 Test authorization expiry independently of package expiry

At foundation.authorization.expires_at, the fixture's package has simultaneously reached its own expires_at and has already crossed review_after, so bind() still throws CONTEXT_PACKAGE_REVIEW_REQUIRED/CONTEXT_PACKAGE_EXPIRED even if the SDK stops enforcing authorization expiration. This makes the advertised expired-grant regression test falsely pass; use a package whose validity extends beyond the authorization or assert that validateContextBinding() specifically emits CONTEXT_AUTHORIZATION_EXPIRED.

Useful? React with 👍 / 👎.

@chatgpt-codex-connector

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-09-17T17:03:09.784723Z 3e267a8 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.

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.

Define versioned Comic Manifest contracts and fixtures

1 participant