Open Items & Accepted Risks Register¶
| Field | Value |
|---|---|
| Status | live |
| Owner | DIR / OPS |
| Applies to | Accepted risks and open operational actions that must stay visible before GA or a production availability SLA. |
| Last updated | 2026-06-14 |
| Evidence | partile-ops: infra/envs/prod-gcp/; partile-ops: infra/edge/cloudflare/; selfheal PR-1 deployed remediation responder facts (infra/remediation/, atelier/selfheal/pr-1); partile-infra PR-30 seed/purge tooling; ../technical/infrastructure-and-deployment.md; ../control-register.md. |
Rules¶
- This register contains labels and decisions only. Do not paste secrets, account IDs, raw provider JSON, token-bearing URLs, or real user data.
- Accepted risks need a rationale, compensating controls, an owner, and a review trigger.
- Open actions remain open until evidence is recorded in Tier 1 or referenced as Tier 2 restricted evidence.
Accepted Risks¶
| ID | Risk / decision | Status | Rationale | Compensating controls | Review trigger |
|---|---|---|---|---|---|
| RSK-001 | GCP Domain Restricted Sharing relaxed project-scoped to allow allUsers Cloud Run invoker on the public API |
accepted | api.partile.app is a public consumer API; Cloud Run needs public invoker for unauthenticated edge reachability before app auth runs |
LinkedIn OIDC sessions protect product endpoints; object authorization enforced in SQL; Cloud SQL private IP only; Redis private VPC; no admin plane; exception scoped to partile-prod |
Before GA, before any admin plane, or if Cloud Run ingress/auth model changes |
| RSK-002 | Tagged pre-launch mock seed data may be loaded into production | accepted for pre-launch only | Realistic product testing needs a production-like graph before real users | Seed accounts are explicit users.is_seed = true; data is mock, not real PII; purge command and smoke prove seed-owned rows are removed; purge-before-GA is an open gate |
Before GA, before accepting real users, or after any seed schema change |
| RSK-003 | Control-plane VM production access is keyless via attached director-agent@partile-prod, but process separation for otto executors is by convention |
accepted temporarily — blast radius materially reduced 2026-07-02/04 | Keyless metadata-server auth avoids long-lived GCP key files for director production operations from partile-control and supports auditable Cloud SDK use. Root-and-branch review R1/R4/R10 (partial close, verified 2026-07-04): director-agent de-privileged off roles/owner to roles/editor; roles/owner is human-only (admin@partile.app); billing-card-*/recovery secrets have no standing bindings (admin@ break-glass only, exercised 2026-07-03); a compromised VM identity is no longer project Owner |
Use the non-snap Cloud SDK path /opt/agent/otto/google-cloud-sdk; no key files in Tier 1/Tier 2 working dirs; record access reviews; keep sensitive GCP console/state evidence restricted; per-secret accessor ACLs; OS-level executor/director isolation still open — tracked in ACT-009 |
Before GA, before adding broader executor access, before production SLA, or when per-agent identity/isolation is available |
Open Actions¶
| ID | Action | Owner | Priority | Due / gate | Status | Evidence needed to close |
|---|---|---|---|---|---|---|
| ACT-001 | Rotate the Cloudflare API token that an operator note says appeared in chat history | OPS | P0 | Before further unattended Cloudflare changes | open | Tier 2 rotation record; Tier 1 note that token was rotated, without value |
| ACT-002 | Create a separate staging environment before GA | OPS | P1 | GA gate | open | Staging Terraform/workload evidence; production/staging separation notes |
| ACT-003 | Upgrade availability posture before any production SLA | OPS | P1 | Production SLA gate | open | Cloud SQL REGIONAL, Redis STANDARD_HA or accepted equivalent, RTO/RPO decision, failover test |
| ACT-004 | Run and verify seed-data purge before GA | OPS / INFRA | P1 | GA gate / before real users | open | app.purge_seed and seed smoke summary proving no seed-owned rows remain and real rows are untouched |
| ACT-005 | Run a restore drill against Cloud SQL backups/PITR | OPS | P1 | Private beta / SLA gate | open | Restore-drill summary, restore time, re-erase handling, lessons learned |
| ACT-006 | Define operational SLOs, alerting, and on-call runbooks | OPS / DIR | P2 | Before production SLA | open | availability-and-operations.md plus formal SLOs, on-call ownership, runbooks, and alert response evidence; initial observe alerts and remediation notification wiring exist but do not close this action |
| ACT-007 | Complete DPA/transfer review for Google Cloud, Cloudflare, LinkedIn, Anthropic, and Apple/EAS | COUNSEL / DIR | P1 | Before real user data where required | open | Restricted DPA pointers and updated subprocessor register |
| ACT-008 | Decide whether and how to roll remediation-responder from SHADOW to enforce mode |
OPS / DIR | P1 | Before ENFORCE=true or any autonomous prod mutation |
open | Shadow decision-log review, false-positive review, allowlist/runbook tests, circuit-breaker evidence, rollback plan, operator approval, and change record |
| ACT-009 | Harden the partile-control prod-access path beyond by-convention otto process separation |
OPS / DIR | P1 | Before GA or broader executor use of prod control plane | open | Per-agent identity/isolation design or equivalent metadata-server guard, updated access review, and evidence that executors cannot inherit director-agent@partile-prod unless intended |