add/testing tools context and scoping - #210
Conversation
2465025 to
ce465ed
Compare
Claude Code validationResult: Issues found Validated PR #210 against its merge base No critical findings, and no secrets. The single blocking item is one unjustified tool grant — a one-line deletion. Scope note. The workflow supplied a 42-file changed-file list, but PR #210 targets CriticalNone. Major
Minor
What passed
Checks run
|
ce465ed to
67aaf57
Compare
67aaf57 to
a39e947
Compare
a39e947 to
0d74197
Compare
0d74197 to
d03ec89
Compare
f407a58 to
22c883d
Compare
Migrates exploring-application-context and determining-required-services with their code-explorer and service-mapper agents, plus the context-gatherer agent. Content is unchanged apart from the plugin rename in two agent files and the tool-policy path in known-flows/billing.md.
…text Five advice-only cases covering state-centric decomposition, the gate failure versus unreachable distinction, selector grounding, HUMAN verification points, and admin-email token preservation. Every case was verified against SKILL.md before authoring; two premises from the original draft were replaced because they demanded the opposite of what the skill documents.
…ices Four advice-only cases covering the route and path dependency union, the self-run diff, reference-sourced ports, and a minimal result matched by the documented rules rather than a defensively padded list.
The Web vault frontend was the only service with no route-based Required by clause, so a server-side change with web-vault routes navigated to port 8080 without Web ever being health-checked. Add a route-based clause so procedure step 3 can select it (TTM-05).
…g and services components
…n scoping layer The scoping known-flows doc pointed at writing-playwright-test-cases/references/billing-test-data.md, which is introduced in a later layer of the stack. Remove the pointer here so the reference does not dangle at this layer; it is re-added in the test-case-writing layer where the target file exists.
Resolve the findings from the Claude Code validation report on the context-and-scoping layer: - Quote both new SKILL.md descriptions so YAML no longer truncates them at the first " ##" (routing surface was silently halved). - Use the documented Bash(git diff:*) / Bash(git log:*) prefix form on the scoper and mapper agents so the mandated git diff does not fail. - Add a Source-Summary-scoped untrusted-source guardrail to the scoper and mapper, matching the gatherer, and correct the CHANGELOG and eval README to reflect it. - Add allowed-tools to both new skills; add version: 1.3.0 to the three agents; switch the scoper color to magenta. - Add the missing Category 3 (External Trigger Simulation) section to the tool policy and cite the policy by path from the scoping skill. - Replace the phantom health-check.sh justification with the constraint stated on its own terms; settle path variables (CLAUDE_SKILL_DIR for a skill's own files, CLAUDE_PLUGIN_ROOT for plugin-shared). - Drop the unused download_attachment grant from the gatherer. - Genericize forward references to not-yet-existing pipeline components. - Correct the Stripe example to respect the 4-day advance limit and fix the 1.3.0 changelog date.
Resolve the code-review findings on the context-and-scoping layer, keeping
this PR self-contained and independent of the not-yet-merged orchestrator.
Renames:
- Rename skill scoping-playwright-test-cases -> scoping-playwright-application-context
(the artifact is an Application Context, not test cases) and agent
playwright-test-case-scoper -> playwright-application-context-scoper; fix all
references (README, CHANGELOG, evals, known-flows, cross-skill/agent).
Agents:
- Drop every "dispatched by the pipeline orchestrator" / "do not invoke
directly" reference so each agent stands alone; genericize the remaining
orchestrator mentions to "the executor or a human" / "your final output".
- Add an <example>/<commentary> block to each of the three agent descriptions.
- Grant Grep, Glob to services-under-test-mapper so its toolset matches the
skill's declared allowed-tools (services.md relies on Glob).
Blast-radius command:
- Switch both skills (and the agents' Bash grants) to
git -C <repo-path> diff --name-only origin/main...HEAD so it runs from the
bitwarden root where clients/server/billing-pricing are independent checkouts.
Scoping skill:
- Sharpen the description (produces an Application Context) and add a negative-
scope clause disambiguating it from writing-manual-test-cases and
assessing-test-coverage.
- Decouple "no producer flow" from "not reachable by playwright": a route-only
setup state is Produced by: none yet reachable by navigation.
Mapper skill:
- Give Billing a route-matchable Required-by clause; fix the empty-union
fallback example and use the Health-check name (Web) in it; add contingencies
for a diff failure, a route matching no clause, and an unmapped service; add
human-phrasing triggers and align the git diff form in the description.
Docs/references:
- Declare the external playwright-cli dependency in the README and document
that ${CLAUDE_SKILL_DIR} and ${CLAUDE_PLUGIN_ROOT} are both supported so
reviewers stop flagging SKILL_DIR.
- Route the read_mailcatcher.py known-flows references through the tool policy's
Canonical script paths instead of hardcoding the full path six times.
- Reword the README scoping blurb to lead with the artifact, not a file list.
Amends the unreleased 1.3.0 CHANGELOG entry in place; no version bump.
4477912 to
35ec1d1
Compare
🎟️ Tracking
📔 Objective