opencastle 0.19.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.
Files changed (172) hide show
  1. package/README.md +18 -9
  2. package/dist/cli/adapters/claude-code.d.ts +2 -2
  3. package/dist/cli/adapters/claude-code.d.ts.map +1 -1
  4. package/dist/cli/adapters/claude-code.js +2 -2
  5. package/dist/cli/adapters/claude-code.js.map +1 -1
  6. package/dist/cli/adapters/cursor.d.ts +2 -1
  7. package/dist/cli/adapters/cursor.d.ts.map +1 -1
  8. package/dist/cli/adapters/cursor.js +13 -12
  9. package/dist/cli/adapters/cursor.js.map +1 -1
  10. package/dist/cli/adapters/opencode.d.ts +2 -2
  11. package/dist/cli/adapters/opencode.d.ts.map +1 -1
  12. package/dist/cli/adapters/opencode.js +2 -2
  13. package/dist/cli/adapters/opencode.js.map +1 -1
  14. package/dist/cli/adapters/single-file-base.d.ts.map +1 -1
  15. package/dist/cli/adapters/single-file-base.js +19 -13
  16. package/dist/cli/adapters/single-file-base.js.map +1 -1
  17. package/dist/cli/adapters/vscode.d.ts +3 -2
  18. package/dist/cli/adapters/vscode.d.ts.map +1 -1
  19. package/dist/cli/adapters/vscode.js +14 -16
  20. package/dist/cli/adapters/vscode.js.map +1 -1
  21. package/dist/cli/dashboard.js +1 -1
  22. package/dist/cli/dashboard.js.map +1 -1
  23. package/dist/cli/doctor.d.ts +12 -1
  24. package/dist/cli/doctor.d.ts.map +1 -1
  25. package/dist/cli/doctor.js +90 -100
  26. package/dist/cli/doctor.js.map +1 -1
  27. package/dist/cli/doctor.test.d.ts +2 -0
  28. package/dist/cli/doctor.test.d.ts.map +1 -0
  29. package/dist/cli/doctor.test.js +213 -0
  30. package/dist/cli/doctor.test.js.map +1 -0
  31. package/dist/cli/eject.js +2 -2
  32. package/dist/cli/eject.js.map +1 -1
  33. package/dist/cli/init.d.ts.map +1 -1
  34. package/dist/cli/init.js +13 -4
  35. package/dist/cli/init.js.map +1 -1
  36. package/dist/cli/init.test.js +27 -15
  37. package/dist/cli/init.test.js.map +1 -1
  38. package/dist/cli/lesson.js +5 -5
  39. package/dist/cli/lesson.js.map +1 -1
  40. package/dist/cli/log.d.ts +1 -1
  41. package/dist/cli/log.d.ts.map +1 -1
  42. package/dist/cli/log.js +5 -5
  43. package/dist/cli/log.js.map +1 -1
  44. package/dist/cli/manifest.d.ts +4 -1
  45. package/dist/cli/manifest.d.ts.map +1 -1
  46. package/dist/cli/manifest.js +16 -5
  47. package/dist/cli/manifest.js.map +1 -1
  48. package/dist/cli/stack-config.d.ts.map +1 -1
  49. package/dist/cli/stack-config.js +2 -14
  50. package/dist/cli/stack-config.js.map +1 -1
  51. package/dist/cli/types.d.ts +14 -0
  52. package/dist/cli/types.d.ts.map +1 -1
  53. package/dist/cli/types.js.map +1 -1
  54. package/dist/cli/update.d.ts.map +1 -1
  55. package/dist/cli/update.js +87 -34
  56. package/dist/cli/update.js.map +1 -1
  57. package/package.json +1 -1
  58. package/src/cli/adapters/claude-code.ts +2 -2
  59. package/src/cli/adapters/cursor.ts +14 -13
  60. package/src/cli/adapters/opencode.ts +2 -2
  61. package/src/cli/adapters/single-file-base.ts +19 -14
  62. package/src/cli/adapters/vscode.ts +16 -17
  63. package/src/cli/dashboard.ts +1 -1
  64. package/src/cli/doctor.test.ts +245 -0
  65. package/src/cli/doctor.ts +101 -104
  66. package/src/cli/eject.ts +2 -2
  67. package/src/cli/init.test.ts +28 -15
  68. package/src/cli/init.ts +14 -4
  69. package/src/cli/lesson.ts +5 -5
  70. package/src/cli/log.ts +5 -5
  71. package/src/cli/manifest.ts +18 -5
  72. package/src/cli/stack-config.ts +2 -14
  73. package/src/cli/types.ts +15 -0
  74. package/src/cli/update.ts +95 -36
  75. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  76. package/src/dashboard/scripts/generate-seed-data.ts +4 -4
  77. package/src/dashboard/seed-data/delegations.ndjson +15 -15
  78. package/src/dashboard/seed-data/events.ndjson +15 -15
  79. package/src/orchestrator/agent-workflows/README.md +1 -1
  80. package/src/orchestrator/agent-workflows/bug-fix.md +4 -4
  81. package/src/orchestrator/agent-workflows/data-pipeline.md +1 -1
  82. package/src/orchestrator/agent-workflows/database-migration.md +4 -4
  83. package/src/orchestrator/agent-workflows/feature-implementation.md +3 -3
  84. package/src/orchestrator/agent-workflows/performance-optimization.md +1 -1
  85. package/src/orchestrator/agent-workflows/refactoring.md +1 -1
  86. package/src/orchestrator/agent-workflows/schema-changes.md +2 -2
  87. package/src/orchestrator/agent-workflows/security-audit.md +4 -4
  88. package/src/orchestrator/agent-workflows/shared-delivery-phase.md +1 -1
  89. package/src/orchestrator/agents/api-designer.agent.md +2 -2
  90. package/src/orchestrator/agents/architect.agent.md +2 -2
  91. package/src/orchestrator/agents/content-engineer.agent.md +2 -2
  92. package/src/orchestrator/agents/copywriter.agent.md +2 -2
  93. package/src/orchestrator/agents/data-expert.agent.md +2 -2
  94. package/src/orchestrator/agents/database-engineer.agent.md +2 -2
  95. package/src/orchestrator/agents/developer.agent.md +2 -2
  96. package/src/orchestrator/agents/devops-expert.agent.md +2 -2
  97. package/src/orchestrator/agents/documentation-writer.agent.md +2 -2
  98. package/src/orchestrator/agents/performance-expert.agent.md +2 -2
  99. package/src/orchestrator/agents/release-manager.agent.md +2 -2
  100. package/src/orchestrator/agents/researcher.agent.md +4 -4
  101. package/src/orchestrator/agents/reviewer.agent.md +1 -1
  102. package/src/orchestrator/agents/security-expert.agent.md +2 -2
  103. package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
  104. package/src/orchestrator/agents/session-guard.agent.md +10 -10
  105. package/src/orchestrator/agents/team-lead.agent.md +8 -3
  106. package/src/orchestrator/agents/testing-expert.agent.md +2 -2
  107. package/src/orchestrator/agents/ui-ux-expert.agent.md +2 -2
  108. package/src/orchestrator/copilot-instructions.md +1 -1
  109. package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +11 -11
  110. package/src/orchestrator/customizations/DISPUTES.md +2 -2
  111. package/src/orchestrator/customizations/README.md +1 -1
  112. package/src/orchestrator/customizations/logs/README.md +1 -1
  113. package/src/orchestrator/customizations/project/docs-structure.md +6 -6
  114. package/src/orchestrator/instructions/ai-optimization.instructions.md +1 -1
  115. package/src/orchestrator/instructions/general.instructions.md +6 -6
  116. package/src/orchestrator/plugins/astro/SKILL.md +1 -1
  117. package/src/orchestrator/plugins/chrome-devtools/SKILL.md +4 -4
  118. package/src/orchestrator/plugins/contentful/SKILL.md +2 -2
  119. package/src/orchestrator/plugins/convex/SKILL.md +2 -2
  120. package/src/orchestrator/plugins/cypress/SKILL.md +2 -2
  121. package/src/orchestrator/plugins/figma/SKILL.md +1 -1
  122. package/src/orchestrator/plugins/jira/SKILL.md +3 -3
  123. package/src/orchestrator/plugins/linear/SKILL.md +2 -2
  124. package/src/orchestrator/plugins/netlify/SKILL.md +2 -2
  125. package/src/orchestrator/plugins/nextjs/SKILL.md +1 -1
  126. package/src/orchestrator/plugins/nx/SKILL.md +1 -1
  127. package/src/orchestrator/plugins/playwright/SKILL.md +2 -2
  128. package/src/orchestrator/plugins/prisma/SKILL.md +2 -2
  129. package/src/orchestrator/plugins/resend/SKILL.md +1 -1
  130. package/src/orchestrator/plugins/sanity/SKILL.md +2 -2
  131. package/src/orchestrator/plugins/slack/SKILL.md +2 -2
  132. package/src/orchestrator/plugins/strapi/SKILL.md +2 -2
  133. package/src/orchestrator/plugins/supabase/SKILL.md +2 -2
  134. package/src/orchestrator/plugins/teams/SKILL.md +1 -1
  135. package/src/orchestrator/plugins/turborepo/SKILL.md +1 -1
  136. package/src/orchestrator/plugins/vercel/SKILL.md +2 -2
  137. package/src/orchestrator/plugins/vitest/SKILL.md +2 -2
  138. package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +8 -8
  139. package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
  140. package/src/orchestrator/prompts/bug-fix.prompt.md +4 -4
  141. package/src/orchestrator/prompts/create-skill.prompt.md +3 -3
  142. package/src/orchestrator/prompts/generate-convoy.prompt.md +1 -1
  143. package/src/orchestrator/prompts/implement-feature.prompt.md +11 -11
  144. package/src/orchestrator/prompts/quick-refinement.prompt.md +3 -3
  145. package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +1 -1
  146. package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
  147. package/src/orchestrator/skills/agent-hooks/SKILL.md +9 -9
  148. package/src/orchestrator/skills/agent-memory/SKILL.md +5 -5
  149. package/src/orchestrator/skills/api-patterns/SKILL.md +2 -2
  150. package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
  151. package/src/orchestrator/skills/context-map/SKILL.md +4 -4
  152. package/src/orchestrator/skills/data-engineering/SKILL.md +2 -2
  153. package/src/orchestrator/skills/decomposition/SKILL.md +1 -1
  154. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
  155. package/src/orchestrator/skills/documentation-standards/SKILL.md +2 -2
  156. package/src/orchestrator/skills/fast-review/SKILL.md +2 -2
  157. package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
  158. package/src/orchestrator/skills/git-workflow/SKILL.md +2 -2
  159. package/src/orchestrator/skills/memory-merger/SKILL.md +3 -3
  160. package/src/orchestrator/skills/observability-logging/SKILL.md +10 -10
  161. package/src/orchestrator/skills/orchestration-protocols/SKILL.md +1 -1
  162. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +2 -2
  163. package/src/orchestrator/skills/panel-majority-vote/panel-report.template.md +1 -1
  164. package/src/orchestrator/skills/performance-optimization/SKILL.md +1 -1
  165. package/src/orchestrator/skills/react-development/SKILL.md +1 -1
  166. package/src/orchestrator/skills/security-hardening/SKILL.md +1 -1
  167. package/src/orchestrator/skills/self-improvement/SKILL.md +2 -2
  168. package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
  169. package/src/orchestrator/skills/session-checkpoints/SKILL.md +5 -5
  170. package/src/orchestrator/skills/team-lead-reference/SKILL.md +6 -6
  171. package/src/orchestrator/skills/testing-workflow/SKILL.md +3 -3
  172. package/src/orchestrator/skills/validation-gates/SKILL.md +1 -1
@@ -2,34 +2,34 @@
2
2
  {"timestamp":"2026-02-20T11:38:52.677Z","session_id":"feat/tas-31","agent":"Architect","model":"gpt-5.3-codex","tier":"economy","mechanism":"sub-agent","tracker_issue":"TAS-31","outcome":"success","retries":0,"phase":2,"file_partition":["libs/data-pipeline/"]}
3
3
  {"timestamp":"2026-02-20T15:37:40.293Z","session_id":"feat/tas-59","agent":"Documentation Writer","model":"gemini-3.1-pro","tier":"standard","mechanism":"background","tracker_issue":"TAS-59","outcome":"success","retries":0,"phase":2,"file_partition":["libs/data-pipeline/"]}
4
4
  {"timestamp":"2026-02-20T19:36:10.946Z","session_id":"feat/tas-49","agent":"Data Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-49","outcome":"partial","retries":0,"phase":3,"file_partition":["libs/queries/","libs/server-utils/"]}
5
- {"timestamp":"2026-02-20T23:09:18.799Z","session_id":"feat/tas-49","agent":"Supabase DB Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-49","outcome":"failed","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
6
- {"timestamp":"2026-02-21T02:23:04.138Z","session_id":"feat/tas-32","agent":"Security Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
5
+ {"timestamp":"2026-02-20T23:09:18.799Z","session_id":"feat/tas-49","agent":"Supabase DB Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-49","outcome":"failed","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/web-app/"]}
6
+ {"timestamp":"2026-02-21T02:23:04.138Z","session_id":"feat/tas-32","agent":"Security Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
7
7
  {"timestamp":"2026-02-21T05:52:23.451Z","session_id":"feat/tas-39","agent":"Next.js Developer","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-39","outcome":"success","retries":0,"phase":4,"file_partition":["apps/cms-studio/"]}
8
8
  {"timestamp":"2026-02-21T10:29:16.394Z","session_id":"feat/tas-41","agent":"Testing Expert","model":"claude-opus-4-6","tier":"utility","mechanism":"background","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":2,"file_partition":["libs/data-pipeline/","libs/queries/"]}
9
9
  {"timestamp":"2026-02-21T14:00:03.752Z","session_id":"feat/tas-50","agent":"Next.js Developer","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-50","outcome":"success","retries":0,"phase":1,"file_partition":["libs/supabase-auth/"]}
10
- {"timestamp":"2026-02-21T17:10:13.592Z","session_id":"feat/tas-41","agent":"UI/UX Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":1,"file_partition":["apps/tastecoffee.eu/app/"]}
11
- {"timestamp":"2026-02-21T21:26:17.711Z","session_id":"feat/tas-58","agent":"Sanity Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-58","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
12
- {"timestamp":"2026-02-22T00:51:23.821Z","session_id":"feat/tas-33","agent":"DevOps Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-33","outcome":"failed","retries":2,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
10
+ {"timestamp":"2026-02-21T17:10:13.592Z","session_id":"feat/tas-41","agent":"UI/UX Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":1,"file_partition":["apps/admin-panel/"]}
11
+ {"timestamp":"2026-02-21T21:26:17.711Z","session_id":"feat/tas-58","agent":"Sanity Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-58","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/web-app/"]}
12
+ {"timestamp":"2026-02-22T00:51:23.821Z","session_id":"feat/tas-33","agent":"DevOps Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-33","outcome":"failed","retries":2,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
13
13
  {"timestamp":"2026-02-22T04:53:39.261Z","session_id":"feat/tas-35","agent":"Documentation Writer","model":"gpt-5.3-codex","tier":"utility","mechanism":"background","tracker_issue":"TAS-35","outcome":"success","retries":1,"phase":1,"file_partition":["libs/server-utils/"]}
14
14
  {"timestamp":"2026-02-22T08:20:53.525Z","session_id":"feat/tas-59","agent":"DevOps Expert","model":"claude-opus-4-6","tier":"standard","mechanism":"sub-agent","tracker_issue":"TAS-59","outcome":"success","retries":0,"phase":4,"file_partition":["libs/queries/"]}
15
15
  {"timestamp":"2026-02-22T11:43:14.243Z","session_id":"feat/tas-36","agent":"Next.js Developer","model":"gpt-5.3-codex","tier":"economy","mechanism":"sub-agent","tracker_issue":"TAS-36","outcome":"success","retries":0,"phase":1,"file_partition":["libs/server-utils/"]}
16
16
  {"timestamp":"2026-02-22T15:29:36.510Z","session_id":"feat/tas-54","agent":"Supabase DB Expert","model":"gpt-5.3-codex","tier":"standard","mechanism":"background","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":4,"file_partition":["apps/cms-studio/"]}
17
17
  {"timestamp":"2026-02-22T19:18:04.518Z","session_id":"feat/tas-41","agent":"DevOps Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"background","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":3,"file_partition":["libs/server-utils/"]}
18
18
  {"timestamp":"2026-02-22T23:18:07.164Z","session_id":"feat/tas-44","agent":"Next.js Developer","model":"claude-opus-4-6","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-44","outcome":"success","retries":1,"phase":2,"file_partition":["libs/server-utils/"]}
19
- {"timestamp":"2026-02-23T02:34:46.644Z","session_id":"feat/tas-30","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-30","outcome":"failed","retries":2,"phase":4,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
20
- {"timestamp":"2026-02-23T06:21:11.926Z","session_id":"feat/tas-45","agent":"Performance Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
19
+ {"timestamp":"2026-02-23T02:34:46.644Z","session_id":"feat/tas-30","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-30","outcome":"failed","retries":2,"phase":4,"file_partition":["apps/web-app/","apps/admin-panel/"]}
20
+ {"timestamp":"2026-02-23T06:21:11.926Z","session_id":"feat/tas-45","agent":"Performance Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
21
21
  {"timestamp":"2026-02-23T09:50:56.855Z","session_id":"feat/tas-50","agent":"Data Expert","model":"gemini-3.1-pro","tier":"standard","mechanism":"background","tracker_issue":"TAS-50","outcome":"success","retries":1,"phase":2,"file_partition":["libs/supabase-auth/"]}
22
- {"timestamp":"2026-02-23T14:28:33.926Z","session_id":"feat/tas-55","agent":"UI/UX Expert","model":"gpt-5-mini","tier":"economy","mechanism":"background","tracker_issue":"TAS-55","outcome":"success","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
23
- {"timestamp":"2026-02-23T17:21:16.023Z","session_id":"feat/tas-34","agent":"Data Expert","model":"claude-opus-4-6","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-34","outcome":"partial","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
24
- {"timestamp":"2026-02-23T21:23:59.785Z","session_id":"feat/tas-54","agent":"Supabase DB Expert","model":"claude-opus-4-6","tier":"standard","mechanism":"background","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/"]}
25
- {"timestamp":"2026-02-24T01:37:32.832Z","session_id":"feat/tas-45","agent":"UI/UX Expert","model":"gemini-3.1-pro","tier":"economy","mechanism":"background","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
22
+ {"timestamp":"2026-02-23T14:28:33.926Z","session_id":"feat/tas-55","agent":"UI/UX Expert","model":"gpt-5-mini","tier":"economy","mechanism":"background","tracker_issue":"TAS-55","outcome":"success","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/web-app/"]}
23
+ {"timestamp":"2026-02-23T17:21:16.023Z","session_id":"feat/tas-34","agent":"Data Expert","model":"claude-opus-4-6","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-34","outcome":"partial","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
24
+ {"timestamp":"2026-02-23T21:23:59.785Z","session_id":"feat/tas-54","agent":"Supabase DB Expert","model":"claude-opus-4-6","tier":"standard","mechanism":"background","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/"]}
25
+ {"timestamp":"2026-02-24T01:37:32.832Z","session_id":"feat/tas-45","agent":"UI/UX Expert","model":"gemini-3.1-pro","tier":"economy","mechanism":"background","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/web-app/"]}
26
26
  {"timestamp":"2026-02-24T04:36:24.219Z","session_id":"feat/tas-32","agent":"Data Expert","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":1,"phase":4,"file_partition":["libs/data-pipeline/","libs/queries/"]}
27
27
  {"timestamp":"2026-02-24T08:15:17.039Z","session_id":"feat/tas-49","agent":"Data Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-49","outcome":"success","retries":1,"phase":3,"file_partition":["libs/data-pipeline/"]}
28
- {"timestamp":"2026-02-24T12:28:28.251Z","session_id":"feat/tas-31","agent":"DevOps Expert","model":"claude-opus-4-6","tier":"premium","mechanism":"background","tracker_issue":"TAS-31","outcome":"partial","retries":0,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
28
+ {"timestamp":"2026-02-24T12:28:28.251Z","session_id":"feat/tas-31","agent":"DevOps Expert","model":"claude-opus-4-6","tier":"premium","mechanism":"background","tracker_issue":"TAS-31","outcome":"partial","retries":0,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
29
29
  {"timestamp":"2026-02-24T16:03:58.674Z","session_id":"feat/tas-51","agent":"Data Expert","model":"gpt-5-mini","tier":"standard","mechanism":"sub-agent","tracker_issue":"TAS-51","outcome":"success","retries":0,"phase":2,"file_partition":["libs/queries/"]}
30
- {"timestamp":"2026-02-24T19:36:47.295Z","session_id":"feat/tas-45","agent":"Security Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastecoffee.eu/app/"]}
31
- {"timestamp":"2026-02-24T23:22:20.331Z","session_id":"feat/tas-54","agent":"Documentation Writer","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
30
+ {"timestamp":"2026-02-24T19:36:47.295Z","session_id":"feat/tas-45","agent":"Security Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":0,"phase":1,"file_partition":["apps/admin-panel/"]}
31
+ {"timestamp":"2026-02-24T23:22:20.331Z","session_id":"feat/tas-54","agent":"Documentation Writer","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
32
32
  {"timestamp":"2026-02-25T03:04:08.793Z","session_id":"feat/tas-42","agent":"Next.js Developer","model":"gpt-5-mini","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-42","outcome":"success","retries":1,"phase":4,"file_partition":["apps/cms-studio/"]}
33
33
  {"timestamp":"2026-02-25T06:35:46.724Z","session_id":"feat/tas-38","agent":"DevOps Expert","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-38","outcome":"success","retries":1,"phase":4,"file_partition":["libs/server-utils/"]}
34
34
  {"timestamp":"2026-02-25T10:39:46.727Z","session_id":"feat/tas-38","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"standard","mechanism":"sub-agent","tracker_issue":"TAS-38","outcome":"success","retries":0,"phase":3,"file_partition":["libs/ui-kit/"]}
35
- {"timestamp":"2026-02-25T14:30:07.967Z","session_id":"feat/tas-46","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-46","outcome":"success","retries":1,"phase":4,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
35
+ {"timestamp":"2026-02-25T14:30:07.967Z","session_id":"feat/tas-46","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-46","outcome":"success","retries":1,"phase":4,"file_partition":["apps/web-app/","apps/admin-panel/"]}
@@ -10,10 +10,10 @@
10
10
  {"type":"panel","timestamp":"2026-02-20T19:09:32.117Z","panel_key":"security-audit","verdict":"pass","pass_count":2,"block_count":1,"must_fix":0,"should_fix":5,"reviewer_model":"claude-opus-4-6","weighted":false,"attempt":1,"tracker_issue":"TAS-48","artifacts_count":9,"report_path":"docs/ai-agents/panel/security-audit.md"}
11
11
  {"type":"delegation","timestamp":"2026-02-20T19:36:10.946Z","session_id":"feat/tas-49","agent":"Data Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-49","outcome":"partial","retries":0,"phase":3,"file_partition":["libs/queries/","libs/server-utils/"]}
12
12
  {"type":"session","timestamp":"2026-02-20T20:50:56.727Z","agent":"UI/UX Expert","model":"claude-opus-4-6","task":"TAS-49: Fix redirect loop","tracker_issue":"TAS-49","outcome":"success","duration_min":29,"files_changed":13,"retries":1,"lessons_added":["LES-002"],"discoveries":[]}
13
- {"type":"delegation","timestamp":"2026-02-20T23:09:18.799Z","session_id":"feat/tas-49","agent":"Supabase DB Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-49","outcome":"failed","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
13
+ {"type":"delegation","timestamp":"2026-02-20T23:09:18.799Z","session_id":"feat/tas-49","agent":"Supabase DB Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-49","outcome":"failed","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/web-app/"]}
14
14
  {"type":"session","timestamp":"2026-02-21T00:05:00.537Z","agent":"Testing Expert","model":"gpt-5-mini","task":"TAS-58: Fix mobile layout","tracker_issue":"TAS-58","outcome":"partial","duration_min":36,"files_changed":5,"retries":1,"lessons_added":[],"discoveries":[]}
15
15
  {"type":"session","timestamp":"2026-02-21T01:56:41.910Z","agent":"Supabase DB Expert","model":"gpt-5.3-codex","task":"TAS-42: Optimize bundle size","tracker_issue":"TAS-42","outcome":"partial","duration_min":25,"files_changed":15,"retries":2,"lessons_added":[],"discoveries":[]}
16
- {"type":"delegation","timestamp":"2026-02-21T02:23:04.138Z","session_id":"feat/tas-32","agent":"Security Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
16
+ {"type":"delegation","timestamp":"2026-02-21T02:23:04.138Z","session_id":"feat/tas-32","agent":"Security Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
17
17
  {"type":"session","timestamp":"2026-02-21T05:11:42.700Z","agent":"Security Expert","model":"gpt-5.3-codex","task":"TAS-51: Add image optimization","tracker_issue":"TAS-51","outcome":"success","duration_min":11,"files_changed":5,"retries":1,"lessons_added":["LES-002"],"discoveries":["Refactor auth flow"]}
18
18
  {"type":"delegation","timestamp":"2026-02-21T05:52:23.451Z","session_id":"feat/tas-39","agent":"Next.js Developer","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-39","outcome":"success","retries":0,"phase":4,"file_partition":["apps/cms-studio/"]}
19
19
  {"type":"panel","timestamp":"2026-02-21T06:02:55.882Z","panel_key":"perf-review","verdict":"pass","pass_count":3,"block_count":0,"must_fix":0,"should_fix":8,"reviewer_model":"gpt-5-mini","weighted":false,"attempt":1,"tracker_issue":"TAS-37","artifacts_count":16,"report_path":"docs/ai-agents/panel/perf-review.md"}
@@ -24,12 +24,12 @@
24
24
  {"type":"delegation","timestamp":"2026-02-21T14:00:03.752Z","session_id":"feat/tas-50","agent":"Next.js Developer","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-50","outcome":"success","retries":0,"phase":1,"file_partition":["libs/supabase-auth/"]}
25
25
  {"type":"session","timestamp":"2026-02-21T14:54:49.349Z","agent":"Data Expert","model":"gpt-5-mini","task":"TAS-47: Fix slug generation","tracker_issue":"TAS-47","outcome":"partial","duration_min":25,"files_changed":3,"retries":2,"lessons_added":[],"discoveries":[]}
26
26
  {"type":"panel","timestamp":"2026-02-21T16:32:56.551Z","panel_key":"a11y-audit","verdict":"block","pass_count":0,"block_count":3,"must_fix":4,"should_fix":3,"reviewer_model":"claude-opus-4-6","weighted":false,"attempt":2,"tracker_issue":"TAS-39","artifacts_count":16,"report_path":"docs/ai-agents/panel/a11y-audit.md"}
27
- {"type":"delegation","timestamp":"2026-02-21T17:10:13.592Z","session_id":"feat/tas-41","agent":"UI/UX Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":1,"file_partition":["apps/tastecoffee.eu/app/"]}
27
+ {"type":"delegation","timestamp":"2026-02-21T17:10:13.592Z","session_id":"feat/tas-41","agent":"UI/UX Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-41","outcome":"success","retries":1,"phase":1,"file_partition":["apps/admin-panel/"]}
28
28
  {"type":"session","timestamp":"2026-02-21T18:06:15.985Z","agent":"Sanity Expert","model":"gemini-3.1-pro","task":"TAS-44: Update moderation UI","tracker_issue":"TAS-44","outcome":"success","duration_min":18,"files_changed":4,"retries":1,"lessons_added":["LES-010"],"discoveries":["Fix pagination"]}
29
29
  {"type":"session","timestamp":"2026-02-21T20:51:57.384Z","agent":"Performance Expert","model":"claude-opus-4-6","task":"TAS-47: Add geolocation","tracker_issue":"TAS-47","outcome":"partial","duration_min":22,"files_changed":3,"retries":1,"lessons_added":["LES-006"],"discoveries":[]}
30
- {"type":"delegation","timestamp":"2026-02-21T21:26:17.711Z","session_id":"feat/tas-58","agent":"Sanity Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-58","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
30
+ {"type":"delegation","timestamp":"2026-02-21T21:26:17.711Z","session_id":"feat/tas-58","agent":"Sanity Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-58","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/web-app/"]}
31
31
  {"type":"session","timestamp":"2026-02-21T22:37:25.143Z","agent":"Sanity Expert","model":"gpt-5.3-codex","task":"TAS-38: Fix header navigation","tracker_issue":"TAS-38","outcome":"success","duration_min":38,"files_changed":3,"retries":0,"lessons_added":[],"discoveries":["Add cache headers"]}
32
- {"type":"delegation","timestamp":"2026-02-22T00:51:23.821Z","session_id":"feat/tas-33","agent":"DevOps Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-33","outcome":"failed","retries":2,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
32
+ {"type":"delegation","timestamp":"2026-02-22T00:51:23.821Z","session_id":"feat/tas-33","agent":"DevOps Expert","model":"gpt-5-mini","tier":"utility","mechanism":"background","tracker_issue":"TAS-33","outcome":"failed","retries":2,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
33
33
  {"type":"session","timestamp":"2026-02-22T02:04:09.220Z","agent":"Data Expert","model":"gpt-5-mini","task":"TAS-40: Update CMS schema","tracker_issue":"TAS-40","outcome":"failed","duration_min":29,"files_changed":1,"retries":3,"lessons_added":["LES-003"],"discoveries":["Add social links"]}
34
34
  {"type":"panel","timestamp":"2026-02-22T03:35:46.612Z","panel_key":"schema-review","verdict":"block","pass_count":0,"block_count":3,"must_fix":5,"should_fix":2,"reviewer_model":"gpt-5-mini","weighted":false,"attempt":2,"tracker_issue":"TAS-54","artifacts_count":20,"report_path":"docs/ai-agents/panel/schema-review.md"}
35
35
  {"type":"session","timestamp":"2026-02-22T04:18:52.718Z","agent":"Supabase DB Expert","model":"gemini-3.1-pro","task":"TAS-38: Update scraper logic","tracker_issue":"TAS-38","outcome":"success","duration_min":32,"files_changed":1,"retries":0,"lessons_added":[],"discoveries":[]}
@@ -49,24 +49,24 @@
49
49
  {"type":"delegation","timestamp":"2026-02-22T23:18:07.164Z","session_id":"feat/tas-44","agent":"Next.js Developer","model":"claude-opus-4-6","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-44","outcome":"success","retries":1,"phase":2,"file_partition":["libs/server-utils/"]}
50
50
  {"type":"panel","timestamp":"2026-02-23T01:09:17.203Z","panel_key":"ui-review","verdict":"block","pass_count":1,"block_count":2,"must_fix":5,"should_fix":6,"reviewer_model":"claude-opus-4-6","weighted":true,"attempt":2,"tracker_issue":"TAS-55","artifacts_count":15,"report_path":"docs/ai-agents/panel/ui-review.md"}
51
51
  {"type":"session","timestamp":"2026-02-23T01:26:57.546Z","agent":"Sanity Expert","model":"gpt-5-mini","task":"TAS-52: Add social links","tracker_issue":"TAS-52","outcome":"partial","duration_min":13,"files_changed":3,"retries":0,"lessons_added":[],"discoveries":[]}
52
- {"type":"delegation","timestamp":"2026-02-23T02:34:46.644Z","session_id":"feat/tas-30","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-30","outcome":"failed","retries":2,"phase":4,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
52
+ {"type":"delegation","timestamp":"2026-02-23T02:34:46.644Z","session_id":"feat/tas-30","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-30","outcome":"failed","retries":2,"phase":4,"file_partition":["apps/web-app/","apps/admin-panel/"]}
53
53
  {"type":"session","timestamp":"2026-02-23T03:16:41.486Z","agent":"Architect","model":"gpt-5.3-codex","task":"TAS-31: Add sort options","tracker_issue":"TAS-31","outcome":"success","duration_min":31,"files_changed":8,"retries":1,"lessons_added":[],"discoveries":[]}
54
- {"type":"delegation","timestamp":"2026-02-23T06:21:11.926Z","session_id":"feat/tas-45","agent":"Performance Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
54
+ {"type":"delegation","timestamp":"2026-02-23T06:21:11.926Z","session_id":"feat/tas-45","agent":"Performance Expert","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
55
55
  {"type":"session","timestamp":"2026-02-23T06:22:53.878Z","agent":"Sanity Expert","model":"gemini-3.1-pro","task":"TAS-47: Add price filter","tracker_issue":"TAS-47","outcome":"success","duration_min":19,"files_changed":4,"retries":1,"lessons_added":[],"discoveries":["Fix pagination"]}
56
56
  {"type":"session","timestamp":"2026-02-23T09:04:20.943Z","agent":"UI/UX Expert","model":"gpt-5-mini","task":"TAS-34: Add geolocation","tracker_issue":"TAS-34","outcome":"success","duration_min":35,"files_changed":1,"retries":0,"lessons_added":[],"discoveries":[]}
57
57
  {"type":"delegation","timestamp":"2026-02-23T09:50:56.855Z","session_id":"feat/tas-50","agent":"Data Expert","model":"gemini-3.1-pro","tier":"standard","mechanism":"background","tracker_issue":"TAS-50","outcome":"success","retries":1,"phase":2,"file_partition":["libs/supabase-auth/"]}
58
58
  {"type":"session","timestamp":"2026-02-23T11:28:05.523Z","agent":"Data Expert","model":"claude-opus-4-6","task":"TAS-36: Update CMS schema","tracker_issue":"TAS-36","outcome":"success","duration_min":15,"files_changed":9,"retries":1,"lessons_added":[],"discoveries":[]}
59
59
  {"type":"panel","timestamp":"2026-02-23T11:41:37.464Z","panel_key":"test-coverage","verdict":"pass","pass_count":3,"block_count":0,"must_fix":0,"should_fix":3,"reviewer_model":"gpt-5-mini","weighted":false,"attempt":1,"tracker_issue":"TAS-31","artifacts_count":18,"report_path":"docs/ai-agents/panel/test-coverage.md"}
60
60
  {"type":"session","timestamp":"2026-02-23T14:15:53.224Z","agent":"Data Expert","model":"gpt-5.3-codex","task":"TAS-31: Fix redirect loop","tracker_issue":"TAS-31","outcome":"success","duration_min":43,"files_changed":8,"retries":1,"lessons_added":[],"discoveries":[]}
61
- {"type":"delegation","timestamp":"2026-02-23T14:28:33.926Z","session_id":"feat/tas-55","agent":"UI/UX Expert","model":"gpt-5-mini","tier":"economy","mechanism":"background","tracker_issue":"TAS-55","outcome":"success","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
61
+ {"type":"delegation","timestamp":"2026-02-23T14:28:33.926Z","session_id":"feat/tas-55","agent":"UI/UX Expert","model":"gpt-5-mini","tier":"economy","mechanism":"background","tracker_issue":"TAS-55","outcome":"success","retries":1,"phase":3,"file_partition":["libs/ui-kit/","apps/web-app/"]}
62
62
  {"type":"session","timestamp":"2026-02-23T16:28:00.114Z","agent":"UI/UX Expert","model":"gpt-5-mini","task":"TAS-35: Add cache headers","tracker_issue":"TAS-35","outcome":"success","duration_min":37,"files_changed":14,"retries":1,"lessons_added":[],"discoveries":[]}
63
- {"type":"delegation","timestamp":"2026-02-23T17:21:16.023Z","session_id":"feat/tas-34","agent":"Data Expert","model":"claude-opus-4-6","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-34","outcome":"partial","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
63
+ {"type":"delegation","timestamp":"2026-02-23T17:21:16.023Z","session_id":"feat/tas-34","agent":"Data Expert","model":"claude-opus-4-6","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-34","outcome":"partial","retries":1,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
64
64
  {"type":"session","timestamp":"2026-02-23T18:44:29.480Z","agent":"Architect","model":"gemini-3.1-pro","task":"TAS-56: Add cache headers","tracker_issue":"TAS-56","outcome":"failed","duration_min":39,"files_changed":12,"retries":2,"lessons_added":[],"discoveries":["Fix SSR hydration"]}
65
- {"type":"delegation","timestamp":"2026-02-23T21:23:59.785Z","session_id":"feat/tas-54","agent":"Supabase DB Expert","model":"claude-opus-4-6","tier":"standard","mechanism":"background","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/"]}
65
+ {"type":"delegation","timestamp":"2026-02-23T21:23:59.785Z","session_id":"feat/tas-54","agent":"Supabase DB Expert","model":"claude-opus-4-6","tier":"standard","mechanism":"background","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/"]}
66
66
  {"type":"session","timestamp":"2026-02-23T22:10:16.183Z","agent":"Performance Expert","model":"gpt-5.3-codex","task":"TAS-33: Add price filter","tracker_issue":"TAS-33","outcome":"success","duration_min":37,"files_changed":13,"retries":0,"lessons_added":[],"discoveries":[]}
67
67
  {"type":"panel","timestamp":"2026-02-23T22:16:10.866Z","panel_key":"csp-headers","verdict":"pass","pass_count":2,"block_count":1,"must_fix":0,"should_fix":3,"reviewer_model":"gemini-3.1-pro","weighted":false,"attempt":1,"tracker_issue":"TAS-40","artifacts_count":6,"report_path":"docs/ai-agents/panel/csp-headers.md"}
68
68
  {"type":"session","timestamp":"2026-02-24T00:09:22.013Z","agent":"Security Expert","model":"gpt-5.3-codex","task":"TAS-48: Update search API","tracker_issue":"TAS-48","outcome":"success","duration_min":15,"files_changed":8,"retries":1,"lessons_added":[],"discoveries":["Update CMS schema"]}
69
- {"type":"delegation","timestamp":"2026-02-24T01:37:32.832Z","session_id":"feat/tas-45","agent":"UI/UX Expert","model":"gemini-3.1-pro","tier":"economy","mechanism":"background","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
69
+ {"type":"delegation","timestamp":"2026-02-24T01:37:32.832Z","session_id":"feat/tas-45","agent":"UI/UX Expert","model":"gemini-3.1-pro","tier":"economy","mechanism":"background","tracker_issue":"TAS-45","outcome":"success","retries":1,"phase":1,"file_partition":["libs/ui-kit/","apps/web-app/"]}
70
70
  {"type":"session","timestamp":"2026-02-24T03:00:42.606Z","agent":"Testing Expert","model":"gpt-5-mini","task":"TAS-39: Fix cookie consent","tracker_issue":"TAS-39","outcome":"success","duration_min":42,"files_changed":10,"retries":0,"lessons_added":[],"discoveries":[]}
71
71
  {"type":"delegation","timestamp":"2026-02-24T04:36:24.219Z","session_id":"feat/tas-32","agent":"Data Expert","model":"gpt-5.3-codex","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-32","outcome":"success","retries":1,"phase":4,"file_partition":["libs/data-pipeline/","libs/queries/"]}
72
72
  {"type":"session","timestamp":"2026-02-24T05:18:53.042Z","agent":"Next.js Developer","model":"gemini-3.1-pro","task":"TAS-37: Update contact form","tracker_issue":"TAS-37","outcome":"failed","duration_min":20,"files_changed":11,"retries":2,"lessons_added":[],"discoveries":["Add geolocation"]}
@@ -74,15 +74,15 @@
74
74
  {"type":"delegation","timestamp":"2026-02-24T08:15:17.039Z","session_id":"feat/tas-49","agent":"Data Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-49","outcome":"success","retries":1,"phase":3,"file_partition":["libs/data-pipeline/"]}
75
75
  {"type":"panel","timestamp":"2026-02-24T09:55:09.030Z","panel_key":"migration-review","verdict":"pass","pass_count":3,"block_count":0,"must_fix":0,"should_fix":5,"reviewer_model":"gemini-3.1-pro","weighted":false,"attempt":1,"tracker_issue":"TAS-53","artifacts_count":6,"report_path":"docs/ai-agents/panel/migration-review.md"}
76
76
  {"type":"session","timestamp":"2026-02-24T10:24:49.892Z","agent":"Performance Expert","model":"claude-opus-4-6","task":"TAS-33: Fix cookie consent","tracker_issue":"TAS-33","outcome":"failed","duration_min":39,"files_changed":2,"retries":2,"lessons_added":[],"discoveries":[]}
77
- {"type":"delegation","timestamp":"2026-02-24T12:28:28.251Z","session_id":"feat/tas-31","agent":"DevOps Expert","model":"claude-opus-4-6","tier":"premium","mechanism":"background","tracker_issue":"TAS-31","outcome":"partial","retries":0,"phase":4,"file_partition":["libs/ui-kit/","apps/tastebeer.eu/app/"]}
77
+ {"type":"delegation","timestamp":"2026-02-24T12:28:28.251Z","session_id":"feat/tas-31","agent":"DevOps Expert","model":"claude-opus-4-6","tier":"premium","mechanism":"background","tracker_issue":"TAS-31","outcome":"partial","retries":0,"phase":4,"file_partition":["libs/ui-kit/","apps/web-app/"]}
78
78
  {"type":"session","timestamp":"2026-02-24T12:54:27.158Z","agent":"Data Expert","model":"claude-opus-4-6","task":"TAS-35: Add filter component","tracker_issue":"TAS-35","outcome":"success","duration_min":13,"files_changed":7,"retries":1,"lessons_added":[],"discoveries":[]}
79
79
  {"type":"session","timestamp":"2026-02-24T15:47:57.543Z","agent":"Performance Expert","model":"gpt-5.3-codex","task":"TAS-59: Fix CSP violations","tracker_issue":"TAS-59","outcome":"success","duration_min":25,"files_changed":7,"retries":1,"lessons_added":[],"discoveries":["Add venue suggestions"]}
80
80
  {"type":"delegation","timestamp":"2026-02-24T16:03:58.674Z","session_id":"feat/tas-51","agent":"Data Expert","model":"gpt-5-mini","tier":"standard","mechanism":"sub-agent","tracker_issue":"TAS-51","outcome":"success","retries":0,"phase":2,"file_partition":["libs/queries/"]}
81
81
  {"type":"session","timestamp":"2026-02-24T18:21:34.626Z","agent":"Testing Expert","model":"claude-opus-4-6","task":"TAS-47: Add image optimization","tracker_issue":"TAS-47","outcome":"success","duration_min":45,"files_changed":1,"retries":1,"lessons_added":["LES-005"],"discoveries":[]}
82
- {"type":"delegation","timestamp":"2026-02-24T19:36:47.295Z","session_id":"feat/tas-45","agent":"Security Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastecoffee.eu/app/"]}
82
+ {"type":"delegation","timestamp":"2026-02-24T19:36:47.295Z","session_id":"feat/tas-45","agent":"Security Expert","model":"gpt-5.3-codex","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-45","outcome":"success","retries":0,"phase":1,"file_partition":["apps/admin-panel/"]}
83
83
  {"type":"panel","timestamp":"2026-02-24T20:15:45.425Z","panel_key":"query-optimization","verdict":"block","pass_count":0,"block_count":3,"must_fix":5,"should_fix":5,"reviewer_model":"gpt-5-mini","weighted":false,"attempt":3,"tracker_issue":"TAS-42","artifacts_count":15,"report_path":"docs/ai-agents/panel/query-optimization.md"}
84
84
  {"type":"session","timestamp":"2026-02-24T20:46:38.816Z","agent":"DevOps Expert","model":"gemini-3.1-pro","task":"TAS-36: Add geolocation","tracker_issue":"TAS-36","outcome":"success","duration_min":22,"files_changed":9,"retries":0,"lessons_added":[],"discoveries":[]}
85
- {"type":"delegation","timestamp":"2026-02-24T23:22:20.331Z","session_id":"feat/tas-54","agent":"Documentation Writer","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
85
+ {"type":"delegation","timestamp":"2026-02-24T23:22:20.331Z","session_id":"feat/tas-54","agent":"Documentation Writer","model":"gpt-5-mini","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-54","outcome":"success","retries":0,"phase":1,"file_partition":["apps/web-app/","apps/admin-panel/"]}
86
86
  {"type":"session","timestamp":"2026-02-24T23:50:07.144Z","agent":"Next.js Developer","model":"claude-opus-4-6","task":"TAS-32: Add price filter","tracker_issue":"TAS-32","outcome":"success","duration_min":15,"files_changed":11,"retries":1,"lessons_added":[],"discoveries":[]}
87
87
  {"type":"session","timestamp":"2026-02-25T02:48:10.908Z","agent":"Sanity Expert","model":"claude-opus-4-6","task":"TAS-32: Add cache headers","tracker_issue":"TAS-32","outcome":"failed","duration_min":38,"files_changed":8,"retries":1,"lessons_added":["LES-008"],"discoveries":[]}
88
88
  {"type":"delegation","timestamp":"2026-02-25T03:04:08.793Z","session_id":"feat/tas-42","agent":"Next.js Developer","model":"gpt-5-mini","tier":"premium","mechanism":"sub-agent","tracker_issue":"TAS-42","outcome":"success","retries":1,"phase":4,"file_partition":["apps/cms-studio/"]}
@@ -94,7 +94,7 @@
94
94
  {"type":"session","timestamp":"2026-02-25T10:34:21.652Z","agent":"UI/UX Expert","model":"claude-opus-4-6","task":"TAS-33: Update search API","tracker_issue":"TAS-33","outcome":"failed","duration_min":41,"files_changed":11,"retries":1,"lessons_added":[],"discoveries":[]}
95
95
  {"type":"delegation","timestamp":"2026-02-25T10:39:46.727Z","session_id":"feat/tas-38","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"standard","mechanism":"sub-agent","tracker_issue":"TAS-38","outcome":"success","retries":0,"phase":3,"file_partition":["libs/ui-kit/"]}
96
96
  {"type":"session","timestamp":"2026-02-25T13:00:16.014Z","agent":"DevOps Expert","model":"gpt-5-mini","task":"TAS-44: Add geolocation","tracker_issue":"TAS-44","outcome":"failed","duration_min":12,"files_changed":12,"retries":3,"lessons_added":[],"discoveries":["Update venue detail"]}
97
- {"type":"delegation","timestamp":"2026-02-25T14:30:07.967Z","session_id":"feat/tas-46","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-46","outcome":"success","retries":1,"phase":4,"file_partition":["apps/tastebeer.eu/app/","apps/tastecoffee.eu/app/"]}
97
+ {"type":"delegation","timestamp":"2026-02-25T14:30:07.967Z","session_id":"feat/tas-46","agent":"Sanity Expert","model":"gemini-3.1-pro","tier":"utility","mechanism":"sub-agent","tracker_issue":"TAS-46","outcome":"success","retries":1,"phase":4,"file_partition":["apps/web-app/","apps/admin-panel/"]}
98
98
  {"type":"session","timestamp":"2026-02-25T15:48:46.235Z","agent":"UI/UX Expert","model":"claude-opus-4-6","task":"TAS-38: Optimize bundle size","tracker_issue":"TAS-38","outcome":"failed","duration_min":5,"files_changed":12,"retries":3,"lessons_added":[],"discoveries":[]}
99
99
  {"type":"review","timestamp":"2026-02-28T10:30:00Z","tracker_issue":"TAS-12","agent":"Developer","reviewer_model":"gpt-5-mini","verdict":"pass","attempt":1,"issues_critical":0,"issues_major":0,"issues_minor":1,"confidence":"high","escalated":false,"duration_sec":38}
100
100
  {"type":"review","timestamp":"2026-02-28T14:15:00Z","tracker_issue":"TAS-14","agent":"UI-UX Expert","reviewer_model":"gpt-5-mini","verdict":"pass","attempt":1,"issues_critical":0,"issues_major":1,"issues_minor":2,"confidence":"medium","escalated":false,"duration_sec":52}
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow Templates
4
4
 
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Bug Fix
4
4
 
@@ -29,9 +29,9 @@ Follow the **Delivery Outcome** in `general.instructions.md` and the **Branch Ow
29
29
 
30
30
  ### Steps
31
31
 
32
- 1. Check `.github/customizations/KNOWN-ISSUES.md` for existing entry
32
+ 1. Check `.opencastle/KNOWN-ISSUES.md` for existing entry
33
33
  2. Check tracker for existing bug ticket
34
- 3. Read `.github/customizations/LESSONS-LEARNED.md` for related pitfalls
34
+ 3. Read `.opencastle/LESSONS-LEARNED.md` for related pitfalls
35
35
  4. **Reproduce the bug** — this is mandatory before any fix attempt:
36
36
  a. Start the dev server (see the **codebase-tool** skill for the serve command)
37
37
  b. Navigate to the affected page in Chrome
@@ -110,7 +110,7 @@ Follow the **Delivery Outcome** in `general.instructions.md` and the **Branch Ow
110
110
  4. Test adjacent features for regressions
111
111
  5. If security-related: schedule panel review
112
112
  6. Move tracker issue to Done
113
- 7. Update `.github/customizations/KNOWN-ISSUES.md` if the bug was listed there
113
+ 7. Update `.opencastle/KNOWN-ISSUES.md` if the bug was listed there
114
114
  8. Commit and push
115
115
 
116
116
  ### Exit Criteria
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Data Pipeline
4
4
 
@@ -1,10 +1,10 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Database Migration
4
4
 
5
5
  Structured workflow for database schema changes, RLS policies, and data migrations.
6
6
 
7
- > **Project config:** For database-specific paths, schema details, and migration conventions, see the relevant database customization file in `customizations/stack/`.
7
+ > **Project config:** For database-specific paths, schema details, and migration conventions, see the relevant database customization file in `.opencastle/stack/`.
8
8
 
9
9
  ## Phases
10
10
 
@@ -34,8 +34,8 @@ Follow the **Delivery Outcome** in `general.instructions.md` and the **Branch Ow
34
34
 
35
35
  1. Read current schema in the migrations directory (see database customization) to understand existing tables
36
36
  2. Check existing RLS policies using the database query tool
37
- 3. Read `.github/customizations/project.instructions.md` for database architecture
38
- 4. Check `.github/customizations/KNOWN-ISSUES.md` for database-related limitations
37
+ 3. Read `.opencastle/project.instructions.md` for database architecture
38
+ 4. Check `.opencastle/KNOWN-ISSUES.md` for database-related limitations
39
39
  5. Document the migration plan: tables affected, columns added/removed, RLS changes
40
40
  6. Write rollback strategy (how to reverse the migration)
41
41
  7. Create tracker issue with migration details and rollback plan
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Feature Implementation
4
4
 
@@ -77,7 +77,7 @@ Run the `brainstorm` prompt when the task has ambiguity, multiple valid approach
77
77
 
78
78
  ### Steps
79
79
 
80
- 1. Read `.github/customizations/project.instructions.md`, `.github/customizations/KNOWN-ISSUES.md`, `.github/customizations/LESSONS-LEARNED.md`
80
+ 1. Read `.opencastle/project.instructions.md`, `.opencastle/KNOWN-ISSUES.md`, `.opencastle/LESSONS-LEARNED.md`
81
81
  2. Search codebase for existing implementations
82
82
  3. Identify affected apps, libs, and layers
83
83
  4. **Spec flow analysis** — Trace the complete user flow end-to-end and identify:
@@ -212,7 +212,7 @@ If there are no open questions, explicitly state: "No open questions — plan is
212
212
  - Final responsive sweep at all breakpoints (if UI changes)
213
213
  7. Move all issues to Done
214
214
  8. Update session checkpoint → delete checkpoint
215
- 9. Update `.github/customizations/project/roadmap.md`
215
+ 9. Update `.opencastle/project/roadmap.md`
216
216
 
217
217
  ### Exit Criteria
218
218
 
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Performance Optimization
4
4
 
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Code Refactoring
4
4
 
@@ -1,10 +1,10 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Schema / CMS Changes
4
4
 
5
5
  Structured workflow for CMS schema modifications, query updates, and content model changes.
6
6
 
7
- > **Project config:** For CMS-specific paths, schema locations, and query library details, see the relevant CMS customization file in `customizations/stack/`.
7
+ > **Project config:** For CMS-specific paths, schema locations, and query library details, see the relevant CMS customization file in `.opencastle/stack/`.
8
8
 
9
9
  ## Phases
10
10
 
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Workflow: Security Audit
4
4
 
@@ -31,8 +31,8 @@ Follow the **Delivery Outcome** in `general.instructions.md` and the **Branch Ow
31
31
  ### Steps
32
32
 
33
33
  1. Define audit scope (full audit vs. targeted area)
34
- 2. Read `.github/customizations/project.instructions.md` security sections
35
- 3. Read `.github/customizations/KNOWN-ISSUES.md` for existing security items
34
+ 2. Read `.opencastle/project.instructions.md` security sections
35
+ 3. Read `.opencastle/KNOWN-ISSUES.md` for existing security items
36
36
  4. Check current CSP configuration in `next.config.js`
37
37
  5. Review auth flow (see database/auth customization for library paths)
38
38
  6. Map all API routes and Server Actions
@@ -130,7 +130,7 @@ Follow the **Delivery Outcome** in `general.instructions.md` and the **Branch Ow
130
130
  2. Create separate tracker issues for Medium/Low findings if not fixing now
131
131
  3. Run verification after each fix
132
132
  4. Re-run panel review if initial panel BLOCKed
133
- 5. Update `.github/customizations/KNOWN-ISSUES.md` for any accepted risks
133
+ 5. Update `.opencastle/KNOWN-ISSUES.md` for any accepted risks
134
134
 
135
135
  ### Exit Criteria
136
136
 
@@ -1,4 +1,4 @@
1
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
1
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
2
2
 
3
3
  # Shared Delivery Phase
4
4
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # API Designer
12
12
 
@@ -21,7 +21,7 @@ You are an API designer specializing in route architecture, endpoint conventions
21
21
 
22
22
  ## Skills
23
23
 
24
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
24
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
25
25
 
26
26
  ## Guidelines
27
27
 
@@ -6,7 +6,7 @@ tools: ['search/codebase', 'edit/editFiles', 'web/fetch', 'read/problems', 'sear
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Software Architect
12
12
 
@@ -33,7 +33,7 @@ When reviewing plans or proposals, **challenge assumptions before implementing**
33
33
 
34
34
  ## Skills
35
35
 
36
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
36
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
37
37
 
38
38
  ## Architecture Decision Records (ADRs)
39
39
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Content Engineer
12
12
 
@@ -20,7 +20,7 @@ You are a content engineer specializing in CMS schema design, content queries, c
20
20
 
21
21
  ## Skills
22
22
 
23
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
23
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
24
24
 
25
25
  ## Guidelines
26
26
 
@@ -6,7 +6,7 @@ tools: ['search/codebase', 'edit/editFiles', 'web/fetch', 'search', 'read/proble
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Copywriter
12
12
 
@@ -21,7 +21,7 @@ You are a copywriter specializing in user-facing text for web applications — U
21
21
 
22
22
  ## Skills
23
23
 
24
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
24
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
25
25
 
26
26
  ## Text Categories
27
27
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Data Expert
12
12
 
@@ -14,7 +14,7 @@ You are an expert in building ETL pipelines, web scrapers, data processors, and
14
14
 
15
15
  ## Skills
16
16
 
17
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
17
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
18
18
 
19
19
  ## Critical Rules
20
20
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Database Engineer
12
12
 
@@ -21,7 +21,7 @@ You are a database engineer specializing in schema design, migrations, row-level
21
21
 
22
22
  ## Skills
23
23
 
24
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
24
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
25
25
 
26
26
  ## Guidelines
27
27
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'vsc
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Developer
12
12
 
@@ -14,7 +14,7 @@ You are a full-stack developer specializing in building pages, components, routi
14
14
 
15
15
  ## Skills
16
16
 
17
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
17
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
18
18
 
19
19
  ## Mandatory Verification
20
20
 
@@ -6,7 +6,7 @@ tools: ["search/changes", "search/codebase", "edit/editFiles", "web/fetch", "vsc
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # DevOps Expert
12
12
 
@@ -20,7 +20,7 @@ You are a DevOps expert specializing in deployments, CI/CD pipelines, cron jobs,
20
20
 
21
21
  ## Skills
22
22
 
23
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
23
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
24
24
 
25
25
  ## Guidelines
26
26
 
@@ -6,7 +6,7 @@ tools: ['search/codebase', 'edit/editFiles', 'web/fetch', 'search', 'read/proble
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Documentation Writer
12
12
 
@@ -14,7 +14,7 @@ You are a technical documentation specialist. You maintain project documentation
14
14
 
15
15
  ## Skills
16
16
 
17
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
17
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
18
18
 
19
19
  ## Critical Rules
20
20
 
@@ -6,7 +6,7 @@ tools: ['search/changes', 'search/codebase', 'edit/editFiles', 'web/fetch', 'rea
6
6
  user-invocable: false
7
7
  ---
8
8
 
9
- <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .github/customizations/ directory instead. -->
9
+ <!-- ⚠️ This file is managed by OpenCastle. Edits will be overwritten on update. Customize in the .opencastle/ directory instead. -->
10
10
 
11
11
  # Performance Expert
12
12
 
@@ -20,7 +20,7 @@ You are an expert in frontend and backend performance optimization.
20
20
 
21
21
  ## Skills
22
22
 
23
- Resolve all skills (slots and direct) via [skill-matrix.json](.github/customizations/agents/skill-matrix.json).
23
+ Resolve all skills (slots and direct) via [skill-matrix.json](.opencastle/agents/skill-matrix.json).
24
24
 
25
25
  ## Guidelines
26
26