Skip to content

Admit credential recipe schemas with fixed JSON codecs - #184

Closed
freeqaz-openai wants to merge 14 commits into
feat/credential-issued-custody-20260915from
feat/credential-recipe-registry
Closed

freeqaz-openai wants to merge 14 commits into
feat/credential-issued-custody-20260915from
feat/credential-recipe-registry

Conversation

@freeqaz-openai

@freeqaz-openai freeqaz-openai commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Credential recipes need bounded schema validation and immutable retained values tied to the exact admitted implementation. The fixed JSON codec snapshots the input once, validates that value with the closed Ajv profile, and retains the same value and canonical bytes.

  • Binding admission composes typed field readers; a fixed rule table describes the supported schema types and their bounds.
  • Separate registry, registration-scope and codec factories keep ownership and lifecycle checks local. Restoration reuses the existing descriptor-safe own-data reader.
  • Unsupported JSON shapes reject without invoking getters or proxy traps. Exact primitive identities, immutable handles, permanent scope discard, and strict retained binding/digest/canonical-byte checks remain enforced.
  • A reproducible manifest generator binds both primitive digests to the source closure and pinned Ajv version. Source refactoring regenerates those identities; unsupported historical identities reject without altering retained data or cleanup obligations.

Registrations remain data-only. The internal field/rule composition is fixed core code; recipes cannot supply callbacks, resolvers, modules or transformations. This composition refactor preserves the public codec interfaces and supported schema profile.

Validation

Retained component evidence from the published schema refactor at 2375bdb, before receiving the issuance compiler correction:

  • All 76 schema conformance cases and 17 documentation tests pass, with zero failures or skips.
  • OCC build, all five gateway declaration fixtures and the gateway HTTP compiler pass.
  • Manifest currency, workspace boundaries, full formatting, documentation length, and CI suite selection checks pass.
  • A bounded comparison of 3,727 original/refactored schema and registration cases produced identical admission and value-validation results, including immutable/null-prototype binding checks.

The composition refactor leaves the existing contract tests unchanged. This supplier update preserves that refactor and its regenerated primitive identities. The issuance type-import correction passed focused project-reference emission, declaration-consumer and source-only checks. The full declared dependency graph, compiler projects and required checks must pass hosted CI on the final head before merge; earlier local build evidence used an installed graph with older unrelated dependencies.

Validation of the current refresh

  • 76 schema JSON, admission and registry cases passed, with zero failures or skips. The schema primitive manifest is current.
  • The full workspace TypeScript build and all three compiler fixture projects passed. A fresh emitted-declaration consumer also passed with skipLibCheck: false, using the original nominal owners and two negative assertions. The source and emitted issuance module expose no runtime values.
  • Formatting, workspace boundaries, CI suite audit, documentation length/build/link validation, generated OpenAPI/reference and whitespace checks passed. Documentation validation checked 119 pages and 1,437 links.

Hosted CI must validate this refreshed head before merge. No live-provider, installed-runtime or PostgreSQL verification was rerun; the earlier 17-documentation-test and 3,727-case comparison results remain historical.

Dependency and scope

Based on #182, including #177 and #175. OCC retains internal issuance and handle contracts; the controller owns GitHub construction. Internal issuance and handle contracts stay out of the public root.

The supported scope is one immutable version per admitted bundle and restart with that same version. Recipe loading and complete Installation startup admission remain separate work: the loader must validate the bundle and capability tuples before committing registration. Schema interpretation does not execute broker operations or grant Work/IAM authority.

Component and compiler checks cover the fixed codec and registry behavior. Installed Agent execution, broker/Work/IAM/State composition, live providers and release qualification require their owning integration evidence.

@freeqaz-openai freeqaz-openai self-assigned this Sep 15, 2026
@freeqaz-openai freeqaz-openai changed the title feat(occ): bind credential schemas to admitted recipe primitives feat(occ): admit recipe schemas with fixed JSON codecs Sep 15, 2026
@freeqaz-openai
freeqaz-openai marked this pull request as ready for review September 16, 2026 00:33
@freeqaz-openai
freeqaz-openai requested a review from a team as a code owner September 16, 2026 00:33
@freeqaz-openai freeqaz-openai changed the title feat(occ): admit recipe schemas with fixed JSON codecs Admit credential recipe schemas with fixed JSON codecs Sep 16, 2026
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