Skip to content

Gate Babysitter catalog activation on deployed dependencies - #119

Merged
AgentRelayBot merged 6 commits into
mainfrom
feat/babysitter-catalog-gated-0924
Sep 25, 2026
Merged

AgentRelayBot merged 6 commits into
mainfrom
feat/babysitter-catalog-gated-0924

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add the reviewed Babysitter artifact and published @relayflows/sdk 2.0.31 runtime provenance to Software Garden as metadata only
  • require explicit merge-and-deployment evidence for the Cloud capability adapter and Relay native existing-session delivery before activation can become ready
  • suppress the gallery install link and badge while either dependency is unproven
  • validate exact evidence keys/string types and code-owned dependency ID/repository bindings in runtime and CI
  • bind dependency IDs to code-owned implementation identities (Cloud #3989 and Relay #1851), rejecting unrelated merged/deployed PRs
  • require authoritative GitHub PR merge and production-deployment receipts before ready metadata can pass CI; unsupported or unavailable receipts fail closed
  • verify the immutable artifact directory and both SHA-256 digests from its pinned Git commit, with regression coverage for missing/tampered files and malformed evidence

Current rollout state

The entry is intentionally blocked. Both dependency evidence values are null because neither dependency is merged and deployed. This PR does not publish, deploy, or enable Babysitter.

Cloud additionally validates server-owned rollout state for both dependency IDs, so catalog evidence alone cannot activate the extension.

Verification

  • Node 22 npm --workspaces run test -- --testTimeout=30000 --maxWorkers=2 — 31 web files / 302 tests and 5 router files / 72 tests passed; default npm test hit the 5-second timeout in existing shell/git tests on this host
  • npx tsc --noEmit — web and router passed
  • npm run verify:recommended-flows — deterministic gate validation passed; Software Garden v2.0.26 source ref/digest and the actual Babysitter artifact directory, payload digest, and manifest hash verified
  • npm run build — Next.js 16.3.5 production build passed, including TypeScript and 459 static pages
  • Flows v2.0.31 audit — extensions/babysitter is byte-identical to reviewed ref 8b33ebab8347514f80d9da5a81206a087f641714

Dependencies

  • cloud-babysitter-capability-adapter: not yet merged/deployed
  • relay-native-existing-session-delivery: not yet merged/deployed

Note

Medium Risk
Changes public catalog JSON (v3), API responses, and install URLs for a first-party plugin; incorrect gate logic could block legitimate installs or accept bad evidence, though Babysitter remains blocked and server-side Cloud authorization is still required.

Overview
Babysitter is promoted to catalog v3 as pinned metadata only until two named runtime dependencies (Cloud capability adapter and Relay native existing-session delivery) each carry merge-and-deploy evidence. Both the flow-plugin and recommended-flow catalogs gain runtime and activation fields; Babysitter stays blocked with evidence: null in this PR, so nothing is enabled yet.

Install surfaces are fail-closed: flowPluginInstallHref() now requires flowPluginIsActivatable() (gate ready, full dependency set, shaped evidence, and PR URLs bound to code-owned implementations Cloud #3989 and Relay #1851). The plugin gallery hides install/badge controls and shows blocked dependency IDs; docs and page metadata describe catalog/release status instead of open install.

CI gains verify:catalog-gates (wired before existing recommended-flow verification), plus verify-deployment-receipts (live GitHub PR + production deployment receipts for ready entries) and verify-plugin-artifacts (immutable commit directory + digest/manifest checks). Cross-catalog drift between Software Garden extensions[] and the plugin catalog is validated in script and tests.

Reviewed by Cursor Bugbot for commit c6ba28c. Bugbot is set up for automated code reviews on this repo. Configure here.


Summary by cubic

Gates Babysitter's catalog entry on merge-and-deployment evidence for its two runtime dependencies. Previously the gallery advertised an install badge; now the entry is inert catalog metadata, and flowPluginInstallHref() returns null until both dependencies carry valid merge and deployment proof. The entry stays blocked — neither dependency is merged or deployed — so Babysitter cannot be installed or activated.

Activation gate

  • Promotes both catalogs to v3, recording the reviewed artifact plus published @relayflows/sdk 2.0.31 runtime provenance.
  • Adds verify-catalog-gates, a deterministic validator covering evidence shape, every recommended-flow extension contract, cross-catalog drift, and the invariant that ready requires both dependencies proven.
  • Binds each dependency's pullRequestUrl to a code-owned implementation PR (Cloud #3989, Relay #1851); a replacement implementation requires a code change, not a catalog edit.
  • Ready entries must pass live, read-only GitHub receipt checks: the PR must be merged into the dependency repository's main with a matching commit and timestamp, the deployment must target production at that commit, and its latest status must be success.
  • Suppresses the gallery install badge and link while blocked and adds unit coverage for blocked, ready, malformed, and missing-evidence states.

Artifact verification

  • Adds verify-plugin-artifacts, which fetches the pinned commit, enumerates the artifact directory, and hashes every file to confirm the digest and manifest checksum.
  • Wires artifact verification into verify:recommended-flows and covers it with ordering, tampering, and manifest tests.

Written for commit c6ba28c. Summary will update on new commits.

Review in cubic

Session-Id: 01a0d4a0-59f8-7c60-8d5d-59261379b03c
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

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-25T01:50:43.184805Z d9c6d7f Manual request
ℹ️ 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.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 287a88bb-c68c-4cb5-b25e-41d81e44285a

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

Comment thread web/lib/flow-plugin-catalog.ts Outdated
Comment thread web/scripts/verify-catalog-gates.mjs Outdated

@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: 7a9ea53150

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

Comment thread web/scripts/verify-catalog-gates.mjs Outdated
Session-Id: 01a0d4a0-59f8-7c60-8d5d-59261379b03c
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployed!

Environment URL
Web https://73c5cde3-agentrelay-web.agent-workforce.workers.dev

This is a Cloudflare Workers preview version of this PR's build.

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed

You’re at about 99% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread web/data/recommended-flow-catalog.v1.json
Comment thread web/app/flows/plugins/PluginsGallery.tsx
Comment thread web/content/docs/relayflows/plugins.mdx Outdated
Comment thread web/lib/test/flow-plugin-catalog.test.ts

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed across 12 files

You’re at about 99% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.

Requires human review: Auto-approval blocked because this review re-detected 2 unresolved issues already reported by Cubic.

Re-trigger cubic

Comment thread web/scripts/verify-catalog-gates.mjs
Comment thread web/lib/flow-plugin-catalog.ts Outdated
Comment thread web/lib/flow-plugin-catalog.ts
Comment thread web/lib/test/flow-plugin-catalog.test.ts Outdated
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: cdc3f85e81

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

Session-Id: 01a0d616-0dc2-71c1-97ca-cb5beaa61ccc
@AgentRelayBot

Copy link
Copy Markdown
Contributor

@codex review

Please review exact head 123eb7e64d3c199b54460efe6d0f709a0eb80040 against base c97bff34baaacb42c5f610cc7741a88d1df0ebf1.

This revision addresses all eight open threads: exact evidence keys and string types in runtime and CI, code-owned dependency ID/repository binding, direct null-evidence and complete install-URL assertions, data-driven blocked copy, docs punctuation, and live immutable artifact verification.

Independent authenticated GitHub contents and git checks confirm extensions/babysitter exists at 8b33ebab8347514f80d9da5a81206a087f641714. Its files are README.md, babysitter.flow.ts, flows-plugin.json, and turn.ts; both published SHA-256 values match. CI now fetches the pinned commit, enumerates plain files, and verifies the SDK-compatible payload and manifest digests.

Activation remains blocked, both evidence records remain null, and no install link is emitted. No merge or deployment performed.

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create a Codex account and connect to github.

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@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: 123eb7e64d

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

Comment thread web/scripts/verify-catalog-gates.mjs Outdated
Session-Id: 01a0d616-0dc2-71c1-97ca-cb5beaa61ccc
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@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: 62e38a4e2c

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

Comment thread web/scripts/verify-deployment-receipts.mjs
Session-Id: 01a0d616-0dc2-71c1-97ca-cb5beaa61ccc
@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

@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: d9c6d7fcae

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

Comment thread web/scripts/verify-catalog-gates.mjs
Session-Id: 01a0d616-0dc2-71c1-97ca-cb5beaa61ccc
@AgentRelayBot

Copy link
Copy Markdown
Contributor

@codex review

@AgentRelayBot

Copy link
Copy Markdown
Contributor

@cursor review

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create a Codex account and connect to github.

@cursor cursor 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.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit c6ba28c. Configure here.

@kjgbot kjgbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent exact-head review: GO at c6ba28c. Every recommended extension is now matched to a supported plugin contract and validated for base compatibility, artifact coordinates, runtime provenance, activation parity, and deployment evidence. Unsupported, duplicate, malformed, or drifted entries fail closed. Exact-head CI and preview are terminal green; targeted catalog/receipt tests pass 21/21 and verify:recommended-flows passes.

@AgentRelayBot
AgentRelayBot merged commit 5c05dbe into main Sep 25, 2026
5 checks passed
@AgentRelayBot
AgentRelayBot deleted the feat/babysitter-catalog-gated-0924 branch September 25, 2026 03:45
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.

3 participants