agnes-the-ai-analyst/docs/superpowers/plans
ZdenekSrotyr b627de8344 feat(diagnose) + docs: warn on USER_PROJECT_DENIED footgun + document all newly-exposed knobs
Diagnostic + operator-facing documentation that closes the loop on the work in this PR.

`da diagnose` (via /api/health/detailed):
  - New _check_bq_billing_project() helper. When data_source.type='bigquery' and BqProjects.billing == .data, surface a yellow warning: 'BigQuery billing project equals data project'. Hint includes the YAML field path + the /admin/server-config UI shortcut. Diagnose's overall status promotes warning → degraded so the CLI echoes it.
  - Non-BQ instances (Keboola-only, etc.) skip the check.
  - Implementation hooks into the existing /api/health/detailed surface — no new endpoint, no CLI changes.

config/instance.yaml.example documentation:
  - data_source.bigquery.billing_project: USER_PROJECT_DENIED hint, /admin/server-config UI reference
  - data_source.bigquery.legacy_wrap_views: analyst-side discipline note (use `da fetch` / `da query --remote`), issue #101 history, view-heavy deployment guidance
  - data_source.bigquery.max_bytes_per_materialize: cost guardrail block (NEW — wasn't documented in .example before)
  - ai.base_url: provider list + UI hint
  - openmetadata + desktop: 'configurable via /admin/server-config UI' headers
  - corporate_memory: leading note that the schema is editable via UI

Other docs:
  - CHANGELOG.md: comprehensive Unreleased section
  - CLAUDE.md: schema chain → v20 + Materialized SQL connector mode + per-connector tab UI mention
  - README.md: mode-first source table summary
  - docs/architecture.md: per-connector tab UI mention
  - cli/skills/connectors.md: bootstrap rails (parallel to #154)
  - docs/superpowers/plans/2026-05-01-admin-tables-form-cleanup.md: implementation plan archive (2515 lines)
  - scripts/seed_dummy_tables.py: drop is_public after #150 RBAC migration (column gone)

Tests:
  - test_diagnose_billing.py — 3 cases (BQ with billing==data warns, BQ with billing!=data clean, non-BQ skips)
2026-05-01 20:27:24 +02:00
..
2026-03-27-01-duckdb-state-layer.md chore: clean stale docs — rewrite architecture.md, remove old plans 2026-04-09 09:06:13 +02:00
2026-03-27-02-complete-system.md fix: remove dead PRAGMA enable_wal code 2026-04-09 06:59:57 +02:00
2026-04-08-final-integration-fixes.md chore: clean repo for public release — fix references, remove drafts 2026-04-08 19:27:25 +02:00
2026-04-08-production-hardening.md fix: remove dead PRAGMA enable_wal code 2026-04-09 06:59:57 +02:00
2026-04-08-security-hardening.md chore: clean repo for public release — fix references, remove drafts 2026-04-08 19:27:25 +02:00
2026-04-09-dead-code-cleanup.md User management + PAT + CLI distribution + HTML auth redirect (#9 #10 #11 #12) (#28) 2026-04-22 14:24:28 +02:00
2026-04-09-deployment-readiness.md feat(tls): corporate-CA HTTPS with URL-driven rotation, on-VM CSR gen, self-signed fallback (#51) 2026-04-25 19:51:25 +00:00
2026-04-09-final-polish.md User management + PAT + CLI distribution + HTML auth redirect (#9 #10 #11 #12) (#28) 2026-04-22 14:24:28 +02:00
2026-04-09-security-fixes.md User management + PAT + CLI distribution + HTML auth redirect (#9 #10 #11 #12) (#28) 2026-04-22 14:24:28 +02:00
2026-04-10-analyst-bootstrap.md docs: add implementation plans for porting internal features 2026-04-10 19:08:55 +02:00
2026-04-10-business-metrics.md docs: add implementation plans for porting internal features 2026-04-10 19:08:55 +02:00
2026-04-10-metadata-writer.md docs: add implementation plans for porting internal features 2026-04-10 19:08:55 +02:00
2026-04-11-remote-query.md docs: add remote query implementation plan (5 tasks) 2026-04-11 11:02:04 +02:00
2026-04-12-comprehensive-test-suite.md docs: add comprehensive test suite implementation plan (8 tasks, 6 parallel blocks) 2026-04-12 10:44:08 +02:00
2026-04-21-deployment-log.md chore(oss): isolate customer-specific deploy bits from scripts/grpn/ (#88, wave 1) (#94) 2026-04-27 20:24:34 +02:00
2026-04-21-hackathon-dry-run.md chore(oss): isolate customer-specific deploy bits from scripts/grpn/ (#88, wave 1) (#94) 2026-04-27 20:24:34 +02:00
2026-04-21-issues-14-and-10.md chore(oss): isolate customer-specific deploy bits from scripts/grpn/ (#88, wave 1) (#94) 2026-04-27 20:24:34 +02:00
2026-04-21-multi-customer-deployment.md chore(oss): isolate customer-specific deploy bits from scripts/grpn/ (#88, wave 1) (#94) 2026-04-27 20:24:34 +02:00
2026-04-21-user-mgmt-pat-cli.md User management + PAT + CLI distribution + HTML auth redirect (#9 #10 #11 #12) (#28) 2026-04-22 14:24:28 +02:00
2026-04-22-cloudflare-access-auth.md User management + PAT + CLI distribution + HTML auth redirect (#9 #10 #11 #12) (#28) 2026-04-22 14:24:28 +02:00
2026-04-27-bq-pipeline-views-and-metadata-auth.md feat(v2): claude-driven fetch primitives + 0.14.0 (#102) 2026-04-29 01:07:19 +02:00
2026-04-27-claude-fetch-primitives.md feat(v2): claude-driven fetch primitives + 0.14.0 (#102) 2026-04-29 01:07:19 +02:00
2026-04-29-dev-debug-toolbar.md feat(observability): request_id end-to-end + dev debug toolbar + centralized logging (#136) 2026-04-29 22:54:21 +02:00
2026-04-29-issue-134-bq-access-unify-plan.md fix(v2): #134 BigQuery cross-project errors return structured 502/400 + BqAccess facade (#138) 2026-04-30 10:11:20 +02:00
2026-04-29-issues-77-78-79-89.md feat(scheduler): re-wire sync_schedule + script.schedule; tune via env; OpenMetadata TLS (#135) 2026-04-29 22:06:30 +02:00
2026-05-01-admin-tables-form-cleanup.md feat(diagnose) + docs: warn on USER_PROJECT_DENIED footgun + document all newly-exposed knobs 2026-05-01 20:27:24 +02:00