Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 56 additions & 24 deletions docs/web/docs/aqa-flow.md

Large diffs are not rendered by default.

14 changes: 12 additions & 2 deletions docs/web/docs/testgen-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Prepare the minimum inputs that materially affect output quality:

- A Jira ticket key or Jira ticket URL.
- Confluence page URLs if you already know the relevant pages. This lets the workflow skip weak auto-search results.
- Access to the Jira and Confluence retrieval path used in your project.
- If you want Phase 6, access to TestRail and the ability to provide or create the target section and share its `section_id`. Project and suite details may also be needed when your setup cannot detect them from the current ticket and user profile.
- Access to the Jira and Confluence retrieval path used in your project **when Phase 1 is guided**; otherwise be ready to paste ticket and wiki content (questionnaire path).
- If you want Phase 6 with **guided** TestRail export, TestRail MCP access and the ability to provide or create the target section and share its `section_id`. For **questionnaire** export, be ready to supply `project_id`, `suite_id`, and `section_id`, then import manually or paste back TestRail case IDs.
- Time to review every phase result, especially `questions.md`, `requirements.md`, and `test-scenarios.md`.

Workflow-specific preparation that improves results:
Expand All @@ -48,6 +48,16 @@ Workflow-specific preparation that improves results:

For shared Rosetta setup and project-context customization, see [Usage Guide](/rosetta/docs/usage-guide/).

## MCP capability file and questionnaire path

Some workspaces do not attach Jira, Confluence, or TestRail MCP servers to the agent. TestGen (and AQA integrated Path A) still run if you add **`agents/mcp-capability.yaml`** at the repo root (copy the shape from [`mcp-capability.example.yaml`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/templates/mcp-capability.example.yaml)) and optionally **`agents/user-instructions/mcp-guidance.md`** for stable IDs and naming rules.

- **`mcp.mode: absent`** — use structured questionnaires in Phase 1 and Phase 6; no live MCP calls.
- **`mcp.mode: capable`** with per-integration `true`/`false` — mix guided and questionnaire per system (for example Jira guided, Confluence paste-only).
- **User override** in the task text (for example “no MCP” or “use MCP”) wins for that run over the YAML file.

Workflow details live in [`mcp-capability-interaction.md`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/workflows/mcp-capability-interaction.md) (routing), [`mcp-tool-resolution.md`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/workflows/mcp-tool-resolution.md) and [`agent-action-resolution.md`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/workflows/agent-action-resolution.md) (placeholder binding), [`testgen-flow-data-collection.md`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/workflows/testgen-flow-data-collection.md), and [`testgen-flow-test-case-export.md`](https://github.com/griddynamics/rosetta/blob/main/instructions/r2/core/workflows/testgen-flow-test-case-export.md).

## How To Start

Example prompts that match the workflow:
Expand Down
6 changes: 5 additions & 1 deletion gain.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,11 @@
"vfs": "Virtual File System, after stripping release and org prefix from the physical file path",
"bundling": "Multiple documents at the same VFS resource path are merged into a single XML response"
},
"rosettaInstructionUpdates": {
"aqaFlowPhase1ExecutionMode": "AQA workflow: new Phase 1 Task 0 locks execution mode to integrated (TestRail+Confluence Path A) or minimal-input / agent-led (Path B). Until the user message contains explicit mode keywords (integrated, minimal-input, Integrated AQA, or minimal-input / agent-led) or the user answers the one-time mode question, the agent must not create agents/plans/aqa-*.md, must not write **AQA execution mode**, and must not mark Phase 1 complete in agents/aqa-state.md. Inferring minimal-input from missing TestRail or local HTML alone is forbidden. Phase 2 and Phase 6 instructions aligned; docs/web/docs/aqa-flow.md updated; mirrored under plugins (Cursor, Copilot, Codex).",
"mcpCapabilityBPlusATestgenAqa": "Shared fragment mcp-capability-interaction.md: workspace agents/mcp-capability.yaml (see instructions/r2/core/templates/mcp-capability.example.yaml) plus user-message overrides route guided MCP vs questionnaire. AQA Path A and TestGen Phases 1 and 6 acquire this fragment; TestGen adds Step 4Q (Confluence questionnaire), Phase 6 Step 0/1Q/5Q for TestRail without MCP; plugin mirrors updated."
},
"versions": {
"rosetta": "2.0.19"
"rosetta": "2.0.20"
}
}
20 changes: 20 additions & 0 deletions instructions/r2/core/templates/mcp-capability.example.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copy to workspace root as: agents/mcp-capability.yaml
# See: instructions/r2/core/workflows/mcp-capability-interaction.md
# Placeholder binding (when workflows use tokens): mcp-tool-resolution.md, agent-action-resolution.md

mcp:
# "capable" = agent may call MCPs for true integrations after reading mcp-guidance.md
# "absent" = use questionnaire + user paste; do not call external MCPs
mode: capable

# Per-integration toggles (optional). If omitted, agent may still try when mode is capable
# and workflow needs that integration—unless workflow says otherwise.
jira: true
# Confluence: one product, two YAML key names used by different workflows (not two layers):
# - TestGen (`testgen-flow-data-collection.md`, etc.) reads `confluence`.
# - AQA (`aqa-flow-data-collection.md`) reads `atlassian_confluence` (Atlassian MCP naming).
# If you use both workflow families, keep both booleans in sync. If you use only one family,
# you may omit the key the other family reads (omitted + capable → guided per that workflow).
confluence: true
testrail: true
atlassian_confluence: true
18 changes: 18 additions & 0 deletions instructions/r2/core/workflows/agent-action-resolution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: agent-action-resolution
description: Maps `{agent-action:…}` tokens to host IDE or agent-runtime file tools (read, write, patch).
alwaysApply: false
baseSchema: docs/schemas/phase.md
---

# `{agent-action:…}` resolution (host file tools)

Use when a workflow uses **`{agent-action:read-file}`**, **`{agent-action:write-file}`**, or **`{agent-action:patch-file}`**. These are **not** remote MCP calls and are **not** covered by **`mcp-tool-resolution.md`**.

| Token | Intent |
|-------|--------|
| `{agent-action:read-file}` | Read a file from the workspace via the host agent’s file-read tool |
| `{agent-action:write-file}` | Create or overwrite a workspace file via the host agent’s file-write tool |
| `{agent-action:patch-file}` | Apply targeted edits via the host agent’s patch / search-replace tool |

**Resolution:** Map each token to the host IDE’s or agent runtime’s **documented** file operation (names differ: e.g. `Read`, `Write`, `StrReplace`, `apply_patch`). If the host exposes no matching capability, **STOP**, tell the user, and **WAIT** — do not substitute an MCP tool.
Loading