Repository navigation
Add durable Orrery publication and graph readers to the local provider - #4
Merged
Merged
Conversation
This was referenced Oct 8, 2026
Delegate Orrery graph reads to @policyengine/microcosm-provider-orrery
PolicyEngine/microcosm-runs#4
Closed
A job whose preserved directory was removed no longer stops the Orrery module: it stays pending with preserved_files_missing and backs off, and claims take the earliest-due job first so other jobs proceed. The latest publication.status.json copy is written after the queue commit, so a missing directory cannot roll back the recorded result. The module's tick reports an unexpected local error once instead of letting the host stop the module. Type the module's queue and delivery attributes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
marked this pull request as ready for review
October 12, 2026 19:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3
Implementation
Keep one Python distribution,
microcosm-emitter, with required telemetry and an internal completed-graph publication library. Resolve the existing extraction conflicts without restoring removed package names or database fallbacks.20261007_01queue to20261008_02for graph jobs while retaining producer sequences, event IDs and upload eligibility. Graph publication requires no telemetry run registration.block()outcome and optionalfail(error_code=...). The service closes the active stage and records a blocked run atomically, validates collector-required metadata before and after sanitization, and prevents later heartbeat or parent-exit handling from replacing a finished outcome. Microcosm remains responsible for failure classification.close_service_on_finish=Falsefor shared-process ownership. Completion, failure and refusal finish telemetry without shutting down the graph socket; explicit outer cleanup closes the host after graph requests. Standalone cleanup remains automatic by default.No collector/dashboard source changes, new infrastructure, credentials, schema changes for outcomes, release or deployment. This does not incorporate unmerged emitter PRs #5–#7; it ports only the existing Microcosm outcome and collector-rejection behavior required by the consumer extraction.
Verification
280459c8d782658b3fb6098b27e9acba11af29d8and disposable PostgreSQL 16. Coverage includes blocked metadata, caller-supplied failure codes, rejected identities and lost-ack duplicate delivery, with synthetic credentials and loopback networking only.Publication and infrastructure status
Release validation and qualification precede approval-protected publication of the tested Python artifacts. The separate npm job waits for Python publication and publishes the tested reader tarball. Only publication jobs receive OIDC permission; CI supplies no long-lived publishing credential.
The existing GitHub
pypiapproval environment and release-tag restriction were previously verified. The Python pending publisher is user-confirmed; private registry settings and the npm package's initial publication/trusted-publisher configuration remain unverified. The live collector's deployed revision and hosted graph API readiness also remain unverified: the compatibility pin proves source behavior, not production deployment.No registry bootstrap, release, package publication, hosted deployment or consumer activation occurred in this work. No queued GitHub checks are being monitored.