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.
Files changed (101) hide show
  1. package/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  2. package/dist/AgentSessionManager.d.ts +4 -58
  3. package/dist/AgentSessionManager.d.ts.map +1 -1
  4. package/dist/AgentSessionManager.js +11 -304
  5. package/dist/AgentSessionManager.js.map +1 -1
  6. package/dist/ChatSessionHandler.d.ts +2 -2
  7. package/dist/ChatSessionHandler.d.ts.map +1 -1
  8. package/dist/ChatSessionHandler.js +2 -4
  9. package/dist/ChatSessionHandler.js.map +1 -1
  10. package/dist/DefaultSkillsDeployer.d.ts +32 -0
  11. package/dist/DefaultSkillsDeployer.d.ts.map +1 -0
  12. package/dist/DefaultSkillsDeployer.js +82 -0
  13. package/dist/DefaultSkillsDeployer.js.map +1 -0
  14. package/dist/EdgeWorker.d.ts +20 -46
  15. package/dist/EdgeWorker.d.ts.map +1 -1
  16. package/dist/EdgeWorker.js +98 -450
  17. package/dist/EdgeWorker.js.map +1 -1
  18. package/dist/PromptBuilder.d.ts +1 -7
  19. package/dist/PromptBuilder.d.ts.map +1 -1
  20. package/dist/PromptBuilder.js +2 -33
  21. package/dist/PromptBuilder.js.map +1 -1
  22. package/dist/RunnerConfigBuilder.d.ts +13 -6
  23. package/dist/RunnerConfigBuilder.d.ts.map +1 -1
  24. package/dist/RunnerConfigBuilder.js +50 -27
  25. package/dist/RunnerConfigBuilder.js.map +1 -1
  26. package/dist/SkillsPluginResolver.d.ts +66 -0
  27. package/dist/SkillsPluginResolver.d.ts.map +1 -0
  28. package/dist/SkillsPluginResolver.js +180 -0
  29. package/dist/SkillsPluginResolver.js.map +1 -0
  30. package/dist/ToolPermissionResolver.d.ts +1 -12
  31. package/dist/ToolPermissionResolver.d.ts.map +1 -1
  32. package/dist/ToolPermissionResolver.js +0 -23
  33. package/dist/ToolPermissionResolver.js.map +1 -1
  34. package/dist/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  35. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/.claude-plugin/plugin.json +4 -0
  36. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
  37. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
  38. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
  39. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
  40. package/dist/cyrus-skills-plugin/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
  41. package/dist/cyrus-skills-plugin/skills/debug/SKILL.md +29 -0
  42. package/dist/cyrus-skills-plugin/skills/implementation/SKILL.md +17 -0
  43. package/dist/cyrus-skills-plugin/skills/investigate/SKILL.md +23 -0
  44. package/dist/cyrus-skills-plugin/skills/summarize/SKILL.md +47 -0
  45. package/dist/cyrus-skills-plugin/skills/verify-and-ship/SKILL.md +74 -0
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/prompt-assembly/types.d.ts +1 -3
  51. package/dist/prompt-assembly/types.d.ts.map +1 -1
  52. package/package.json +17 -16
  53. package/dist/procedures/ProcedureAnalyzer.d.ts +0 -69
  54. package/dist/procedures/ProcedureAnalyzer.d.ts.map +0 -1
  55. package/dist/procedures/ProcedureAnalyzer.js +0 -274
  56. package/dist/procedures/ProcedureAnalyzer.js.map +0 -1
  57. package/dist/procedures/index.d.ts +0 -7
  58. package/dist/procedures/index.d.ts.map +0 -1
  59. package/dist/procedures/index.js +0 -7
  60. package/dist/procedures/index.js.map +0 -1
  61. package/dist/procedures/registry.d.ts +0 -173
  62. package/dist/procedures/registry.d.ts.map +0 -1
  63. package/dist/procedures/registry.js +0 -264
  64. package/dist/procedures/registry.js.map +0 -1
  65. package/dist/procedures/types.d.ts +0 -101
  66. package/dist/procedures/types.d.ts.map +0 -1
  67. package/dist/procedures/types.js +0 -5
  68. package/dist/procedures/types.js.map +0 -1
  69. package/dist/prompts/subroutines/changelog-update-gitlab.md +0 -79
  70. package/dist/prompts/subroutines/changelog-update.md +0 -79
  71. package/dist/prompts/subroutines/coding-activity.md +0 -12
  72. package/dist/prompts/subroutines/concise-summary.md +0 -67
  73. package/dist/prompts/subroutines/debugger-fix.md +0 -92
  74. package/dist/prompts/subroutines/debugger-reproduction.md +0 -74
  75. package/dist/prompts/subroutines/get-approval.md +0 -175
  76. package/dist/prompts/subroutines/gh-pr.md +0 -110
  77. package/dist/prompts/subroutines/git-commit.md +0 -37
  78. package/dist/prompts/subroutines/glab-mr.md +0 -106
  79. package/dist/prompts/subroutines/plan-summary.md +0 -21
  80. package/dist/prompts/subroutines/preparation.md +0 -16
  81. package/dist/prompts/subroutines/question-answer.md +0 -8
  82. package/dist/prompts/subroutines/question-investigation.md +0 -8
  83. package/dist/prompts/subroutines/release-execution.md +0 -81
  84. package/dist/prompts/subroutines/release-summary.md +0 -60
  85. package/dist/prompts/subroutines/user-testing-summary.md +0 -87
  86. package/dist/prompts/subroutines/user-testing.md +0 -48
  87. package/dist/prompts/subroutines/validation-fixer.md +0 -56
  88. package/dist/prompts/subroutines/verbose-summary.md +0 -46
  89. package/dist/prompts/subroutines/verifications.md +0 -77
  90. package/dist/validation/ValidationLoopController.d.ts +0 -54
  91. package/dist/validation/ValidationLoopController.d.ts.map +0 -1
  92. package/dist/validation/ValidationLoopController.js +0 -242
  93. package/dist/validation/ValidationLoopController.js.map +0 -1
  94. package/dist/validation/index.d.ts +0 -7
  95. package/dist/validation/index.d.ts.map +0 -1
  96. package/dist/validation/index.js +0 -7
  97. package/dist/validation/index.js.map +0 -1
  98. package/dist/validation/types.d.ts +0 -82
  99. package/dist/validation/types.d.ts.map +0 -1
  100. package/dist/validation/types.js +0 -29
  101. 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"}