feat(objectql): ADR-0038 L3 — post-publish runtime probes on publishPackageDrafts#1715
Merged
Conversation
…ackageDrafts One real read per published artifact, run by the build pipeline (not the user), generalizing the seedApplied pattern: - seed_not_applied: a published seed's target object must have rows; - view_read_failed: a published view's limit-1 read must not throw; - empty_query / widget_query_failed: each dashboard widget's real dataset selection (the same queryDataset path the renderer hits) must execute and must not return empty on a populated object; - probes_unavailable (warning): widgets existed but no analytics service — silence must not read as 'probed and passed'. Findings are BuildIssue-shaped (layer 'runtime') — the same ADR-0038 verification contract the cloud L1 graph lint emits — and ride the publishPackageDrafts response as `probes`. Probes are reads only and never fail the publish they verify. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Phase 2 (first half) of the ADR-0038 Build Verification Loop: after a package publish, the pipeline exercises what it published — one real read per artifact — so "Published!" can never again mean "and silently broken".
What
New
packages/objectql/src/build-probes.ts(runBuildProbes), wired intopublishPackageDraftswhich now returns aprobes: { issues, checked }report:seed_not_applied(error)view_read_failed(error)analytics.queryDataset(same path the renderer hits)widget_query_failed(error)empty_query(error)probes_unavailable(warning)Findings are BuildIssue-shaped with
layer:'runtime'— the same ADR-0038 contract the cloud L1 graph lint (cloud#200) emits, so agents/chat/eval harnesses consume one stream across verification planes.Design constraints honored:
seedApplied;Tests
build-probes.test.ts: every probe both ways (fail + pass), the never-throws contract, and integration —publishPackageDraftsreportsseed_not_appliedwhen the seed loader fails and omitsprobesfor empty packages. objectql suite 556/556 green; DTS build clean.Next (separate PRs)
seedApplied+probes(Phase 2 second half)probes.issuesinto the agent's L4 self-correction loop after auto-publish🤖 Generated with Claude Code