Skip to content

blog: Phase 1 Ratify spike writeup - #47

Merged
khaliqgant merged 2 commits into
mainfrom
blog/ratify-phase1
Aug 5, 2026
Merged

blog: Phase 1 Ratify spike writeup#47
khaliqgant merged 2 commits into
mainfrom
blog/ratify-phase1

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Aug 5, 2026

Copy link
Copy Markdown
Member

A plain-language companion to the technical note Ratify published on 2026-08-04. Same substance, written for people who aren't going to read a scope-mapping table.

Draft — needs a human pass before publish. Two things in particular:

  • No individual named on Ratify's side. The technical note is public, but the review correspondence isn't. The post says "their team pushed on this." Add the name if that's been cleared.
  • Novelty claim is hedged — "I haven't seen anybody else do that end to end, though I could easily be wrong." Sharpen it if we know it's true; it's the one claim in the post with no artifact behind it.

What it covers

  • The setup: two processes, two repos, unmodified Claude Code and Codex, keys held in middleware
  • Six scenarios passing fail-closed, and the verification numbers (~7ms one hop, ~10ms two hops, ~3ms session token, all offline)
  • The scope-mapping cost: 41 capabilities, 27 needing custom scopes, 45 of Ratify's 54 unused
  • The confinement claim we got wrong, and why in-process path validation isn't the boundary
  • What Phase 1 explicitly does not establish, including the shared-workspace disclosure
  • Where alpha.16 and the public Phase 2 demo go next

Checks

  • Renders at /blog/trusting-an-agent-you-didnt-spawn, blog index 200s, zero build errors
  • Byline resolves — Khaliq is already in lib/blog-authors.ts
  • Written against the khaliq-voice skill in proactive-agents/.agentworkforce

Not included

A local-only fix for running the dev server in this repo sits uncommitted in web/next.config.mjs (a RELAY_PRESERVE_SYMLINKS-gated resolve.symlinks = false). It's unrelated to the post, so it's left out. npm run dev is currently broken on machines where node_modules symlinks off to another volume — happy to send that as its own PR.

🤖 Generated with Claude Code


Summary by cubic

Adds a new blog post, “Trusting an agent you didn’t spawn,” a plain-language companion to Ratify’s Phase 1 delegated-authority spike, rewritten in author voice with corrected Phase 2 framing. Draft for review; before publish, confirm whether to name the Ratify reviewer and whether to assert the end-to-end novelty claim.

  • New Features

    • Added web/content/blog/trusting-an-agent-you-didnt-spawn.mdx; renders at /blog/trusting-an-agent-you-didnt-spawn and appears on the blog index.
    • Byline resolves to Khaliq; build succeeds.
  • Refactors

    • Rewrote in author voice; added Agent Relay thesis framing and a bike permission-slip analogy.
    • Corrected accuracy: Phase 2 is federation between two independent Relay deployments; clarified Agent Relay is the platform and Ratify is the protocol; tightened the confinement correction to OS-level path enforcement with repo/file-specific permission slips.

Written for commit 06ff21e. Summary will update on new commits.

Review in cubic

A non-technical companion to the joint technical note Ratify published,
covering what the Phase 1 delegated-authority spike showed, the scope
mapping cost, the confinement claim we corrected, and what Phase 1
explicitly does not establish.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cursor

cursor Bot commented Aug 5, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6886de9c-79dc-4c6d-858c-19e0046eadb1

📥 Commits

Reviewing files that changed from the base of the PR and between 4d2f5aa and 06ff21e.

📒 Files selected for processing (1)
  • web/content/blog/trusting-an-agent-you-didnt-spawn.mdx

📝 Walkthrough

Walkthrough

Added an engineering blog post about delegated authority verification between independent systems. It covers authorization scenarios, permission mapping, repository confinement, OS-level enforcement, and planned resource-binding validation.

Changes

Delegated Authority Article

Layer / File(s) Summary
Article setup and demo context
web/content/blog/trusting-an-agent-you-didnt-spawn.mdx
Added article metadata and described the cross-company demo with Claude and Codex agents.
Authorization results and permission mapping
web/content/blog/trusting-an-agent-you-didnt-spawn.mdx
Documented six authorization scenarios, permission and capability mapping, and SDK integration changes.
Confinement analysis and next steps
web/content/blog/trusting-an-agent-you-didnt-spawn.mdx
Documented repository-confinement findings, operating-system enforcement, resource-binding plans, end-to-end reruns, and cross-deployment testing.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

A rabbit reads the relay tale,
As signed permissions pass the trail.
Paths are checked,
Scopes are bound,
Safe agents hop around.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the change as a blog writeup about the Phase 1 Ratify spike.
Description check ✅ Passed The description directly explains the new blog post, its technical content, draft status, and review requirements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch blog/ratify-phase1

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.

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@web/content/blog/trusting-an-agent-you-didnt-spawn.mdx`:
- Line 78: Update the alpha.16 reference in the blog text to identify it as an
integration candidate, or provide the pinned commit instead of describing it as
a released version. Preserve the explanation of resource binding while ensuring
readers do not interpret alpha.16 as an installable release.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 99a7b8f0-9074-4e45-b6cb-c497938ede30

📥 Commits

Reviewing files that changed from the base of the PR and between 58315b4 and 4d2f5aa.

📒 Files selected for processing (1)
  • web/content/blog/trusting-an-agent-you-didnt-spawn.mdx


## Where it goes

Ratify's alpha.16 adds resource binding, so authority names the thing it applies to and can only get narrower as it's passed along. We're validating against it now, then re-running the scenarios with the resource-bound and confinement cases included.

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

ratifyprotocol.com writing agent-relay-phase1-technical-note alpha.16

💡 Result:

The term "agent-relay-phase1-technical-note" does not correspond to an official document or release version associated with the Ratify Protocol [1][2]. The Ratify Protocol (github.com/identities-ai/ratify-protocol) is an open-source cryptographic primitive for verifying delegated authority in human-to-agent and agent-to-agent interactions, currently in its alpha release phase [1][3]. While there is a separate entity known as Agent Relay (agentrelay.com), which provides a messaging layer for AI agents, it is distinct from the Ratify Protocol [4]. The Ratify Protocol versioning follows a standard semantic versioning pattern (e.g., v1.0.0-alpha.14, v1.0.0-alpha.15), and there is no alpha.16 release or technical note matching the requested title in the protocol's repository or documentation [1][5][6]. It is possible the query conflates different projects or refers to internal, non-public, or inaccurately remembered documentation [4][2].

Citations:


🌐 Web query:

"identities-ai/ratify-protocol" "alpha.16" "v1.0.0-alpha.15"

💡 Result:

The Ratify Protocol, maintained by Identities AI, Inc., is an open cryptographic trust protocol designed for AI agent authorization [1][2]. As of August 5, 2026, the latest release is v1.0.0-alpha.15, published on July 25, 2026 [3][4]. There is no "alpha.16" release currently available [5]. The protocol provides portable, quantum-safe delegated-authority proofs for human-agent and agent-agent interactions [1][6]. Key technical characteristics include: - Cryptography: Uses a hybrid approach combining Ed25519 and ML-DSA-65 (NIST FIPS 204), ensuring signatures are quantum-safe [3][1][6]. - SDKs: Reference SDKs are available for Go, TypeScript, Python, Rust, and C/C++ [3][2]. These are released atomically, ensuring byte-identical bundle verification across different languages [7]. - Status: The protocol is in alpha, meaning fixture bytes may change between releases [1][7]. - Licensing: The reference code is licensed under Apache-2.0, while the specification text is under CC-BY-4.0 [6][2]. The protocol is designed to be stateless and offline-capable, allowing verifiers to confirm agent authority, scope, constraints, and expiration in sub-millisecond timeframes without relying on a central authority [1][8][6].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="web/content/blog/trusting-an-agent-you-didnt-spawn.mdx"
printf '--- file excerpt ---\n'
sed -n '68,88p' "$file"

printf '\n--- ratify mentions ---\n'
rg -n "alpha\.16|v1\.0\.0-alpha\.15|Ratify|resource binding|agent-relay-phase1-technical-note" "$file" web/content/blog || true

printf '\n--- tags/releases references in tracked files ---\n'
rg -n "identities-ai/ratify-protocol@|github.com/identities-ai/ratify-protocol|v1\.0\.0-alpha\.1[0-9]|alpha\.16" . --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' | head -200 || true

Repository: AgentWorkforce/agentrelay.com

Length of output: 258


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="web/content/blog/trusting-an-agent-you-didnt-spawn.mdx"
cat -n "$file" | sed -n '68,88p'

printf '\n--- ratify mentions ---\n'
rg -n "alpha\.16|v1\.0\.0-alpha\.15|Ratify|resource binding|agent-relay-phase1-technical-note" "$file" web/content/blog || true

printf '\n--- tags/releases references in tracked files ---\n'
rg -n "identities-ai/ratify-protocol@|github.com/identities-ai/ratify-protocol|v1\.0\.0-alpha\.1[0-9]|alpha\.16" . --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' | head -200 || true

Repository: AgentWorkforce/agentrelay.com

Length of output: 7338


Clarify alpha.16’s status before describing it as a release.

Ratify's latest release is v1.0.0-alpha.15, and there is no published alpha.16 Release. Call it “the alpha.16 integration candidate” or name the pinned commit so readers do not treat resource binding as an installable release feature.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@web/content/blog/trusting-an-agent-you-didnt-spawn.mdx` at line 78, Update
the alpha.16 reference in the blog text to identify it as an integration
candidate, or provide the pinned commit instead of describing it as a released
version. Preserve the explanation of resource binding while ensuring readers do
not interpret alpha.16 as an installable release.

Source: MCP tools

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Preview deployed!

Environment URL
Web https://b14f6f35-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.

No issues found across 1 file

Re-trigger cubic

Full rewrite by Khaliq. Adds the Agent Relay thesis framing and the bike
permission-slip analogy, tightens the confinement correction.

Corrects two accuracy points against the spike artifacts: Phase 2 is
federation between two independent Relay deployments rather than two
workspaces, and Agent Relay is the platform while Ratify is the protocol.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@khaliqgant
khaliqgant merged commit bc27934 into main Aug 5, 2026
1 of 2 checks passed
@khaliqgant
khaliqgant deleted the blog/ratify-phase1 branch August 5, 2026 20:05
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