Implement durable agent runtime foundations - #1
Conversation
|
Upstream alignment: Dastari/agql-auth#1 provides 0.9.0 and Dastari/graphql-orm#1 provides 0.7.0. This PR pins their exact reviewed commits. Merge order is auth, ORM, then this PR. If either upstream PR is squash- or rebase-merged, repin this manifest and CI to the resulting main commit before the next merge. |
|
Dependency-facing documentation audit complete: README.md reflects the implemented runtime and exact upstream versions; CHANGELOG.md records the new APIs and behaviors; MIGRATION.md documents Rust, GraphQL, persistence, authorization, restore, and explicit no-data-migration cases; detailed guides are indexed from docs/README.md; and Rustdoc succeeds with both warnings and missing-public-docs denied. The final CI correction reconstructs the unpublished 0.1.0 baseline dependency universe before SemVer comparison. |
|
The final documentation policy is now enforced in source and CI: public/runtime changes must update README.md, CHANGELOG.md, and MIGRATION.md together; public crate version and persistent schema-module version movement remain checked; and both provider/OpenAI and PascalCase Rustdoc jobs deny warnings plus missing public documentation. The migration guide explicitly records that this governance change needs no consumer or data migration. |
|
Multi-repository ownership is now explicit: this repository treats agql-auth and graphql-orm as read-only, stages copy-ready upstream requests in an ignored .handoffs directory, and repins only final reviewed upstream commits in dependency order. README, CHANGELOG.md, MIGRATION.md, AGENTS.md, the documentation index, and the new upstream contribution guide are synchronized; this governance change has no consumer or data migration. |
|
Final upstream release alignment is pushed. graphql-orm-ai now pins agql-auth 0.10.0 at c92dcb441237bbe308499b26525945f60ffa394a and graphql-orm 0.7.0 at 1e145a124e9e3f1b0ffd70165289170b627ecb73 in Cargo, Cargo.lock, and CI. README, CHANGELOG.md, MIGRATION.md, and getting-started guidance describe the final release boundary and the auth-only nullable OIDC authorization_policy migration; the AI schema and persisted AI data are unchanged. The complete local test, backend-compile, Clippy, Rustdoc, SemVer, and package-sanitization matrix passed without a database. |
What changed
This draft builds a project-agnostic, ORM-owned durable agent runtime for
graphql-ormapplications:The crate contains no product-specific entity, route, tenant policy, deployment topology, arbitrary model-authored GraphQL, raw application repository access, or raw SQL.
Latest milestone: 0.50.0 / schema 0.47.0
Commit
9d81835e9d5d3f3ac399b42208937d5dd5f4daffadds exact initial native OpenAI background submission:background: trueinitial request with no tools, attachments, or continuation; the create boundary is never retriedWaitingProviderRecoveryRequiredwith the immutable run-attempt outcome in the same transactionThis milestone does not retrieve provider output, reconcile webhook receipts, settle provider usage, persist assistant output, or complete/requeue a run. Those powers remain closed pending an independently authorized and fenced reconciler.
The previous 0.49.0 milestone added bounded raw-body OpenAI webhook verification and deterministic, idempotent, content-free receipt intake. Supported receipts intentionally remain pending reconciliation.
Security invariants
Impact and migration
0.50.00.47.0and owns 40 private entitiesAiRunStategainsWaitingProviderVerification
Passed locally for the 0.50.0 checkpoint:
No live/shared database, application integration suite, or live provider credential was used.
Current blocker
The owned-disposable-PostgreSQL prior-schema-to-current-schema rehearsal remains intentionally enabled and currently fails in the pinned
graphql-orm0.9.0 migration planner. PostgreSQL introspection reports constraint-backing unique indexes as ordinary indexes, so a repeated generated migration attempts an invalidDROP INDEXfor an index owned by a table constraint.This must be fixed and reviewed in
graphql-orm, followed by an exact dependency repin and a successful owned-container upgrade rehearsal here. The draft does not weaken the test or add downstream SQL workarounds. Until that repin and green branch CI, the 0.50.0 checkpoint is durable on GitHub but is not release-ready.Next slices