Identity-graph drift report · Friday 2026-05-22

Source: identity-graph.json (schema xlab-identity-graph.v1, updated 2026-05-22T14:15)

Totals - identities: 3 - organizations: 4 - domains: 7 (+ 23 subdomains) - platforms: 29 - projects: 18 - credentials: 21

1. Unknowns (1)

? values in the graph. One row per gap. Resolve top-down; fill in identity-graph.json directly and bump updated.

# JSON path Where to find the answer
1 platforms.gcp:xlab-co-projects-internal.project_id_immutable GCP Console → Project info → Project ID (immutable)

2. Todos (27)

Open intent captured in graph. Cross-ref tasks board where ref cites one.

ID Task Owner Ref
rename-gcp-project Rename GCP project display name dare-seo-audit → xlab-co-projects-internal dan-workspace task #54
bind-assets-domain Bind assets.gf.cx custom domain to cf-pages:assets-gf-cx dan-personal task #50
fill-cf-account-id Add cf:cf-dare account ID — visible in CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF dashboard URL dan-personal
fill-gcp-project-id Add gcp project_id_immutable dan-workspace
audrey-email-providers Confirm Audrey’s email provider (Workspace? Fastmail?) audrey-personal
audreyinc-email-provider Confirm email provider for audreyinc.com domain audrey-personal
dogwood-www Confirm what serves www.dogwood.house + dogwood.house apex dan-personal
dognscarf-ownership Confirm dognscarf.com ownership + DNS — legacy 2023 project dan-personal
dare-time-repo Identify repo backing cf-pages:dare-time dan-personal
1p-service-account-write Either grant write to current service account, or document the GUI-only write workflow dan-personal
build-audit-script Build xlab_identity_audit.py — diffs this file against gh/wrangler/gcloud/op live state, flags drift nightly dan-personal
build-renderer Build identity-graph renderer at assets.gf.cx/identity/ (CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF-Access-gated) — operator-only navigable view dan-personal
refactor-scripts-to-lookup Migrate hard-coded creds paths in pa_/ dare_/ scripts to use identity_graph.lookup(‘cred-id’) dan-personal
cf-login-migrate Migrate CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF login alias cine@gf.cx → dan@gf.cx, then update cf:cf-dare.login_email in graph dan-personal scheduled for 2026-05-22 by user
clarify-gcp-projects Clarify role of gcp:dare-devreports vs gcp:xlab-co-projects-internal — possibly merge or document distinct purposes dan-workspace discovered 2026-05-22
fill-ebay-creds Mint eBay Sell API credentials when listings reach 10 or seller integration enters scope dan-personal project_ebay_seller_api_integration_parked.md
confirm-gsc-1p-location Confirm GSC OAuth credential 1P storage location + update gsc-readonly cred entry dan-workspace task #39
fill-sense-creds Mint Sense API credentials when home-energy ingest unparked dan-personal project_sense_energy_api_parked.md
fill-privacy-creds Mint Privacy.com API key when agent-purchasing enters active scope dan-personal project_privacy_com_agent_purchasing_thesis.md
amazon-gdpr-ingest Process Amazon GDPR ZIP when delivered (24-72hr from 2026-05-22) → pa_amazon_orders_pull.py dan-personal task #53
drift-pages-projects Add 12 live CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF Pages projects to graph (missing project entries): audrey-health-landing, audreyinc-bookings, dare-ab-edge-health, dare-agent-stack-preview, dare-dashboard-v2-poc, dare-health, dare-time-poc, dash-edge-toggle-preview, dogwood-agent-stack-preview, dogwood-health, edge-sketch-preview, gfcx-id dan-personal discovered 2026-05-22 — live vs graph diff
confirm-twilio-1p-location Confirm Twilio creds 1P storage location + minimal scope (SMS-only? voice?) dan-personal MCP connector active 2026-05-22
shopify-cred-fields Confirm Shopify cred field structure in 1P (admin API token? Storefront API? Theme API?) + populate shopify-audrey.fields dan-personal
confirm-dogs-kv-purpose Clarify CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF KV namespace ‘DOGS’ purpose (likely dogwood-related but undocumented) dan-personal
confirm-cf-token-scope-overlap Audit 5 CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF API tokens — confirm scope boundaries (workers-kv-deploy / portfolio-dns / dare-dns / portfolio-access / agent-edge-deploy) and consolidate if overlapping dan-personal
confirm-github-pat-storage Confirm github-pat-dan 1P storage (vs gh-CLI keychain) + scope (org-wide vs xlab-co only) dan-personal
xlabs-r2-purpose Clarify legacy R2 bucket ‘xlabs’ purpose (created 2023-02-26, oldest bucket — still in use?) dan-personal

3. Parked + pending integrations (6)

Named slots in graph, awaiting trigger to activate. resume_trigger tells you when to un-park.

Platform Status Resume trigger Ref
ebay:gf-llc-seller pending-mint listings >= 10 OR payout reconciliation matters OR sibling platform (Etsy/Mercari) in scope project_ebay_seller_api_integration_parked.md
sense:home-energy parked 3rd ‘I wonder if X is drawing power’ OR electricity-bill anomaly OR pa/utilities/ section build project_sense_energy_api_parked.md
privacy:agent-purchasing parked when an agent needs to spend on Dan’s behalf project_privacy_com_agent_purchasing_thesis.md
amazon:dan-personal no-api-available task #53
sms.to:dan-personal pending-mint when SMS use-case clarifies (cost-sensitive bulk or international)
vapi:dan-personal parked when phone-call capture pipeline enters scope (4th substrate after reddit/Q&A/email) feedback_capture_at_source_durable_substrate.md

4. Migrations in flight (1)

Fields where a _target counterpart exists — change in progress, update once flipped.

Platform Field Current Target Note
cf:cf-dare login_email cine@gf.cx dan@gf.cx Dan migrating cine@gf.cx → dan@gf.cx on 2026-05-22. Update login_email after CDN, security layer, and DNS provider sitting in front of dare.co.uk." data-tip="Cloudflare — the CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF auth refresh.

Generated by bin/xlab_identity_drift_report.py on 2026-05-22.

Workflow for capture: 1. Open identity-graph.json 2. Resolve top-priority unknowns (rows 1-3 in §1) — one edit + bump updated 3. Re-run this report to confirm the row drops out 4. Commit + push

Source: xlab_identity_drift_2026-05-22.md · Rendered
Built with — component scripts