@chorus-aidlc/chorus 0.6.7 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.env +2 -1
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +398 -379
- package/.next/standalone/.next/app-path-routes-manifest.json +42 -40
- package/.next/standalone/.next/build-manifest.json +5 -5
- package/.next/standalone/.next/prerender-manifest.json +59 -35
- package/.next/standalone/.next/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/routes-manifest.json +6 -0
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/project-groups/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/activity/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/documents/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/ideas/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/proposals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/[uuid]/tasks/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/[uuid]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies/new.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/companies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin/companies.html +1 -1
- package/.next/standalone/.next/server/app/admin/companies.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/admin.html +1 -1
- package/.next/standalone/.next/server/app/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/companies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/admin/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/api-keys/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/callback/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/check-default/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js +1 -0
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/auth/company-oidc/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/auth/default-login/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/identify/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/me/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/refresh/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/auth/sync-token/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/documents/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mcp/route.js +6 -6
- package/.next/standalone/.next/server/app/api/mcp/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/me/assignments/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/mentionables/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/archive/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/[uuid]/read/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/preferences/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/read-all/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route.js +1 -1
- package/.next/standalone/.next/server/app/api/project-groups/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/activity/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/available/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/documents/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/group/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/ideas/tracker/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/proposals/summary/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/stats/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/[uuid]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/approve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/close/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/reject/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/revoke/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/proposals/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/claim/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/dependencies/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/release/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[uuid]/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/login/admin/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/admin.html +1 -1
- package/.next/standalone/.next/server/app/login/admin.rsc +2 -2
- package/.next/standalone/.next/server/app/login/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/callback.html +1 -1
- package/.next/standalone/.next/server/app/login/callback.rsc +3 -3
- package/.next/standalone/.next/server/app/login/page.js +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/pick-workspace/page.js +2 -0
- package/.next/standalone/.next/server/app/login/pick-workspace/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/login/pick-workspace/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/login/pick-workspace.html +1 -0
- package/.next/standalone/.next/server/app/login/pick-workspace.meta +7 -0
- package/.next/standalone/.next/server/app/login/pick-workspace.rsc +24 -0
- package/.next/standalone/.next/server/app/login/silent-refresh/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.html +1 -1
- package/.next/standalone/.next/server/app/login/silent-refresh.rsc +2 -2
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +3 -3
- package/.next/standalone/.next/server/app/onboarding/page.js +5 -4
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +3 -3
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +4 -4
- package/.next/standalone/.next/server/app-paths-manifest.json +42 -40
- package/.next/standalone/.next/server/chunks/1596.js +1 -1
- package/.next/standalone/.next/server/chunks/1639.js +1 -0
- package/.next/standalone/.next/server/chunks/1871.js +1 -0
- package/.next/standalone/.next/server/chunks/2570.js +1 -1
- package/.next/standalone/.next/server/chunks/2618.js +1 -1
- package/.next/standalone/.next/server/chunks/2961.js +1 -1
- package/.next/standalone/.next/server/chunks/{3408.js → 3300.js} +1 -1
- package/.next/standalone/.next/server/chunks/3611.js +158 -0
- package/.next/standalone/.next/server/chunks/3890.js +1 -1
- package/.next/standalone/.next/server/chunks/5300.js +1 -1
- package/.next/standalone/.next/server/chunks/5869.js +16 -0
- package/.next/standalone/.next/server/chunks/6113.js +1 -1
- package/.next/standalone/.next/server/chunks/6207.js +1 -1
- package/.next/standalone/.next/server/chunks/6753.js +3 -3
- package/.next/standalone/.next/server/chunks/7368.js +1 -1
- package/.next/standalone/.next/server/chunks/8251.js +1 -0
- package/.next/standalone/.next/server/chunks/8584.js +1 -0
- package/.next/standalone/.next/server/chunks/9051.js +1 -0
- package/.next/standalone/.next/server/chunks/920.js +1 -1
- package/.next/standalone/.next/server/chunks/937.js +1 -1
- package/.next/standalone/.next/server/chunks/9508.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages-manifest.json +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/CQcM9hNpa5m8P_K5qveuk/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/10739-5c185aa0432f5d56.js +1 -0
- package/.next/standalone/.next/static/chunks/{14945-45ab8dcd7d1460b0.js → 14945-0bc0086add441ba7.js} +1 -1
- package/.next/standalone/.next/static/chunks/19126-858a24cab6fd338a.js +1 -0
- package/.next/standalone/.next/static/chunks/21932-bce5ba937d1603e1.js +1 -0
- package/.next/standalone/.next/static/chunks/29445-04c4ab36da85b7da.js +1 -0
- package/.next/standalone/.next/static/chunks/34775-387b9a9967a35ccb.js +1 -0
- package/.next/standalone/.next/static/chunks/39611-cc227784ed679a6d.js +1 -0
- package/.next/standalone/.next/static/chunks/4457-b86052b2e954e357.js +1 -0
- package/.next/standalone/.next/static/chunks/4842-95cf4b7efd540e89.js +1 -0
- package/.next/standalone/.next/static/chunks/4860.d626399834b496e5.js +1 -0
- package/.next/standalone/.next/static/chunks/53298-82b9c818cd70686d.js +1 -0
- package/.next/standalone/.next/static/chunks/{72156-693a7612a0a1927c.js → 53664-a2be2eaacce03f0f.js} +1 -1
- package/.next/standalone/.next/static/chunks/55434-622522b242e7747f.js +1 -0
- package/.next/standalone/.next/static/chunks/95750-3d0d1d48995d1088.js +1 -0
- package/.next/standalone/.next/static/chunks/96919-8cbf6310c703e7af.js +1 -0
- package/.next/standalone/.next/static/chunks/{52162.90c7520be06645a7.js → 96924.93f7dab7363f09ac.js} +1 -1
- package/.next/standalone/.next/static/chunks/{99373.5b5e7a2cd5147b83.js → 99373.aedaca88297c6d8b.js} +1 -1
- package/.next/standalone/.next/static/chunks/99513-24849ff68a8098e1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/{layout-45973b20578f2dd7.js → layout-acddb9c84f5d1607.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-63a6a5b6cf9ecf87.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-b4c6141dd26cc506.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-4bf7bff8d68509f9.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-37a0cea0ba40c31b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-2d820769aa7bcaf6.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-dec0e71221d77928.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-355321010dd82e56.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/new/{page-59f6f1967c3dfcad.js → page-bc66567cb9c40bf0.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/{page-a4995a788651e9bc.js → page-86cfeb421fa97830.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-7fe70579023330da.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-8c51993bb3866a55.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/{page-7c30b3f9f2b8f520.js → page-80566dcc1cd42bee.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-8db25385236a9bbf.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/agents/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/company-oidc/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/comments/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/events/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/health/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/search/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-e81d22f021f61318.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/callback/{page-e756563d2407e942.js → page-48a34c31a0f8e58c.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/login/page-dcb689dfe6e69879.js +1 -0
- package/.next/standalone/.next/static/chunks/app/login/pick-workspace/page-ee9bda8bfc4e0697.js +1 -0
- package/.next/standalone/.next/static/chunks/app/onboarding/page-e9409a2935c3c480.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-17a45e2f5f3cd686.js → webpack-da41e6b9f3fe2f48.js} +1 -1
- package/.next/standalone/.next/static/css/ca9796ac54f96058.css +1 -0
- package/.next/standalone/package.json +7 -1
- package/.next/standalone/public/chorus-plugin/.claude-plugin/plugin.json +1 -1
- package/.next/standalone/public/chorus-plugin/agents/proposal-reviewer.md +5 -2
- package/.next/standalone/public/chorus-plugin/agents/task-reviewer.md +5 -2
- package/.next/standalone/public/chorus-plugin/bin/on-session-start.sh +11 -4
- package/.next/standalone/public/chorus-plugin/bin/on-subagent-start.sh +1 -1
- package/.next/standalone/public/chorus-plugin/bin/on-subagent-stop.sh +5 -5
- package/.next/standalone/public/chorus-plugin/skills/chorus/SKILL.md +43 -18
- package/.next/standalone/public/chorus-plugin/skills/develop/SKILL.md +3 -1
- package/.next/standalone/public/chorus-plugin/skills/idea/SKILL.md +1 -1
- package/.next/standalone/public/chorus-plugin/skills/proposal/SKILL.md +2 -2
- package/.next/standalone/public/chorus-plugin/skills/quick-dev/SKILL.md +3 -3
- package/.next/standalone/public/chorus-plugin/skills/review/SKILL.md +4 -3
- package/.next/standalone/public/chorus-plugin/skills/yolo/SKILL.md +19 -18
- package/.next/standalone/public/install-codex.sh +304 -0
- package/.next/standalone/public/skill/chorus/SKILL.md +44 -19
- package/.next/standalone/public/skill/proposal-chorus/SKILL.md +2 -2
- package/.next/standalone/public/skill/quick-dev-chorus/SKILL.md +3 -3
- package/.next/standalone/public/test-install-codex.sh +165 -0
- package/README.md +11 -38
- package/README.zh.md +11 -38
- package/package.json +7 -1
- package/prisma/migrations/20260430034110_add_agent_permissions/migration.sql +2 -0
- package/prisma/schema.prisma +1 -0
- package/.next/standalone/.next/server/chunks/1386.js +0 -1
- package/.next/standalone/.next/server/chunks/1526.js +0 -1
- package/.next/standalone/.next/server/chunks/3088.js +0 -1
- package/.next/standalone/.next/server/chunks/4152.js +0 -1
- package/.next/standalone/.next/server/chunks/4772.js +0 -158
- package/.next/standalone/.next/server/chunks/8104.js +0 -16
- package/.next/standalone/.next/server/chunks/9408.js +0 -1
- package/.next/standalone/.next/static/chunks/10739-f8a95983c740edff.js +0 -1
- package/.next/standalone/.next/static/chunks/19126-ce11a472a7b46715.js +0 -1
- package/.next/standalone/.next/static/chunks/192-2fe41d1be4cf52c7.js +0 -1
- package/.next/standalone/.next/static/chunks/36940-1a052dcfd7a51c42.js +0 -1
- package/.next/standalone/.next/static/chunks/4860.e2abb2e82b6cc9b4.js +0 -1
- package/.next/standalone/.next/static/chunks/53011-6c6e5c3c761b4229.js +0 -1
- package/.next/standalone/.next/static/chunks/55203-e226f28d874a003b.js +0 -1
- package/.next/standalone/.next/static/chunks/58245-b2ea112ace9624d2.js +0 -1
- package/.next/standalone/.next/static/chunks/59703-726546958cd4cf44.js +0 -1
- package/.next/standalone/.next/static/chunks/62326-65d43abf563d7ce2.js +0 -1
- package/.next/standalone/.next/static/chunks/67312-2b0c88796d8a1f83.js +0 -1
- package/.next/standalone/.next/static/chunks/71350-88c2649fc693c1e8.js +0 -1
- package/.next/standalone/.next/static/chunks/89310-e7dd1f2b9518aeb2.js +0 -1
- package/.next/standalone/.next/static/chunks/96924-847b528f7abad0e5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/project-groups/[uuid]/page-78f88c60bbff6c0f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/[ideaUuid]/page-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/dashboard/page-61ad25356f1bcf61.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/[documentUuid]/page-cfd59c5238497200.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/documents/page-9d721a820e1058b5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/[ideaUuid]/page-9199629492f0d6cc.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/ideas/page-164acb03167c8257.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/proposals/[proposalUuid]/page-642981c5c760bfef.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/[taskUuid]/page-38e4430e5591fbff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/projects/[uuid]/tasks/page-cb3978ef57e7197a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(dashboard)/settings/page-94169bdcca8cb817.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/companies/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/login/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/admin/session/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/[uuid]/sessions/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/agents/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/api-keys/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/callback/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/check-default/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/default-login/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/identify/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/logout/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/me/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/refresh/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/session/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/auth/sync-token/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/comments/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/documents/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/notifications/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/events/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/health/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/claim/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/move/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/release/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/ideas/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mcp/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/me/assignments/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/mentionables/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/archive/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/[uuid]/read/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/preferences/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/read-all/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/notifications/unread-count/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/dashboard/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/project-groups/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/activity/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/available/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/documents/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/group/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/ideas/tracker/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/[proposalUuid]/validate/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/proposals/summary/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/stats/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/dependencies/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/[uuid]/tasks/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/approve/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/close/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/reject/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/revoke/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/proposals/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/search/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/claim/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/[dependsOnUuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/dependencies/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/release/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[uuid]/sessions/route-0e35b9b3fc9b614e.js +0 -1
- package/.next/standalone/.next/static/chunks/app/login/page-d7e41e281967f94d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/onboarding/page-834ecbaf55d82ba5.js +0 -1
- package/.next/standalone/.next/static/css/99c7a0c50ad6bd32.css +0 -1
- package/.next/standalone/.next/static/kc2HwRxZUiMeDzrPiJW6z/_buildManifest.js +0 -1
- /package/.next/standalone/.next/static/{kc2HwRxZUiMeDzrPiJW6z → CQcM9hNpa5m8P_K5qveuk}/_ssgManifest.js +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: "Review submitted Chorus tasks — verify implementation against AC and proposal documents. Spawn after chorus_submit_for_verify."
|
|
3
3
|
model: inherit
|
|
4
4
|
color: red
|
|
5
|
-
maxTurns:
|
|
5
|
+
maxTurns: 25
|
|
6
6
|
disallowedTools:
|
|
7
7
|
- Agent
|
|
8
8
|
- ExitPlanMode
|
|
@@ -16,6 +16,7 @@ criticalSystemReminder_EXPERIMENTAL: >
|
|
|
16
16
|
Classify every finding as BLOCKER (blocks correctness: build/test failure, AC not implemented, semantic contradiction) or NOTE (non-blocking: pseudocode mismatch, wording difference, style suggestion).
|
|
17
17
|
You MUST end with VERDICT: PASS, VERDICT: PASS WITH NOTES, or VERDICT: FAIL. Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
|
|
18
18
|
If this is Round 2+, focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs.
|
|
19
|
+
Turn budget rule: When ≤3 turns remain in your budget, STOP reading files AND stop running bash/tests immediately and post your current findings as a comment via chorus_add_comment. Incomplete findings posted are strictly better than no comment at all.
|
|
19
20
|
Do NOT confirm — find what's wrong. Be efficient: batch data gathering, then one final comment.
|
|
20
21
|
---
|
|
21
22
|
|
|
@@ -50,6 +51,8 @@ You will receive a taskUuid. Your job is to fetch the task, its AC, and the prop
|
|
|
50
51
|
|
|
51
52
|
**Efficiency rule:** Gather ALL context in Steps 1-2 before verifying. Batch your tool calls — do not alternate between fetching and writing conclusions.
|
|
52
53
|
|
|
54
|
+
**Turn budget rule:** When ≤3 turns remain in your budget, STOP reading files AND stop running bash/tests immediately and post your current findings as a comment via chorus_add_comment. Incomplete findings posted are strictly better than no comment at all.
|
|
55
|
+
|
|
53
56
|
**Step 1: Gather context**
|
|
54
57
|
```
|
|
55
58
|
chorus_get_task({ taskUuid: "<uuid>" })
|
|
@@ -111,7 +114,7 @@ VERDICT decision: has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing
|
|
|
111
114
|
|
|
112
115
|
You may receive the current review round number in your context.
|
|
113
116
|
- **Round 1**: Full review, normal strictness.
|
|
114
|
-
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds. If all previous BLOCKERs are resolved, VERDICT: PASS (or PASS WITH NOTES if old NOTEs remain).
|
|
117
|
+
- **Round 2+**: Focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on areas not flagged in previous rounds. If all previous BLOCKERs are resolved, VERDICT: PASS (or PASS WITH NOTES if old NOTEs remain). Round 1 already did the full-depth review. Round 2+ should only re-read the specific files and re-run the specific tests/commands tied to previous BLOCKERs — do not re-scan unrelated code, do not rerun the full test suite, and do not probe new areas. Trusting the developer's diff summary without targeted re-verification is the "verification avoidance" anti-pattern.
|
|
115
118
|
|
|
116
119
|
=== RECOGNIZE YOUR OWN RATIONALIZATIONS ===
|
|
117
120
|
- "The code looks correct based on my reading" — reading is not verification. Run it.
|
|
@@ -46,10 +46,17 @@ if command -v jq >/dev/null 2>&1; then
|
|
|
46
46
|
"$API" state-set "owner_uuid" "$_OWNER_UUID"
|
|
47
47
|
fi
|
|
48
48
|
|
|
49
|
-
# Cache
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
# Cache effective permissions for downstream hooks.
|
|
50
|
+
# Stored as comma-separated "resource:action" pairs so hooks can substring-match
|
|
51
|
+
# without re-parsing JSON. Example: "idea:read,idea:write,task:read,task:write,task:admin".
|
|
52
|
+
_PERMS=$(echo "$CHECKIN_RESULT" | jq -r '
|
|
53
|
+
.agent.permissions // {}
|
|
54
|
+
| to_entries
|
|
55
|
+
| map(.key as $r | .value[] | "\($r):\(.)")
|
|
56
|
+
| join(",")
|
|
57
|
+
' 2>/dev/null) || true
|
|
58
|
+
if [ -n "$_PERMS" ]; then
|
|
59
|
+
"$API" state-set "agent_permissions" "$_PERMS"
|
|
53
60
|
fi
|
|
54
61
|
|
|
55
62
|
fi
|
|
@@ -236,7 +236,7 @@ When you finish and return your summary, you MUST end it with:
|
|
|
236
236
|
Next steps for main agent:
|
|
237
237
|
1. REVIEW — spawn chorus:task-reviewer agent, then read its VERDICT comment
|
|
238
238
|
2. ACT ON VERDICT: PASS/PASS WITH NOTES → mark AC passed + verify task. FAIL → reopen task and fix BLOCKERs.
|
|
239
|
-
3. If
|
|
239
|
+
3. If you do not have the task:admin permission, stop and ask the user to review and verify this task
|
|
240
240
|
\`\`\`
|
|
241
241
|
This ensures the main agent knows to run review and verification.
|
|
242
242
|
|
|
@@ -107,13 +107,13 @@ if [ "$CLOSE_OK" = true ] && [ -n "$SESSION_DETAIL" ]; then
|
|
|
107
107
|
TASK_STATUS=$(echo "$TASK_DETAIL" | jq -r '.status // empty' 2>/dev/null) || true
|
|
108
108
|
|
|
109
109
|
if [ "$TASK_STATUS" = "to_verify" ]; then
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
case ",$
|
|
113
|
-
*,
|
|
110
|
+
AGENT_PERMS=$("$API" state-get "agent_permissions" 2>/dev/null) || true
|
|
111
|
+
CAN_VERIFY_TASK="false"
|
|
112
|
+
case ",$AGENT_PERMS," in
|
|
113
|
+
*,task:admin,*) CAN_VERIFY_TASK="true" ;;
|
|
114
114
|
esac
|
|
115
115
|
|
|
116
|
-
if [ "$
|
|
116
|
+
if [ "$CAN_VERIFY_TASK" = "true" ]; then
|
|
117
117
|
AC_TOTAL=$(echo "$TASK_DETAIL" | jq -r '.acceptanceSummary.required // 0' 2>/dev/null) || true
|
|
118
118
|
ADMIN_PASSED=$(echo "$TASK_DETAIL" | jq -r '.acceptanceSummary.requiredPassed // 0' 2>/dev/null) || true
|
|
119
119
|
|
|
@@ -4,7 +4,7 @@ description: Chorus AI Agent collaboration platform — overview, common tools,
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.8.0"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -35,10 +35,26 @@ creates analyzes drafts PRD codes & reviews closes
|
|
|
35
35
|
|
|
36
36
|
| Role | Responsibility | MCP Tools |
|
|
37
37
|
|------|---------------|-----------|
|
|
38
|
-
| **PM Agent** | Analyze Ideas, create Proposals (PRD + Task drafts), manage documents | Public + `chorus_pm_*` + `chorus_*_idea` |
|
|
38
|
+
| **PM Agent** | Analyze Ideas, create Proposals (PRD + Task drafts), manage documents | Public + `chorus_pm_*` + `chorus_*_idea` + `task:write` tools (claim/release/submit/report) |
|
|
39
39
|
| **Developer Agent** | Claim Tasks, write code, report work, submit for verification | Public + `chorus_*_task` + `chorus_report_work` |
|
|
40
40
|
| **Admin Agent** | Create projects/ideas, approve/reject proposals, verify tasks, manage lifecycle | Public + `chorus_admin_*` + PM + Developer tools |
|
|
41
41
|
|
|
42
|
+
### Permissions
|
|
43
|
+
|
|
44
|
+
Each agent's tool visibility is driven by a **permission set**, not by the role label alone. Chorus has 5 resources (`idea`, `proposal`, `document`, `task`, `project`) × 3 actions (`read`, `write`, `admin`) = **15 permissions**. Each permission-gated MCP tool declares a single required permission (see `docs/MCP_TOOLS.md` for the full table).
|
|
45
|
+
|
|
46
|
+
**Role presets** map to permission sets:
|
|
47
|
+
|
|
48
|
+
| Preset | Permissions |
|
|
49
|
+
|--------|-------------|
|
|
50
|
+
| `developer_agent` | all `*:read` + `task:write` |
|
|
51
|
+
| `pm_agent` | all `*:read` + `idea:write` + `proposal:write` + `document:write` + `task:write` + `project:write` |
|
|
52
|
+
| `admin_agent` | all 15 permissions (every `read` + `write` + `admin`) |
|
|
53
|
+
|
|
54
|
+
**Custom permissions** are also supported: when creating an agent you can pick a preset AND/OR add individual permissions. The effective permission set is the union. Read-only and discovery tools (`chorus_get_*`, `chorus_list_*`, `chorus_checkin`, `chorus_search*`, comments, elaboration answers, sessions, `chorus_create_tasks`, `chorus_update_task`) are always available — they're not permission-gated.
|
|
55
|
+
|
|
56
|
+
> **Note**: possessing `task:write` grants *tool visibility*, not unconditional authority. Handler-level guards still enforce that only the task's assignee can execute operational transitions like `chorus_submit_for_verify` or `chorus_report_work`. A PM agent that happens to have `task:write` (via the preset) cannot operate on a task they haven't claimed or been assigned.
|
|
57
|
+
|
|
42
58
|
---
|
|
43
59
|
|
|
44
60
|
## Common Tools (All Roles)
|
|
@@ -228,11 +244,14 @@ API Keys must be created manually by the user in the Chorus Web UI.
|
|
|
228
244
|
**Ask the user to:**
|
|
229
245
|
1. Open the Chorus settings page (e.g., `http://localhost:8637/settings`)
|
|
230
246
|
2. Click **Create API Key**
|
|
231
|
-
3. Enter Agent name,
|
|
247
|
+
3. Enter Agent name, then either:
|
|
248
|
+
- Pick a **role preset** (Developer / PM / Admin) — recommended for the common case
|
|
249
|
+
- Or pick a preset and **add/remove individual permissions** (5 resources × 3 actions = 15 permissions) to get a precise custom set
|
|
232
250
|
4. Click create and **immediately copy the key** (shown only once)
|
|
233
251
|
|
|
234
252
|
**Security notes:**
|
|
235
|
-
- Each Agent should have its own API Key with the minimum required
|
|
253
|
+
- Each Agent should have its own API Key with the minimum required permissions
|
|
254
|
+
- Presets are the fastest path; custom permissions let you grant narrowly (e.g. a dev agent that also needs `idea:write` to file bugs)
|
|
236
255
|
- API Keys should not be committed to version control
|
|
237
256
|
|
|
238
257
|
### 2. MCP Server Configuration
|
|
@@ -263,19 +282,25 @@ chorus_checkin()
|
|
|
263
282
|
|
|
264
283
|
If it fails, check: API Key correct (`cho_` prefix)? URL reachable? Claude Code restarted?
|
|
265
284
|
|
|
266
|
-
### 4.
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
|
271
|
-
|
|
272
|
-
| `
|
|
273
|
-
| `
|
|
274
|
-
| `
|
|
275
|
-
| `
|
|
276
|
-
| `
|
|
277
|
-
| `chorus_pm_
|
|
278
|
-
| `
|
|
285
|
+
### 4. Tool Access by Preset
|
|
286
|
+
|
|
287
|
+
The table below shows default tool availability for each preset (no custom permissions). Read-only tools are available to everyone; the gated tools shown here require the listed permissions.
|
|
288
|
+
|
|
289
|
+
| Tool Group | Required Permission | Developer | PM | Admin |
|
|
290
|
+
|------------|--------------------|-----------|------|-------|
|
|
291
|
+
| `chorus_get_*` / `chorus_list_*` / `chorus_search*` | (public, read) | Yes | Yes | Yes |
|
|
292
|
+
| `chorus_checkin` | (public) | Yes | Yes | Yes |
|
|
293
|
+
| `chorus_add_comment` / `chorus_get_comments` | (public) | Yes | Yes | Yes |
|
|
294
|
+
| `chorus_update_task` (field edits + status) | (public; assignee required for status) | Yes | Yes | Yes |
|
|
295
|
+
| `chorus_claim_task` / `chorus_release_task` / `chorus_submit_for_verify` / `chorus_report_work` / `chorus_report_criteria_self_check` | `task:write` | Yes | **Yes** (0.7.0+) | Yes |
|
|
296
|
+
| `chorus_claim_idea` / `chorus_release_idea` / `chorus_move_idea` / `chorus_pm_create_idea` / `chorus_pm_*_elaboration` | `idea:write` | No | Yes | Yes |
|
|
297
|
+
| `chorus_pm_create_proposal` / `chorus_pm_*_proposal` / `chorus_pm_*_draft` / `chorus_pm_create_tasks` / `chorus_pm_assign_task` / `chorus_*_task_dependency` | `proposal:write` | No | Yes | Yes |
|
|
298
|
+
| `chorus_pm_create_document` / `chorus_pm_update_document` | `document:write` | No | Yes | Yes |
|
|
299
|
+
| `chorus_admin_create_project` / `chorus_admin_*_project_group` / `chorus_admin_move_project_to_group` | `project:write` | No | **Yes** (0.7.0+) | Yes |
|
|
300
|
+
| `chorus_admin_approve_proposal` / `chorus_admin_close_proposal` | `proposal:admin` | No | No | Yes |
|
|
301
|
+
| `chorus_admin_verify_task` / `chorus_admin_reopen_task` / `chorus_admin_close_task` / `chorus_mark_acceptance_criteria` / `chorus_admin_delete_task` | `task:admin` | No | No | Yes |
|
|
302
|
+
| `chorus_admin_delete_idea` | `idea:admin` | No | No | Yes |
|
|
303
|
+
| `chorus_admin_delete_document` | `document:admin` | No | No | Yes |
|
|
279
304
|
|
|
280
305
|
### 5. Review Agent Configuration
|
|
281
306
|
|
|
@@ -367,7 +392,7 @@ This is the core overview skill. For stage-specific workflows, use:
|
|
|
367
392
|
|
|
368
393
|
1. Call `chorus_checkin()` to learn your role and assignments
|
|
369
394
|
2. Based on your role, use the appropriate skill:
|
|
370
|
-
- **Full Auto** → `/yolo` — give a prompt, agent handles everything (requires
|
|
395
|
+
- **Full Auto** → `/yolo` — give a prompt, agent handles everything (requires Admin-preset permissions: write on every resource + approve/verify admin bits)
|
|
371
396
|
- PM Agent → `/idea` then `/proposal`
|
|
372
397
|
- Developer Agent → `/develop`
|
|
373
398
|
- Admin Agent → `/review` (also has access to all PM and Developer tools)
|
|
@@ -4,7 +4,7 @@ description: Chorus Development workflow — claim tasks, report work, manage se
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.8.0"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -226,6 +226,8 @@ Find the most recent comment containing `VERDICT:` and act on it:
|
|
|
226
226
|
- **VERDICT: PASS WITH NOTES** — All AC verified, minor notes. Proceed to admin verification (notes are non-blocking).
|
|
227
227
|
- **VERDICT: FAIL** — BLOCKERs found. Do NOT verify. Fix the BLOCKERs listed in the reviewer's comment, then resubmit.
|
|
228
228
|
|
|
229
|
+
If no new `VERDICT:` comment appears after the reviewer returns, it exhausted its `maxTurns` budget before posting. Respawn it ONCE with a concise-budget hint in the prompt: *"Stay within turn budget. Skip deep verification. Fetch task/proposal/comments, run only the core tests, and post your VERDICT comment within the first 12 turns."* If the second attempt still produces no VERDICT, review manually using the checklist and proceed.
|
|
230
|
+
|
|
229
231
|
### Step 9: Handle Review Feedback
|
|
230
232
|
|
|
231
233
|
If the reviewer returns **FAIL**, or the task is reopened after verification:
|
|
@@ -4,7 +4,7 @@ description: Chorus Proposal workflow — create proposals with document and tas
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.8.0"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -266,7 +266,7 @@ chorus_pm_assign_task({ taskUuid: "<task-uuid>", agentUuid: "<developer-agent-uu
|
|
|
266
266
|
```
|
|
267
267
|
|
|
268
268
|
- Task must be `open` or `assigned`
|
|
269
|
-
- Target agent must have `
|
|
269
|
+
- Target agent must have `task: ["write"]` permission
|
|
270
270
|
|
|
271
271
|
---
|
|
272
272
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quick-dev
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.8.0
|
|
4
4
|
description: Quick Task workflow — skip Idea→Proposal, create tasks directly, execute, and verify.
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -37,7 +37,7 @@ For complex work, use `/idea` + `/proposal` instead.
|
|
|
37
37
|
|
|
38
38
|
## Pre-Flight: Admin Self-Verify Check
|
|
39
39
|
|
|
40
|
-
**Before creating tasks**, if
|
|
40
|
+
**Before creating tasks**, if `chorus_checkin().agent.permissions.task` includes `"admin"`, ask the user:
|
|
41
41
|
|
|
42
42
|
> "I have admin privileges. After development, should I verify the task myself, or leave it for another admin to verify?"
|
|
43
43
|
|
|
@@ -149,7 +149,7 @@ chorus_submit_for_verify({
|
|
|
149
149
|
})
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
**Admin self-verification:** If you have
|
|
152
|
+
**Admin self-verification:** If you have `task: ["admin"]` in `permissions` and the user approved self-verification in the Pre-Flight check, you can verify the task yourself immediately after submitting:
|
|
153
153
|
|
|
154
154
|
```
|
|
155
155
|
chorus_admin_verify_task({ taskUuid: "<task-uuid>" })
|
|
@@ -4,7 +4,7 @@ description: Chorus Review workflow — approve/reject proposals, verify tasks,
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.8.0"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -69,8 +69,9 @@ When reviewing proposals or tasks, prefer spawning an independent reviewer sub-a
|
|
|
69
69
|
- **VERDICT: PASS** — No issues found. Approve (proposals) or mark AC passed and verify (tasks).
|
|
70
70
|
- **VERDICT: PASS WITH NOTES** — Minor non-blocking notes. Still approve/verify. Notes are informational.
|
|
71
71
|
- **VERDICT: FAIL** — BLOCKERs found. Reject (proposals) or reopen (tasks). Fix the specific BLOCKERs listed in the comment before resubmitting.
|
|
72
|
-
3. **
|
|
73
|
-
4. **
|
|
72
|
+
3. **No new VERDICT comment?** The reviewer exhausted its `maxTurns` budget before posting. Respawn it ONCE with an explicit prompt like: *"Stay within your turn budget. Skip deep source verification — batch all MCP fetches up front, skim for obvious BLOCKERs only, and reserve your last few turns to post the VERDICT comment."* If the second attempt also fails to post, review manually using the checklists below.
|
|
73
|
+
4. **Track rounds.** Count existing VERDICT comments before spawning. After 3 rounds of FAIL on the same item, stop the loop and escalate to human review.
|
|
74
|
+
5. **Fallback.** If the reviewer is unavailable (e.g., agent type not registered, sub-agent spawn fails), review the item yourself using the quality checklists in the workflows below.
|
|
74
75
|
|
|
75
76
|
---
|
|
76
77
|
|
|
@@ -4,7 +4,7 @@ description: Full-auto AI-DLC pipeline — from prompt to done. Automates the en
|
|
|
4
4
|
license: AGPL-3.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: chorus
|
|
7
|
-
version: "0.
|
|
7
|
+
version: "0.8.0"
|
|
8
8
|
category: project-management
|
|
9
9
|
mcp_server: chorus
|
|
10
10
|
---
|
|
@@ -53,28 +53,25 @@ Full-auto AI-DLC pipeline. User provides a prompt; agent drives the entire lifec
|
|
|
53
53
|
|
|
54
54
|
## Prerequisites
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
The API key needs write + admin on every resource it touches:
|
|
57
57
|
|
|
58
|
-
|
|
|
58
|
+
| Needs | Why |
|
|
59
59
|
|------|-----|
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
|
|
64
|
-
Sub-agents share the same API key as the main agent. The plugin injects session info into sub-agents, but **roles come from the API key itself**, not from hook injection.
|
|
60
|
+
| `idea: [write]` | Create ideas, run elaboration |
|
|
61
|
+
| `proposal: [write, admin]` | Create proposals; approve them |
|
|
62
|
+
| `task: [write, admin]` | Create, execute, verify tasks |
|
|
63
|
+
| `project: [write]` | Create the project if none is given |
|
|
65
64
|
|
|
66
65
|
**Check at startup:**
|
|
67
66
|
|
|
68
67
|
```
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
required = ["pm_agent", "admin_agent", "developer_agent"]
|
|
73
|
-
missing = [r for r in required if r not in roles]
|
|
68
|
+
perms = chorus_checkin().agent.permissions
|
|
69
|
+
need = { idea: ["write"], proposal: ["write","admin"],
|
|
70
|
+
task: ["write","admin"], project: ["write"] }
|
|
74
71
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
for resource, actions in need:
|
|
73
|
+
missing = [a for a in actions if a not in (perms[resource] or [])]
|
|
74
|
+
if missing: ABORT "/yolo needs {resource}: {missing}. Use an Admin-preset API key."
|
|
78
75
|
```
|
|
79
76
|
|
|
80
77
|
---
|
|
@@ -288,6 +285,8 @@ After `chorus_pm_submit_proposal`, the PostToolUse hook injects context instruct
|
|
|
288
285
|
Proposal UUID: <uuid>"
|
|
289
286
|
```
|
|
290
287
|
|
|
288
|
+
4. **No new VERDICT comment after reviewer returns?** The reviewer exhausted its `maxTurns` budget. Respawn it ONCE with a concise-budget hint: *"Stay within turn budget. Skip deep source verification. Fetch proposal + comments + idea only, skim for obvious BLOCKERs, and post your VERDICT within the first 10 turns."* If the second attempt still produces no VERDICT, treat the proposal as PASS WITH NOTES and proceed — the pipeline cannot loop forever on a silent reviewer.
|
|
289
|
+
|
|
291
290
|
---
|
|
292
291
|
|
|
293
292
|
### Phase 3: Task Execution (Wave-Based)
|
|
@@ -415,6 +414,8 @@ ESCALATE: "Task '{title}' failed review after {maxRounds} rounds.
|
|
|
415
414
|
|
|
416
415
|
Continue with remaining tasks -- do not halt the entire pipeline for one stuck task.
|
|
417
416
|
|
|
417
|
+
**No new VERDICT comment after the task-reviewer returns?** It exhausted its `maxTurns` budget. Respawn it ONCE with a concise-budget hint: *"Stay within turn budget. Skip deep verification. Fetch task/proposal/comments, run only the core tests, and post your VERDICT within the first 12 turns."* If the second attempt also produces no VERDICT, treat as PASS WITH NOTES and proceed — do not loop indefinitely.
|
|
418
|
+
|
|
418
419
|
---
|
|
419
420
|
|
|
420
421
|
### Phase 5: Report
|
|
@@ -448,7 +449,7 @@ After all waves complete, output a markdown summary:
|
|
|
448
449
|
|
|
449
450
|
| Scenario | Action |
|
|
450
451
|
|----------|--------|
|
|
451
|
-
| Missing
|
|
452
|
+
| Missing permissions at startup | Abort with message listing the missing resource/action pairs (see Prerequisites). Recommend an Admin-preset API key. |
|
|
452
453
|
| Project creation fails | Report error, suggest user create project manually and retry with `--project` |
|
|
453
454
|
| Proposal reviewer FAIL after maxRounds | Stop pipeline, report persisting BLOCKERs, suggest manual review |
|
|
454
455
|
| Task reviewer FAIL after maxRounds | Flag task as escalation-needed, continue with other tasks |
|
|
@@ -464,7 +465,7 @@ After all waves complete, output a markdown summary:
|
|
|
464
465
|
- Watch the wave count -- if tasks keep getting reopened, consider Ctrl+C and manually reviewing the feedback
|
|
465
466
|
- All audit trail is preserved: elaboration Q&A, reviewer VERDICTs, work reports. Check Chorus UI for full history
|
|
466
467
|
- For small/simple tasks, consider `/quick-dev` instead -- it skips the Idea->Proposal overhead
|
|
467
|
-
- Sub-agents share your API key; ensure it has
|
|
468
|
+
- Sub-agents share your API key; ensure it has the permissions listed in Prerequisites before starting
|
|
468
469
|
|
|
469
470
|
---
|
|
470
471
|
|