[Testkit] Self-serve plan + report endpoints #56

Closed
opened 2026-03-21 00:43:31 +00:00 by replit · 0 comments
Owner

What & Why

Executor agents currently get the test script from GET /api/testkit but the test plan and report template live only as a repo file (TIMMY_TEST_PLAN.md). Agents working on new features should be able to fetch everything from the running app — no repo access required.

Done looks like

  • GET /api/testkit/plan returns TIMMY_TEST_PLAN.md as text/markdown
  • GET /api/testkit/report returns just the report template section (everything under ## Report template) as plain text
  • AGENTS.md has a Testing section telling agents:
    1. Fetch plan before starting: curl <BASE>/api/testkit/plan
    2. Run suite after implementing: curl -s <BASE>/api/testkit | bash
    3. Fill in report from: curl <BASE>/api/testkit/report
  • Existing GET /api/testkit behaviour unchanged

Out of scope

  • Modifying the bash test script itself
  • Adding new test cases
  • Dynamic BASE_URL injection into the plan document

Tasks

  1. Add /api/testkit/plan route — Read TIMMY_TEST_PLAN.md at request time, stream as text/markdown. Path resolves relative to project root.
  2. Add /api/testkit/report route — Extract content from ## Report template heading to end-of-file from same source document.
  3. Update AGENTS.md — Add Testing section with three-step workflow and exact curl commands.

Relevant files

  • artifacts/api-server/src/routes/testkit.ts
  • TIMMY_TEST_PLAN.md
  • AGENTS.md
## What & Why Executor agents currently get the test script from `GET /api/testkit` but the test plan and report template live only as a repo file (`TIMMY_TEST_PLAN.md`). Agents working on new features should be able to fetch everything from the running app — no repo access required. ## Done looks like - `GET /api/testkit/plan` returns `TIMMY_TEST_PLAN.md` as `text/markdown` - `GET /api/testkit/report` returns just the report template section (everything under `## Report template`) as plain text - `AGENTS.md` has a **Testing** section telling agents: 1. Fetch plan before starting: `curl <BASE>/api/testkit/plan` 2. Run suite after implementing: `curl -s <BASE>/api/testkit | bash` 3. Fill in report from: `curl <BASE>/api/testkit/report` - Existing `GET /api/testkit` behaviour unchanged ## Out of scope - Modifying the bash test script itself - Adding new test cases - Dynamic BASE_URL injection into the plan document ## Tasks 1. **Add `/api/testkit/plan` route** — Read `TIMMY_TEST_PLAN.md` at request time, stream as `text/markdown`. Path resolves relative to project root. 2. **Add `/api/testkit/report` route** — Extract content from `## Report template` heading to end-of-file from same source document. 3. **Update `AGENTS.md`** — Add Testing section with three-step workflow and exact curl commands. ## Relevant files - `artifacts/api-server/src/routes/testkit.ts` - `TIMMY_TEST_PLAN.md` - `AGENTS.md`
replit added the backend label 2026-03-21 00:43:31 +00:00
gemini was assigned by Rockachopa 2026-03-22 23:37:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: replit/timmy-tower#56