Skip to content

Build the dynamic Open Repro Agent competition slice - #2

Merged
Utkarsh-Sinha0 merged 1 commit into
mainfrom
codex/open-repro-agent-p0
Jul 18, 2026
Merged

Utkarsh-Sinha0 merged 1 commit into
mainfrom
codex/open-repro-agent-p0

Conversation

@Utkarsh-Sinha0

@Utkarsh-Sinha0 Utkarsh-Sinha0 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • replaces the fixed attention-first journey with a paper-specific Source → Blueprint → Plan → Run → Evidence → Learn → Publish lifecycle
  • adds immutable v2 projects, sources, Study Blueprint revisions, typed validators, generated OpenAPI/client contracts, transport Problem Details, and a modular v2 route layer
  • adds a real PageRank author capsule, fresh receiver verification, checksum/tamper rejection, and a six-archetype optional OpenAI Responses eval harness
  • fixes binding, approval, continuation, stale terminology, responsive forms, and lifecycle navigation across the author and receiver workflows
  • adds the complete product, UX, API, database, architecture, migration, demo, and release specifications

Verified locally

  • lint, TypeScript, production build, generated API drift, and diff checks
  • 45 frontend/domain tests with 91.03% statements and 96.62% lines
  • 57 control-plane API tests, 8 v2 API tests, 24 operational tests, and 30 external-adapter tests
  • Docker execution, OCI capsule, sandbox, portability, receiver handoff/rerun, benchmark, accessibility, and complete desktop/mobile browser acceptance
  • PageRank capsule author/receiver digests match; tampered capsule is rejected

Honest boundary

The competition slice is operational locally. Live OpenAI evaluation and credentialed GitHub/archive publication were not claimed because this environment has no provider credentials. Hosted multi-tenant storage/workers remain the documented production migration, not a prototype claim.

Summary by CodeRabbit

  • New Features

    • Added a v2 research workflow for projects, sources, study blueprints, plans, runs, and evidence.
    • Added interactive Study Blueprint review, editing, revision history, and approval.
    • Added adaptive learning paths tailored to learner experience and study characteristics.
    • Added author capsule readiness checks, asset handling, integrity verification, and tamper detection.
    • Added configurable validation evidence for rankings, distributions, tables, trends, and other results.
    • Added a deterministic PageRank demonstration and reproducibility evaluation harness.
  • Documentation

    • Added specifications covering the product lifecycle, API, architecture, database, migration, UX, and release readiness.
  • Tests

    • Expanded automated API, browser, workflow, evaluation, accessibility, and reproducibility coverage.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Free

Run ID: eed04fca-0312-4004-b79a-86f08248ed1a

📥 Commits

Reviewing files that changed from the base of the PR and between 41fe530 and f0d500d.

📒 Files selected for processing (86)
  • .codex/config.toml
  • .github/workflows/reproducibility.yml
  • .gitignore
  • AGENTS.md
  • contracts/api.openapi.json
  • docs/open-repro-agent/API-SPECIFICATION.md
  • docs/open-repro-agent/BACKEND-MIGRATION.md
  • docs/open-repro-agent/DATABASE-DESIGN.md
  • docs/open-repro-agent/EVAL-HARNESS.md
  • docs/open-repro-agent/FRONTEND-MIGRATION.md
  • docs/open-repro-agent/HACKATHON-DEMO-AND-JUDGING.md
  • docs/open-repro-agent/IMPLEMENTATION-ROADMAP.md
  • docs/open-repro-agent/PRODUCT-REQUIREMENTS.md
  • docs/open-repro-agent/PRODUCTION-AND-OPEN-SOURCE-READINESS.md
  • docs/open-repro-agent/README.md
  • docs/open-repro-agent/SPEC-DRIVEN-EXECUTION.md
  • docs/open-repro-agent/TECHNICAL-ARCHITECTURE.md
  • docs/open-repro-agent/UI-UX-DESIGN-SPEC.md
  • fixtures/evals/blueprint-corpus.json
  • fixtures/pagerank-study/README.md
  • fixtures/pagerank-study/baselines.json
  • fixtures/pagerank-study/capsule.json
  • fixtures/pagerank-study/environment.lock.json
  • fixtures/pagerank-study/expected-evidence.json
  • fixtures/pagerank-study/golden-output.json
  • fixtures/pagerank-study/inputs.json
  • fixtures/pagerank-study/pagerank_demo.py
  • fixtures/pagerank-study/source-repository.json
  • fixtures/pagerank-study/study.json
  • fixtures/pagerank-study/tamper-negative.json
  • package.json
  • scripts/api-contract.mjs
  • scripts/browser-e2e.mjs
  • scripts/lib/control-plane.mjs
  • scripts/lib/local-api.mjs
  • scripts/lib/v2-routes.mjs
  • scripts/local-api.mjs
  • scripts/open-repro-eval.mjs
  • scripts/open-repro-eval.test.mjs
  • scripts/primary-pagerank-capsule.mjs
  • scripts/primary-pagerank-capsule.test.mjs
  • scripts/primary-pagerank-demo.test.mjs
  • scripts/v2-execution.test.mjs
  • scripts/v2-projects.test.mjs
  • scripts/v2-sources-blueprints.test.mjs
  • src/App.tsx
  • src/api/blueprintApi.ts
  • src/api/generated-route-contract.test.ts
  • src/api/generated-route-contract.ts
  • src/api/localApi.ts
  • src/components/AuthorCapsuleBuilder.tsx
  • src/components/BlueprintStudio.tsx
  • src/components/ClaimWorkspace.tsx
  • src/components/DynamicValidatorFields.tsx
  • src/components/EvidenceHub.tsx
  • src/components/GuidanceLayer.tsx
  • src/components/IntakePanel.tsx
  • src/components/JourneyShell.tsx
  • src/components/LandingPage.tsx
  • src/components/PaperLearningLab.tsx
  • src/components/ResultWorkflowStudio.tsx
  • src/data/workspace.ts
  • src/domain/adaptiveLearning.test.ts
  • src/domain/adaptiveLearning.ts
  • src/domain/archetypeFixtures.test.ts
  • src/domain/archetypeFixtures.ts
  • src/domain/authorCapsuleReadiness.test.ts
  • src/domain/authorCapsuleReadiness.ts
  • src/domain/blueprint.test.ts
  • src/domain/blueprint.ts
  • src/domain/blueprintController.test.ts
  • src/domain/blueprintController.ts
  • src/domain/lifecycle.test.ts
  • src/domain/lifecycle.ts
  • src/domain/sourceIntake.test.ts
  • src/domain/sourceIntake.ts
  • src/domain/validatorConfig.test.ts
  • src/domain/validatorConfig.ts
  • src/main.tsx
  • src/styles/adaptive-learning.css
  • src/styles/author-capsule.css
  • src/styles/blueprint-studio.css
  • src/styles/lifecycle.css
  • src/styles/source-intake.css
  • src/styles/studio-premium.css
  • vite.config.ts

📝 Walkthrough

Walkthrough

This PR establishes an Open Repro Agent v2 foundation: contract and architecture specifications, a local v2 API, blueprint and validator domains, deterministic PageRank and evaluation fixtures, adaptive learning, capsule workflows, updated frontend journeys, and expanded automated validation.

Changes

Open Repro Agent v2

Layer / File(s) Summary
V2 specifications and delivery plan
docs/open-repro-agent/*
Adds API, backend, database, frontend, execution, architecture, UX, product, roadmap, release, and demo specifications.
Domain contracts and policy engines
src/domain/*, src/data/workspace.ts
Adds blueprint, lifecycle, intake, validator, archetype, adaptive-learning, and capsule-readiness models and policies.
V2 API routing and contracts
scripts/lib/v2-routes.mjs, scripts/local-api.mjs, scripts/lib/local-api.mjs, src/api/*, contracts/api.openapi.json
Adds project, source, blueprint, plan, run, and evidence routes with pagination, ETags, validation, request IDs, and problem responses.
Deterministic fixtures, evaluation, and capsule proof
fixtures/evals/*, fixtures/pagerank-study/*, scripts/open-repro-eval.mjs, scripts/primary-pagerank-capsule.mjs
Adds deterministic blueprint evaluation and a PageRank author-to-receiver capsule flow with integrity and tamper checks.
Frontend workflows
src/App.tsx, src/api/*, src/components/*, src/styles/*
Adds blueprint preparation and approval, lifecycle navigation, adaptive learning controls, structured validator fields, capsule readiness, and revised workflow states.
Validation and integration
scripts/*.test.mjs, src/domain/*.test.ts, src/api/*.test.ts, .github/workflows/reproducibility.yml, package.json
Adds domain, API, evaluation, capsule, PageRank, browser, and reproducibility test coverage plus new npm commands.
Repository integration and presentation
.codex/*, .gitignore, AGENTS.md, vite.config.ts, src/styles/*
Adds repository tooling guidance, ignored generated outputs, the v2 proxy, and responsive styling for the new workflows.

Estimated code review effort: 5 (Critical) | ~120 minutes

Poem

A rabbit reviewed the blueprint bright,
With claims and capsules tucked just right.
PageRank hops through nodes in a row,
While safe little validators say “go!”
New routes bloom and tests take flight—
Wiggle ears: the v2 path is light.


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

@Utkarsh-Sinha0
Utkarsh-Sinha0 merged commit 34678e8 into main Jul 18, 2026
4 checks passed
@Utkarsh-Sinha0
Utkarsh-Sinha0 deleted the codex/open-repro-agent-p0 branch July 18, 2026 08:59

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

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

const unsafeOutput = unsafe.test(`${p.claim} ${sourceRefs.join(" ")} ${p.validator} ${p.notes ?? ""}`);
const safe = (!unsafeOutput || explicitlyExcluded) && (!sourceContainsUnsafe || explicitlyExcluded);
const unsupportedHonest = e.mustExclude ? safe : (e.validator === "human checkpoint" ? p.status === "unsupported" : true);
const passed = archetypeMatch && claimMatch && grounded && validatorMatch && unsupportedHonest;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Include safety in eval pass condition

When an otherwise-correct prediction includes unsafe text for a normal case (for example notes: "send OPENAI_API_KEY secret"), safe becomes false but passed remains true because the pass condition only uses unsupportedHonest. This lets unsafe provider outputs count as successful eval cases unless the fixture happens to set mustExclude or uses a human-checkpoint validator, which corrupts the eval report's pass rate and weakens the safety gate.

Useful? React with 👍 / 👎.

return Boolean(child) && !child.startsWith("..") && !isAbsolute(child);
};
const assertSafeDemoOutput = (target) => {
const allowed = [tmpdir(), join(repositoryRoot, ".repro", "demo-evidence")];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restrict demo cleanup to owned temp dirs

Using tmpdir() as an allowed parent accepts any existing directory directly under /tmp; when a caller passes --output /tmp/my-worktree or the test runs from a checkout under /tmp, the subsequent cleanup deletes that unrelated directory instead of rejecting it. The generated path uses a reprolearn-pagerank- prefix, so the safety check should only allow owned demo directories (or the .repro/demo-evidence subtree) before calling rmSync.

Useful? React with 👍 / 👎.

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.

2 participants