opencastle 0.32.12 → 0.33.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 (115) hide show
  1. package/LICENSE +21 -93
  2. package/README.md +5 -3
  3. package/package.json +2 -2
  4. package/src/dashboard/dist/data/convoys/demo-api-v2.json +3 -3
  5. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +4 -4
  6. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +12 -12
  7. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +3 -3
  8. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +1 -1
  9. package/src/dashboard/dist/data/convoys/demo-docs-update.json +7 -7
  10. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +4 -4
  11. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  12. package/src/dashboard/public/data/convoys/demo-api-v2.json +3 -3
  13. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +4 -4
  14. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +12 -12
  15. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +3 -3
  16. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +1 -1
  17. package/src/dashboard/public/data/convoys/demo-docs-update.json +7 -7
  18. package/src/dashboard/public/data/convoys/demo-perf-opt.json +4 -4
  19. package/src/orchestrator/customizations/stack/sanity-config.md +43 -0
  20. package/src/orchestrator/customizations/stack/supabase-config.md +53 -0
  21. package/src/orchestrator/plugins/astro/REFERENCE.md +5 -0
  22. package/src/orchestrator/plugins/astro/SKILL.md +22 -29
  23. package/src/orchestrator/plugins/chrome-devtools/REFERENCE.md +9 -0
  24. package/src/orchestrator/plugins/chrome-devtools/SKILL.md +10 -55
  25. package/src/orchestrator/plugins/contentful/REFERENCE.md +16 -0
  26. package/src/orchestrator/plugins/contentful/SKILL.md +69 -29
  27. package/src/orchestrator/plugins/convex/REFERENCE.md +9 -0
  28. package/src/orchestrator/plugins/convex/SKILL.md +13 -1
  29. package/src/orchestrator/plugins/cypress/REFERENCE.md +5 -0
  30. package/src/orchestrator/plugins/cypress/SKILL.md +29 -93
  31. package/src/orchestrator/plugins/figma/REFERENCE.md +18 -0
  32. package/src/orchestrator/plugins/figma/SKILL.md +41 -66
  33. package/src/orchestrator/plugins/jira/REFERENCE.md +9 -0
  34. package/src/orchestrator/plugins/jira/SKILL.md +26 -114
  35. package/src/orchestrator/plugins/linear/SKILL.md +42 -109
  36. package/src/orchestrator/plugins/netlify/REFERENCE.md +33 -0
  37. package/src/orchestrator/plugins/netlify/SKILL.md +34 -64
  38. package/src/orchestrator/plugins/nextjs/REFERENCE.md +73 -0
  39. package/src/orchestrator/plugins/nextjs/SKILL.md +49 -138
  40. package/src/orchestrator/plugins/notion/SKILL.md +26 -168
  41. package/src/orchestrator/plugins/notion/TEMPLATES.md +88 -0
  42. package/src/orchestrator/plugins/nx/REFERENCE.md +10 -0
  43. package/src/orchestrator/plugins/nx/SKILL.md +12 -12
  44. package/src/orchestrator/plugins/playwright/REFERENCE.md +12 -0
  45. package/src/orchestrator/plugins/playwright/SKILL.md +33 -98
  46. package/src/orchestrator/plugins/prisma/REFERENCE.md +42 -0
  47. package/src/orchestrator/plugins/prisma/SKILL.md +18 -68
  48. package/src/orchestrator/plugins/resend/REFERENCE.md +61 -0
  49. package/src/orchestrator/plugins/resend/SKILL.md +23 -137
  50. package/src/orchestrator/plugins/sanity/SKILL.md +50 -3
  51. package/src/orchestrator/plugins/slack/REFERENCE.md +24 -0
  52. package/src/orchestrator/plugins/slack/SKILL.md +36 -111
  53. package/src/orchestrator/plugins/strapi/REFERENCE.md +35 -0
  54. package/src/orchestrator/plugins/strapi/SKILL.md +60 -24
  55. package/src/orchestrator/plugins/supabase/REFERENCE.md +9 -0
  56. package/src/orchestrator/plugins/supabase/SKILL.md +44 -16
  57. package/src/orchestrator/plugins/teams/REFERENCE.md +36 -0
  58. package/src/orchestrator/plugins/teams/SKILL.md +35 -85
  59. package/src/orchestrator/plugins/trello/REFERENCE.md +9 -0
  60. package/src/orchestrator/plugins/trello/SKILL.md +25 -97
  61. package/src/orchestrator/plugins/turborepo/REFERENCE.md +9 -0
  62. package/src/orchestrator/plugins/turborepo/SKILL.md +13 -1
  63. package/src/orchestrator/plugins/vercel/SKILL.md +45 -52
  64. package/src/orchestrator/plugins/vitest/SKILL.md +10 -14
  65. package/src/orchestrator/prompts/create-skill.prompt.md +62 -20
  66. package/src/orchestrator/prompts/generate-convoy.prompt.md +6 -0
  67. package/src/orchestrator/prompts/generate-prd.prompt.md +4 -0
  68. package/src/orchestrator/skills/accessibility-standards/REFERENCE.md +34 -0
  69. package/src/orchestrator/skills/accessibility-standards/SKILL.md +6 -3
  70. package/src/orchestrator/skills/agent-hooks/HOOKS-REFERENCE.md +48 -0
  71. package/src/orchestrator/skills/agent-hooks/SKILL.md +41 -65
  72. package/src/orchestrator/skills/agent-memory/KNOWLEDGE-GRAPH.md +49 -0
  73. package/src/orchestrator/skills/agent-memory/SKILL.md +30 -67
  74. package/src/orchestrator/skills/api-patterns/SKILL.md +29 -1
  75. package/src/orchestrator/skills/backbone-scaffolding/EXAMPLES.md +16 -0
  76. package/src/orchestrator/skills/backbone-scaffolding/SKILL.md +99 -0
  77. package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
  78. package/src/orchestrator/skills/context-map/REFERENCE.md +70 -0
  79. package/src/orchestrator/skills/context-map/SKILL.md +28 -55
  80. package/src/orchestrator/skills/data-engineering/REFERENCE.md +55 -0
  81. package/src/orchestrator/skills/data-engineering/SKILL.md +40 -34
  82. package/src/orchestrator/skills/decomposition/REFERENCE.md +28 -0
  83. package/src/orchestrator/skills/decomposition/SKILL.md +15 -30
  84. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +31 -65
  85. package/src/orchestrator/skills/documentation-standards/SKILL.md +31 -50
  86. package/src/orchestrator/skills/documentation-standards/WRITING-GUIDE.md +39 -0
  87. package/src/orchestrator/skills/fast-review/REFERENCE.md +30 -0
  88. package/src/orchestrator/skills/fast-review/SKILL.md +11 -31
  89. package/src/orchestrator/skills/frontend-design/COMPONENTS.md +113 -0
  90. package/src/orchestrator/skills/frontend-design/REFERENCE.md +36 -0
  91. package/src/orchestrator/skills/frontend-design/SKILL.md +36 -85
  92. package/src/orchestrator/skills/git-workflow/SKILL.md +13 -2
  93. package/src/orchestrator/skills/memory-merger/REFERENCE.md +20 -0
  94. package/src/orchestrator/skills/memory-merger/SKILL.md +29 -38
  95. package/src/orchestrator/skills/observability-logging/SKILL.md +5 -12
  96. package/src/orchestrator/skills/orchestration-protocols/REFERENCE.md +42 -0
  97. package/src/orchestrator/skills/orchestration-protocols/SKILL.md +54 -41
  98. package/src/orchestrator/skills/panel-majority-vote/REFERENCE.md +55 -0
  99. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +30 -75
  100. package/src/orchestrator/skills/performance-optimization/SKILL.md +41 -1
  101. package/src/orchestrator/skills/project-consistency/SKILL.md +50 -89
  102. package/src/orchestrator/skills/project-consistency/TEMPLATES.md +39 -0
  103. package/src/orchestrator/skills/react-development/REFERENCE.md +7 -0
  104. package/src/orchestrator/skills/react-development/SKILL.md +50 -42
  105. package/src/orchestrator/skills/security-hardening/SKILL.md +88 -1
  106. package/src/orchestrator/skills/self-improvement/LESSON-CATEGORIES.md +36 -0
  107. package/src/orchestrator/skills/self-improvement/SKILL.md +19 -25
  108. package/src/orchestrator/skills/seo-patterns/REFERENCE.md +54 -0
  109. package/src/orchestrator/skills/seo-patterns/SKILL.md +20 -88
  110. package/src/orchestrator/skills/session-checkpoints/CHECKPOINT-TEMPLATE.md +58 -0
  111. package/src/orchestrator/skills/session-checkpoints/SKILL.md +34 -58
  112. package/src/orchestrator/skills/team-lead-reference/SKILL.md +37 -30
  113. package/src/orchestrator/skills/testing-workflow/SKILL.md +55 -2
  114. package/src/orchestrator/skills/validation-gates/REFERENCE.md +50 -0
  115. package/src/orchestrator/skills/validation-gates/SKILL.md +39 -35
package/LICENSE CHANGED
@@ -1,93 +1,21 @@
1
- Business Source License 1.1
2
-
3
- Parameters
4
-
5
- Licensor: Filip Mares
6
- Licensed Work: OpenCastle 0.31.6 and later versions.
7
- The Licensed Work is (c) 2026 Filip Mares.
8
- Additional Use Grant: You may make use of the Licensed Work, provided that
9
- you may not use the Licensed Work for a Commercial
10
- Purpose. A "Commercial Purpose" is any use intended
11
- for or directed toward commercial advantage or
12
- monetary compensation. For the avoidance of doubt,
13
- use of the Licensed Work for personal projects,
14
- education, research, evaluation, and non-commercial
15
- production use is permitted.
16
- Change Date: Two years from the date each version of the
17
- Licensed Work is first publicly distributed by
18
- the Licensor.
19
- Change License: Apache License, Version 2.0
20
-
21
- For information about alternative licensing arrangements for the Licensed Work,
22
- please contact Filip Mares.
23
-
24
- Notice
25
-
26
- Business Source License 1.1
27
-
28
- Terms
29
-
30
- The Licensor hereby grants you the right to copy, modify, create derivative
31
- works, redistribute, and make non-production use of the Licensed Work. The
32
- Licensor may make an Additional Use Grant, above, permitting limited production
33
- use.
34
-
35
- Effective on the Change Date, or the fourth anniversary of the first publicly
36
- available distribution of a specific version of the Licensed Work under this
37
- License, whichever comes first, the Licensor hereby grants you rights under the
38
- terms of the Change License, and the rights granted in the paragraph above
39
- terminate.
40
-
41
- If your use of the Licensed Work does not comply with the requirements currently
42
- in effect as described in this License, you must purchase a commercial license
43
- from the Licensor, its affiliated entities, or authorized resellers, or you must
44
- refrain from using the Licensed Work.
45
-
46
- All copies of the original and modified Licensed Work, and derivative works of
47
- the Licensed Work, are subject to this License. This License applies separately
48
- for each version of the Licensed Work and the Change Date may vary for each
49
- version of the Licensed Work released by Licensor.
50
-
51
- You must conspicuously display this License on each original or modified copy of
52
- the Licensed Work. If you receive the Licensed Work in original or modified form
53
- from a third party, the terms and conditions set forth in this License apply to
54
- your use of that work.
55
-
56
- Any use of the Licensed Work in violation of this License will automatically
57
- terminate your rights under this License for the current and all other versions
58
- of the Licensed Work.
59
-
60
- This License does not grant you any right in any trademark or logo of Licensor
61
- or its affiliates (provided that you may use a trademark or logo of Licensor as
62
- expressly required by this License).
63
-
64
- TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON AN
65
- "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS
66
- OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF MERCHANTABILITY,
67
- FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.
68
-
69
- MariaDB hereby grants you permission to use this License's text to license your
70
- works, and to refer to it using the trademark "Business Source License", as long
71
- as you comply with the Covenants of Licensor below.
72
-
73
- Covenants of Licensor
74
-
75
- In consideration of the right to use this License's text and the "Business
76
- Source License" name and trademark, Licensor covenants to MariaDB, and to all
77
- other recipients of the licensed work to be provided by Licensor:
78
-
79
- 1. To specify as the Change License the GPL Version 2.0 or any later version,
80
- or a license that is compatible with GPL Version 2.0 or a later version,
81
- where "compatible" means that software provided under the Change License can
82
- be included in a program with software provided under GPL Version 2.0 or a
83
- later version. Licensor may specify additional Change Licenses without
84
- limitation.
85
-
86
- 2. To either: (a) specify an additional grant of rights to use that does not
87
- impose any additional condition, limitation, or restriction on the right
88
- granted in this License, as the Additional Use Grant; or (b) insert the text
89
- "None".
90
-
91
- 3. To specify a Change Date.
92
-
93
- 4. Not to modify this License in any other way.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Filip Mares
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -27,9 +27,9 @@
27
27
 
28
28
  Works with **[GitHub Copilot](https://github.com/features/copilot)**, **[Cursor](https://www.cursor.com/)**, **[Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview)**, **[OpenCode](https://opencode.ai/)**, **[Windsurf](https://windsurf.com/)**, **[Codex CLI](https://github.com/openai/codex)**, and **[Antigravity](https://developers.google.com/)**.
29
29
 
30
- One command sets up specialized agents that decompose tasks, work in parallel, and verify each other's output.
30
+ One command sets up specialized agents that decompose tasks, work in parallel, and verify each other's output — interactively through IDE chat or automated via the Convoy Engine.
31
31
 
32
- One command. Any repo. Any IDE.
32
+ Use it live in your IDE. Run it overnight with the CLI.
33
33
 
34
34
  <br>
35
35
 
@@ -109,7 +109,7 @@ Add `--dry-run` to any command to preview what it would change without writing f
109
109
 
110
110
  **Specialist Agents.** Developer, UI/UX, Database, Security, Testing, Reviewer, and more.
111
111
 
112
- **On-Demand Skills.** Loaded on demand to keep context windows lean. Auto-selected during init based on your stack.
112
+ **On-Demand Skills.** Loaded on demand to keep context windows lean. Auto-selected during init based on your stack. All 51 skills and plugins scored 100% on the [tessl Skill Evaluator](https://tessl.io/registry?q=opencastle).
113
113
 
114
114
  **Workflow Templates.** Features, bug fixes, data pipelines, security audits — reproducible execution templates.
115
115
 
@@ -119,6 +119,8 @@ Add `--dry-run` to any command to preview what it would change without writing f
119
119
 
120
120
  **Self-improving.** Agents capture lessons and graduate them into permanent instructions.
121
121
 
122
+ **Hybrid by design.** Use OpenCastle interactively through IDE chat for hands-on development, or run automated batch jobs overnight via the Convoy Engine.
123
+
122
124
  <br>
123
125
 
124
126
  ## Dashboard
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencastle",
3
- "version": "0.32.12",
3
+ "version": "0.33.0",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration framework for AI coding assistants",
6
6
  "bin": {
@@ -31,7 +31,7 @@
31
31
  "url": "https://github.com/monkilabs/opencastle/issues"
32
32
  },
33
33
  "homepage": "https://www.opencastle.dev/",
34
- "license": "BUSL-1.1",
34
+ "license": "MIT",
35
35
  "author": "Filip Mares",
36
36
  "scripts": {
37
37
  "build": "npm run cli:build && npm run dashboard:build",
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-03-20T09:16:41.375Z"
54
+ "created_at": "2026-04-04T06:06:04.354Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-03-20T09:16:41.375Z"
61
+ "created_at": "2026-04-04T06:06:04.354Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-03-20T09:16:41.375Z"
68
+ "created_at": "2026-04-04T06:06:04.354Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-03-20T09:16:41.374Z"
45
+ "created_at": "2026-04-04T06:06:04.353Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-03-20T09:16:41.374Z"
52
+ "created_at": "2026-04-04T06:06:04.353Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
56
  "name": "reports/auth-review-summary.md",
57
57
  "type": "summary",
58
58
  "task_id": "auth-t5",
59
- "created_at": "2026-03-20T09:16:41.374Z"
59
+ "created_at": "2026-04-04T06:06:04.353Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
63
  "name": "tests/auth/integration.test.ts",
64
64
  "type": "file",
65
65
  "task_id": "auth-t4",
66
- "created_at": "2026-03-20T09:16:41.374Z"
66
+ "created_at": "2026-04-04T06:06:04.353Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -46,47 +46,47 @@
46
46
  ],
47
47
  "artifact_count": 6,
48
48
  "artifacts": [
49
- {
50
- "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
51
- "name": "reports/panel-review-dashboard.md",
52
- "type": "summary",
53
- "task_id": "ui-t7",
54
- "created_at": "2026-03-20T09:16:41.374Z"
55
- },
56
49
  {
57
50
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
58
51
  "name": "reports/visual-regression.json",
59
52
  "type": "json",
60
53
  "task_id": "ui-t6",
61
- "created_at": "2026-03-20T09:16:41.374Z"
54
+ "created_at": "2026-04-04T06:06:04.353Z"
62
55
  },
63
56
  {
64
57
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
65
58
  "name": "src/components/DonutChart.tsx",
66
59
  "type": "file",
67
60
  "task_id": "ui-t3",
68
- "created_at": "2026-03-20T09:16:41.374Z"
61
+ "created_at": "2026-04-04T06:06:04.353Z"
69
62
  },
70
63
  {
71
64
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
72
65
  "name": "src/components/KpiCard.tsx",
73
66
  "type": "file",
74
67
  "task_id": "ui-t2",
75
- "created_at": "2026-03-20T09:16:41.374Z"
68
+ "created_at": "2026-04-04T06:06:04.353Z"
76
69
  },
77
70
  {
78
71
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
79
72
  "name": "src/components/design-tokens.ts",
80
73
  "type": "file",
81
74
  "task_id": "ui-t1",
82
- "created_at": "2026-03-20T09:16:41.374Z"
75
+ "created_at": "2026-04-04T06:06:04.353Z"
83
76
  },
84
77
  {
85
78
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
86
79
  "name": "src/styles/animations.css",
87
80
  "type": "file",
88
81
  "task_id": "ui-t4",
89
- "created_at": "2026-03-20T09:16:41.374Z"
82
+ "created_at": "2026-04-04T06:06:04.353Z"
83
+ },
84
+ {
85
+ "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
86
+ "name": "reports/panel-review-dashboard.md",
87
+ "type": "summary",
88
+ "task_id": "ui-t7",
89
+ "created_at": "2026-04-04T06:06:04.354Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-04T06:06:04.354Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-04T06:06:04.354Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-04T06:06:04.354Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-03-20T09:16:41.376Z"
54
+ "created_at": "2026-04-04T06:06:04.355Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -38,25 +38,25 @@
38
38
  "artifact_count": 3,
39
39
  "artifacts": [
40
40
  {
41
- "id": "artifact-demo-docs-update-docs-README-md",
42
- "name": "docs/README.md",
41
+ "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
42
+ "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-04T06:06:04.355Z"
46
46
  },
47
47
  {
48
- "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
49
- "name": "docs/ARCHITECTURE.md",
48
+ "id": "artifact-demo-docs-update-docs-README-md",
49
+ "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-03-20T09:16:41.376Z"
52
+ "created_at": "2026-04-04T06:06:04.355Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-03-20T09:16:41.376Z"
59
+ "created_at": "2026-04-04T06:06:04.355Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "reports/bundle-analysis.json",
43
43
  "type": "json",
44
44
  "task_id": "perf-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-04T06:06:04.354Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-perf-opt-reports-web-vitals-improvement-md",
49
49
  "name": "reports/web-vitals-improvement.md",
50
50
  "type": "summary",
51
51
  "task_id": "perf-t4",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-04T06:06:04.354Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-perf-opt-src-charts-index-ts",
56
56
  "name": "src/charts/index.ts",
57
57
  "type": "file",
58
58
  "task_id": "perf-t2",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-04T06:06:04.354Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-perf-opt-src-utils-image-loader-ts",
63
63
  "name": "src/utils/image-loader.ts",
64
64
  "type": "file",
65
65
  "task_id": "perf-t3",
66
- "created_at": "2026-03-20T09:16:41.375Z"
66
+ "created_at": "2026-04-04T06:06:04.354Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -1,25 +1,25 @@
1
1
  {
2
- "hash": "067541e3",
2
+ "hash": "61d3f837",
3
3
  "configHash": "30f8ea04",
4
- "lockfileHash": "9e5d2d20",
5
- "browserHash": "d3a90bc1",
4
+ "lockfileHash": "4e96edd0",
5
+ "browserHash": "8dc3766c",
6
6
  "optimized": {
7
7
  "astro > cssesc": {
8
8
  "src": "../../../../../node_modules/cssesc/cssesc.js",
9
9
  "file": "astro___cssesc.js",
10
- "fileHash": "dec33437",
10
+ "fileHash": "55e707a4",
11
11
  "needsInterop": true
12
12
  },
13
13
  "astro > aria-query": {
14
14
  "src": "../../../../../node_modules/aria-query/lib/index.js",
15
15
  "file": "astro___aria-query.js",
16
- "fileHash": "43620b94",
16
+ "fileHash": "45b77171",
17
17
  "needsInterop": true
18
18
  },
19
19
  "astro > axobject-query": {
20
20
  "src": "../../../../../node_modules/axobject-query/lib/index.js",
21
21
  "file": "astro___axobject-query.js",
22
- "fileHash": "df8934d8",
22
+ "fileHash": "1be87e34",
23
23
  "needsInterop": true
24
24
  }
25
25
  },
@@ -51,21 +51,21 @@
51
51
  "name": "docs/api-v2-contract.json",
52
52
  "type": "json",
53
53
  "task_id": "api-t1",
54
- "created_at": "2026-03-20T09:16:41.375Z"
54
+ "created_at": "2026-04-04T06:06:04.354Z"
55
55
  },
56
56
  {
57
57
  "id": "artifact-demo-api-v2-reports-security-gate-failure-md",
58
58
  "name": "reports/security-gate-failure.md",
59
59
  "type": "summary",
60
60
  "task_id": "api-t3",
61
- "created_at": "2026-03-20T09:16:41.375Z"
61
+ "created_at": "2026-04-04T06:06:04.354Z"
62
62
  },
63
63
  {
64
64
  "id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
65
65
  "name": "src/api/rate-limiter.ts",
66
66
  "type": "file",
67
67
  "task_id": "api-t2",
68
- "created_at": "2026-03-20T09:16:41.375Z"
68
+ "created_at": "2026-04-04T06:06:04.354Z"
69
69
  }
70
70
  ],
71
71
  "has_more_events": false,
@@ -42,28 +42,28 @@
42
42
  "name": "libs/auth/src/jwt-middleware.ts",
43
43
  "type": "file",
44
44
  "task_id": "auth-t2",
45
- "created_at": "2026-03-20T09:16:41.374Z"
45
+ "created_at": "2026-04-04T06:06:04.353Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
49
49
  "name": "libs/auth/src/rls-policies.sql",
50
50
  "type": "file",
51
51
  "task_id": "auth-t3",
52
- "created_at": "2026-03-20T09:16:41.374Z"
52
+ "created_at": "2026-04-04T06:06:04.353Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
56
56
  "name": "reports/auth-review-summary.md",
57
57
  "type": "summary",
58
58
  "task_id": "auth-t5",
59
- "created_at": "2026-03-20T09:16:41.374Z"
59
+ "created_at": "2026-04-04T06:06:04.353Z"
60
60
  },
61
61
  {
62
62
  "id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
63
63
  "name": "tests/auth/integration.test.ts",
64
64
  "type": "file",
65
65
  "task_id": "auth-t4",
66
- "created_at": "2026-03-20T09:16:41.374Z"
66
+ "created_at": "2026-04-04T06:06:04.353Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,
@@ -46,47 +46,47 @@
46
46
  ],
47
47
  "artifact_count": 6,
48
48
  "artifacts": [
49
- {
50
- "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
51
- "name": "reports/panel-review-dashboard.md",
52
- "type": "summary",
53
- "task_id": "ui-t7",
54
- "created_at": "2026-03-20T09:16:41.374Z"
55
- },
56
49
  {
57
50
  "id": "artifact-demo-dashboard-ui-reports-visual-regression-json",
58
51
  "name": "reports/visual-regression.json",
59
52
  "type": "json",
60
53
  "task_id": "ui-t6",
61
- "created_at": "2026-03-20T09:16:41.374Z"
54
+ "created_at": "2026-04-04T06:06:04.353Z"
62
55
  },
63
56
  {
64
57
  "id": "artifact-demo-dashboard-ui-src-components-DonutChart-tsx",
65
58
  "name": "src/components/DonutChart.tsx",
66
59
  "type": "file",
67
60
  "task_id": "ui-t3",
68
- "created_at": "2026-03-20T09:16:41.374Z"
61
+ "created_at": "2026-04-04T06:06:04.353Z"
69
62
  },
70
63
  {
71
64
  "id": "artifact-demo-dashboard-ui-src-components-KpiCard-tsx",
72
65
  "name": "src/components/KpiCard.tsx",
73
66
  "type": "file",
74
67
  "task_id": "ui-t2",
75
- "created_at": "2026-03-20T09:16:41.374Z"
68
+ "created_at": "2026-04-04T06:06:04.353Z"
76
69
  },
77
70
  {
78
71
  "id": "artifact-demo-dashboard-ui-src-components-design-tokens-ts",
79
72
  "name": "src/components/design-tokens.ts",
80
73
  "type": "file",
81
74
  "task_id": "ui-t1",
82
- "created_at": "2026-03-20T09:16:41.374Z"
75
+ "created_at": "2026-04-04T06:06:04.353Z"
83
76
  },
84
77
  {
85
78
  "id": "artifact-demo-dashboard-ui-src-styles-animations-css",
86
79
  "name": "src/styles/animations.css",
87
80
  "type": "file",
88
81
  "task_id": "ui-t4",
89
- "created_at": "2026-03-20T09:16:41.374Z"
82
+ "created_at": "2026-04-04T06:06:04.353Z"
83
+ },
84
+ {
85
+ "id": "artifact-demo-dashboard-ui-reports-panel-review-dashboard-md",
86
+ "name": "reports/panel-review-dashboard.md",
87
+ "type": "summary",
88
+ "task_id": "ui-t7",
89
+ "created_at": "2026-04-04T06:06:04.354Z"
90
90
  }
91
91
  ],
92
92
  "has_more_events": false,
@@ -42,21 +42,21 @@
42
42
  "name": "src/etl/pipeline.ts",
43
43
  "type": "file",
44
44
  "task_id": "etl-t2",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-04T06:06:04.354Z"
46
46
  },
47
47
  {
48
48
  "id": "artifact-demo-data-pipeline-src-etl-schema-ts",
49
49
  "name": "src/etl/schema.ts",
50
50
  "type": "file",
51
51
  "task_id": "etl-t1",
52
- "created_at": "2026-03-20T09:16:41.375Z"
52
+ "created_at": "2026-04-04T06:06:04.354Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-data-pipeline-tests-etl-pipeline-test-ts",
56
56
  "name": "tests/etl/pipeline.test.ts",
57
57
  "type": "file",
58
58
  "task_id": "etl-t3",
59
- "created_at": "2026-03-20T09:16:41.375Z"
59
+ "created_at": "2026-04-04T06:06:04.354Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,
@@ -51,7 +51,7 @@
51
51
  "name": ".github/workflows/ci.yml",
52
52
  "type": "file",
53
53
  "task_id": "ci-t1",
54
- "created_at": "2026-03-20T09:16:41.376Z"
54
+ "created_at": "2026-04-04T06:06:04.355Z"
55
55
  }
56
56
  ],
57
57
  "has_more_events": false,
@@ -38,25 +38,25 @@
38
38
  "artifact_count": 3,
39
39
  "artifacts": [
40
40
  {
41
- "id": "artifact-demo-docs-update-docs-README-md",
42
- "name": "docs/README.md",
41
+ "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
42
+ "name": "docs/ARCHITECTURE.md",
43
43
  "type": "file",
44
44
  "task_id": "docs-t1",
45
- "created_at": "2026-03-20T09:16:41.375Z"
45
+ "created_at": "2026-04-04T06:06:04.355Z"
46
46
  },
47
47
  {
48
- "id": "artifact-demo-docs-update-docs-ARCHITECTURE-md",
49
- "name": "docs/ARCHITECTURE.md",
48
+ "id": "artifact-demo-docs-update-docs-README-md",
49
+ "name": "docs/README.md",
50
50
  "type": "file",
51
51
  "task_id": "docs-t1",
52
- "created_at": "2026-03-20T09:16:41.376Z"
52
+ "created_at": "2026-04-04T06:06:04.355Z"
53
53
  },
54
54
  {
55
55
  "id": "artifact-demo-docs-update-docs-api-reference-json",
56
56
  "name": "docs/api-reference.json",
57
57
  "type": "json",
58
58
  "task_id": "docs-t2",
59
- "created_at": "2026-03-20T09:16:41.376Z"
59
+ "created_at": "2026-04-04T06:06:04.355Z"
60
60
  }
61
61
  ],
62
62
  "has_more_events": false,