Technical plan: Collaborative planning threads for feature tickets
📄 Proposal
Plan together, decide together
Every feature ticket starts here. The author drafts a plan (with AI help if useful), pulls in the relevant code, docs and prior tickets, and gets sign-off from the right people. Once the team agrees, the work goes to whoever's best placed to do it — usually a human. For well-scoped tickets the team can opt in to AI execution, but that's a deliberate choice, not the default path.
Data model
Plans are stored in Firestore under workspaces/{wid}/plans/{planId}. Each plan document contains:
title,body(Markdown),status(draft | in_review | approved | executing)approvals[]— array of{ userId, status, timestamp }questions[]— threaded open questions with resolution trackingticketRef— GitLab issue IID link
Affected files
src/pages/PlanningThread.tsx, src/components/ApprovalGate.tsx, src/hooks/usePlanStatus.ts, functions/onPlanApproved.ts
✦ Nova AI Review
Suggestion 1: Consider adding a "Draft with AI" button that pre-populates the plan body from the issue description and related docs. This reduces time-to-first-review by approximately 60% based on similar workflows.
Suggestion 2: For the execution gate, consider using Cloud Tasks rather than a cron-based check. Cloud Tasks provides exactly-once delivery and handles retries gracefully, which is important for triggering AI execution.
❓ Open Questions 2 / 3 resolved
Resolved by Dan — Sonnet for quality, Haiku for classification only
Resolved by Sara — workspace-level is fine for v1
Asked by Priya K. · 6 hours ago
Last touched TicketDetail.tsx
fix/nva-047-auth-token created 2 minutes ago.main @ a3f8c21feat/nva-055-loading-skeleton created 18 minutes ago.main @ a3f8c21| Status | ID | Title | Duration | Result | When |
|---|---|---|---|---|---|
| NVA-044 | Roadmap milestone view for Q2 | 42m | MERGED | 2h ago | |
| NVA-040 | Fix pagination on issues list API | 28m | MERGED | 8h ago | |
| NVA-048 | Update footer copyright year | 8m | MERGED | 1d ago |
| MR | Title | Author | Reviewer | Review Time | Merged |
|---|---|---|---|---|---|
| !243 | SSE endpoint for live execution | Nova AI | Sara P. | 2.1h | 3d ago |
| !241 | Firestore security rules audit | Nova AI | Dan R. | 5.4h | 5d ago |
| !240 | Fix pagination on issues list API | Nova AI | Dan R. | 1.8h | 1d ago |
Graceful shutdown handler
Cloud Run graceful shutdown with connection draining and cleanup hooks
Startup probe endpoint
Health check endpoint for Cloud Run startup probe configuration
nova-ai-snippets GitLab repo. When AI executes a ticket, it automatically searches this library for matching patterns and follows your team's conventions.| Project | Executions | Claude | Gemini | Total |
|---|---|---|---|---|
| 🎰Pulled From The Deep | 28 | $8.40 | $1.80 | $10.20 |
| 🎲Romansa | 18 | $5.60 | $1.20 | $6.80 |
| 🐸Kong | 12 | $3.90 | $0.80 | $4.70 |
| 💎Diamond Hunter VIP | 5 | $1.90 | $0.40 | $2.30 |
| 🌶Fiesta Explosiva | 4 | $1.20 | $0.30 | $1.50 |
| ❄Arctic Catch | 3 | $0.80 | $0.20 | $1.00 |
| 🤡Joker Wild UltraNudge | 2 | $0.60 | $0.10 | $0.70 |
Nova AI vs per-seat tools
| Nova AI | Traditional PM | |
|---|---|---|
| Monthly cost | $31.40 | $200.00 |
| Model | Pay per execution | $20/seat × 10 |
| Data location | Your GCP | Their servers |
| AI executes code | ✓ | ✕ |