Skip to content

feat(agent): add guarded PR preparation subagent#94

Merged
ncolesummers merged 5 commits into
mainfrom
codex/50-pr-subagent
Jul 21, 2026
Merged

feat(agent): add guarded PR preparation subagent#94
ncolesummers merged 5 commits into
mainfrom
codex/50-pr-subagent

Conversation

@ncolesummers

Copy link
Copy Markdown
Owner

Summary

  • add the isolated Terra/xhigh pr-preparer sibling with deny-all framework capabilities and bounded evidence readers
  • persist a strict evidence-bound loopworks.pr_preparation_result.v1 before the guarded PR writer runs
  • bind external-write approval to both repository changes and the exact prepared-intent digest
  • add deterministic issue PR preparation subagent for PR intent content #50 eval coverage and update the governing architecture records
  • remove the invalid validation-reviewer write_production_files sentinel that prevented Eve 0.22.5 runtime graph resolution

Why

The PR stage previously composed its own intent and was still human-owned, so model-authored PR narrative could not enter the existing approval-gated writer through a typed, durable handoff. The new sibling can author only bounded title and summary text; the root reconstructs links and evidence from persisted state, validates every digest, and remains the only persistence boundary. GitHub mutation stays inside the existing guarded writer.

The adjacent Eve fix is included with maintainer approval because disableTool() only accepts framework tool slugs. A custom write_production_files sentinel was unnecessary—the absent tool is already unavailable—and caused runtime graph compilation to fail.

Safety and behavior

  • PR-preparer has no shell, file-write, network, GitHub, or durable-transition capability.
  • UI-affecting runs require exact mobile, laptop, and desktop validation captures; non-UI runs require an explicit empty list.
  • Unsafe URLs, stale or conflicting evidence, duplicate screenshots, changed digests, raw output, prompts, bytes, and secret-like content fail closed.
  • Prepared-intent persistence is idempotent and conflicting replay is rejected before GitHub.
  • Existing draft-PR reconciliation and GitHub App ownership remain unchanged.

Validation

  • bun run validate
    • formatting, linting, agent-doc sync, Markdown, and TypeScript passed
    • 407 unit/integration tests passed
    • Storybook production build passed
    • 22 Playwright tests passed, including mobile and light/dark accessibility coverage
  • bun run build passed
  • bunx eve info resolved the runtime graph with no diagnostics
  • bunx eve eval --list discovered the issue PR preparation subagent for PR intent content #50 case

The provider-backed eval was not invoked from the development environment because external model data egress was denied. Its deterministic fixture, parser, discovery path, and local Eve runtime graph were verified.

Closes #50

Co-authored-by: OpenAI Codex GPT-5 noreply@openai.com

uidaho-nsummers and others added 5 commits July 20, 2026 23:00
Eve only permits disableTool for framework tool slugs. Enforce the reviewer's exact authored and disabled capability set instead of declaring a nonexistent custom tool.

Co-Authored-By: OpenAI Codex GPT-5 <noreply@openai.com>
Add the isolated Terra/xhigh sibling, strict evidence-bound result contract, bounded readers and emitter, deterministic PR composition, canonical run links, and focused policy tests.

Co-Authored-By: OpenAI Codex GPT-5 <noreply@openai.com>
Move PR-stage ownership to the PR-preparer, persist typed results idempotently at the root boundary, bind approval to both change and intent digests, and feed only persisted intent to the guarded GitHub writer.

Co-Authored-By: OpenAI Codex GPT-5 <noreply@openai.com>
Add a discoverable issue #50 Eve eval and deterministic parser coverage for root context read, isolated delegation, and root-only result application.

Co-Authored-By: OpenAI Codex GPT-5 <noreply@openai.com>
Record the typed sibling boundary, deterministic persistence and approval bindings, canonical evidence links, screenshot-reference limitations, and guarded-writer ownership.

Co-Authored-By: OpenAI Codex GPT-5 <noreply@openai.com>
Copilot AI review requested due to automatic review settings July 21, 2026 06:06
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
loopworks Ready Ready Preview, Comment Jul 21, 2026 6:07am

Request Review

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ncolesummers
ncolesummers merged commit a518885 into main Jul 21, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Loopworks Backlog Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

PR preparation subagent for PR intent content

3 participants