Repository navigation
feat: migrate PlanProof verification to zero-idle Cloud Tasks architecture - #1
Merged
Merged
Conversation
…able MongoDB outbox - Replace Redis queue transport with Google Cloud Tasks serverless dispatch - Implement durable outbox pattern in MongoDB with run_dispatch_outbox collection - Introduce monotonic execution generations (run-<id>-g<gen>) for safe task deduplication across HITL resume - Add atomic MongoDB execution lease claiming, expiration fencing, and periodic heartbeats - Implement multi-period quota buckets and atomic reservation tracking in MongoDB
- Add PLANPROOF_RUNTIME_ROLE (api vs worker) to partition public vs internal routes - Implement fail-closed runtime startup on invalid role configuration in production - Require Google Cloud IAM OIDC bearer authentication with target audience validation on internal worker endpoints - Configure Cloud Tasks dispatch with explicit 1800s deadline matching Cloud Run timeout
- Bind frontend API requests to server-side authentication sessions with credentials inclusion - Update GitHub app connection routes and workspace navigation to respect session states - Configure security headers and caching policies in next.config.mjs and firebase.json
- Add comprehensive unit tests for Cloud Tasks dispatch deadline and task naming - Test role-based route isolation for api vs worker and fail-closed boot behavior - Test OIDC audience verification and invoker service account authorization - Test execution claim leasing, expiration fencing, and retryable 503 responses - Validate Redis-free boot and /health/ready check asserting mongo=ok and queue=cloud_tasks
… decommission - Update architectural diagrams and descriptions for Cloud Tasks and scale-to-zero worker - Document real production E2E proof run (375a0873-1fd5-4172-a025-19510cc03d6a) - Document Redis decommission status and near-zero idle verification execution cost - Update GCP deployment runbook with exact queue and scheduler targets - Clarify lexical retrieval boundaries and obligation counting logic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
min-instances=0,max-instances=1,concurrency=1,timeout=1800s).run-<run_id>-g<gen>) for deterministic deduplication acrossHUMAN_WAITpauses and resumes.503 Service UnavailablewithRetry-After: 15on active unexpired leases).PLANPROOF_RUNTIME_ROLE(apivs.worker), failing closed on unknown roles.dispatch_deadline = 1800s)./internal/tasks/process-outbox) for orphan recovery.Production validation
Clarification:
INCONCLUSIVEis a valid, correct domain verification result reflecting bounded lexical search without false positives, not an infrastructure or worker execution failure.Infrastructure state
planproof-redis) removed and decommissioned.min-instances=0(scale-to-zero).planproof-verification-queue) and Cloud Scheduler active.planproof-router), Cloud NAT (planproof-nat), and static external IP (34.93.153.36) deliberately retained for MongoDB Atlas access.Validation
Current pre-merge quality gates passing cleanly on
cost-hardening-zero-idle:122 passed, 20 deselected, 19 warnings in 34.69s(Exit Code: 0)All checks passed!(Exit Code: 0)Secret scan passed: no tracked credential patterns detected.(Exit Code: 0)tsc --noEmitpassed (Exit Code: 0)6 passed (56.0s)(Exit Code: 0)Safety