cyrus-edge-worker 0.2.39 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/AgentSessionManager.d.ts +4 -58
- package/dist/AgentSessionManager.d.ts.map +1 -1
- package/dist/AgentSessionManager.js +11 -304
- package/dist/AgentSessionManager.js.map +1 -1
- package/dist/ChatSessionHandler.d.ts +2 -2
- package/dist/ChatSessionHandler.d.ts.map +1 -1
- package/dist/ChatSessionHandler.js +2 -4
- package/dist/ChatSessionHandler.js.map +1 -1
- package/dist/DefaultSkillsDeployer.d.ts +32 -0
- package/dist/DefaultSkillsDeployer.d.ts.map +1 -0
- package/dist/DefaultSkillsDeployer.js +82 -0
- package/dist/DefaultSkillsDeployer.js.map +1 -0
- package/dist/EdgeWorker.d.ts +20 -46
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +98 -450
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/PromptBuilder.d.ts +1 -7
- package/dist/PromptBuilder.d.ts.map +1 -1
- package/dist/PromptBuilder.js +2 -33
- package/dist/PromptBuilder.js.map +1 -1
- package/dist/RunnerConfigBuilder.d.ts +13 -6
- package/dist/RunnerConfigBuilder.d.ts.map +1 -1
- package/dist/RunnerConfigBuilder.js +50 -27
- package/dist/RunnerConfigBuilder.js.map +1 -1
- package/dist/SkillsPluginResolver.d.ts +66 -0
- package/dist/SkillsPluginResolver.d.ts.map +1 -0
- package/dist/SkillsPluginResolver.js +180 -0
- package/dist/SkillsPluginResolver.js.map +1 -0
- package/dist/ToolPermissionResolver.d.ts +1 -12
- package/dist/ToolPermissionResolver.d.ts.map +1 -1
- package/dist/ToolPermissionResolver.js +0 -23
- package/dist/ToolPermissionResolver.js.map +1 -1
- package/dist/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
- package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
- package/dist/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
- package/dist/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
- package/dist/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
- package/dist/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
- package/dist/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/prompt-assembly/types.d.ts +1 -3
- package/dist/prompt-assembly/types.d.ts.map +1 -1
- package/package.json +17 -16
- package/dist/procedures/ProcedureAnalyzer.d.ts +0 -69
- package/dist/procedures/ProcedureAnalyzer.d.ts.map +0 -1
- package/dist/procedures/ProcedureAnalyzer.js +0 -274
- package/dist/procedures/ProcedureAnalyzer.js.map +0 -1
- package/dist/procedures/index.d.ts +0 -7
- package/dist/procedures/index.d.ts.map +0 -1
- package/dist/procedures/index.js +0 -7
- package/dist/procedures/index.js.map +0 -1
- package/dist/procedures/registry.d.ts +0 -173
- package/dist/procedures/registry.d.ts.map +0 -1
- package/dist/procedures/registry.js +0 -264
- package/dist/procedures/registry.js.map +0 -1
- package/dist/procedures/types.d.ts +0 -101
- package/dist/procedures/types.d.ts.map +0 -1
- package/dist/procedures/types.js +0 -5
- package/dist/procedures/types.js.map +0 -1
- package/dist/prompts/subroutines/changelog-update-gitlab.md +0 -79
- package/dist/prompts/subroutines/changelog-update.md +0 -79
- package/dist/prompts/subroutines/coding-activity.md +0 -12
- package/dist/prompts/subroutines/concise-summary.md +0 -67
- package/dist/prompts/subroutines/debugger-fix.md +0 -92
- package/dist/prompts/subroutines/debugger-reproduction.md +0 -74
- package/dist/prompts/subroutines/get-approval.md +0 -175
- package/dist/prompts/subroutines/gh-pr.md +0 -110
- package/dist/prompts/subroutines/git-commit.md +0 -37
- package/dist/prompts/subroutines/glab-mr.md +0 -106
- package/dist/prompts/subroutines/plan-summary.md +0 -21
- package/dist/prompts/subroutines/preparation.md +0 -16
- package/dist/prompts/subroutines/question-answer.md +0 -8
- package/dist/prompts/subroutines/question-investigation.md +0 -8
- package/dist/prompts/subroutines/release-execution.md +0 -81
- package/dist/prompts/subroutines/release-summary.md +0 -60
- package/dist/prompts/subroutines/user-testing-summary.md +0 -87
- package/dist/prompts/subroutines/user-testing.md +0 -48
- package/dist/prompts/subroutines/validation-fixer.md +0 -56
- package/dist/prompts/subroutines/verbose-summary.md +0 -46
- package/dist/prompts/subroutines/verifications.md +0 -77
- package/dist/validation/ValidationLoopController.d.ts +0 -54
- package/dist/validation/ValidationLoopController.d.ts.map +0 -1
- package/dist/validation/ValidationLoopController.js +0 -242
- package/dist/validation/ValidationLoopController.js.map +0 -1
- package/dist/validation/index.d.ts +0 -7
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js +0 -7
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/types.d.ts +0 -82
- package/dist/validation/types.d.ts.map +0 -1
- package/dist/validation/types.js +0 -29
- package/dist/validation/types.js.map +0 -1
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# GitLab MR - Merge Request Management
|
|
2
|
-
|
|
3
|
-
A draft MR exists and all changes have been committed and pushed. Now update the MR with a full description and optionally mark it as ready.
|
|
4
|
-
|
|
5
|
-
## Your Tasks
|
|
6
|
-
|
|
7
|
-
### 1. Get MR Information
|
|
8
|
-
First, get the current MR URL and verify the target branch:
|
|
9
|
-
```bash
|
|
10
|
-
glab mr view --output json | jq -r '"\(.web_url) targeting \(.target_branch)"'
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**IMPORTANT**: Verify that the MR targets the correct target branch (from `<base_branch>` in the issue context). If it doesn't, update it:
|
|
14
|
-
```bash
|
|
15
|
-
glab mr update --target-branch [correct target branch]
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
### 2. Update MR with Full Description
|
|
19
|
-
Update the MR with a comprehensive description:
|
|
20
|
-
```bash
|
|
21
|
-
glab mr update --title "[descriptive title]" --description "[full description]"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**IMPORTANT: Assignee attribution**
|
|
25
|
-
Check the `<assignee>` section from the issue context and add assignee information at the **very top** of the MR description, before the summary:
|
|
26
|
-
|
|
27
|
-
- If a `<gitlab_username>` or `<github_username>` is available, format as: `Assignee: @username ([Display Name](linear_profile_url))`
|
|
28
|
-
- If only a `<linear_profile_url>` is available (no username), format as: `Assignee: [Display Name](linear_profile_url)` using the `<linear_display_name>` and `<linear_profile_url>` values
|
|
29
|
-
|
|
30
|
-
Follow this with a blank line, then the rest of the description. If no assignee information is available at all, skip this step.
|
|
31
|
-
|
|
32
|
-
**IMPORTANT: Cyrus attribution marker**
|
|
33
|
-
You MUST include the following hidden HTML comment somewhere in the MR description (e.g. at the very end). This marker is used to identify Cyrus-authored MRs for tracking purposes:
|
|
34
|
-
```
|
|
35
|
-
<!-- generated-by-cyrus -->
|
|
36
|
-
```
|
|
37
|
-
This marker is invisible when rendered on GitLab but allows the webhook to detect that this MR was authored by Cyrus, even when the MR is created under a human user's GitLab account.
|
|
38
|
-
|
|
39
|
-
The MR description should include:
|
|
40
|
-
- Summary of changes
|
|
41
|
-
- Implementation approach
|
|
42
|
-
- Testing performed
|
|
43
|
-
- Any breaking changes or migration notes
|
|
44
|
-
- Link to the Linear issue
|
|
45
|
-
|
|
46
|
-
**IMPORTANT: Cyrus interaction tip**
|
|
47
|
-
At the end of the MR description (before the `<!-- generated-by-cyrus -->` marker), include a tip section using the following exact format:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
> **Tip:** I will respond to comments that @ mention @{{gitlab_bot_username}} on this MR. You can also leave review comments, and I will automatically wake up to address each comment.
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
This helps reviewers know how to interact with Cyrus directly on the MR.
|
|
56
|
-
|
|
57
|
-
Ensure the MR has a clear, descriptive title (remove "WIP:" or "Draft:" prefix if present).
|
|
58
|
-
|
|
59
|
-
### 3. Mark MR as Ready (CONDITIONAL)
|
|
60
|
-
|
|
61
|
-
**CRITICAL**: Before marking the MR as ready, you MUST check the `<agent_guidance>` section in your context.
|
|
62
|
-
|
|
63
|
-
**DO NOT mark the MR as ready if ANY of the following conditions are true:**
|
|
64
|
-
- The agent guidance specifies `--draft` in MR creation commands
|
|
65
|
-
- The agent guidance mentions keeping MRs as drafts
|
|
66
|
-
- The user has explicitly requested the MR remain as a draft
|
|
67
|
-
- The project instructions specify draft MRs
|
|
68
|
-
|
|
69
|
-
**Only if none of the above conditions apply**, convert the draft MR to ready for review:
|
|
70
|
-
```bash
|
|
71
|
-
glab mr update --ready
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### 4. Final Checks
|
|
75
|
-
- Confirm the MR URL is valid and accessible
|
|
76
|
-
- Verify all commits are included in the MR
|
|
77
|
-
- Verify the MR targets the correct target branch (from `<base_branch>` in context)
|
|
78
|
-
- Check that CI/CD pipelines start running (if applicable)
|
|
79
|
-
|
|
80
|
-
## Important Notes
|
|
81
|
-
|
|
82
|
-
- **A draft MR already exists** - you're updating it and optionally marking it ready
|
|
83
|
-
- **All commits are pushed** - the changelog already includes the MR link
|
|
84
|
-
- **Be thorough with the MR description** - it should be self-contained and informative
|
|
85
|
-
- **RESPECT AGENT GUIDANCE** - if guidance specifies draft MRs, do NOT mark as ready
|
|
86
|
-
- **Verify the correct target branch** - ensure MR targets the `<base_branch>` from context
|
|
87
|
-
- Take as many turns as needed to complete these tasks
|
|
88
|
-
|
|
89
|
-
## Expected Output
|
|
90
|
-
|
|
91
|
-
**IMPORTANT: Do NOT post Linear comments.** Your output is for internal workflow only.
|
|
92
|
-
|
|
93
|
-
Provide a brief completion message (1 sentence max) that includes the MR URL and status:
|
|
94
|
-
|
|
95
|
-
If marked as ready:
|
|
96
|
-
```
|
|
97
|
-
MR ready at [MR URL].
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
If kept as draft (due to agent guidance or user request):
|
|
101
|
-
```
|
|
102
|
-
Draft MR updated at [MR URL] (kept as draft per guidance).
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Example: "MR ready at https://gitlab.com/org/repo/-/merge_requests/123."
|
|
106
|
-
Example: "Draft MR updated at https://gitlab.com/org/repo/-/merge_requests/123 (kept as draft per guidance)."
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Plan Summary
|
|
2
|
-
|
|
3
|
-
Present EITHER your clarifying questions OR your implementation plan:
|
|
4
|
-
|
|
5
|
-
**Format in Linear-compatible markdown:**
|
|
6
|
-
- Use `+++Section Name\n...\n+++` for collapsible sections
|
|
7
|
-
- Use `https://linear.app/linear/profiles/username` for @mentions
|
|
8
|
-
- Be clear and well-structured
|
|
9
|
-
|
|
10
|
-
**If presenting clarifying questions:**
|
|
11
|
-
- List specific questions that need answers
|
|
12
|
-
- Explain why each question is important
|
|
13
|
-
- Suggest possible approaches if helpful
|
|
14
|
-
|
|
15
|
-
**If presenting implementation plan:**
|
|
16
|
-
- Outline the implementation approach
|
|
17
|
-
- List key files/components to modify
|
|
18
|
-
- Note any risks or dependencies
|
|
19
|
-
- Provide estimated complexity if relevant
|
|
20
|
-
|
|
21
|
-
Keep it concise (3-5 paragraphs max).
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Preparation Phase
|
|
2
|
-
|
|
3
|
-
Analyze the request to determine if it needs clarification or can be planned:
|
|
4
|
-
|
|
5
|
-
**If unclear requirements:**
|
|
6
|
-
- Identify ambiguities and missing information
|
|
7
|
-
- Formulate specific clarifying questions
|
|
8
|
-
- Prepare questions for Linear posting
|
|
9
|
-
|
|
10
|
-
**If requirements are clear:**
|
|
11
|
-
- Break down the work into steps
|
|
12
|
-
- Identify files/components to modify
|
|
13
|
-
- Consider dependencies and edge cases
|
|
14
|
-
- Prepare implementation plan for Linear posting
|
|
15
|
-
|
|
16
|
-
Complete with: `Preparation complete - [ready to plan/needs clarification].`
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Answer Question
|
|
2
|
-
|
|
3
|
-
Provide a clear, direct answer using investigation findings:
|
|
4
|
-
- Present in Linear-compatible markdown (supports `+++collapsible+++`, @mentions via `https://linear.app/linear/profiles/username`)
|
|
5
|
-
- Include code references with line numbers
|
|
6
|
-
- Be complete but concise
|
|
7
|
-
|
|
8
|
-
Don't mention the investigation process - just answer the question.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Investigate Question
|
|
2
|
-
|
|
3
|
-
Gather information to answer the question (DON'T answer yet):
|
|
4
|
-
- Search codebase for relevant files/functions
|
|
5
|
-
- Read necessary files
|
|
6
|
-
- Use tools if needed
|
|
7
|
-
|
|
8
|
-
Complete with: `Investigation complete - gathered information from [sources].`
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Release Execution Phase
|
|
2
|
-
|
|
3
|
-
You are performing a software release. Your task is to execute the release process for this project.
|
|
4
|
-
|
|
5
|
-
## Step 1: Check for Release Instructions
|
|
6
|
-
|
|
7
|
-
Check for release instructions in this priority order:
|
|
8
|
-
|
|
9
|
-
### Priority 1: Release Skill
|
|
10
|
-
1. Use the `Skill` tool to check for available skills (invoke with skill name like "release")
|
|
11
|
-
2. Look for skills named "release", "publish", "deploy", or similar
|
|
12
|
-
3. Check `.claude/skills/` directory for SKILL.md files related to releasing
|
|
13
|
-
|
|
14
|
-
### Priority 2: CLAUDE.md
|
|
15
|
-
1. Read `CLAUDE.md` in the project root
|
|
16
|
-
2. Look for sections about "Release", "Publishing", "Deployment", or similar
|
|
17
|
-
3. Follow any documented release procedures
|
|
18
|
-
|
|
19
|
-
### Priority 3: README.md
|
|
20
|
-
1. Read `README.md` in the project root
|
|
21
|
-
2. Look for sections about "Release", "Publishing", "Deployment", or similar
|
|
22
|
-
3. Follow any documented release procedures
|
|
23
|
-
|
|
24
|
-
## Step 2: Execute Release
|
|
25
|
-
|
|
26
|
-
### If a release skill exists:
|
|
27
|
-
|
|
28
|
-
Invoke the release skill using the `Skill` tool:
|
|
29
|
-
```
|
|
30
|
-
skill: "release"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Follow the skill's instructions completely. The skill will contain project-specific release procedures including:
|
|
34
|
-
- Version bumping
|
|
35
|
-
- Changelog updates
|
|
36
|
-
- Package publishing order
|
|
37
|
-
- Git tagging
|
|
38
|
-
- GitHub release creation
|
|
39
|
-
|
|
40
|
-
### If CLAUDE.md or README.md has release instructions:
|
|
41
|
-
|
|
42
|
-
Follow those documented instructions step by step. These may include:
|
|
43
|
-
- Version bump procedures
|
|
44
|
-
- Changelog update requirements
|
|
45
|
-
- Build and test commands
|
|
46
|
-
- Publishing commands
|
|
47
|
-
- Tag and release creation
|
|
48
|
-
|
|
49
|
-
### If NO release instructions exist anywhere:
|
|
50
|
-
|
|
51
|
-
Use the `AskUserQuestion` tool to gather release information:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
AskUserQuestion with questions:
|
|
55
|
-
1. "How should releases be performed for this project?"
|
|
56
|
-
- Options: "npm publish", "GitHub Releases only", "Custom script", "Other"
|
|
57
|
-
|
|
58
|
-
2. "What versioning scheme does this project use?"
|
|
59
|
-
- Options: "Semantic versioning (semver)", "CalVer (date-based)", "Other"
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Based on the user's response, attempt a reasonable release workflow:
|
|
63
|
-
- For npm projects: Check package.json for publish config
|
|
64
|
-
- For monorepos: Look for workspace/lerna/nx configuration
|
|
65
|
-
- For other projects: Follow user guidance
|
|
66
|
-
|
|
67
|
-
## Guidelines
|
|
68
|
-
|
|
69
|
-
- **Read CHANGELOG.md** if present to understand recent changes
|
|
70
|
-
- **Check package.json** for version and publish configuration
|
|
71
|
-
- **Look for existing release scripts** in package.json or scripts/
|
|
72
|
-
- **Verify you're on the correct branch** before releasing
|
|
73
|
-
- **Run tests/build** before publishing if not already verified
|
|
74
|
-
|
|
75
|
-
## Constraints
|
|
76
|
-
|
|
77
|
-
- **Do NOT guess** release procedures without skill or user input
|
|
78
|
-
- **Do NOT publish** to registries without explicit confirmation
|
|
79
|
-
- **Do NOT push tags** without verifying the release was successful
|
|
80
|
-
|
|
81
|
-
Complete with: `Release execution complete - [what was released and where].`
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Release Summary
|
|
2
|
-
|
|
3
|
-
Generate a summary of the release process for posting to Linear.
|
|
4
|
-
|
|
5
|
-
## Your Task
|
|
6
|
-
|
|
7
|
-
Create a clear summary of what was released:
|
|
8
|
-
|
|
9
|
-
### 1. Release Information
|
|
10
|
-
- Version released (e.g., v0.2.7)
|
|
11
|
-
- Package(s) published
|
|
12
|
-
- Registry/destination (npm, GitHub Releases, etc.)
|
|
13
|
-
|
|
14
|
-
### 2. Changes Included
|
|
15
|
-
- Brief summary of what's in this release
|
|
16
|
-
- Link to changelog or release notes if available
|
|
17
|
-
|
|
18
|
-
### 3. Post-Release Actions
|
|
19
|
-
- Tags pushed
|
|
20
|
-
- GitHub release created (with link if applicable)
|
|
21
|
-
- Any follow-up tasks needed
|
|
22
|
-
|
|
23
|
-
### 4. Linear Issue Updates
|
|
24
|
-
- If Linear issues were mentioned in the changelog, note which issues should be moved from 'MergedUnreleased' to 'ReleasedMonitoring' status
|
|
25
|
-
|
|
26
|
-
## Format Requirements
|
|
27
|
-
|
|
28
|
-
- **Be concise** - focus on what was released
|
|
29
|
-
- Use markdown formatting for readability
|
|
30
|
-
- Include version numbers and links where helpful
|
|
31
|
-
- **To mention someone**: Use `https://linear.app/linear/profiles/username` syntax
|
|
32
|
-
|
|
33
|
-
## Constraints
|
|
34
|
-
|
|
35
|
-
- **You have exactly 1 turn** - generate the summary in a single response
|
|
36
|
-
- This is the final output that will be posted to Linear
|
|
37
|
-
- Focus on the release outcome, not the process details
|
|
38
|
-
|
|
39
|
-
## Example Format
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
## Release Complete
|
|
43
|
-
|
|
44
|
-
**Version**: v0.2.7
|
|
45
|
-
**Published to**: npm (@cyrus-ai/*)
|
|
46
|
-
|
|
47
|
-
### What's Included
|
|
48
|
-
- Feature X improvements
|
|
49
|
-
- Bug fix for Y
|
|
50
|
-
- Performance optimizations
|
|
51
|
-
|
|
52
|
-
### Links
|
|
53
|
-
- [GitHub Release](https://github.com/org/repo/releases/tag/v0.2.7)
|
|
54
|
-
- [Changelog](./CHANGELOG.md)
|
|
55
|
-
|
|
56
|
-
### Linear Issues
|
|
57
|
-
The following issues can be moved to 'ReleasedMonitoring':
|
|
58
|
-
- CYPACK-XXX
|
|
59
|
-
- CYPACK-YYY
|
|
60
|
-
```
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# User Testing Summary - Final Response for Linear
|
|
2
|
-
|
|
3
|
-
Generate a comprehensive summary of the user testing session for posting to Linear.
|
|
4
|
-
|
|
5
|
-
## Your Task
|
|
6
|
-
|
|
7
|
-
Create a clear, structured summary that covers:
|
|
8
|
-
|
|
9
|
-
### 1. Testing Overview
|
|
10
|
-
- What was tested (features, workflows, integrations)
|
|
11
|
-
- Testing approach and methodology used
|
|
12
|
-
- Scope of the testing session
|
|
13
|
-
|
|
14
|
-
### 2. Test Results
|
|
15
|
-
- Total number of scenarios/tests executed
|
|
16
|
-
- Pass/fail breakdown
|
|
17
|
-
- Key observations and findings
|
|
18
|
-
|
|
19
|
-
### 3. Issues Discovered (if any)
|
|
20
|
-
- Description of each issue found
|
|
21
|
-
- Severity assessment (critical/high/medium/low)
|
|
22
|
-
- Reproduction steps for failures
|
|
23
|
-
- Relevant error messages or logs
|
|
24
|
-
|
|
25
|
-
### 4. Recommendations
|
|
26
|
-
- Suggested fixes or follow-up actions
|
|
27
|
-
- Areas that may need additional testing
|
|
28
|
-
- Any improvements identified during testing
|
|
29
|
-
|
|
30
|
-
## Format Requirements
|
|
31
|
-
|
|
32
|
-
- **Be concise but comprehensive** - aim for a well-structured summary
|
|
33
|
-
- Use clear, professional language suitable for Linear
|
|
34
|
-
- Use markdown formatting for readability
|
|
35
|
-
- Focus on what matters to stakeholders
|
|
36
|
-
- **To mention someone**: Use `https://linear.app/linear/profiles/username` syntax where `username` is the Linear username (e.g., `https://linear.app/linear/profiles/alice` to mention @alice)
|
|
37
|
-
|
|
38
|
-
## Constraints
|
|
39
|
-
|
|
40
|
-
- **You have exactly 1 turn** - generate the summary in a single response
|
|
41
|
-
- This is the final output that will be posted to Linear
|
|
42
|
-
- Make it informative and actionable
|
|
43
|
-
|
|
44
|
-
## Example Format
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
## Testing Summary
|
|
48
|
-
|
|
49
|
-
[Brief overview of what was tested and the testing approach]
|
|
50
|
-
|
|
51
|
-
### Results
|
|
52
|
-
|
|
53
|
-
| Status | Count |
|
|
54
|
-
|--------|-------|
|
|
55
|
-
| ✅ Passed | X |
|
|
56
|
-
| ❌ Failed | Y |
|
|
57
|
-
| ⚠️ Observations | Z |
|
|
58
|
-
|
|
59
|
-
+++Test Details
|
|
60
|
-
- [Test 1]: [Result and notes]
|
|
61
|
-
- [Test 2]: [Result and notes]
|
|
62
|
-
+++
|
|
63
|
-
|
|
64
|
-
+++Issues Found
|
|
65
|
-
1. **[Issue title]** - [Severity]
|
|
66
|
-
- Description: [What went wrong]
|
|
67
|
-
- Steps to reproduce: [How to trigger]
|
|
68
|
-
- Notes: [Additional context]
|
|
69
|
-
+++
|
|
70
|
-
|
|
71
|
-
## Recommendations
|
|
72
|
-
|
|
73
|
-
[Next steps and suggested actions]
|
|
74
|
-
|
|
75
|
-
## Status
|
|
76
|
-
|
|
77
|
-
[Overall testing status and conclusions]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Collapsible Sections
|
|
81
|
-
|
|
82
|
-
**IMPORTANT**: When creating your summary, make the following sections collapsible (collapsed by default):
|
|
83
|
-
|
|
84
|
-
- **"Test Details"** section - Wrap with `+++Test Details\n...\n+++`
|
|
85
|
-
- **"Issues Found"** section - Wrap with `+++Issues Found\n...\n+++`
|
|
86
|
-
|
|
87
|
-
This keeps the summary concise while preserving detailed information for those who want to expand and read it.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# User Testing Phase
|
|
2
|
-
|
|
3
|
-
Perform testing as requested by the user. This subroutine allows interactive testing based on user instructions.
|
|
4
|
-
|
|
5
|
-
## Your Task
|
|
6
|
-
|
|
7
|
-
Execute the testing activities requested by the user:
|
|
8
|
-
|
|
9
|
-
### 1. Understand the Testing Request
|
|
10
|
-
- Review the user's testing requirements from the issue description
|
|
11
|
-
- Identify what needs to be tested (features, workflows, integrations, etc.)
|
|
12
|
-
- Clarify the scope and success criteria for the testing
|
|
13
|
-
|
|
14
|
-
### 2. Execute Tests
|
|
15
|
-
- Run the tests or testing scenarios as requested
|
|
16
|
-
- Follow any specific testing instructions provided by the user
|
|
17
|
-
- Document test results and observations as you go
|
|
18
|
-
- Note any unexpected behavior or issues discovered
|
|
19
|
-
|
|
20
|
-
### 3. Interactive Testing
|
|
21
|
-
- Be responsive to user feedback during the testing process
|
|
22
|
-
- The user may provide additional instructions or adjustments mid-session
|
|
23
|
-
- Adapt your testing approach based on user guidance
|
|
24
|
-
- Report progress and findings to enable real-time feedback
|
|
25
|
-
|
|
26
|
-
### 4. Document Findings
|
|
27
|
-
- Track all test results (pass/fail/observations)
|
|
28
|
-
- Note any bugs, issues, or areas of concern discovered
|
|
29
|
-
- Document reproduction steps for any failures
|
|
30
|
-
- Capture relevant logs, error messages, or screenshots if applicable
|
|
31
|
-
|
|
32
|
-
## Important Notes
|
|
33
|
-
|
|
34
|
-
- **Do NOT commit or push changes** - that happens in a separate subroutine if needed
|
|
35
|
-
- **Do NOT create or update PRs** - focus on testing only
|
|
36
|
-
- **Be thorough and methodical** - test systematically based on user requirements
|
|
37
|
-
- **Communicate clearly** - report findings as you discover them
|
|
38
|
-
- **Follow user instructions** - this is a user-driven testing session
|
|
39
|
-
|
|
40
|
-
## Expected Output
|
|
41
|
-
|
|
42
|
-
Provide a completion message summarizing the testing session:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
Testing complete - [X] scenarios tested, [Y] passed, [Z] issues found.
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Example: "Testing complete - 5 scenarios tested, 4 passed, 1 issue found (login redirect failure)."
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# Validation Fixer - Fix Verification Failures
|
|
2
|
-
|
|
3
|
-
The previous verification step failed. Your task is to fix the specific issues identified.
|
|
4
|
-
|
|
5
|
-
## Failure Context
|
|
6
|
-
|
|
7
|
-
<validation_failure>
|
|
8
|
-
{{FAILURE_REASON}}
|
|
9
|
-
</validation_failure>
|
|
10
|
-
|
|
11
|
-
<iteration_info>
|
|
12
|
-
Attempt {{ITERATION}} of {{MAX_ITERATIONS}}
|
|
13
|
-
</iteration_info>
|
|
14
|
-
|
|
15
|
-
{{#if PREVIOUS_ATTEMPTS}}
|
|
16
|
-
<previous_attempts>
|
|
17
|
-
{{PREVIOUS_ATTEMPTS}}
|
|
18
|
-
</previous_attempts>
|
|
19
|
-
{{/if}}
|
|
20
|
-
|
|
21
|
-
## Your Task
|
|
22
|
-
|
|
23
|
-
Fix ONLY the specific issues mentioned in the failure reason above. Do not make unrelated changes.
|
|
24
|
-
|
|
25
|
-
### Guidelines
|
|
26
|
-
|
|
27
|
-
1. **Focus on the specific failures** - Address only what failed, nothing else
|
|
28
|
-
2. **Read error messages carefully** - The failure reason contains specific error details
|
|
29
|
-
3. **Make minimal changes** - Fix the issue with the smallest possible change
|
|
30
|
-
4. **Avoid introducing new issues** - Be careful not to break other things while fixing
|
|
31
|
-
5. **If you've seen this error before** - Check the previous attempts to understand what didn't work
|
|
32
|
-
|
|
33
|
-
### Common Fix Patterns
|
|
34
|
-
|
|
35
|
-
- **Acceptance criteria failures**: Re-read the specific criterion that failed, understand what's missing, and implement the missing functionality
|
|
36
|
-
- **Test failures**: Read the failing test, understand the expected vs actual behavior, fix the code or test
|
|
37
|
-
- **TypeScript errors**: Check the type definitions and ensure proper typing
|
|
38
|
-
- **Linting errors**: Run the linter with auto-fix first, then manually fix what remains
|
|
39
|
-
- **Build errors**: Check imports, exports, and module resolution
|
|
40
|
-
|
|
41
|
-
## Important Notes
|
|
42
|
-
|
|
43
|
-
- **Do NOT commit or push changes** - just fix the issues
|
|
44
|
-
- **Do NOT create or update PRs** - that happens in a later subroutine
|
|
45
|
-
- **Do NOT post Linear comments** - your output is for internal workflow only
|
|
46
|
-
- Be thorough but efficient - we have limited retry attempts
|
|
47
|
-
|
|
48
|
-
## Expected Output
|
|
49
|
-
|
|
50
|
-
After fixing the issues, provide a brief completion message (1 sentence max):
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
Fixed: [brief description of what was fixed]
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Example: "Fixed: Corrected type error in UserService.ts by adding missing optional chaining"
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Summary Phase - Final Response Generation
|
|
2
|
-
|
|
3
|
-
You have completed both the primary work and closure review. Now generate a comprehensive summary of everything accomplished.
|
|
4
|
-
|
|
5
|
-
## Your Task
|
|
6
|
-
|
|
7
|
-
Create a clear, concise summary for Linear that covers:
|
|
8
|
-
|
|
9
|
-
### 1. Work Completed
|
|
10
|
-
- What features were implemented or bugs were fixed
|
|
11
|
-
- Key technical decisions made
|
|
12
|
-
- Any changes to the original scope or approach
|
|
13
|
-
|
|
14
|
-
### 2. Implementation Details
|
|
15
|
-
- High-level overview of the implementation approach
|
|
16
|
-
- Key files modified or created
|
|
17
|
-
- Any new dependencies, tools, or patterns introduced
|
|
18
|
-
|
|
19
|
-
### 3. Testing & Quality Assurance
|
|
20
|
-
- What testing was performed
|
|
21
|
-
- Test results and coverage
|
|
22
|
-
- Any known limitations or edge cases
|
|
23
|
-
|
|
24
|
-
### 4. Pull Request Information
|
|
25
|
-
- Link to the GitHub PR
|
|
26
|
-
- Status of the PR (ready for review, needs attention, etc.)
|
|
27
|
-
- Any special review notes or areas that need extra attention
|
|
28
|
-
|
|
29
|
-
### 5. Next Steps (if applicable)
|
|
30
|
-
- Any follow-up tasks or future improvements identified
|
|
31
|
-
- Configuration or deployment steps required
|
|
32
|
-
- Notes for reviewers
|
|
33
|
-
|
|
34
|
-
## Format Requirements
|
|
35
|
-
|
|
36
|
-
- Use clear, professional language suitable for Linear
|
|
37
|
-
- Be concise but comprehensive
|
|
38
|
-
- Use markdown formatting for readability
|
|
39
|
-
- Focus on what matters to stakeholders and reviewers
|
|
40
|
-
- **To mention someone**: Use `https://linear.app/linear/profiles/username` syntax where `username` is the Linear username (e.g., `https://linear.app/linear/profiles/alice` to mention @alice)
|
|
41
|
-
|
|
42
|
-
## Constraints
|
|
43
|
-
|
|
44
|
-
- **You have exactly 1 turn** - generate the summary in a single response
|
|
45
|
-
- This is the final output that will be posted to Linear
|
|
46
|
-
- Make it informative and actionable
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# Verifications - Testing and Quality Checks
|
|
2
|
-
|
|
3
|
-
You have completed the primary work on this issue. Now perform thorough verification to ensure everything works correctly and meets quality standards.
|
|
4
|
-
|
|
5
|
-
## Your Tasks
|
|
6
|
-
|
|
7
|
-
### 1. Acceptance Criteria Validation (CRITICAL - Do This First)
|
|
8
|
-
|
|
9
|
-
Use the issue tracker `get_issue` tool to fetch the current issue details. The issue identifier is available in your conversation context (e.g., "CYPACK-123").
|
|
10
|
-
|
|
11
|
-
**Steps:**
|
|
12
|
-
1. Fetch the issue using the issue tracker `get_issue` tool with the issue identifier
|
|
13
|
-
2. Extract ALL acceptance criteria from the issue description (look for bullet points, numbered lists, checkboxes, or sections labeled "Acceptance Criteria", "Requirements", "Definition of Done", etc.)
|
|
14
|
-
3. For EACH acceptance criterion, verify that the implementation satisfies it
|
|
15
|
-
4. Document which criteria pass and which fail
|
|
16
|
-
|
|
17
|
-
**Important:** If no explicit acceptance criteria are found, extract implied requirements from the issue title and description. Every issue has requirements that must be verified.
|
|
18
|
-
|
|
19
|
-
### 2. Code Quality Review
|
|
20
|
-
- Review all code changes for quality, consistency, and best practices
|
|
21
|
-
- Ensure proper error handling and edge cases are covered
|
|
22
|
-
- Verify code follows project conventions and patterns
|
|
23
|
-
- Check for any code smells or areas that need refactoring
|
|
24
|
-
|
|
25
|
-
### 3. Testing & Verification
|
|
26
|
-
- Run all relevant tests and ensure they pass
|
|
27
|
-
- **Do NOT fix failing tests yourself** - just report the failures
|
|
28
|
-
- Verify the implementation meets all requirements from the issue description
|
|
29
|
-
- Check that existing functionality wasn't broken by the changes
|
|
30
|
-
|
|
31
|
-
### 4. Linting & Type Checking
|
|
32
|
-
- Run linting tools and report any issues
|
|
33
|
-
- Run TypeScript type checking (if applicable) and report any errors
|
|
34
|
-
- **Do NOT fix linting/type errors yourself** - just report them
|
|
35
|
-
|
|
36
|
-
### 5. Documentation Review
|
|
37
|
-
- Check if relevant documentation needs updating
|
|
38
|
-
- Note any debug code, console.logs, or commented-out sections that should be removed
|
|
39
|
-
|
|
40
|
-
## Important Notes
|
|
41
|
-
|
|
42
|
-
- **Do NOT commit or push changes** - that happens in a later subroutine
|
|
43
|
-
- **Do NOT create or update PRs** - that also happens in a later subroutine
|
|
44
|
-
- **Do NOT touch the changelog** - a separate subroutine handles changelog updates
|
|
45
|
-
- **Do NOT fix issues yourself** - your job is to verify and report
|
|
46
|
-
- **Do NOT post Linear comments** - your output is for internal workflow only
|
|
47
|
-
- Be thorough in running and reporting verification results
|
|
48
|
-
- **Acceptance criteria validation is MANDATORY** - failing to validate against acceptance criteria counts as a failed verification
|
|
49
|
-
|
|
50
|
-
## Expected FINAL Message Output Format
|
|
51
|
-
|
|
52
|
-
You MUST respond in your FINAL message with a JSON object in exactly this format:
|
|
53
|
-
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"pass": true,
|
|
57
|
-
"reason": "All 3 acceptance criteria met. 47 tests passing, linting clean, types valid"
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Or if there are failures:
|
|
62
|
-
|
|
63
|
-
```json
|
|
64
|
-
{
|
|
65
|
-
"pass": false,
|
|
66
|
-
"reason": "Acceptance criteria failed: 'Support pagination' not implemented. TypeScript error in src/services/UserService.ts:42 - Property 'email' does not exist on type 'User'. 3 tests failing in auth.test.ts"
|
|
67
|
-
}
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Output Rules
|
|
71
|
-
|
|
72
|
-
1. **pass**: Set to `true` if ALL verifications pass (including ALL acceptance criteria), `false` if ANY fail
|
|
73
|
-
2. **reason**:
|
|
74
|
-
- If passing: Brief summary that mentions acceptance criteria status, e.g., "All X acceptance criteria met. Y tests passing, linting clean, types valid"
|
|
75
|
-
- If failing: Specific error details that would help someone fix the issues. **Always list any failing acceptance criteria first**, then other failures.
|
|
76
|
-
|
|
77
|
-
**CRITICAL**: Your entire final response message must be valid JSON matching the schema above. Do not include any text before or after the JSON.
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ValidationLoopController - Orchestrates the validation loop with retry logic
|
|
3
|
-
*
|
|
4
|
-
* This controller manages the validation loop that runs verifications and fixes
|
|
5
|
-
* up to a configurable maximum number of iterations.
|
|
6
|
-
*/
|
|
7
|
-
import type { ValidationFixerContext, ValidationLoopConfig, ValidationLoopState, ValidationResult } from "./types.js";
|
|
8
|
-
import { VALIDATION_RESULT_SCHEMA } from "./types.js";
|
|
9
|
-
/**
|
|
10
|
-
* Parse a validation result from an agent's response
|
|
11
|
-
*
|
|
12
|
-
* Supports multiple formats:
|
|
13
|
-
* 1. Native structured output (message.structured_output) - validated with Zod
|
|
14
|
-
* 2. JSON in response text - validated with Zod
|
|
15
|
-
* 3. Fallback prompt engineering extraction (for Gemini and other runners)
|
|
16
|
-
*/
|
|
17
|
-
export declare function parseValidationResult(response: string | undefined, structuredOutput?: unknown): ValidationResult;
|
|
18
|
-
/**
|
|
19
|
-
* Get the JSON schema for validation results
|
|
20
|
-
*/
|
|
21
|
-
export declare function getValidationResultSchema(): typeof VALIDATION_RESULT_SCHEMA;
|
|
22
|
-
/**
|
|
23
|
-
* Load the validation-fixer prompt template
|
|
24
|
-
*/
|
|
25
|
-
export declare function loadValidationFixerPrompt(): string;
|
|
26
|
-
/**
|
|
27
|
-
* Render the validation-fixer prompt with context
|
|
28
|
-
*/
|
|
29
|
-
export declare function renderValidationFixerPrompt(context: ValidationFixerContext): string;
|
|
30
|
-
/**
|
|
31
|
-
* Create initial validation loop state
|
|
32
|
-
*/
|
|
33
|
-
export declare function createInitialState(): ValidationLoopState;
|
|
34
|
-
/**
|
|
35
|
-
* Record a validation attempt and determine next action
|
|
36
|
-
*/
|
|
37
|
-
export declare function recordAttempt(state: ValidationLoopState, result: ValidationResult, config?: ValidationLoopConfig): ValidationLoopState;
|
|
38
|
-
/**
|
|
39
|
-
* Get the fixer context for the current state
|
|
40
|
-
*/
|
|
41
|
-
export declare function getFixerContext(state: ValidationLoopState, config?: ValidationLoopConfig): ValidationFixerContext | null;
|
|
42
|
-
/**
|
|
43
|
-
* Check if the validation loop should continue
|
|
44
|
-
*/
|
|
45
|
-
export declare function shouldContinueLoop(state: ValidationLoopState): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Check if we should proceed to the next subroutine after validation
|
|
48
|
-
*/
|
|
49
|
-
export declare function shouldProceedAfterValidation(state: ValidationLoopState, config?: ValidationLoopConfig): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Get a summary of the validation loop execution
|
|
52
|
-
*/
|
|
53
|
-
export declare function getValidationSummary(state: ValidationLoopState): string;
|
|
54
|
-
//# sourceMappingURL=ValidationLoopController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationLoopController.d.ts","sourceRoot":"","sources":["../../src/validation/ValidationLoopController.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACX,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEN,wBAAwB,EAExB,MAAM,YAAY,CAAC;AAMpB;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,gBAAgB,CAAC,EAAE,OAAO,GACxB,gBAAgB,CAqGlB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,wBAAwB,CAE3E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CASlD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,sBAAsB,GAC7B,MAAM,CA4BR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAOxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,oBAAqD,GAC3D,mBAAmB,CAmCrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,GAAE,oBAAqD,GAC3D,sBAAsB,GAAG,IAAI,CAmB/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,MAAM,GAAE,oBAAqD,GAC3D,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAcvE"}
|