Overview
All projects ยท this week
Blockers
2
across 2 projects
Awaiting Approval
3
oldest: 2 days
Shipped This Week
8
across 4 projects
AI Executions
4
active right now

๐Ÿ“… Upcoming deadlines

Next 14 days
Mon 7Cert submission deadlineDiamond Hunter VIPCert
Wed 9Cycle 5 endsBang BangCycle
Wed 9QA build due to partnerFiesta ExplosivaRelease
Fri 11Art asset freezeKongMilestone
Mon 14Engine v4.2 upgrade windowAll projectsEngine
Wed 16Sprint retro & planningBang BangMeeting
Fri 18GLI submission targetRomansaCert

Team focus

Tue 6 Apr

โšก Needs action

7 items
MRs to review (3)
NVA-051 WebSocket reconnect
Bang Bang
3h
NVA-049 Command palette shortcuts
Bang Bang
6h
NVA-048 Translations CSV import
Arctic Catch
2d
Awaiting approval (2)
NVA-048 MR ready to merge โ€” needs sign-off
Arctic Catch
5h
Planning thread: Romansa cert strategy
Romansa
1d
Blocked (2)
Cert blocker: max win exceeds declared limit
Diamond Hunter VIP
3d
Payment gateway timeout on high-stake bets
Diamond Hunter VIP
2d

โœฆ AI activity

Live
Executing NVA-053 โ€” Auth token refresh on Bang Bang
12m
Opened MR for NVA-051 โ€” WebSocket reconnect
1h
Waiting for approval on NVA-048 โ€” Translations CSV import
2h
โœ“
NVA-046 merged โ€” Cheats schema validation
3h
Executing NVA-049 โ€” Command palette shortcuts
3h
โœ“
NVA-047 merged โ€” Splash screen layout
4h
Revision requested on NVA-044 โ€” reworking error handling
5h
โœ“
NVA-043 merged โ€” Sidebar nav responsive breakpoints
6h
📢 Company news
📌 Cert submission deadline moved to Monday Deadline
Diamond Hunter VIP cert window closes Mon Apr 7. All blockers need to be resolved by EOD Friday — no exceptions.
FFrank·2h ago
Edit
Delete
Diamond Hunter VIP live on Google Play Release
Soft launch went smoothly. Monitoring crash rates for the first 48h before widening rollout.
FFrank·Yesterday
Edit
Delete
Power Potz added to Nova AI New Project
Pre-dev project now tracked. Seb will be running point — specs landing next week.
DDan·Apr 4
Edit
Delete
Cycle 5 kickoff Milestone
SSeb·Apr 2
Edit
Delete
Engine v4.2 available for all projects Announcement
Upgrade guide in the docs hub. No breaking changes — safe to update whenever.
DDan·Mar 28
Edit
Delete
Show 3 more →
โœฆ This week: 8 tickets completed across 4 projects. 2 blockers on Diamond Hunter VIP need attention โ€” cert submission deadline is tomorrow. Cycle 5 ends Wednesday with 8 days of work remaining. 3 MRs awaiting review, oldest is 2 days.
Planning Threads
3 plans awaiting review
In Review
3
Approved This Cycle
7
Avg. Review Time
18h
NVA-052 2 of 3 approved
Technical plan: Collaborative planning threads for feature tickets
Dan R.·1d ago
DR
PK
SP
1 open question Feature High
NVA-053 Approved ✓
Technical plan: Miro board integration as execution context
Sara P.·2d ago
DR
PK
Feature Medium
NVA-056 0 of 2 approved
Technical plan: Cheats database — CRUD for PMs + runtime API
Dan R.·3d ago·Draft
SP
FK
3 open questions Feature Medium
⏳ 2 of 3 approved · execution locked
NVA-052 · Pulled From The Deep

Technical plan: Collaborative planning threads for feature tickets

DR
Dan R. · Opened 1 day ago · Drafted with AI ✦
Context shelf 3 What the team and AI work from
driveFree spins design v2× docsBonus round mechanics× ticketPFD-031Base game spin loop×
Searching for context · type @ in the proposal
@ bonus 8 matches
code scope: bbg/pulled-from-the-deep cycle
All Code Docs Drive Tickets Snippets
Code bbg/pulled-from-the-deep
file bonus/round.ts src/bonus/round.ts
file bonus-trigger.ts src/bonus/trigger.ts
folder src/bonus 12 files
Drive workspace
drive Free spins bonus — math sheet Game Design / Pulled From The Deep
Docs workspace
docs Bonus round mechanics architecture/bonus-mechanics.md
↑↓navigate insert scope esccancel
Hidden by scope: + 47 files across 49 other games

📄 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:

  1. title, body (Markdown), status (draft | in_review | approved | executing)
  2. approvals[] — array of { userId, status, timestamp }
  3. questions[] — threaded open questions with resolution tracking
  4. ticketRef — 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

"Should the AI review use Haiku or Sonnet?"
Resolved by Dan — Sonnet for quality, Haiku for classification only
"Do we need per-project approval requirements?"
Resolved by Sara — workspace-level is fine for v1
?
"What happens if an approver leaves the team mid-review?"
Asked by Priya K. · 6 hours ago
PK
Priya K.6h ago
What happens if an approver leaves the team mid-review? Should there be an admin override or automatic reassignment? This could block execution indefinitely.
DR
Dan R.4h ago
Good point. I think an admin override is the simplest path — any workspace admin can approve on behalf of a departed member. We can add automatic reassignment in a future iteration.
SP
Sara P.2h ago
Approved. The admin override approach works well for v1. Workspace-level approval config is fine — we can add per-project rules later if needed.
Status
Planning — In Review
Execution locked
Approvals
2 of 3 approved
DR
Dan R. 1d ago
SP
Sara P. 2h ago
PK
Priya K. Pending
+ Add approver
AI Suggested
✦ Suggested
JM
Jordan M.
Last touched TicketDetail.tsx
Add
Linked Repos
bbg/pulled-from-the-deepprimary
bbg/shared-enginelinked
bbg/audio-toolslinked
+ link a repo for this ticket
# nova.yml at repo root name: pulled-from-the-deep linked_repos: - bbg/shared-engine - bbg/audio-tools
Execution Gate
All approvers responded
No blocking questions
3 of 3 approved
72h review timeout
Priority
High
Estimate
XL · ~12h
Cycle
Cycle 9
Labels
frontendplanningai-ready
Docs Hub
Knowledge base — 9 spaces · 147 pages
Your spaces
3 starred
🎰
Bang Bang Games
Company-wide documentation. Onboarding, processes, architecture decisions, tooling guides.
GitLab Wiki·32 pages·2d ago
</>
Framework Docs
PyRoller framework documentation. GDK setup, HFQ testing, game stats customisation.
GitLab Wiki·24 pages·4h ago
Production
Deployment runbooks, Cloud Run config, monitoring dashboards, incident response.
GitLab Wiki·18 pages·1w ago
All spaces
9
🎰
Bang Bang Games
Company-wide documentation. Onboarding, processes, architecture decisions.
GitLab Wiki·32
</>
Framework Docs
PyRoller framework, GDK, HFQ testing tools, OGA integration.
GitLab Wiki·24
Legal
Contract templates, compliance documentation, licensing terms.
GitLab Wiki·8
Light & Wonder
Vendor documentation and platform requirements. Certification processes.
GitLab Wiki·14
🚀
Onboarding
New team member guides. Environment setup, tooling access, first-week checklists.
GitLab Wiki·11
Production
Deployment, monitoring, incident response, infrastructure runbooks.
GitLab Wiki·18
Tequity
Tequity platform documentation, API specs, integration guides.
GitLab Wiki·9
🌳
Yggdrasil
Yggdrasil platform documentation and integration specifications.
GitLab Wiki·12
📁
Google Drive
Shared Drive files — game design docs, art briefs, spreadsheets, business documents.
Google Drive·19 files
Recently viewed
📄
Installing GDK
Framework Docs · GDK
35 min ago
📄
HFQ User Guide
Framework Docs · HFQ
2h ago
📄
QA Submission Process
Bang Bang Games · Process
Yesterday
📄
Pulled from the Deep — GDD v2.1
Google Drive · Game Specs
Yesterday
Docs HubFramework Docs
</>
Framework Docs
🎰Games
📄Blazing 777 2x3x5x Nudge
📄Blazing 777 Triple Double Jackpot
📄Chilli Champions Ghost Lock
📄Pulled from the Deep UltranudgeNEW
🔧GDK
📎Installing GDK
📎Testing Games in GDK
📊HFQ
📎HFQ User Guide
📎Game Stats Customisation Guide
📎HFQ Cloud 2.0⚠ STALE
🔗OGA
📎Developing PyRoller OGA
🚀Onboarding
📋Developer Guide
📋Environment Setup
🛠Tools
📎BBG CLI Tool — Complete User Guide
API
📎General API
🐍PyRoller
📎PyRoller Framework Documentation
Linked Google Drive Files
📄PyRoller Maths Engine — Deep Dive
📈Game Stats Config Matrix (Sheet)
Pulled from the Deep Ultranudge
GitLab Wiki · Framework Docs · Games / Pulled from the Deep Ultranudge · Updated 4h ago by Dan

Overview

Pulled from the Deep Ultranudge is a 5-reel, 3-row slot game using the Ultranudge mechanic. Features an underwater theme with deep-sea creatures and treasure hunting. Built on PyRoller framework v4.2.

Game Configuration

# nova.yml — pulled-from-the-deep
game:
  id: pulled-from-the-deep-ultranudge
  engine: pyroller@4.2
  vendor: spark
  rtp_target: 96.15
  volatility: medium-high

cheats:
  enabled: true
  endpoint: /api/games/pulled-deep/cheats

translations:
  locales: [en, es, pt, de, fr, it, ja, zh]
  fallback: en

Reel Mechanics

The Ultranudge mechanic triggers when a winning combination lands partially visible. Reels nudge up or down to complete the win, with each nudge increasing a multiplier by 1x.

  • Base nudge multiplier: 2x – 5x per cascade
  • Free spins: nudge multipliers persist across spins (no reset)
  • Maximum theoretical multiplier: 15x (5 consecutive nudges in free spins)

API Endpoints

Standard PyRoller game API contract with game-specific extensions:

  • POST /api/games/pulled-deep/spin — execute a spin
  • GET /api/games/pulled-deep/state — current game state
  • GET /api/games/pulled-deep/cheats — cheat configuration (dev only)
  • POST /api/games/pulled-deep/freespin — trigger free spins (dev only)

Certification Status

Submitted to GLI on 18 Mar 2026. Expected turnaround: 6–8 weeks. Blocker: RNG seed documentation needs update before resubmission. Tracked in NVA-089.

✦ Ask AI
Related
Gemini 2.5 Flash
Ask anything about this page. Gemini reads the full content and answers with section citations.
AI Executing
Autonomous implementations currently in progress
In Progress
2
Completed Today
3
Avg Duration
47m
Success Rate
94%
Currently executing
NVA-047 โ€” Auth tokens expire silently EXECUTING
Implementing token expiry interceptor with automatic refresh. Branch fix/nva-047-auth-token created 2 minutes ago.
Priority
URGENT
Estimate
~3h
Files
4 planned
Model
Sonnet 4.6
14:02:03PLANโœ“ Plan approved by Dan R., Sara P., Priya K.
14:02:17WRITEโœ“ Branch created from main @ a3f8c21
14:04:31READ Implementing auth interceptor middleware...
โ—ฏ Run tests
โ—ฏ Open MR
NVA-055 โ€” Add loading skeleton to dashboard EXECUTING
Adding shimmer loading states to the overview dashboard cards. Branch feat/nva-055-loading-skeleton created 18 minutes ago.
Priority
MEDIUM
Estimate
~1h
Files
2 planned
Model
Sonnet 4.6
13:46:12PLANโœ“ Plan auto-approved (small task, single approver)
13:46:28WRITEโœ“ Branch created from main @ a3f8c21
13:49:55WRITEโœ“ Skeleton component created
13:52:18READ Integrating into dashboard cards...
โ—ฏ Run tests
โ—ฏ Open MR
Completed today
StatusIDTitleDurationResultWhen
NVA-044Roadmap milestone view for Q242mMERGED2h ago
NVA-040Fix pagination on issues list API28mMERGED8h ago
NVA-048Update footer copyright year8mMERGED1d ago
โ„น
Nova AI executes tickets autonomously using Claude Sonnet 4.6. Each execution creates a branch, implements changes, runs tests, and opens a merge request. The AI can handle up to 3 concurrent executions. Execution requires all plan approvals and open questions to be resolved first.
MR Review
Merge requests awaiting human review
Awaiting Review
3
Approved Today
2
Avg Review Time
4.2h
Merge Rate
97%
Open merge requests
!247 โ€” WebSocket reconnect drops messages 31h WAITING
NVA-051 ยท Fixes race condition in WebSocket reconnection that causes message loss during network transitions.
4 files +186 โˆ’42 feat/nva-051-ws-reconnect โ†’ main
AI
Nova AI โ†’
DR
Dan R. (reviewer) CI PASSING
!246 โ€” โŒ˜K global command palette 34m WAITING
NVA-046 ยท Adds a global keyboard shortcut (โŒ˜K) that opens a fuzzy-search command palette for quick navigation.
3 files +247 โˆ’12 feat/nva-046-command-palette โ†’ main
AI
Nova AI โ†’
DR
Dan R. (reviewer) CI PASSING
!244 โ€” Roadmap milestone view for Q2 2h WAITING
NVA-044 ยท Adds a Gantt-style roadmap view for Q2 milestones with automatic phase derivation from GitLab.
6 files +312 โˆ’28 feat/nva-044-roadmap-q2 โ†’ main
AI
Nova AI โ†’
PK
Priya K. (reviewer) CI PASSING
Recently merged
MRTitleAuthorReviewerReview TimeMerged
!243SSE endpoint for live executionNova AISara P.2.1h3d ago
!241Firestore security rules auditNova AIDan R.5.4h5d ago
!240Fix pagination on issues list APINova AIDan R.1.8h1d ago
โ„น
Every AI execution automatically opens a merge request when complete. MRs are assigned to the most relevant human reviewer based on file ownership. Review reminders escalate: gentle at 24h, direct at 48h, CC ticket owner at 72h, CC team lead at 96h+.
🔧 Snippets
12 snippets across 5 folders
📁auth3
📁api3
📁firestore2
📁cloud-run2
📁utils2
+Add snippet

Graceful shutdown handler

Cloud Run graceful shutdown with connection draining and cleanup hooks

cloud-runlifecycletypescript
Dan R. · Updated 3 days ago

Startup probe endpoint

Health check endpoint for Cloud Run startup probe configuration

cloud-runhealthfastify
Priya K. · Updated 1 week ago
graceful-shutdown.tsTypeScript
1/** 2 * @title Graceful shutdown handler 3 * @description Cloud Run graceful shutdown with connection draining 4 * @tags cloud-run, lifecycle, typescript 5 * @author Dan R. 6 * @created 2026-03-12 7 * @updated 2026-03-29 8 */ 9 10import { FastifyInstance } from 'fastify'; 11 12export function registerShutdown(app: FastifyInstance) { 13 let isShuttingDown = false; 14 15 const shutdown = async (signal: string) => { 16 if (isShuttingDown) return; 17 isShuttingDown = true; 18 19 app.log.info(`Received ${signal}, starting graceful shutdown`); 20 21 // Stop accepting new connections 22 await app.close(); 23 24 // Drain active connections (Cloud Run gives 10s by default) 25 app.log.info('Connections drained, exiting'); 26 process.exit(0); 27 }; 28 29 process.on('SIGTERM', () => shutdown('SIGTERM')); 30 process.on('SIGINT', () => shutdown('SIGINT')); 31}
Language
TypeScript
Folder
cloud-run
Author
Dan R.
Created
12 Mar 2026
Updated
29 Mar 2026
Tags
cloud-runlifecycletypescript
This snippet has been automatically linked to 2 tickets where the AI detected a matching pattern.
📚 Snippets live in the nova-ai-snippets GitLab repo. When AI executes a ticket, it automatically searches this library for matching patterns and follows your team's conventions.
💰 Costs & Budget
March 2026
March 2026
Total spend
$31.40
of $150 budget · 21%
Claude API
$19.80
63 executions · avg $0.31/exec
Gemini / Vertex
$4.20
doc Q&A + stale detection
GCP Infra
$7.40
Cloud Run · Firestore · Redis
Alert threshold
Hard limit
$0$31.40 spent$120 alert$150 limit
ProjectExecutionsClaudeGeminiTotal
🎰Pulled From The Deep28$8.40$1.80$10.20
🎲Romansa18$5.60$1.20$6.80
🐸Kong12$3.90$0.80$4.70
💎Diamond Hunter VIP5$1.90$0.40$2.30
🌶Fiesta Explosiva4$1.20$0.30$1.50
Arctic Catch3$0.80$0.20$1.00
🤡Joker Wild UltraNudge2$0.60$0.10$0.70

Nova AI vs per-seat tools

Nova AITraditional PM
Monthly cost$31.40$200.00
ModelPay per execution$20/seat × 10
Data locationYour GCPTheir servers
AI executes code
Based on current usage. Nova AI cost scales with what you ship, not how many people you have.

Daily spend — March 2026

avg
151015202531
📚 All costs are calculated from Anthropic and Vertex AI API billing data plus GCP Cloud Billing export. Budget alerts fire at 80% via Nova AI notification. Hard limits are enforced — AI execution pauses if the monthly budget is hit.

Post announcement ×