opencastle 0.20.0 → 0.21.0
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/dist/cli/adapters/cursor.d.ts.map +1 -1
- package/dist/cli/adapters/cursor.js +3 -12
- package/dist/cli/adapters/cursor.js.map +1 -1
- package/dist/cli/adapters/single-file-base.d.ts.map +1 -1
- package/dist/cli/adapters/single-file-base.js +3 -12
- package/dist/cli/adapters/single-file-base.js.map +1 -1
- package/dist/cli/adapters/vscode.d.ts +1 -1
- package/dist/cli/adapters/vscode.d.ts.map +1 -1
- package/dist/cli/adapters/vscode.js +4 -16
- package/dist/cli/adapters/vscode.js.map +1 -1
- package/dist/cli/dashboard.js +1 -1
- package/dist/cli/dashboard.js.map +1 -1
- package/dist/cli/doctor.js +7 -7
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/eject.js +2 -2
- package/dist/cli/eject.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +13 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/init.test.js +27 -15
- package/dist/cli/init.test.js.map +1 -1
- package/dist/cli/lesson.js +5 -5
- package/dist/cli/lesson.js.map +1 -1
- package/dist/cli/log.d.ts +1 -1
- package/dist/cli/log.d.ts.map +1 -1
- package/dist/cli/log.js +5 -5
- package/dist/cli/log.js.map +1 -1
- package/dist/cli/manifest.d.ts +4 -1
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +16 -5
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/stack-config.d.ts.map +1 -1
- package/dist/cli/stack-config.js +2 -14
- package/dist/cli/stack-config.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +87 -34
- package/dist/cli/update.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/adapters/cursor.ts +2 -12
- package/src/cli/adapters/single-file-base.ts +2 -12
- package/src/cli/adapters/vscode.ts +4 -16
- package/src/cli/dashboard.ts +1 -1
- package/src/cli/doctor.ts +7 -7
- package/src/cli/eject.ts +2 -2
- package/src/cli/init.test.ts +28 -15
- package/src/cli/init.ts +14 -4
- package/src/cli/lesson.ts +5 -5
- package/src/cli/log.ts +5 -5
- package/src/cli/manifest.ts +18 -5
- package/src/cli/stack-config.ts +2 -14
- package/src/cli/update.ts +95 -36
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/orchestrator/agent-workflows/README.md +1 -1
- package/src/orchestrator/agent-workflows/bug-fix.md +4 -4
- package/src/orchestrator/agent-workflows/data-pipeline.md +1 -1
- package/src/orchestrator/agent-workflows/database-migration.md +4 -4
- package/src/orchestrator/agent-workflows/feature-implementation.md +3 -3
- package/src/orchestrator/agent-workflows/performance-optimization.md +1 -1
- package/src/orchestrator/agent-workflows/refactoring.md +1 -1
- package/src/orchestrator/agent-workflows/schema-changes.md +2 -2
- package/src/orchestrator/agent-workflows/security-audit.md +4 -4
- package/src/orchestrator/agent-workflows/shared-delivery-phase.md +1 -1
- package/src/orchestrator/agents/api-designer.agent.md +2 -2
- package/src/orchestrator/agents/architect.agent.md +2 -2
- package/src/orchestrator/agents/content-engineer.agent.md +2 -2
- package/src/orchestrator/agents/copywriter.agent.md +2 -2
- package/src/orchestrator/agents/data-expert.agent.md +2 -2
- package/src/orchestrator/agents/database-engineer.agent.md +2 -2
- package/src/orchestrator/agents/developer.agent.md +2 -2
- package/src/orchestrator/agents/devops-expert.agent.md +2 -2
- package/src/orchestrator/agents/documentation-writer.agent.md +2 -2
- package/src/orchestrator/agents/performance-expert.agent.md +2 -2
- package/src/orchestrator/agents/release-manager.agent.md +2 -2
- package/src/orchestrator/agents/researcher.agent.md +4 -4
- package/src/orchestrator/agents/reviewer.agent.md +1 -1
- package/src/orchestrator/agents/security-expert.agent.md +2 -2
- package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
- package/src/orchestrator/agents/session-guard.agent.md +10 -10
- package/src/orchestrator/agents/team-lead.agent.md +3 -3
- package/src/orchestrator/agents/testing-expert.agent.md +2 -2
- package/src/orchestrator/agents/ui-ux-expert.agent.md +2 -2
- package/src/orchestrator/copilot-instructions.md +1 -1
- package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +11 -11
- package/src/orchestrator/customizations/DISPUTES.md +2 -2
- package/src/orchestrator/customizations/README.md +1 -1
- package/src/orchestrator/customizations/logs/README.md +1 -1
- package/src/orchestrator/customizations/project/docs-structure.md +6 -6
- package/src/orchestrator/instructions/ai-optimization.instructions.md +1 -1
- package/src/orchestrator/instructions/general.instructions.md +6 -6
- package/src/orchestrator/plugins/astro/SKILL.md +1 -1
- package/src/orchestrator/plugins/chrome-devtools/SKILL.md +4 -4
- package/src/orchestrator/plugins/contentful/SKILL.md +2 -2
- package/src/orchestrator/plugins/convex/SKILL.md +2 -2
- package/src/orchestrator/plugins/cypress/SKILL.md +2 -2
- package/src/orchestrator/plugins/figma/SKILL.md +1 -1
- package/src/orchestrator/plugins/jira/SKILL.md +3 -3
- package/src/orchestrator/plugins/linear/SKILL.md +2 -2
- package/src/orchestrator/plugins/netlify/SKILL.md +2 -2
- package/src/orchestrator/plugins/nextjs/SKILL.md +1 -1
- package/src/orchestrator/plugins/nx/SKILL.md +1 -1
- package/src/orchestrator/plugins/playwright/SKILL.md +2 -2
- package/src/orchestrator/plugins/prisma/SKILL.md +2 -2
- package/src/orchestrator/plugins/resend/SKILL.md +1 -1
- package/src/orchestrator/plugins/sanity/SKILL.md +2 -2
- package/src/orchestrator/plugins/slack/SKILL.md +2 -2
- package/src/orchestrator/plugins/strapi/SKILL.md +2 -2
- package/src/orchestrator/plugins/supabase/SKILL.md +2 -2
- package/src/orchestrator/plugins/teams/SKILL.md +1 -1
- package/src/orchestrator/plugins/turborepo/SKILL.md +1 -1
- package/src/orchestrator/plugins/vercel/SKILL.md +2 -2
- package/src/orchestrator/plugins/vitest/SKILL.md +2 -2
- package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +8 -8
- package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
- package/src/orchestrator/prompts/bug-fix.prompt.md +4 -4
- package/src/orchestrator/prompts/create-skill.prompt.md +3 -3
- package/src/orchestrator/prompts/generate-convoy.prompt.md +1 -1
- package/src/orchestrator/prompts/implement-feature.prompt.md +10 -10
- package/src/orchestrator/prompts/quick-refinement.prompt.md +3 -3
- package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +1 -1
- package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/agent-hooks/SKILL.md +9 -9
- package/src/orchestrator/skills/agent-memory/SKILL.md +4 -4
- package/src/orchestrator/skills/api-patterns/SKILL.md +2 -2
- package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
- package/src/orchestrator/skills/context-map/SKILL.md +1 -1
- package/src/orchestrator/skills/data-engineering/SKILL.md +2 -2
- package/src/orchestrator/skills/decomposition/SKILL.md +1 -1
- package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
- package/src/orchestrator/skills/documentation-standards/SKILL.md +2 -2
- package/src/orchestrator/skills/fast-review/SKILL.md +2 -2
- package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
- package/src/orchestrator/skills/git-workflow/SKILL.md +2 -2
- package/src/orchestrator/skills/memory-merger/SKILL.md +3 -3
- package/src/orchestrator/skills/observability-logging/SKILL.md +10 -10
- package/src/orchestrator/skills/orchestration-protocols/SKILL.md +1 -1
- package/src/orchestrator/skills/panel-majority-vote/SKILL.md +2 -2
- package/src/orchestrator/skills/panel-majority-vote/panel-report.template.md +1 -1
- package/src/orchestrator/skills/performance-optimization/SKILL.md +1 -1
- package/src/orchestrator/skills/react-development/SKILL.md +1 -1
- package/src/orchestrator/skills/security-hardening/SKILL.md +1 -1
- package/src/orchestrator/skills/self-improvement/SKILL.md +2 -2
- package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
- package/src/orchestrator/skills/session-checkpoints/SKILL.md +5 -5
- package/src/orchestrator/skills/team-lead-reference/SKILL.md +6 -6
- package/src/orchestrator/skills/testing-workflow/SKILL.md +3 -3
- package/src/orchestrator/skills/validation-gates/SKILL.md +1 -1
|
@@ -3,7 +3,7 @@ description: 'Resolve GitHub PR review comments by reading them, grouping by fil
|
|
|
3
3
|
agent: 'Team Lead (OpenCastle)'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Resolve PR Comments
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: accessibility-standards
|
|
|
3
3
|
description: "WCAG 2.2 Level AA accessibility patterns for React/HTML/CSS. Use when creating or modifying UI components, forms, navigation, tables, images, or any user-facing elements. Covers keyboard navigation, screen reader semantics, low vision contrast, voice access, and inclusive language."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Accessibility Standards
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: agent-hooks
|
|
|
3
3
|
description: "Lifecycle hooks for AI agent sessions — reusable actions that run at specific points (session start, session end, pre-delegation, post-delegation). Defines what to do at each lifecycle event so agents behave consistently."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Agent Lifecycle Hooks
|
|
9
9
|
|
|
@@ -28,11 +28,11 @@ Session Lifecycle:
|
|
|
28
28
|
|
|
29
29
|
### Actions
|
|
30
30
|
|
|
31
|
-
1. **Read lessons learned** — Scan `.
|
|
32
|
-
2. **Check for checkpoint** — If `.
|
|
31
|
+
1. **Read lessons learned** — Scan `.opencastle/LESSONS-LEARNED.md` for entries relevant to the current task domain. Apply proactively.
|
|
32
|
+
2. **Check for checkpoint** — If `.opencastle/SESSION-CHECKPOINT.md` exists, read it. Resume from last known state instead of re-analyzing.
|
|
33
33
|
3. **Check pending approvals** — If the checkpoint has a `## Pending Approvals` section, check for replies using the configured messaging provider's MCP tools (e.g., `conversations_replies` for Slack). Read `.opencastle.json` → `stack.teamTools` to determine the provider. If no messaging is configured, skip this step.
|
|
34
|
-
4. **Check dead letter queue** — Scan `.
|
|
35
|
-
5. **Validate skill-matrix bindings** — Open `.
|
|
34
|
+
4. **Check dead letter queue** — Scan `.opencastle/AGENT-FAILURES.md` for pending failures related to the current scope.
|
|
35
|
+
5. **Validate skill-matrix bindings** — Open `.opencastle/agents/skill-matrix.json` and check whether the `bindings` object has any slots with non-empty `entries` arrays. If all entries are empty, **warn the user** that the bootstrap hasn't been run and capability slots will not resolve. Suggest running the *"Bootstrap Customizations"* prompt first. Do NOT silently continue with empty bindings.
|
|
36
36
|
6. **Load domain skills** — Based on the task description, load the appropriate skills before writing code. Don't start coding without the relevant skill loaded.
|
|
37
37
|
|
|
38
38
|
### Template for Delegation Prompts
|
|
@@ -40,10 +40,10 @@ Session Lifecycle:
|
|
|
40
40
|
Include this reminder in every delegation:
|
|
41
41
|
|
|
42
42
|
```
|
|
43
|
-
**Session Start:** Read `.
|
|
44
|
-
Check `.
|
|
43
|
+
**Session Start:** Read `.opencastle/LESSONS-LEARNED.md` before starting.
|
|
44
|
+
Check `.opencastle/SESSION-CHECKPOINT.md` for prior state and pending approvals.
|
|
45
45
|
If pending approvals exist, check for replies via the messaging provider.
|
|
46
|
-
Validate `.
|
|
46
|
+
Validate `.opencastle/agents/skill-matrix.json` — warn if skill bindings are empty (bootstrap not run).
|
|
47
47
|
Load relevant skills before writing code.
|
|
48
48
|
```
|
|
49
49
|
|
|
@@ -60,7 +60,7 @@ Load relevant skills before writing code.
|
|
|
60
60
|
|
|
61
61
|
1. **Call Session Guard** (Team Lead only) — Delegate to the **Session Guard** agent with a session summary (delegations, retries, discoveries, files changed). Execute any fix commands it returns. This replaces the manual Pre-Response Quality Gate checklist — the guard runs it automatically with a fresh context window.
|
|
62
62
|
2. **For specialist agents** (not Team Lead) — Run the Pre-Response Quality Gate checklist from the **observability-logging** skill manually. Specialist agents don't have access to the Session Guard.
|
|
63
|
-
3. **Save checkpoint** (Team Lead only) — If work is incomplete, write `.
|
|
63
|
+
3. **Save checkpoint** (Team Lead only) — If work is incomplete, write `.opencastle/SESSION-CHECKPOINT.md` with current state so the next session can resume. Load **session-checkpoints** skill for format.
|
|
64
64
|
4. **Memory merge check** — If `LESSONS-LEARNED.md` has grown significantly (5+ new entries this session), flag for memory merge consideration.
|
|
65
65
|
5. **Clean up** — Remove any temporary files created during the session (e.g., test fixtures, debug outputs).
|
|
66
66
|
|
|
@@ -3,7 +3,7 @@ name: agent-memory
|
|
|
3
3
|
description: "Agent expertise tracking and cross-session knowledge graph. Use when delegating tasks to track agent strengths/weaknesses, or when building context about file relationships and patterns."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Agent Memory Protocol
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ Track which agents have expertise with which files, patterns, and tools across s
|
|
|
13
13
|
|
|
14
14
|
## Expertise File
|
|
15
15
|
|
|
16
|
-
Location: `.
|
|
16
|
+
Location: `.opencastle/AGENT-EXPERTISE.md` — a structured record of agent performance per domain.
|
|
17
17
|
|
|
18
18
|
Template structure:
|
|
19
19
|
|
|
@@ -49,7 +49,7 @@ Template structure:
|
|
|
49
49
|
|
|
50
50
|
## Memory Retrieval Protocol
|
|
51
51
|
|
|
52
|
-
1. Before delegating, check `.
|
|
52
|
+
1. Before delegating, check `.opencastle/AGENT-EXPERTISE.md` for the candidate agent
|
|
53
53
|
2. If the task matches a Strong Area, include in the prompt: *"You have prior experience with [area] from [TAS-XX]. Apply the same patterns."*
|
|
54
54
|
3. If the task matches a Weak Area, either: (a) add extra context to the prompt to compensate, or (b) consider a different agent
|
|
55
55
|
4. If the file has high familiarity, mention it: *"You've worked on [file] before in [TAS-XX]."*
|
|
@@ -102,7 +102,7 @@ Capture structured relationships between concepts, files, agents, and decisions.
|
|
|
102
102
|
|
|
103
103
|
### Knowledge Graph File
|
|
104
104
|
|
|
105
|
-
Location: `.
|
|
105
|
+
Location: `.opencastle/KNOWLEDGE-GRAPH.md` — an append-only relationship log.
|
|
106
106
|
|
|
107
107
|
Template structure:
|
|
108
108
|
|
|
@@ -3,11 +3,11 @@ name: api-patterns
|
|
|
3
3
|
description: "API design patterns for route handlers, Server Actions, Zod validation, and external API integration. Use when creating API routes, Server Actions, or integrating external services."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# API Patterns
|
|
9
9
|
|
|
10
|
-
Generic API design patterns for server-rendered framework projects. For project-specific endpoints, actions, and external API inventory, see [api-config.md](
|
|
10
|
+
Generic API design patterns for server-rendered framework projects. For project-specific endpoints, actions, and external API inventory, see [api-config.md](../../.opencastle/stack/api-config.md).
|
|
11
11
|
|
|
12
12
|
## Architecture
|
|
13
13
|
|
|
@@ -3,7 +3,7 @@ name: code-commenting
|
|
|
3
3
|
description: "Guidelines for writing self-explanatory code with minimal comments. Covers when to comment (WHY not WHAT), anti-patterns to avoid, annotation tags, and public API documentation. Use when writing or reviewing code comments."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Self-explanatory Code Commenting
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: context-map
|
|
|
3
3
|
description: "Generate a structured file impact map before making changes. Identifies all files that will be affected, their relationships, and cascade effects — improving file partitioning for parallel work and reducing unexpected side effects."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Skill: Context Map
|
|
9
9
|
|
|
@@ -3,11 +3,11 @@ name: data-engineering
|
|
|
3
3
|
description: "Data pipeline ETL workflows, web scraping, NDJSON processing, and CMS data import. Use when building scrapers, processing data, running CLI tools, or importing to a CMS."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Data Engineering
|
|
9
9
|
|
|
10
|
-
Generic data pipeline patterns and scraping methodology. For project-specific pipeline architecture, sources, CLI commands, and data status, see [data-pipeline-config.md](
|
|
10
|
+
Generic data pipeline patterns and scraping methodology. For project-specific pipeline architecture, sources, CLI commands, and data status, see [data-pipeline-config.md](../../.opencastle/stack/data-pipeline-config.md).
|
|
11
11
|
|
|
12
12
|
## Scraper Architecture
|
|
13
13
|
|
|
@@ -70,7 +70,7 @@ Return a structured summary with:
|
|
|
70
70
|
**Note:** Follow the Structured Output Contract from the team-lead-reference skill. Include all standard fields plus agent-specific extensions.
|
|
71
71
|
|
|
72
72
|
### Self-Improvement
|
|
73
|
-
Read `.
|
|
73
|
+
Read `.opencastle/LESSONS-LEARNED.md` before starting. If you retry any command/tool with a different approach that works, use the **self-improvement** skill to add a lesson immediately.
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
For simpler tasks (score 1-3), the existing prompt format (objective + files + criteria) is sufficient. Don't over-engineer delegation for trivial work.
|
|
@@ -3,11 +3,11 @@ name: deployment-infrastructure
|
|
|
3
3
|
description: "Deployment architecture, environment variables, cron jobs, security headers, and caching patterns. Use when configuring deployments, managing environment variables, setting up cron jobs, or troubleshooting build/deployment issues."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Deployment Infrastructure
|
|
9
9
|
|
|
10
|
-
All deployment configuration is project-specific. See [deployment-config.md](
|
|
10
|
+
All deployment configuration is project-specific. See [deployment-config.md](../../.opencastle/stack/deployment-config.md) for the full architecture, environment variables, cron jobs, caching headers, and key files.
|
|
11
11
|
|
|
12
12
|
## Generic Deployment Principles
|
|
13
13
|
|
|
@@ -3,11 +3,11 @@ name: documentation-standards
|
|
|
3
3
|
description: "Documentation templates, structure, and standards for project docs, roadmaps, ADRs, and known issues. Use when writing or updating documentation files."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Documentation Standards
|
|
9
9
|
|
|
10
|
-
Generic documentation templates and writing standards. For project-specific directory structure and practices, see [docs-structure.md](
|
|
10
|
+
Generic documentation templates and writing standards. For project-specific directory structure and practices, see [docs-structure.md](../../.opencastle/project/docs-structure.md).
|
|
11
11
|
|
|
12
12
|
## Issue Documentation Template
|
|
13
13
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
1
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
2
2
|
|
|
3
3
|
````skill
|
|
4
4
|
---
|
|
@@ -155,7 +155,7 @@ CONFIDENCE: low | medium | high
|
|
|
155
155
|
4. The panel decides PASS/BLOCK with the standard majority vote protocol
|
|
156
156
|
5. If panel PASS → accept with a note that it required escalation
|
|
157
157
|
6. If panel BLOCK → follow the standard panel retry flow (max 3 panel attempts)
|
|
158
|
-
7. If panel BLOCKs 3 times → create a **dispute record** in `.
|
|
158
|
+
7. If panel BLOCKs 3 times → create a **dispute record** in `.opencastle/DISPUTES.md` (see **team-lead-reference** skill § Dispute Protocol)
|
|
159
159
|
|
|
160
160
|
```
|
|
161
161
|
Fast Review Attempt 1: FAIL → retry
|
|
@@ -4,7 +4,7 @@ description: "Create distinctive, production-grade frontend interfaces with high
|
|
|
4
4
|
license: Complete terms in LICENSE.txt
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
7
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
8
8
|
|
|
9
9
|
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
10
10
|
|
|
@@ -46,11 +46,11 @@ Every task that produces code changes — whether a roadmap feature, bug fix, fo
|
|
|
46
46
|
When you encounter a bug, error, or unexpected behavior that is unrelated to the current task:
|
|
47
47
|
|
|
48
48
|
1. **Check if already tracked:**
|
|
49
|
-
- Search `.
|
|
49
|
+
- Search `.opencastle/KNOWN-ISSUES.md` for a matching entry
|
|
50
50
|
- If you have task tracker tools available, also search for open bugs (use `search_issues` or `list_issues` with bug label)
|
|
51
51
|
2. **If found tracked** — skip it, continue with your current work
|
|
52
52
|
3. **If NOT tracked** — you must act:
|
|
53
|
-
- **Unfixable limitation** (third-party constraint, platform restriction, upstream dependency) → add it to `.
|
|
53
|
+
- **Unfixable limitation** (third-party constraint, platform restriction, upstream dependency) → add it to `.opencastle/KNOWN-ISSUES.md` with: Issue ID, Status, Severity, Evidence, Root Cause, Solution Options
|
|
54
54
|
- **Fixable bug** → if you have task tracker tools, create a ticket with label `bug`, appropriate priority, and a clear description of the symptoms, reproduction steps, and affected files. If you do NOT have task tracker tools, add a `**Discovered Issues**` section to your output listing the bug details so the Team Lead can track it.
|
|
55
55
|
|
|
56
56
|
Never assume a pre-existing issue is somebody else's problem. If it's not tracked, track it.
|
|
@@ -3,7 +3,7 @@ name: memory-merger
|
|
|
3
3
|
description: "Protocol for graduating mature lessons from LESSONS-LEARNED.md into permanent instruction and skill files. Closes the self-improvement loop by codifying validated knowledge at the source level."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Skill: Memory Merger
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ This skill automates the final step of the self-improvement cycle: promoting val
|
|
|
11
11
|
|
|
12
12
|
## Why Merge?
|
|
13
13
|
|
|
14
|
-
`.
|
|
14
|
+
`.opencastle/LESSONS-LEARNED.md` is a flatfile that grows over time. Lessons buried in a 400+ line file lose their impact — agents skim past them or miss relevant entries. The most valuable lessons should **graduate** into the instruction/skill files where they're encountered naturally during every task.
|
|
15
15
|
|
|
16
16
|
## When to Run
|
|
17
17
|
|
|
@@ -27,7 +27,7 @@ Invoke a memory merge when:
|
|
|
27
27
|
|
|
28
28
|
### Step 1: Scan for Merge Candidates
|
|
29
29
|
|
|
30
|
-
Read `.
|
|
30
|
+
Read `.opencastle/LESSONS-LEARNED.md` and identify lessons that meet any of these criteria:
|
|
31
31
|
|
|
32
32
|
| Criterion | Signal |
|
|
33
33
|
|-----------|--------|
|
|
@@ -19,11 +19,11 @@ description: "Session logging, delegation records, review/panel/dispute NDJSON l
|
|
|
19
19
|
|------|------------|------------|------|
|
|
20
20
|
| `events.ndjson` | `session`, `delegation`, `review`, `panel`, `dispute` | All agents / Team Lead / Panel runner | After every applicable event — use `--type` to discriminate |
|
|
21
21
|
|
|
22
|
-
See `.
|
|
22
|
+
See `.opencastle/logs/README.md` for the full schema of each record type.
|
|
23
23
|
|
|
24
24
|
### How to log
|
|
25
25
|
|
|
26
|
-
Use the `opencastle log` CLI to append events to `.
|
|
26
|
+
Use the `opencastle log` CLI to append events to `.opencastle/logs/events.ndjson`. When the Team Lead works directly, use the agent role that best describes the work (e.g., `--agent Developer`, `--agent "UI-UX Expert"`). If a single conversation involves multiple distinct tasks, log one record per task.
|
|
27
27
|
|
|
28
28
|
**Session record** (ALL agents, EVERY session):
|
|
29
29
|
```sh
|
|
@@ -39,7 +39,7 @@ opencastle log --type delegation --session_id feat/prj-57 --agent Developer \
|
|
|
39
39
|
--tracker_issue PRJ-57 --outcome success --retries 0 --phase 2 \
|
|
40
40
|
--file_partition "src/components/"
|
|
41
41
|
```
|
|
42
|
-
Verify: `tail -1 .
|
|
42
|
+
Verify: `tail -1 .opencastle/logs/events.ndjson`
|
|
43
43
|
|
|
44
44
|
> **`model` and `tier` must reflect the delegated agent's assignment from the agent registry** — not the Team Lead's own model.
|
|
45
45
|
|
|
@@ -50,7 +50,7 @@ opencastle log --type review --tracker_issue PRJ-42 --agent Developer \
|
|
|
50
50
|
--issues_critical 0 --issues_major 0 --issues_minor 2 \
|
|
51
51
|
--confidence high --escalated false --duration_sec 45
|
|
52
52
|
```
|
|
53
|
-
Verify: `tail -1 .
|
|
53
|
+
Verify: `tail -1 .opencastle/logs/events.ndjson`
|
|
54
54
|
|
|
55
55
|
**Panel record** (Panel runner, **immediately after each panel majority vote**):
|
|
56
56
|
```sh
|
|
@@ -59,7 +59,7 @@ opencastle log --type panel --panel_key auth-review --verdict pass \
|
|
|
59
59
|
--reviewer_model claude-opus-4-6 --weighted false --attempt 1 \
|
|
60
60
|
--tracker_issue PRJ-42 --artifacts_count 5
|
|
61
61
|
```
|
|
62
|
-
Verify: `tail -1 .
|
|
62
|
+
Verify: `tail -1 .opencastle/logs/events.ndjson`
|
|
63
63
|
|
|
64
64
|
**Dispute record** (Team Lead, **immediately after each dispute**):
|
|
65
65
|
```sh
|
|
@@ -67,7 +67,7 @@ opencastle log --type dispute --dispute_id DSP-001 --tracker_issue PRJ-42 \
|
|
|
67
67
|
--priority high --trigger panel-3x-block --implementing_agent Developer \
|
|
68
68
|
--reviewing_agents "Reviewer,Panel (3x)" --total_attempts 6 --status pending
|
|
69
69
|
```
|
|
70
|
-
Verify: `tail -1 .
|
|
70
|
+
Verify: `tail -1 .opencastle/logs/events.ndjson`
|
|
71
71
|
|
|
72
72
|
### Pre-Response Logging Checklist
|
|
73
73
|
|
|
@@ -94,8 +94,8 @@ These rules apply to ALL specialist agents automatically. **Do not duplicate the
|
|
|
94
94
|
|
|
95
95
|
1. **Never delegate** — Specialist agents complete their own work and return results. Never invoke the Team Lead or spawn sub-agents. If work requires another domain, document the need in your output contract.
|
|
96
96
|
2. **Follow the Discovered Issues Policy** — Track any pre-existing bugs found during your work (see the **git-workflow** skill).
|
|
97
|
-
3. **Read and update lessons** — Read `.
|
|
98
|
-
4. **Log every session** — Append to `.
|
|
97
|
+
3. **Read and update lessons** — Read `.opencastle/LESSONS-LEARNED.md` before starting. If you retry anything with a different approach that works, use the **self-improvement** skill to add a lesson immediately.
|
|
98
|
+
4. **Log every session** — Append to `.opencastle/logs/events.ndjson` after every session using `opencastle log --type session ...`. No exceptions. This is Constitution rule #6 — a blocking gate, not optional.
|
|
99
99
|
|
|
100
100
|
## Base Output Contract
|
|
101
101
|
|
|
@@ -108,7 +108,7 @@ Every specialist agent's Output Contract MUST end with these standard items (in
|
|
|
108
108
|
- `--type panel` — if panel reviews occurred
|
|
109
109
|
- `--type dispute` — if disputes were created
|
|
110
110
|
- **Discovered Issues** — Pre-existing bugs or anomalies found during work, with tracking action taken per the Discovered Issues Policy
|
|
111
|
-
- **Lessons Applied** — Lessons from `.
|
|
111
|
+
- **Lessons Applied** — Lessons from `.opencastle/LESSONS-LEARNED.md` that influenced this work, and any new lessons added
|
|
112
112
|
|
|
113
113
|
Agents reference this contract with: `See **Base Output Contract** in the observability-logging skill for the standard closing items.`
|
|
114
114
|
|
|
@@ -118,7 +118,7 @@ Agents reference this contract with: `See **Base Output Contract** in the observ
|
|
|
118
118
|
|
|
119
119
|
This is the single exit gate for every session. All items are mandatory unless marked conditional.
|
|
120
120
|
|
|
121
|
-
- [ ] **Lessons read** — `.
|
|
121
|
+
- [ ] **Lessons read** — `.opencastle/LESSONS-LEARNED.md` was read at session start (Self-Improvement Protocol)
|
|
122
122
|
- [ ] **Lessons captured** — If any retry occurred, a new lesson was added via the **self-improvement** skill
|
|
123
123
|
- [ ] **Discovered issues tracked** — Any pre-existing bugs found were added to `KNOWN-ISSUES.md` or a tracker ticket was created (Discovered Issues Policy)
|
|
124
124
|
- [ ] **Lint/type/test pass** — No new errors introduced; verification ran after code changes (Constitution rule #5)
|
|
@@ -113,7 +113,7 @@ Monitor delegated agents for failure signals. Intervene early rather than waitin
|
|
|
113
113
|
|
|
114
114
|
1. **First failure:** Re-delegate with more specific prompt + error context
|
|
115
115
|
2. **Second failure:** Downscope the task (split into smaller pieces) and re-delegate
|
|
116
|
-
3. **Third failure:** Log to Dead Letter Queue (`.
|
|
116
|
+
3. **Third failure:** Log to Dead Letter Queue (`.opencastle/AGENT-FAILURES.md`), escalate to Architect for root cause analysis. If the failure involves a panel 3x BLOCK or unresolvable agent/reviewer conflict, create a **dispute record** in `.opencastle/DISPUTES.md` instead (see **team-lead-reference** skill § Dispute Protocol).
|
|
117
117
|
|
|
118
118
|
## Error Recovery Playbook
|
|
119
119
|
|
|
@@ -3,7 +3,7 @@ name: panel-majority-vote
|
|
|
3
3
|
description: "Run 3 isolated reviewer sub-agents against the same question and decide PASS/BLOCK by majority vote (2/3 wins). Use when deterministic verification is insufficient."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Skill: Panel majority vote (3 reviewers)
|
|
9
9
|
|
|
@@ -91,7 +91,7 @@ Finally: ensure whatever produced the claim being verified links the consolidate
|
|
|
91
91
|
|
|
92
92
|
## Notes
|
|
93
93
|
- If the panel output is BLOCK, prefer to change the underlying work and re-run the same panel question over re-wording the question.
|
|
94
|
-
- After 3 consecutive BLOCKs on the same panel key, create a **dispute record** in `.
|
|
94
|
+
- After 3 consecutive BLOCKs on the same panel key, create a **dispute record** in `.opencastle/DISPUTES.md` instead of retrying further. The dispute packages the agent's position, all reviewer feedback, attempt history, and resolution options for human decision-making. See the **team-lead-reference** skill § Dispute Protocol for the full procedure.
|
|
95
95
|
|
|
96
96
|
## Model Selection for Reviewers
|
|
97
97
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
1
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
2
2
|
|
|
3
3
|
# Panel Report
|
|
4
4
|
|
|
@@ -3,7 +3,7 @@ name: performance-optimization
|
|
|
3
3
|
description: "Frontend and backend performance optimization patterns including rendering, asset optimization, JavaScript performance, caching, profiling, and code review checklist. Use when optimizing components, reviewing code for performance, or analyzing bundle size and Core Web Vitals."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Performance Optimization
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: react-development
|
|
|
3
3
|
description: "React development standards for functional components, hooks, TypeScript integration, state management, styling, and testing patterns. Use when creating or modifying React components, custom hooks, or component tests."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# React Development Standards
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: security-hardening
|
|
|
3
3
|
description: "Security architecture including authentication, authorization, RLS policies, security headers, CSP, input validation, API security, and OAuth patterns. Use when implementing auth flows, writing RLS policies, configuring security headers, validating inputs, or auditing security."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Security Hardening
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: self-improvement
|
|
|
3
3
|
description: "Protocol for reading and updating the lessons-learned knowledge base. MUST be followed by ALL agents — read lessons before work, write lessons after retries. This makes the agent team self-improving across sessions."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Self-Improvement Protocol
|
|
9
9
|
|
|
@@ -15,7 +15,7 @@ This skill defines how agents learn from mistakes and share knowledge so the sam
|
|
|
15
15
|
|
|
16
16
|
## The Lessons File
|
|
17
17
|
|
|
18
|
-
Location: `.
|
|
18
|
+
Location: `.opencastle/LESSONS-LEARNED.md`
|
|
19
19
|
|
|
20
20
|
This is the team's collective memory — a structured log of tool/command pitfalls, workarounds, and correct approaches discovered through execution.
|
|
21
21
|
|
|
@@ -3,7 +3,7 @@ name: seo-patterns
|
|
|
3
3
|
description: "Technical SEO patterns for meta tags, structured data, sitemaps, URL strategy, and rendering. Use when optimizing pages for search engines or implementing SEO features."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# SEO Patterns
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@ name: session-checkpoints
|
|
|
3
3
|
description: "Protocol for saving and restoring session state across agent sessions. Enables replay, fork, and resume of interrupted work — inspired by Sandcastle Run Time Machine."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Skill: Session Checkpoints
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@ Create a checkpoint:
|
|
|
21
21
|
|
|
22
22
|
## Checkpoint Format
|
|
23
23
|
|
|
24
|
-
Create or update the file `.
|
|
24
|
+
Create or update the file `.opencastle/SESSION-CHECKPOINT.md` with this structure:
|
|
25
25
|
|
|
26
26
|
```markdown
|
|
27
27
|
# Session Checkpoint
|
|
@@ -93,7 +93,7 @@ Track each delegation to monitor budget and optimize future model assignments:
|
|
|
93
93
|
```
|
|
94
94
|
Agent A: dir1/, dir2/
|
|
95
95
|
Agent B: dir3/, dir4/
|
|
96
|
-
Agent C: .
|
|
96
|
+
Agent C: .opencastle/
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
## Resume Instructions
|
|
@@ -109,7 +109,7 @@ Step-by-step instructions for a new session to pick up where this one left off:
|
|
|
109
109
|
|
|
110
110
|
When starting a new session:
|
|
111
111
|
|
|
112
|
-
1. **Check for checkpoint** — Read `.
|
|
112
|
+
1. **Check for checkpoint** — Read `.opencastle/SESSION-CHECKPOINT.md` if it exists
|
|
113
113
|
2. **Verify state** — Run `git status`, check branch, verify files match checkpoint
|
|
114
114
|
3. **Check tracker** — List in-progress and todo issues for current feature
|
|
115
115
|
4. **Follow resume instructions** — Execute the specific steps listed in the checkpoint
|
|
@@ -120,7 +120,7 @@ When starting a new session:
|
|
|
120
120
|
After a feature is fully complete (all tracker issues Done):
|
|
121
121
|
|
|
122
122
|
1. Archive the checkpoint content to the relevant tracker issue comments
|
|
123
|
-
2. Delete `.
|
|
123
|
+
2. Delete `.opencastle/SESSION-CHECKPOINT.md` to keep the workspace clean
|
|
124
124
|
3. The next feature starts with a fresh checkpoint
|
|
125
125
|
|
|
126
126
|
## Integration with Team Lead
|
|
@@ -3,11 +3,11 @@ name: team-lead-reference
|
|
|
3
3
|
description: "Reference data for Team Lead orchestration — model routing, pre-delegation checks, cost tracking template, and DLQ format. Load when starting a delegation session."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Team Lead Reference
|
|
9
9
|
|
|
10
|
-
For the specialist agent registry and model assignments, see [agent-registry.md](
|
|
10
|
+
For the specialist agent registry and model assignments, see [agent-registry.md](../../.opencastle/agents/agent-registry.md).
|
|
11
11
|
|
|
12
12
|
## Cost-Aware Model Routing
|
|
13
13
|
|
|
@@ -81,7 +81,7 @@ Fire one **Researcher** sub-agent with this prompt:
|
|
|
81
81
|
Research the following planned subtasks and enrich each with:
|
|
82
82
|
1. Exact file paths and line numbers for code that will change
|
|
83
83
|
2. Existing patterns to follow (with file:line examples)
|
|
84
|
-
3. Related lessons from .
|
|
84
|
+
3. Related lessons from .opencastle/LESSONS-LEARNED.md
|
|
85
85
|
4. Risks or blockers (missing dependencies, known issues)
|
|
86
86
|
|
|
87
87
|
Subtasks:
|
|
@@ -94,7 +94,7 @@ Return a structured report per subtask.
|
|
|
94
94
|
|
|
95
95
|
### Full Deepen (Parallel Researchers)
|
|
96
96
|
|
|
97
|
-
For large plans, split research by domain and fire parallel Researcher sub-agents. See [agent-registry.md](
|
|
97
|
+
For large plans, split research by domain and fire parallel Researcher sub-agents. See [agent-registry.md](../../.opencastle/agents/agent-registry.md) for project-specific scope examples.
|
|
98
98
|
|
|
99
99
|
### What Deepening Produces
|
|
100
100
|
|
|
@@ -166,7 +166,7 @@ This prevents the Team Lead from confusing which agent produced what, especially
|
|
|
166
166
|
|
|
167
167
|
## Dead Letter Queue Format
|
|
168
168
|
|
|
169
|
-
Log to `.
|
|
169
|
+
Log to `.opencastle/AGENT-FAILURES.md` when:
|
|
170
170
|
- A delegated agent fails to complete its task after 2+ attempts
|
|
171
171
|
- A background agent produces output that fails all verification gates
|
|
172
172
|
- An agent encounters an unrecoverable error (e.g., MCP server down, tool unavailable)
|
|
@@ -210,7 +210,7 @@ For common failure modes and recovery procedures, load the **orchestration-proto
|
|
|
210
210
|
|
|
211
211
|
## Dispute Protocol
|
|
212
212
|
|
|
213
|
-
When automated resolution is exhausted (panel 3x BLOCK, approach conflicts, or criteria contradictions), create a **formal dispute record** in `.
|
|
213
|
+
When automated resolution is exhausted (panel 3x BLOCK, approach conflicts, or criteria contradictions), create a **formal dispute record** in `.opencastle/DISPUTES.md`. Inspired by the [Steroids CLI](https://github.com/UnlikeOtherAI/steroids-cli) dispute/escalation pattern.
|
|
214
214
|
|
|
215
215
|
### When to Create a Dispute (vs. DLQ Entry)
|
|
216
216
|
|
|
@@ -3,7 +3,7 @@ name: testing-workflow
|
|
|
3
3
|
description: "Comprehensive testing workflow including test planning, unit/integration/E2E testing patterns, coverage requirements, and common testing mistakes. Use when writing tests, planning test strategies, or validating feature completeness."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Testing Workflow
|
|
9
9
|
|
|
@@ -22,11 +22,11 @@ description: "Comprehensive testing workflow including test planning, unit/integ
|
|
|
22
22
|
2. **MAX 3 screenshots** per session.
|
|
23
23
|
3. **Use `evaluate_script()` over `take_snapshot()`** — returns less data.
|
|
24
24
|
4. **Reload between major test flows** to clear state.
|
|
25
|
-
5. **Log results separately** — append to `.
|
|
25
|
+
5. **Log results separately** — append to `.opencastle/logs/e2e-results.md`.
|
|
26
26
|
|
|
27
27
|
### Suite Files
|
|
28
28
|
|
|
29
|
-
See `.
|
|
29
|
+
See `.opencastle/project.instructions.md` for the full list of E2E test suite files.
|
|
30
30
|
|
|
31
31
|
## Pre-Implementation Test Plan
|
|
32
32
|
|
|
@@ -3,7 +3,7 @@ name: validation-gates
|
|
|
3
3
|
description: "Shared validation gates for all orchestration workflows — secret scanning, deterministic checks, blast radius analysis, dependency auditing, browser testing, cache management, regression checks, and final smoke tests. Referenced by prompt templates to maintain single source of truth."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .
|
|
6
|
+
<!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
|
|
7
7
|
|
|
8
8
|
# Validation Gates
|
|
9
9
|
|