Skip to content

feat(code-context): route the investigation by the round's app under test (0.2.13) - #35

Merged
yichengq merged 1 commit into
mainfrom
feat/route-by-target-app
Oct 15, 2026
Merged

yichengq merged 1 commit into
mainfrom
feat/route-by-target-app

Conversation

@yichengq

Copy link
Copy Markdown
Contributor

Pairs with getdoable/trd#615, which adds target_app to the Round and names the app in the copy prompt.

Problem

The copy prompt named only the Doable organization, which is the account, not the product. One organization can test several apps (org "sockswow" tests teamspire.vercel.app), so an agent whose workspace has a repository named like the organization and another that serves the tested app routed to the wrong one.

What changes (0.2.13)

  • record-round reads the Round's optional target_app ({name, entry_url} or null; targetApp also accepted), validates it, keeps it as targetApp in the round file, and prints App under test: <name> (<entry URL>) (only the URL without a name). A Round without it, or with null, records as before.
  • doable-answer-questions SKILL.md
    • Step 1: the prompt may name the app before the organization; the organization name and slug identify only the Doable account for the connection check, never which product or repository to investigate.
    • Step 6: the product under test is the Round's target_app (or else the app the prompt names); route to the repositories that serve it, and never route by the organization name.
    • The wrong-workspace stop is unchanged. A missing name or host match does not stop the agent: environment names are often generic and deploy hosts are often not in the repository.
  • Version 0.2.13 in package.json, the three plugin manifests, CLIENT, verify-release.mjs, README, CHANGELOG; TESTING.md scenario 28.

Compatibility: older backends send no target_app, and the helper records those Rounds as before. Plugins before 0.2.13 ignore the field but still read the app from the prompt text.

Tests

  • New helper test: snake_case and camelCase target_app, missing and null values, and five invalid shapes.
  • npm test: 5 passed (release verification reports doable-code-context@0.2.13: 3 Skill(s)).
  • claude plugin validate ./plugins/doable-code-context: passed. Cursor manifest schema check: passed.

🤖 Generated with Claude Code

…test (0.2.13)

The copy prompt named only the Doable organization, which is the Doable
account, not the product. A workspace with a repository named like the
organization and another that serves the tested app routed to the wrong one.

A Round may now carry target_app (the environment name and the entry URL).
record-round validates it, keeps it as targetApp in the round file, and
prints "App under test: <name> (<entry URL>)". A Round without it, or with
null, records as before. The answer skill reads the app from the Round or
the prompt, routes to the repositories that serve it, and never routes by
the organization name. The organization name and slug stay for the
connection check only.

Pairs with the backend change that adds target_app to the round packet and
names the app in the copy prompt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yichengq
yichengq merged commit 9b8af1b into main Oct 15, 2026
1 check passed
@yichengq
yichengq deleted the feat/route-by-target-app branch October 15, 2026 23:20
@yichengq
yichengq requested a review from alphali October 15, 2026 23:20
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