ID-115 SURFACE — Data API per-call-site inventory
Knowledge Hub — Supabase Data API Surface (PostgREST) — reconnaissance
Section titled “Knowledge Hub — Supabase Data API Surface (PostgREST) — reconnaissance”Generated read-only. Scope: .from('<literal>') and .rpc('<literal>') across app/ lib/ components/ hooks/ scripts/ (incl. lib/mcp/). TS/TSX only; *.test.ts/*.spec.ts and the sandbox-denied lib/mcp/plugin-bundle.ts excluded.
Storage-bucket .from() (supabase.storage.from(...)) and comment/JSDoc false positives removed. Storage buckets are NOT part of the Data API schema exposure.
1. DISTINCT TABLES / VIEWS via .from() — 57 distinct
Section titled “1. DISTINCT TABLES / VIEWS via .from() — 57 distinct”| Table/View | Occurrences | Mode |
|---|---|---|
| ai_call_events | 2 | READ+WRITE |
| application_types | 6 | READ-only |
| change_reports | 4 | READ+WRITE |
| citations | 8 | READ+WRITE |
| classification_disputes | 1 | READ-only |
| company_profiles | 19 | READ+WRITE |
| content_chunks | 2 | READ-only |
| content_history | 51 | READ+WRITE |
| content_item_workspaces | 11 | READ+WRITE |
| content_items | 253 | READ+WRITE |
| coverage_targets | 5 | READ+WRITE |
| entity_aliases | 3 | READ-only |
| entity_mentions | 44 | READ+WRITE |
| entity_relationships | 14 | READ+WRITE |
| eval_baseline_audit | 1 | READ+WRITE |
| eval_baselines | 3 | READ+WRITE |
| eval_runs | 2 | READ+WRITE |
| eval_touchpoints | 7 | READ+WRITE |
| feed_articles | 23 | READ+WRITE |
| feed_flags | 10 | READ+WRITE |
| feed_prompts | 13 | READ+WRITE |
| feed_sources | 19 | READ+WRITE |
| form_questions | 41 | READ+WRITE |
| form_response_history | 7 | READ+WRITE |
| form_responses | 33 | READ+WRITE |
| form_template_fields | 10 | READ+WRITE |
| form_template_requirements | 9 | READ+WRITE |
| form_templates | 17 | READ+WRITE |
| form_types | 1 | READ-only |
| governance_config | 10 | READ+WRITE |
| guide_sections | 15 | READ+WRITE |
| guides | 21 | READ+WRITE |
| ingestion_quality_log | 13 | READ+WRITE |
| intelligence_workspaces | 4 | READ+WRITE |
| layer_vocabulary | 8 | READ+WRITE |
| notifications | 17 | READ+WRITE |
| pipeline_runs | 29 | READ+WRITE |
| processing_queue | 11 | READ+WRITE |
| q_a_extractions | 4 | READ+WRITE |
| q_a_pair_history | 1 | READ-only |
| q_a_pairs | 8 | READ+WRITE |
| read_marks | 9 | READ+WRITE |
| reference_items | 1 | READ-only |
| review_assignments | 5 | READ+WRITE |
| si_processing_queue | 4 | READ+WRITE |
| source_document_diffs | 18 | READ+WRITE |
| source_documents | 25 | READ+WRITE |
| tag_morphology_drift_flags | 4 | READ+WRITE |
| taxonomy_domains | 21 | READ+WRITE |
| taxonomy_subtopics | 21 | READ+WRITE |
| taxonomy_sync_state | 3 | READ+WRITE |
| template_completions | 5 | READ-only |
| user_notification_prefs | 2 | READ+WRITE |
| user_profiles | 3 | READ-only |
| user_roles | 22 | READ+WRITE |
| verification_history | 7 | READ+WRITE |
| workspaces | 64 | READ+WRITE |
Per-table call sites
Section titled “Per-table call sites”ai_call_events — 2 sites, READ+WRITE
- lib/eval/graduation.ts:129
- lib/eval/record-ai-call.ts:102
application_types — 6 sites, READ-only
- app/api/application-types/route.ts:27
- app/api/intelligence/workspaces/route.ts:201
- app/api/items/[id]/workspaces/route.ts:99
- app/api/procurement/route.ts:192
- app/api/workspaces/route.ts:113
- scripts/seed-procurement-test-data.ts:373
change_reports — 4 sites, READ+WRITE
- app/api/change-reports/[id]/route.ts:34
- app/api/change-reports/latest/route.ts:21
- app/api/change-reports/list/route.ts:32
- lib/ai/change-reports.ts:607
citations — 8 sites, READ+WRITE
- app/api/items/[id]/effectiveness/route.ts:99
- app/api/items/[id]/route.ts:660
- app/api/items/[id]/route.ts:712
- app/api/procurement/[id]/responses/draft-stream/route.ts:370
- app/api/procurement/[id]/responses/draft-stream/route.ts:376
- lib/mcp/tools/procurement.ts:468
- scripts/mcp-eval/fixtures.ts:469
- scripts/mcp-eval/functional-correctness.ts:2276
classification_disputes — 1 sites, READ-only
- components/provenance/disputes-tab-stub.tsx:54
company_profiles — 19 sites, READ+WRITE
- app/api/intelligence/profiles/[id]/route.ts:19
- app/api/intelligence/profiles/[id]/route.ts:58
- app/api/intelligence/profiles/[id]/route.ts:93
- app/api/intelligence/profiles/route.ts:16
- app/api/intelligence/profiles/route.ts:49
- app/api/intelligence/workspaces/[id]/flags/analyse/route.ts:149
- app/api/intelligence/workspaces/[id]/prompts/preview/route.ts:123
- app/api/intelligence/workspaces/[id]/route.ts:47
- app/api/intelligence/workspaces/route.ts:184
- app/api/intelligence/workspaces/route.ts:58
- app/api/organisation/profile/route.ts:100
- app/api/organisation/profile/route.ts:156
- app/api/organisation/profile/route.ts:74
- lib/intelligence/pipeline.ts:122
- lib/intelligence/pipeline.ts:149
- lib/intelligence/pipeline.ts:87
- lib/organisation-profile.ts:112
- lib/organisation-profile.ts:137
- scripts/batch-rescore-articles.ts:162
content_chunks — 2 sites, READ-only
- lib/mcp/tools/content.ts:261
- scripts/quality-gate.ts:1576
content_history — 51 sites, READ+WRITE
- app/api/admin/content-dedup/[id]/confirm-duplicate/route.ts:124
- app/api/admin/content-dedup/[id]/confirm-duplicate/route.ts:146
- app/api/admin/content-dedup/[id]/confirm-unique/route.ts:114
- app/api/admin/content-dedup/[id]/confirm-unique/route.ts:136
- app/api/admin/content-dedup/[id]/supersede/route.ts:216
- app/api/admin/content-dedup/[id]/supersede/route.ts:241
- app/api/admin/content-dedup/[id]/supersede/route.ts:278
- app/api/admin/content-dedup/[id]/supersede/route.ts:303
- app/api/admin/content-dedup/[id]/supersede/route.ts:330
- app/api/admin/content-dedup/[id]/supersede/route.ts:355
- app/api/admin/content-dedup/near-duplicates/[pairId]/merge/route.ts:152
- app/api/admin/content-dedup/near-duplicates/[pairId]/merge/route.ts:192
- app/api/items/[id]/history/[versionId]/route.ts:35
- app/api/items/[id]/history/route.ts:47
- app/api/items/[id]/owner/route.ts:102
- app/api/items/[id]/owner/route.ts:137
- app/api/items/[id]/rollback/route.ts:114
- app/api/items/[id]/rollback/route.ts:142
- app/api/items/[id]/rollback/route.ts:154
- app/api/items/[id]/route.ts:364
- app/api/items/[id]/route.ts:920
- app/api/items/[id]/route.ts:965
- app/api/procurement/[id]/responses/draft-stream/route.ts:157
- app/api/review/publication-bulk-action/route.ts:270
- lib/ai/change-reports.ts:523
- lib/dashboard.ts:238
- lib/dashboard.ts:312
- lib/dashboard.ts:323
- lib/edit-intent/sweep.ts:130
- lib/edit-intent/sweep.ts:187
- lib/edit-intent/sweep.ts:284
- lib/edit-intent/sweep.ts:326
- lib/mcp/tools/content.ts:1713
- lib/mcp/tools/governance.ts:158
- lib/mcp/tools/governance.ts:191
- lib/mcp/tools/governance.ts:224
- lib/mcp/tools/governance.ts:234
- lib/mcp/tools/governance.ts:546
- lib/mcp/tools/governance.ts:557
- lib/mcp/tools/governance.ts:812
- lib/mcp/tools/governance.ts:825
- lib/reorient.ts:129
- lib/reorient.ts:140
- lib/reorient.ts:69
- scripts/backfill-content-history-v1.ts:326
- scripts/backfill-content-history-v1.ts:382
- scripts/cleanup-orphaned-content-history.ts:57
- scripts/cleanup-stale-test-artifacts.ts:216
- scripts/mcp-eval/fixtures.ts:471
- scripts/mcp-eval/functional-correctness.ts:2281
- scripts/mcp-eval/protocol-compliance.ts:471
content_item_workspaces — 11 sites, READ+WRITE
- app/api/items/[id]/workspaces/route.ts:146
- app/api/items/[id]/workspaces/route.ts:170
- app/api/items/[id]/workspaces/route.ts:190
- app/api/items/batch-workspaces/route.ts:31
- app/api/procurement/[id]/route.ts:371
- app/api/workspaces/[id]/items/route.ts:39
- app/api/workspaces/[id]/route.ts:112
- hooks/browse/use-browse-data.ts:199
- hooks/use-qa-provenance.ts:80
- lib/mcp/tools/content.ts:1152
- lib/mcp/tools/search.ts:160
content_items — 253 sites, READ+WRITE
- app/api/admin/content-dedup/[id]/confirm-duplicate/route.ts:59
- app/api/admin/content-dedup/[id]/confirm-duplicate/route.ts:96
- app/api/admin/content-dedup/[id]/confirm-unique/route.ts:59
- app/api/admin/content-dedup/[id]/confirm-unique/route.ts:95
- app/api/admin/content-dedup/[id]/route.ts:116
- app/api/admin/content-dedup/[id]/route.ts:54
- app/api/admin/content-dedup/[id]/supersede/route.ts:181
- app/api/admin/content-dedup/[id]/supersede/route.ts:94
- app/api/admin/content-dedup/near-duplicates/[pairId]/confirm-unique/route.ts:66
- app/api/admin/content-dedup/near-duplicates/[pairId]/merge/route.ts:94
- app/api/admin/content-dedup/near-duplicates/[pairId]/route.ts:42
- app/api/admin/content-dedup/near-duplicates/route.ts:80
- app/api/admin/content-dedup/queue/route.ts:50
- app/api/certifications/route.ts:166
- app/api/content-owners/bulk-assign/route.ts:35
- app/api/cron/classification-quality/route.ts:192
- app/api/cron/classification-quality/route.ts:214
- app/api/cron/classification-quality/route.ts:81
- app/api/cron/freshness-transitions/route.ts:133
- app/api/cron/freshness-transitions/route.ts:503
- app/api/cron/freshness-transitions/route.ts:652
- app/api/cron/quality-score/route.ts:150
- app/api/cron/quality-score/route.ts:269
- app/api/cron/quality-score/route.ts:332
- app/api/cron/review-cadence/route.ts:164
- app/api/cron/review-cadence/route.ts:86
- app/api/entities/[canonical_name]/metadata/route.ts:127
- app/api/entities/[canonical_name]/route.ts:108
- app/api/freshness/calculate/route.ts:52
- app/api/freshness/calculate/route.ts:84
- app/api/governance/review/route.ts:108
- app/api/governance/review/route.ts:174
- app/api/governance/review/route.ts:194
- app/api/governance/review/route.ts:45
- app/api/governance/review/route.ts:58
- app/api/health/route.ts:40
- app/api/ingest/folder-drop/status/route.ts:41
- app/api/items/[id]/archive/route.ts:55
- app/api/items/[id]/classify/route.ts:71
- app/api/items/[id]/effectiveness/route.ts:56
- app/api/items/[id]/files/route.ts:178
- app/api/items/[id]/files/route.ts:41
- app/api/items/[id]/images/route.ts:330
- app/api/items/[id]/images/route.ts:77
- app/api/items/[id]/layers/route.ts:19
- app/api/items/[id]/metadata/route.ts:111
- app/api/items/[id]/metadata/route.ts:84
- app/api/items/[id]/owner/route.ts:45
- app/api/items/[id]/owner/route.ts:75
- app/api/items/[id]/priority/route.ts:37
- app/api/items/[id]/rollback/route.ts:129
- app/api/items/[id]/rollback/route.ts:184
- app/api/items/[id]/route.ts:1004
- app/api/items/[id]/route.ts:1029
- app/api/items/[id]/route.ts:1074
- app/api/items/[id]/route.ts:1109
- app/api/items/[id]/route.ts:1178
- app/api/items/[id]/route.ts:1189
- app/api/items/[id]/route.ts:137
- app/api/items/[id]/route.ts:246
- app/api/items/[id]/route.ts:320
- app/api/items/[id]/route.ts:480
- app/api/items/[id]/route.ts:603
- app/api/items/[id]/route.ts:878
- app/api/items/batch-review/route.ts:37
- app/api/items/batch/route.ts:278
- app/api/items/batch/route.ts:307
- app/api/items/batch/route.ts:367
- app/api/items/batch/route.ts:382
- app/api/items/batch/route.ts:418
- app/api/items/batch/route.ts:437
- app/api/items/route.ts:215
- app/api/items/route.ts:300
- app/api/items/route.ts:320
- app/api/items/route.ts:339
- app/api/layers/[id]/route.ts:107
- app/api/procurement/[id]/outcome/integrate/route.ts:210
- app/api/procurement/[id]/outcome/integrate/route.ts:274
- app/api/procurement/[id]/outcome/integrate/route.ts:302
- app/api/procurement/[id]/responses/[rId]/regenerate/route.ts:83
- app/api/procurement/[id]/responses/[rId]/route.ts:94
- app/api/procurement/[id]/responses/draft-stream/route.ts:128
- app/api/procurement/[id]/responses/draft/route.ts:172
- app/api/procurement/[id]/responses/estimate/route.ts:170
- app/api/read-marks/route.ts:40
- app/api/read-marks/route.ts:65
- app/api/review/action/route.ts:120
- app/api/review/action/route.ts:129
- app/api/review/action/route.ts:44
- app/api/review/action/route.ts:58
- app/api/review/assignments/route.ts:120
- app/api/review/cadence/route.ts:66
- app/api/review/publication-bulk-action/route.ts:141
- app/api/review/publication-bulk-action/route.ts:214
- app/api/review/queue/route.ts:204
- app/api/review/queue/route.ts:301
- app/api/review/queue/route.ts:393
- app/api/review/queue/route.ts:444
- app/api/review/queue/route.ts:523
- app/api/review/stats/route.ts:55
- app/api/review/stats/route.ts:60
- app/api/search/preview/route.ts:61
- app/api/source-documents/[id]/diff/route.ts:224
- app/api/source-documents/[id]/route.ts:50
- app/api/source-documents/[id]/send-to-review/route.ts:44
- app/api/source-documents/[id]/send-to-review/route.ts:85
- app/api/upload/route.ts:1002
- app/api/upload/route.ts:315
- app/api/upload/route.ts:387
- app/api/upload/route.ts:443
- app/api/upload/route.ts:600
- app/api/upload/route.ts:674
- app/api/upload/route.ts:752
- app/api/upload/route.ts:771
- app/api/upload/route.ts:804
- app/api/upload/route.ts:825
- app/documents/[id]/diff/page.tsx:297
- app/item/[id]/page.tsx:28
- components/dashboard/owned-content-health.tsx:48
- components/dashboard/owned-content-health.tsx:56
- components/dashboard/owned-content-health.tsx:64
- components/item-detail/related-by-entities.tsx:159
- components/item-detail/related-by-tags.tsx:46
- components/settings/governance-section.tsx:106
- hooks/browse/use-browse-data.ts:281
- hooks/browse/use-browse-data.ts:709
- hooks/use-batch-create.ts:171
- hooks/use-library-data.ts:107
- hooks/use-library-data.ts:42
- hooks/use-qa-provenance.ts:118
- hooks/use-topic-layer-content.ts:72
- lib/ai/change-reports.ts:205
- lib/ai/change-reports.ts:530
- lib/ai/classify.ts:1354
- lib/ai/classify.ts:1713
- lib/ai/extract-content.ts:56
- lib/ai/summarise.ts:194
- lib/ai/summarise.ts:240
- lib/ai/vision.ts:58
- lib/content/content-suggestions.ts:184
- lib/dashboard.ts:374
- lib/edit-intent/sweep.ts:112
- lib/edit-intent/sweep.ts:181
- lib/edit-intent/sweep.ts:320
- lib/edit-intent/write-back.ts:151
- lib/entities/entity-metadata-bridge.ts:119
- lib/mcp/resources.ts:104
- lib/mcp/resources.ts:268
- lib/mcp/resources.ts:310
- lib/mcp/resources.ts:369
- lib/mcp/resources.ts:63
- lib/mcp/tools/apps.ts:89
- lib/mcp/tools/change-report.ts:100
- lib/mcp/tools/change-report.ts:116
- lib/mcp/tools/change-report.ts:133
- lib/mcp/tools/content.ts:1048
- lib/mcp/tools/content.ts:1070
- lib/mcp/tools/content.ts:1519
- lib/mcp/tools/content.ts:218
- lib/mcp/tools/content.ts:2194
- lib/mcp/tools/content.ts:609
- lib/mcp/tools/content.ts:66
- lib/mcp/tools/content.ts:684
- lib/mcp/tools/content.ts:754
- lib/mcp/tools/dashboard.ts:106
- lib/mcp/tools/dashboard.ts:289
- lib/mcp/tools/governance.ts:1027
- lib/mcp/tools/governance.ts:1048
- lib/mcp/tools/governance.ts:124
- lib/mcp/tools/governance.ts:170
- lib/mcp/tools/governance.ts:254
- lib/mcp/tools/governance.ts:343
- lib/mcp/tools/governance.ts:444
- lib/mcp/tools/governance.ts:525
- lib/mcp/tools/governance.ts:684
- lib/mcp/tools/governance.ts:792
- lib/mcp/tools/governance.ts:932
- lib/mcp/tools/review.ts:294
- lib/mcp/tools/search.ts:278
- lib/mcp/tools/shared.ts:367
- lib/mcp/tools/shared.ts:383
- lib/mcp/tools/shared.ts:395
- lib/provenance/item-provenance.ts:110
- lib/quality/quality-actions.ts:373
- lib/queue/handlers/batch-reclassify.ts:627
- lib/queue/handlers/batch-reclassify.ts:699
- lib/queue/handlers/batch-reclassify.ts:965
- lib/queue/handlers/procurement-draft-all.ts:252
- lib/reorient.ts:155
- lib/source-documents/source-document-impact.ts:92
- lib/source-documents/source-document-notifications.ts:38
- lib/supersession/set.ts:175
- lib/supersession/set.ts:183
- lib/supersession/set.ts:231
- lib/templates/template-coverage.ts:523
- lib/topic-inference.ts:157
- lib/topic-inference.ts:289
- scripts/backfill-canonicalise-ai-keywords.ts:166
- scripts/backfill-canonicalise-ai-keywords.ts:221
- scripts/backfill-classify-content-items.ts:202
- scripts/backfill-content-history-v1.ts:288
- scripts/backfill-context-snippets.ts:247
- scripts/backfill-layers.ts:176
- scripts/backfill-layers.ts:282
- scripts/backfill-source-documents.ts:207
- scripts/backfill-source-documents.ts:379
- scripts/backfill-temporal-bridge.ts:259
- scripts/backfill-temporal-entity-matches.ts:277
- scripts/batch-generate-summaries.ts:198
- scripts/batch-generate-summaries.ts:322
- scripts/batch-populate-topics.ts:154
- scripts/batch-populate-topics.ts:416
- scripts/calibrate-coverage-thresholds.ts:211
- scripts/cleanup-stale-test-artifacts.ts:103
- scripts/cleanup-tags.ts:245
- scripts/cleanup-tags.ts:331
- scripts/embedding-smoke-test.ts:238
- scripts/eval-classification.ts:227
- scripts/eval-holder-rule-ts.ts:1371
- scripts/eval-holder-rule-ts.ts:540
- scripts/eval-holder-rule-ts.ts:608
- scripts/eval-summarisation.ts:175
- scripts/eval-tag-morphology-adoption.ts:166
- scripts/kb-search.ts:356
- scripts/mcp-eval/fixtures.ts:341
- scripts/mcp-eval/fixtures.ts:440
- scripts/mcp-eval/fixtures.ts:473
- scripts/mcp-eval/fixtures.ts:495
- scripts/mcp-eval/functional-correctness.ts:2284
- scripts/mcp-eval/protocol-compliance.ts:474
- scripts/mcp-eval/seed-fixtures.ts:163
- scripts/mcp-eval/seed-fixtures.ts:200
- scripts/mcp-eval/seed-fixtures.ts:242
- scripts/propagate-cert-metadata.ts:249
- scripts/quality-gate.ts:1011
- scripts/quality-gate.ts:1117
- scripts/quality-gate.ts:1158
- scripts/quality-gate.ts:595
- scripts/quality-gate.ts:608
- scripts/quality-gate.ts:860
- scripts/quality-gate.ts:928
- scripts/quality-gate.ts:966
- scripts/reembed-missing-embeddings.ts:126
- scripts/reembed-missing-embeddings.ts:89
- scripts/seed-admin-dedup-fixtures.ts:263
- scripts/seed-admin-dedup-fixtures.ts:311
- scripts/seed-e2e-users.ts:345
- scripts/seed-e2e-users.ts:365
- scripts/seed-e2e-users.ts:679
- scripts/seed-integration-fixtures.ts:68
- scripts/snapshot-content-state.ts:280
- scripts/verify-intelligence-classification.ts:414
- scripts/wp-b-triage-report.ts:212
coverage_targets — 5 sites, READ+WRITE
- app/api/coverage/gaps/route.ts:339
- app/api/coverage/targets/route.ts:24
- app/api/coverage/targets/route.ts:79
- app/api/cron/coverage-alerts/route.ts:87
- lib/mcp/tools/apps.ts:270
entity_aliases — 3 sites, READ-only
- lib/entities/entity-aliases.ts:59
- scripts/backfill-context-snippets.ts:271
- scripts/generate-entity-aliases-snapshot.ts:56
entity_mentions — 44 sites, READ+WRITE
- app/api/certifications/route.ts:139
- app/api/cron/freshness-transitions/route.ts:754
- app/api/entities/[canonical_name]/metadata/route.ts:57
- app/api/entities/[canonical_name]/metadata/route.ts:74
- app/api/entities/[canonical_name]/metadata/route.ts:94
- app/api/entities/[canonical_name]/route.ts:47
- app/api/entities/[canonical_name]/type/route.ts:48
- app/api/entities/split/route.ts:51
- app/api/entities/split/route.ts:78
- components/item-detail/entity-badges.tsx:94
- components/item-detail/related-by-entities.tsx:108
- components/item-detail/related-by-entities.tsx:83
- hooks/browse/use-browse-data.ts:241
- lib/ai/classify.ts:1756
- lib/ai/classify.ts:1963
- lib/dashboard.ts:356
- lib/entities/entity-metadata-bridge.ts:146
- lib/entities/entity-metadata-bridge.ts:238
- lib/mcp/resources.ts:529
- lib/mcp/tools/shared.ts:434
- lib/queue/handlers/batch-reclassify.ts:657
- lib/queue/handlers/batch-reclassify.ts:986
- lib/queue/handlers/batch-reclassify.ts:991
- scripts/backfill-classify-content-items.ts:221
- scripts/backfill-context-snippets.ts:203
- scripts/backfill-context-snippets.ts:379
- scripts/backfill-temporal-bridge.ts:228
- scripts/backfill-temporal-bridge.ts:309
- scripts/backfill-temporal-entity-matches.ts:322
- scripts/backfill-temporal-entity-matches.ts:441
- scripts/eval-entity-classification.ts:199
- scripts/eval-holder-rule-ts.ts:517
- scripts/normalise-entities.ts:182
- scripts/normalise-entities.ts:417
- scripts/normalise-entities.ts:443
- scripts/normalise-entities.ts:458
- scripts/propagate-cert-metadata.ts:226
- scripts/propagate-cert-metadata.ts:374
- scripts/propagate-cert-metadata.ts:415
- scripts/propagate-cert-metadata.ts:450
- scripts/restore-eval-corrupted-items.ts:196
- scripts/restore-eval-corrupted-items.ts:239
- scripts/snapshot-content-state.ts:231
- scripts/verify-intelligence-classification.ts:425
entity_relationships — 14 sites, READ+WRITE
- app/api/certifications/route.ts:83
- app/api/entities/[canonical_name]/route.ts:125
- app/api/entities/split/route.ts:89
- app/api/entities/split/route.ts:95
- lib/ai/classify.ts:2000
- lib/dashboard.ts:251
- lib/queue/handlers/batch-reclassify.ts:1007
- lib/queue/handlers/batch-reclassify.ts:1021
- scripts/eval-holder-rule-ts.ts:1394
- scripts/eval-holder-rule-ts.ts:495
- scripts/normalise-entities.ts:306
- scripts/normalise-entities.ts:488
- scripts/restore-eval-corrupted-items.ts:209
- scripts/restore-eval-corrupted-items.ts:262
eval_baseline_audit — 1 sites, READ+WRITE
- lib/eval/baseline-store.ts:176
eval_baselines — 3 sites, READ+WRITE
- lib/eval/baseline-store.ts:123
- lib/eval/baseline-store.ts:158
- lib/eval/baseline-store.ts:204
eval_runs — 2 sites, READ+WRITE
- lib/eval/graduation.ts:147
- scripts/eval-runner.ts:210
eval_touchpoints — 7 sites, READ+WRITE
- lib/eval/graduation.ts:165
- lib/eval/registry.ts:128
- lib/eval/registry.ts:144
- lib/eval/registry.ts:167
- lib/eval/registry.ts:191
- lib/eval/registry.ts:208
- lib/eval/registry.ts:83
feed_articles — 23 sites, READ+WRITE
- app/api/feeds/[workspaceId]/rss/filtered/route.ts:51
- app/api/feeds/[workspaceId]/rss/route.ts:50
- app/api/intelligence/workspaces/[id]/articles/[articleId]/flag/route.ts:24
- app/api/intelligence/workspaces/[id]/articles/route.ts:29
- app/api/intelligence/workspaces/[id]/metrics/prompt-performance/route.ts:47
- app/api/intelligence/workspaces/[id]/metrics/prompt-performance/route.ts:53
- app/api/intelligence/workspaces/[id]/metrics/route.ts:41
- app/api/intelligence/workspaces/[id]/metrics/route.ts:48
- app/api/intelligence/workspaces/[id]/metrics/route.ts:83
- app/api/intelligence/workspaces/[id]/prompts/preview/route.ts:150
- app/api/intelligence/workspaces/[id]/prompts/route.ts:223
- app/api/intelligence/workspaces/[id]/prompts/route.ts:229
- app/api/intelligence/workspaces/route.ts:104
- app/item/[id]/page.tsx:67
- lib/intelligence/pipeline.ts:169
- lib/intelligence/pipeline.ts:183
- lib/intelligence/pipeline.ts:321
- lib/intelligence/pipeline.ts:406
- lib/intelligence/summary.ts:65
- scripts/backfill-classify-content-items.ts:179
- scripts/batch-rescore-articles.ts:108
- scripts/batch-rescore-articles.ts:237
- scripts/verify-intelligence-classification.ts:383
feed_flags — 10 sites, READ+WRITE
- app/api/intelligence/workspaces/[id]/articles/[articleId]/flag/route.ts:34
- app/api/intelligence/workspaces/[id]/articles/[articleId]/flag/route.ts:71
- app/api/intelligence/workspaces/[id]/flags/analyse/route.ts:204
- app/api/intelligence/workspaces/[id]/flags/resolve/route.ts:127
- app/api/intelligence/workspaces/[id]/flags/resolve/route.ts:174
- app/api/intelligence/workspaces/[id]/flags/route.ts:81
- app/api/intelligence/workspaces/[id]/metrics/prompt-performance/route.ts:63
- app/api/intelligence/workspaces/[id]/metrics/route.ts:111
- app/api/intelligence/workspaces/[id]/metrics/route.ts:62
- lib/intelligence/summary.ts:77
feed_prompts — 13 sites, READ+WRITE
- app/api/intelligence/workspaces/[id]/flags/analyse/route.ts:126
- app/api/intelligence/workspaces/[id]/metrics/prompt-performance/route.ts:26
- app/api/intelligence/workspaces/[id]/prompts/route.ts:111
- app/api/intelligence/workspaces/[id]/prompts/route.ts:121
- app/api/intelligence/workspaces/[id]/prompts/route.ts:152
- app/api/intelligence/workspaces/[id]/prompts/route.ts:168
- app/api/intelligence/workspaces/[id]/prompts/route.ts:181
- app/api/intelligence/workspaces/[id]/prompts/route.ts:191
- app/api/intelligence/workspaces/[id]/prompts/route.ts:30
- app/api/intelligence/workspaces/[id]/prompts/route.ts:98
- app/api/intelligence/workspaces/route.ts:270
- lib/intelligence/pipeline.ts:204
- scripts/batch-rescore-articles.ts:183
feed_sources — 19 sites, READ+WRITE
- app/api/intelligence/workspaces/[id]/metrics/route.ts:104
- app/api/intelligence/workspaces/[id]/metrics/route.ts:98
- app/api/intelligence/workspaces/[id]/seed-starter-pack/route.ts:104
- app/api/intelligence/workspaces/[id]/seed-starter-pack/route.ts:88
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/route.ts:113
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/route.ts:130
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/route.ts:21
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/route.ts:63
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/route.ts:75
- app/api/intelligence/workspaces/[id]/sources/[sourceId]/test/route.ts:19
- app/api/intelligence/workspaces/[id]/sources/route.ts:130
- app/api/intelligence/workspaces/[id]/sources/route.ts:20
- app/api/intelligence/workspaces/[id]/sources/route.ts:95
- app/api/intelligence/workspaces/route.ts:80
- lib/intelligence/health.ts:100
- lib/intelligence/health.ts:166
- lib/intelligence/pipeline.ts:453
- lib/intelligence/pipeline.ts:492
- lib/intelligence/summary.ts:73
form_questions — 41 sites, READ+WRITE
- app/api/procurement/[id]/outcome/integrate/route.ts:90
- app/api/procurement/[id]/outcome/route.ts:116
- app/api/procurement/[id]/questions/[qId]/route.ts:110
- app/api/procurement/[id]/questions/[qId]/route.ts:52
- app/api/procurement/[id]/questions/extract/route.ts:148
- app/api/procurement/[id]/questions/extract/route.ts:211
- app/api/procurement/[id]/questions/extract/route.ts:278
- app/api/procurement/[id]/questions/match/route.ts:166
- app/api/procurement/[id]/questions/match/route.ts:225
- app/api/procurement/[id]/questions/match/route.ts:78
- app/api/procurement/[id]/questions/route.ts:242
- app/api/procurement/[id]/questions/route.ts:260
- app/api/procurement/[id]/questions/route.ts:313
- app/api/procurement/[id]/questions/route.ts:82
- app/api/procurement/[id]/readiness/route.ts:120
- app/api/procurement/[id]/responses/[rId]/history/route.ts:47
- app/api/procurement/[id]/responses/[rId]/regenerate/route.ts:156
- app/api/procurement/[id]/responses/[rId]/regenerate/route.ts:64
- app/api/procurement/[id]/responses/[rId]/restore/route.ts:54
- app/api/procurement/[id]/responses/[rId]/route.ts:191
- app/api/procurement/[id]/responses/[rId]/route.ts:283
- app/api/procurement/[id]/responses/[rId]/route.ts:289
- app/api/procurement/[id]/responses/[rId]/route.ts:64
- app/api/procurement/[id]/responses/draft-stream/route.ts:103
- app/api/procurement/[id]/responses/draft-stream/route.ts:396
- app/api/procurement/[id]/responses/draft/route.ts:249
- app/api/procurement/[id]/responses/draft/route.ts:87
- app/api/procurement/[id]/responses/estimate/route.ts:79
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:98
- app/api/procurement/[id]/templates/[templateId]/route.ts:93
- lib/mcp/resources.ts:226
- lib/mcp/tools/procurement.ts:353
- lib/mcp/tools/shared.ts:271
- lib/procurement/procurement-export-data.ts:68
- lib/queue/handlers/procurement-draft-all.ts:174
- lib/queue/handlers/procurement-draft-all.ts:321
- lib/queue/handlers/procurement-draft-all.ts:365
- scripts/mcp-eval/fixtures.ts:386
- scripts/seed-procurement-test-data.ts:296
- scripts/seed-procurement-test-data.ts:315
- scripts/seed-procurement-test-data.ts:421
form_response_history — 7 sites, READ+WRITE
- app/api/procurement/[id]/responses/[rId]/history/route.ts:64
- app/api/procurement/[id]/responses/[rId]/restore/route.ts:71
- lib/dashboard.ts:333
- lib/dashboard.ts:344
- lib/reorient.ts:177
- lib/reorient.ts:188
- scripts/wipe-procurement-responses.ts:345
form_responses — 33 sites, READ+WRITE
- app/api/procurement/[id]/outcome/integrate/route.ts:113
- app/api/procurement/[id]/outcome/route.ts:139
- app/api/procurement/[id]/questions/route.ts:108
- app/api/procurement/[id]/readiness/route.ts:147
- app/api/procurement/[id]/responses/[rId]/history/route.ts:32
- app/api/procurement/[id]/responses/[rId]/regenerate/route.ts:132
- app/api/procurement/[id]/responses/[rId]/regenerate/route.ts:50
- app/api/procurement/[id]/responses/[rId]/restore/route.ts:40
- app/api/procurement/[id]/responses/[rId]/restore/route.ts:93
- app/api/procurement/[id]/responses/[rId]/route.ts:176
- app/api/procurement/[id]/responses/[rId]/route.ts:264
- app/api/procurement/[id]/responses/[rId]/route.ts:48
- app/api/procurement/[id]/responses/draft-stream/route.ts:289
- app/api/procurement/[id]/responses/draft/route.ts:147
- app/api/procurement/[id]/responses/draft/route.ts:216
- app/api/procurement/[id]/responses/estimate/route.ts:117
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:105
- app/api/procurement/[id]/templates/[templateId]/route.ts:120
- app/api/q-a-pairs/promote/route.ts:90
- lib/mcp/tools/procurement.ts:223
- lib/mcp/tools/procurement.ts:375
- lib/mcp/tools/shared.ts:286
- lib/provenance/item-provenance.ts:155
- lib/provenance/item-provenance.ts:170
- lib/queue/handlers/procurement-draft-all.ts:205
- lib/queue/handlers/procurement-draft-all.ts:298
- scripts/eval-procurement-drafting.ts:156
- scripts/mcp-eval/fixtures.ts:397
- scripts/seed-procurement-test-data.ts:303
- scripts/seed-procurement-test-data.ts:458
- scripts/wipe-procurement-responses.ts:229
- scripts/wipe-procurement-responses.ts:285
- scripts/wipe-procurement-responses.ts:360
form_template_fields — 10 sites, READ+WRITE
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:153
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:178
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:73
- app/api/procurement/[id]/templates/[templateId]/fields/[fieldId]/route.ts:59
- app/api/procurement/[id]/templates/[templateId]/fields/[fieldId]/route.ts:76
- app/api/procurement/[id]/templates/[templateId]/fields/bulk-update/route.ts:55
- app/api/procurement/[id]/templates/[templateId]/fields/bulk-update/route.ts:71
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:73
- app/api/procurement/[id]/templates/[templateId]/route.ts:58
- lib/catalogue/from-instance.ts:163
form_template_requirements — 9 sites, READ+WRITE
- app/api/cron/content-gaps/route.ts:62
- lib/catalogue/from-instance.ts:338
- lib/catalogue/from-instance.ts:513
- lib/content/content-suggestions.ts:329
- lib/templates/template-coverage.ts:466
- lib/templates/template-coverage.ts:659
- scripts/calibrate-coverage-thresholds.ts:168
- scripts/catalogue-standard-sq.ts:2202
- scripts/catalogue-standard-sq.ts:2291
form_templates — 17 sites, READ+WRITE
- app/api/procurement/[id]/route.ts:319
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:185
- app/api/procurement/[id]/templates/[templateId]/auto-map/route.ts:50
- app/api/procurement/[id]/templates/[templateId]/completions/[completionId]/download/route.ts:45
- app/api/procurement/[id]/templates/[templateId]/fields/[fieldId]/route.ts:43
- app/api/procurement/[id]/templates/[templateId]/fields/[fieldId]/route.ts:83
- app/api/procurement/[id]/templates/[templateId]/fields/bulk-update/route.ts:37
- app/api/procurement/[id]/templates/[templateId]/fields/bulk-update/route.ts:78
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:182
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:207
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:50
- app/api/procurement/[id]/templates/[templateId]/route.ts:255
- app/api/procurement/[id]/templates/[templateId]/route.ts:285
- app/api/procurement/[id]/templates/[templateId]/route.ts:40
- app/api/procurement/[id]/templates/route.ts:192
- app/api/procurement/[id]/templates/route.ts:269
- scripts/catalogue-from-instance.ts:180
form_types — 1 sites, READ-only
- scripts/generate-taxonomy-snapshot.ts:81
governance_config — 10 sites, READ+WRITE
- app/api/cron/freshness-transitions/route.ts:105
- app/api/cron/quality-score/route.ts:79
- app/api/governance/route.ts:111
- app/api/governance/route.ts:26
- app/api/governance/route.ts:74
- app/api/governance/route.ts:84
- app/api/items/[id]/route.ts:849
- app/api/review/cadence/route.ts:84
- lib/mcp/tools/shared.ts:439
- lib/quality/quality-actions.ts:325
guide_sections — 15 sites, READ+WRITE
- app/api/guides/[slug]/sections/[sectionId]/route.ts:166
- app/api/guides/[slug]/sections/[sectionId]/route.ts:86
- app/api/guides/[slug]/sections/route.ts:162
- app/api/guides/[slug]/sections/route.ts:219
- app/api/guides/[slug]/sections/route.ts:96
- lib/guide-section-mapping.ts:121
- lib/intelligence/guide-generator.ts:103
- lib/intelligence/guide-generator.ts:163
- lib/mcp/tools/guides.ts:114
- lib/mcp/tools/guides.ts:269
- lib/mcp/tools/guides.ts:531
- lib/mcp/tools/guides.ts:832
- lib/mcp/tools/guides.ts:862
- scripts/mcp-eval/functional-correctness.ts:2960
- scripts/mcp-eval/seed-fixtures.ts:123
guides — 21 sites, READ+WRITE
- app/api/guides/[slug]/route.ts:165
- app/api/guides/[slug]/route.ts:219
- app/api/guides/[slug]/route.ts:38
- app/api/guides/[slug]/sections/[sectionId]/route.ts:146
- app/api/guides/[slug]/sections/[sectionId]/route.ts:64
- app/api/guides/[slug]/sections/route.ts:40
- app/api/guides/route.ts:155
- app/api/guides/route.ts:53
- lib/intelligence/guide-generator.ts:108
- lib/intelligence/guide-generator.ts:168
- lib/intelligence/guide-generator.ts:59
- lib/intelligence/guide-generator.ts:70
- lib/mcp/tools/guides.ts:235
- lib/mcp/tools/guides.ts:470
- lib/mcp/tools/guides.ts:702
- lib/mcp/tools/guides.ts:751
- lib/mcp/tools/guides.ts:85
- lib/mcp/tools/guides.ts:879
- scripts/mcp-eval/functional-correctness.ts:2962
- scripts/mcp-eval/seed-fixtures.ts:89
- scripts/quality-gate.ts:906
ingestion_quality_log — 13 sites, READ+WRITE
- app/api/quality/route.ts:109
- app/api/quality/route.ts:44
- app/api/review/action/route.ts:156
- app/api/review/action/route.ts:175
- app/api/review/action/route.ts:84
- app/api/review/action/route.ts:94
- app/api/review/history/route.ts:54
- app/api/review/queue/route.ts:305
- app/api/review/queue/route.ts:358
- app/api/review/queue/route.ts:448
- components/item-detail/metadata-sidebar.tsx:93
- lib/ai/change-reports.ts:537
- lib/mcp/tools/apps.ts:253
intelligence_workspaces — 4 sites, READ+WRITE
- app/api/intelligence/workspaces/[id]/route.ts:146
- app/api/intelligence/workspaces/route.ts:239
- app/api/intelligence/workspaces/route.ts:306
- lib/intelligence/workspace-context.ts:94
layer_vocabulary — 8 sites, READ+WRITE
- app/api/layers/[id]/route.ts:130
- app/api/layers/[id]/route.ts:45
- app/api/layers/[id]/route.ts:96
- app/api/layers/reorder/route.ts:32
- app/api/layers/route.ts:24
- app/api/layers/route.ts:68
- app/api/layers/route.ts:79
- lib/validation/layer-schemas.ts:24
notifications — 17 sites, READ+WRITE
- app/api/content-owners/bulk-assign/route.ts:112
- app/api/cron/coverage-alerts/route.ts:266
- app/api/cron/freshness-transitions/route.ts:886
- app/api/governance/review/route.ts:219
- app/api/items/[id]/owner/route.ts:160
- app/api/items/[id]/route.ts:888
- app/api/notifications/read/route.ts:29
- app/api/notifications/route.ts:33
- app/api/notifications/route.ts:45
- lib/mcp/tools/content.ts:1767
- lib/mcp/tools/governance.ts:1063
- lib/mcp/tools/shared.ts:420
- lib/mcp/tools/shared.ts:427
- lib/notifications.ts:119
- lib/notifications.ts:56
- lib/notifications.ts:97
- lib/reorient.ts:168
pipeline_runs — 29 sites, READ+WRITE
- app/api/admin/batch-reclassify/route.ts:156
- app/api/admin/pipeline-runs/recent/route.ts:61
- app/api/admin/provenance/pipeline-runs/route.ts:142
- app/api/admin/provenance/pipeline-runs/route.ts:93
- app/api/admin/taxonomy-sync/callback/route.ts:117
- app/api/admin/taxonomy-sync/callback/route.ts:129
- app/api/admin/taxonomy-sync/route.ts:116
- app/api/admin/taxonomy-sync/route.ts:88
- app/api/admin/taxonomy-sync/status/route.ts:44
- app/api/cron/content-gaps/route.ts:100
- app/api/cron/coverage-alerts/route.ts:124
- app/api/cron/datapath-watch/route.ts:54
- app/api/items/batch/route.ts:139
- app/api/items/batch/route.ts:161
- app/api/items/batch/route.ts:477
- app/api/items/batch/route.ts:503
- app/api/items/batch/route.ts:548
- app/api/jobs/[id]/cancel/route.ts:187
- app/api/pipeline-runs/[id]/route.ts:48
- app/api/pipeline-runs/route.ts:38
- app/api/procurement/[id]/responses/draft-all/route.ts:138
- app/api/upload/route.ts:254
- app/api/upload/route.ts:371
- components/provenance/cost-tab-stub.tsx:36
- lib/pipeline/record-run.ts:222
- lib/pipeline/start-run.ts:139
- lib/pipeline/update-progress.ts:82
- lib/queue/dispatch.ts:142
- lib/queue/dispatch.ts:303
processing_queue — 11 sites, READ+WRITE
- app/api/cron/process-queue/route.ts:89
- app/api/jobs/[id]/cancel/route.ts:149
- app/api/jobs/[id]/cancel/route.ts:92
- app/api/jobs/[id]/status/route.ts:32
- app/api/procurement/[id]/templates/[templateId]/fill/route.ts:189
- lib/queue/enqueue.ts:149
- lib/queue/enqueue.ts:214
- lib/queue/failure.ts:126
- lib/queue/failure.ts:145
- lib/queue/failure.ts:163
- lib/queue/handlers/batch-reclassify.ts:535
q_a_extractions — 4 sites, READ+WRITE
- lib/q-a-pairs/promote-corpus.ts:305
- lib/q-a-pairs/promote-corpus.ts:439
- lib/q-a-pairs/promote-corpus.ts:455
- lib/q-a-pairs/promote-corpus.ts:562
q_a_pair_history — 1 sites, READ-only
- app/api/q-a-pairs/[id]/history/route.ts:65
q_a_pairs — 8 sites, READ+WRITE
- app/api/q-a-pairs/[id]/route.ts:154
- app/api/q-a-pairs/promote/route.ts:154
- lib/q-a-pairs/promote-corpus.ts:282
- lib/q-a-pairs/promote-corpus.ts:319
- lib/q-a-pairs/promote-corpus.ts:335
- lib/q-a-pairs/promote-corpus.ts:482
- lib/q-a-pairs/promote-corpus.ts:605
- lib/q-a-pairs/promote-corpus.ts:691
read_marks — 9 sites, READ+WRITE
- app/api/read-marks/route.ts:108
- app/api/read-marks/route.ts:123
- app/api/read-marks/route.ts:142
- app/api/read-marks/route.ts:36
- app/api/read-marks/route.ts:56
- app/api/read-marks/route.ts:61
- hooks/use-progress.ts:45
- lib/dashboard.ts:244
- lib/reorient.ts:75
reference_items — 1 sites, READ-only
- app/api/ingest/url/route.ts:91
review_assignments — 5 sites, READ+WRITE
- app/api/review/assignments/route.ts:151
- app/api/review/assignments/route.ts:236
- app/api/review/assignments/route.ts:51
- app/api/review/queue/route.ts:102
- lib/mcp/tools/review.ts:327
si_processing_queue — 4 sites, READ+WRITE
- lib/intelligence/health.ts:72
- lib/intelligence/pipeline.ts:562
- lib/intelligence/pipeline.ts:628
- lib/intelligence/pipeline.ts:654
source_document_diffs — 18 sites, READ+WRITE
- app/api/source-documents/[id]/diff/route.ts:125
- app/api/source-documents/[id]/diff/route.ts:183
- app/api/source-documents/[id]/diff/route.ts:412
- app/api/source-documents/[id]/diff/route.ts:490
- app/api/source-documents/[id]/diff/route.ts:552
- app/api/source-documents/[id]/diff/route.ts:586
- app/api/source-documents/[id]/diff/route.ts:607
- app/api/source-documents/[id]/diff/route.ts:75
- app/api/upload/route.ts:943
- app/documents/[id]/diff/page.tsx:173
- app/documents/[id]/diff/page.tsx:215
- app/documents/[id]/diff/page.tsx:266
- app/documents/[id]/diff/page.tsx:56
- app/documents/[id]/diff/page.tsx:97
- lib/mcp/tools/content.ts:2031
- lib/mcp/tools/content.ts:2155
- lib/source-documents/source-document-impact.ts:141
- lib/source-documents/source-document-impact.ts:69
source_documents — 25 sites, READ+WRITE
- app/api/source-documents/[id]/diff/route.ts:149
- app/api/source-documents/[id]/diff/route.ts:362
- app/api/source-documents/[id]/diff/route.ts:375
- app/api/source-documents/[id]/diff/route.ts:51
- app/api/source-documents/[id]/diff/route.ts:99
- app/api/source-documents/[id]/route.ts:36
- app/api/source-documents/[id]/send-to-review/route.ts:108
- app/api/upload/route.ts:421
- app/api/upload/route.ts:624
- app/api/upload/route.ts:891
- app/api/upload/route.ts:913
- app/documents/[id]/diff/page.tsx:115
- app/documents/[id]/diff/page.tsx:152
- app/documents/[id]/diff/page.tsx:191
- app/documents/[id]/diff/page.tsx:233
- app/documents/[id]/diff/page.tsx:25
- app/documents/[id]/diff/page.tsx:74
- lib/edit-intent/write-back.ts:197
- lib/mcp/tools/content.ts:2052
- lib/mcp/tools/content.ts:2061
- lib/mcp/tools/content.ts:2086
- lib/mcp/tools/content.ts:2106
- lib/mcp/tools/content.ts:2128
- lib/source-documents/source-document-impact.ts:47
- scripts/backfill-source-documents.ts:360
tag_morphology_drift_flags — 4 sites, READ+WRITE
- app/api/admin/tag-morphology/flags/[id]/route.ts:43
- app/api/admin/tag-morphology/flags/route.ts:113
- app/api/admin/tag-morphology/flags/route.ts:57
- scripts/eval-tag-morphology-adoption.ts:265
taxonomy_domains — 21 sites, READ+WRITE
- app/api/admin/taxonomy-sync/callback/route.ts:86
- app/api/admin/taxonomy-sync/route.ts:43
- app/api/admin/taxonomy-sync/status/route.ts:59
- app/api/taxonomy/domains/[id]/route.ts:64
- app/api/taxonomy/domains/route.ts:25
- app/api/taxonomy/domains/route.ts:80
- app/api/taxonomy/domains/route.ts:91
- app/api/taxonomy/subtopics/route.ts:30
- lib/ai/classify.ts:1268
- lib/ai/classify.ts:1388
- lib/content/content-suggestions.ts:155
- lib/mcp/resources.ts:470
- lib/mcp/tools/apps.ts:97
- lib/mcp/tools/dashboard.ts:275
- lib/mcp/tools/search.ts:64
- lib/queue/handlers/batch-reclassify.ts:478
- scripts/eval-classification.ts:431
- scripts/generate-classification-prompt-taxonomy.ts:111
- scripts/generate-taxonomy-snapshot.ts:52
- scripts/sync-plugin-taxonomy.ts:85
- scripts/verify-intelligence-classification.ts:446
taxonomy_subtopics — 21 sites, READ+WRITE
- app/api/admin/taxonomy-sync/callback/route.ts:90
- app/api/admin/taxonomy-sync/route.ts:50
- app/api/admin/taxonomy-sync/status/route.ts:66
- app/api/cron/classification-quality/route.ts:68
- app/api/taxonomy/reorder/route.ts:34
- app/api/taxonomy/subtopics/[id]/route.ts:63
- app/api/taxonomy/subtopics/route.ts:44
- app/api/taxonomy/subtopics/route.ts:56
- hooks/use-taxonomy-admin.ts:138
- lib/ai/classify.ts:1277
- lib/ai/classify.ts:1397
- lib/content/content-suggestions.ts:162
- lib/mcp/resources.ts:478
- lib/mcp/tools/apps.ts:105
- lib/mcp/tools/dashboard.ts:282
- lib/queue/handlers/batch-reclassify.ts:490
- scripts/eval-classification.ts:437
- scripts/generate-classification-prompt-taxonomy.ts:125
- scripts/generate-taxonomy-snapshot.ts:64
- scripts/sync-plugin-taxonomy.ts:99
- scripts/verify-intelligence-classification.ts:447
taxonomy_sync_state — 3 sites, READ+WRITE
- app/api/admin/taxonomy-sync/callback/route.ts:103
- app/api/admin/taxonomy-sync/route.ts:61
- app/api/admin/taxonomy-sync/status/route.ts:76
template_completions — 5 sites, READ-only
- app/api/procurement/[id]/route.ts:337
- app/api/procurement/[id]/templates/[templateId]/completions/[completionId]/download/route.ts:60
- app/api/procurement/[id]/templates/[templateId]/route.ts:195
- app/api/procurement/[id]/templates/[templateId]/route.ts:270
- app/api/procurement/[id]/templates/route.ts:291
user_notification_prefs — 2 sites, READ+WRITE
- app/api/notifications/preferences/route.ts:33
- app/api/notifications/preferences/route.ts:72
user_profiles — 3 sites, READ-only
- app/api/admin/users/route.ts:94
- scripts/verify-user-profiles-parity.ts:234
- scripts/verify-user-profiles-parity.ts:266
user_roles — 22 sites, READ+WRITE
- app/api/admin/users/[userId]/route.ts:46
- app/api/admin/users/invite/route.ts:62
- app/api/admin/users/route.ts:110
- app/api/dashboard/route.ts:27
- app/api/items/[id]/route.ts:97
- app/api/mcp/[transport]/route.ts:51
- app/api/procurement/[id]/responses/draft-all/route.ts:155
- app/api/review/history/route.ts:80
- app/api/source-documents/[id]/send-to-review/route.ts:141
- app/item/new/page.tsx:29
- app/page.tsx:45
- app/review/page.tsx:23
- components/settings/content-owner-management.tsx:111
- hooks/use-user-role.ts:27
- lib/auth.ts:93
- lib/cron-auth.ts:37
- lib/mcp/auth.ts:85
- lib/mcp/tools/content.ts:1457
- lib/queue/auth.ts:60
- lib/source-documents/source-document-notifications.ts:78
- scripts/seed-e2e-users.ts:514
- scripts/seed-e2e-users.ts:525
verification_history — 7 sites, READ+WRITE
- app/api/admin/provenance/export/verification-history/route.ts:69
- app/api/review/action/route.ts:111
- app/api/review/action/route.ts:146
- app/api/review/action/route.ts:75
- app/api/review/queue/route.ts:597
- components/item-detail/verification-history.tsx:142
- components/item-detail/verification-history.tsx:84
workspaces — 64 sites, READ+WRITE
- app/api/feeds/[workspaceId]/rss/filtered/route.ts:39
- app/api/feeds/[workspaceId]/rss/route.ts:38
- app/api/intelligence/workspaces/[id]/flags/analyse/route.ts:101
- app/api/intelligence/workspaces/[id]/flags/resolve/route.ts:107
- app/api/intelligence/workspaces/[id]/health/route.ts:22
- app/api/intelligence/workspaces/[id]/prompts/preview/route.ts:91
- app/api/intelligence/workspaces/[id]/route.ts:115
- app/api/intelligence/workspaces/[id]/route.ts:131
- app/api/intelligence/workspaces/[id]/route.ts:159
- app/api/intelligence/workspaces/[id]/route.ts:24
- app/api/intelligence/workspaces/[id]/seed-starter-pack/route.ts:59
- app/api/intelligence/workspaces/[id]/sources/route.ts:59
- app/api/intelligence/workspaces/route.ts:217
- app/api/intelligence/workspaces/route.ts:26
- app/api/items/[id]/workspaces/route.ts:118
- app/api/procurement/[id]/outcome/integrate/route.ts:56
- app/api/procurement/[id]/outcome/route.ts:44
- app/api/procurement/[id]/outcome/route.ts:86
- app/api/procurement/[id]/questions/extract/route.ts:232
- app/api/procurement/[id]/questions/extract/route.ts:240
- app/api/procurement/[id]/questions/extract/route.ts:69
- app/api/procurement/[id]/questions/match/route.ts:233
- app/api/procurement/[id]/questions/match/route.ts:62
- app/api/procurement/[id]/questions/route.ts:210
- app/api/procurement/[id]/questions/route.ts:66
- app/api/procurement/[id]/readiness/route.ts:104
- app/api/procurement/[id]/responses/draft-all/route.ts:76
- app/api/procurement/[id]/responses/draft-stream/route.ts:71
- app/api/procurement/[id]/responses/draft/route.ts:54
- app/api/procurement/[id]/responses/estimate/route.ts:46
- app/api/procurement/[id]/route.ts:156
- app/api/procurement/[id]/route.ts:214
- app/api/procurement/[id]/route.ts:273
- app/api/procurement/[id]/route.ts:376
- app/api/procurement/[id]/route.ts:46
- app/api/procurement/[id]/templates/route.ts:133
- app/api/procurement/[id]/templates/route.ts:253
- app/api/procurement/[id]/tender/download/route.ts:51
- app/api/procurement/[id]/tender/route.ts:116
- app/api/procurement/[id]/tender/route.ts:192
- app/api/procurement/route.ts:208
- app/api/procurement/route.ts:37
- app/api/workspaces/[id]/route.ts:127
- app/api/workspaces/[id]/route.ts:142
- app/api/workspaces/[id]/route.ts:48
- app/api/workspaces/route.ts:131
- app/api/workspaces/route.ts:36
- app/workspaces/page.tsx:15
- lib/content/content-suggestions.ts:220
- lib/intelligence/summary.ts:44
- lib/mcp/resources.ts:157
- lib/mcp/resources.ts:204
- lib/mcp/tools/apps.ts:497
- lib/mcp/tools/procurement.ts:173
- lib/mcp/tools/workspaces.ts:73
- lib/procurement/procurement-export-data.ts:53
- lib/procurement/procurement-queries.ts:59
- lib/provenance/item-provenance.ts:204
- lib/queue/handlers/procurement-draft-all.ts:149
- lib/queue/handlers/procurement-draft-all.ts:386
- scripts/mcp-eval/fixtures.ts:375
- scripts/seed-procurement-test-data.ts:277
- scripts/seed-procurement-test-data.ts:323
- scripts/seed-procurement-test-data.ts:387
2. DISTINCT RPC FUNCTIONS via .rpc() — 58 distinct
Section titled “2. DISTINCT RPC FUNCTIONS via .rpc() — 58 distinct”| RPC function | Occurrences | Context |
|---|---|---|
| bulk_delete_tags | 1 | server |
| bulk_merge_tags | 1 | server |
| check_content_exists | 1 | server |
| claim_next_job | 1 | server |
| cleanup_filtered_articles | 1 | server |
| count_auth_users | 1 | server |
| delete_tag | 1 | server |
| filter_by_keywords | 1 | client |
| find_duplicate_tags | 1 | server |
| find_exact_duplicates | 1 | server |
| find_related_items | 1 | client |
| find_similar_content | 1 | server |
| get_aggregate_win_rate_stats | 1 | server |
| get_all_tag_counts | 1 | server |
| get_author_analysis | 1 | server |
| get_check_constraint_values | 1 | server |
| get_content_gaps | 1 | server |
| get_coverage_matrix | 2 | server |
| get_coverage_summary | 2 | server |
| get_dashboard_attention_counts | 1 | server |
| get_dashboard_summary | 2 | server |
| get_due_feed_sources | 1 | server |
| get_entity_list_aggregated | 1 | server |
| get_entity_summary | 1 | client |
| get_filter_counts | 2 | client |
| get_filter_ratio_trend | 1 | server |
| get_form_question_stats | 2 | server |
| get_form_question_stats_batch | 1 | server |
| get_freshness_breakdown | 3 | server |
| get_grouped_activity_feed | 1 | server |
| get_guide_coverage | 3 | server |
| get_item_workspaces | 1 | server |
| get_items_needing_layer | 1 | server |
| get_items_with_quality_flags | 2 | client, server |
| get_popular_keywords | 1 | server |
| get_quality_issue_counts | 1 | server |
| get_reading_patterns | 1 | server |
| get_review_breakdown_stats | 1 | server |
| get_tag_counts_filtered | 3 | server |
| get_tags_by_domain | 1 | server |
| get_topic_deep_dive | 1 | server |
| get_topic_layers | 1 | server |
| get_trend_analysis | 1 | server |
| get_unique_authors | 1 | client |
| get_user_display_names | 1 | server |
| get_user_tag_counts | 1 | client |
| hybrid_search | 2 | server |
| list_public_tables | 1 | server |
| merge_entities | 1 | server |
| merge_item_metadata | 12 | server |
| merge_tags | 1 | server |
| q_a_extractions_promotion_candidates | 1 | server |
| reap_stuck_jobs | 1 | server |
| recalculate_all_freshness | 1 | server |
| rename_tag | 1 | server |
| set_config | 2 | server |
| suggest_tags | 1 | server |
| toggle_star | 2 | client |
Per-RPC call sites
Section titled “Per-RPC call sites”bulk_delete_tags — 1 sites
- app/api/tags/bulk-delete/route.ts:37 (server)
bulk_merge_tags — 1 sites
- app/api/tags/bulk-merge/route.ts:41 (server)
check_content_exists — 1 sites
- lib/citations.ts:146 (server)
claim_next_job — 1 sites
- app/api/cron/process-queue/route.ts:82 (server)
cleanup_filtered_articles — 1 sites
- app/api/cron/intelligence-cleanup/route.ts:17 (server)
count_auth_users — 1 sites
- scripts/verify-user-profiles-parity.ts:219 (server)
delete_tag — 1 sites
- app/api/tags/route.ts:182 (server)
filter_by_keywords — 1 sites
- hooks/browse/use-browse-data.ts:183 (client)
find_duplicate_tags — 1 sites
- app/api/tags/duplicates/route.ts:39 (server)
find_exact_duplicates — 1 sites
- lib/dedup.ts:80 (server)
find_related_items — 1 sites
- app/item/[id]/page.tsx:58 (client)
find_similar_content — 1 sites
- lib/dedup.ts:108 (server)
get_aggregate_win_rate_stats — 1 sites
- app/api/analytics/win-rate/route.ts:47 (server)
get_all_tag_counts — 1 sites
- app/api/tags/route.ts:145 (server)
get_author_analysis — 1 sites
- app/api/insights/route.ts:71 (server)
get_check_constraint_values — 1 sites
- scripts/generate-taxonomy-snapshot.ts:92 (server)
get_content_gaps — 1 sites
- app/api/insights/route.ts:84 (server)
get_coverage_matrix — 2 sites
- app/api/coverage/gaps/route.ts:337 (server)
- app/api/coverage/route.ts:25 (server)
get_coverage_summary — 2 sites
- app/api/coverage/route.ts:26 (server)
- app/api/cron/coverage-alerts/route.ts:85 (server)
get_dashboard_attention_counts — 1 sites
- lib/dashboard.ts:299 (server)
get_dashboard_summary — 2 sites
- lib/supabase/safe.ts:156 (server)
- lib/supabase/safe.ts:87 (server)
get_due_feed_sources — 1 sites
- lib/intelligence/pipeline.ts:48 (server)
get_entity_list_aggregated — 1 sites
- app/api/entities/route.ts:40 (server)
get_entity_summary — 1 sites
- hooks/browse/use-filter-data.ts:141 (client)
get_filter_counts — 2 sites
- hooks/browse/use-filter-data.ts:62 (client)
- hooks/browse/use-top-domains.ts:51 (client)
get_filter_ratio_trend — 1 sites
- app/api/intelligence/workspaces/[id]/metrics/trend/route.ts:43 (server)
get_form_question_stats — 2 sites
- lib/mcp/tools/apps.ts:509 (server)
- lib/mcp/tools/procurement.ts:195 (server)
get_form_question_stats_batch — 1 sites
- lib/procurement/procurement-queries.ts:76 (server)
get_freshness_breakdown — 3 sites
- lib/ai/change-reports.ts:547 (server)
- lib/mcp/tools/dashboard.ts:210 (server)
- lib/reorient.ts:149 (server)
get_grouped_activity_feed — 1 sites
- lib/dashboard.ts:305 (server)
get_guide_coverage — 3 sites
- app/api/coverage/gaps/route.ts:341 (server)
- app/api/coverage/guides/route.ts:160 (server)
- app/api/guides/route.ts:87 (server)
get_item_workspaces — 1 sites
- app/api/items/[id]/workspaces/route.ts:38 (server)
get_items_needing_layer — 1 sites
- scripts/backfill-layers.ts:153 (server)
get_items_with_quality_flags — 2 sites
- hooks/browse/use-browse-data.ts:216 (client)
- lib/reorient.ts:163 (server)
get_popular_keywords — 1 sites
- app/api/search/suggestions/route.ts:13 (server)
get_quality_issue_counts — 1 sites
- app/api/quality/summary/route.ts:21 (server)
get_reading_patterns — 1 sites
- app/api/insights/route.ts:95 (server)
get_review_breakdown_stats — 1 sites
- app/api/review/stats/route.ts:53 (server)
get_tag_counts_filtered — 3 sites
- app/api/tags/route.ts:53 (server)
- app/api/tags/route.ts:85 (server)
- app/api/tags/route.ts:92 (server)
get_tags_by_domain — 1 sites
- app/api/tags/by-domain/route.ts:35 (server)
get_topic_deep_dive — 1 sites
- app/api/insights/route.ts:52 (server)
get_topic_layers — 1 sites
- app/api/items/[id]/layers/route.ts:36 (server)
get_trend_analysis — 1 sites
- app/api/insights/route.ts:32 (server)
get_unique_authors — 1 sites
- hooks/browse/use-filter-data.ts:83 (client)
get_user_display_names — 1 sites
- lib/users/display-names.ts:80 (server)
get_user_tag_counts — 1 sites
- hooks/browse/use-filter-data.ts:125 (client)
hybrid_search — 2 sites
- lib/mcp/tools/search.ts:114 (server)
- scripts/eval-search.ts:148 (server)
list_public_tables — 1 sites
- scripts/db-row-count-diff.ts:611 (server)
merge_entities — 1 sites
- app/api/entities/merge/route.ts:48 (server)
merge_item_metadata — 12 sites
- app/api/items/[id]/classify/route.ts:88 (server)
- app/api/items/[id]/files/route.ts:132 (server)
- app/api/items/[id]/files/route.ts:206 (server)
- app/api/items/[id]/images/route.ts:225 (server)
- app/api/items/[id]/images/route.ts:275 (server)
- app/api/items/[id]/metadata/route.ts:59 (server)
- app/api/items/batch/route.ts:399 (server)
- app/api/items/route.ts:378 (server)
- app/api/upload/route.ts:850 (server)
- lib/ai/extract-content.ts:142 (server)
- lib/ai/vision.ts:180 (server)
- scripts/batch-populate-topics.ts:378 (server)
merge_tags — 1 sites
- app/api/tags/merge/route.ts:42 (server)
q_a_extractions_promotion_candidates — 1 sites
- lib/q-a-pairs/promote-corpus.ts:179 (server)
reap_stuck_jobs — 1 sites
- lib/queue/visibility-timeout.ts:66 (server)
recalculate_all_freshness — 1 sites
- app/api/freshness/recalculate-all/route.ts:45 (server)
rename_tag — 1 sites
- app/api/tags/rename/route.ts:40 (server)
set_config — 2 sites
- app/api/procurement/[id]/responses/[rId]/restore/route.ts:85 (server)
- app/api/procurement/[id]/responses/[rId]/route.ts:256 (server)
suggest_tags — 1 sites
- app/api/tags/suggest/route.ts:34 (server)
toggle_star — 2 sites
- components/shared/star-button.tsx:46 (client)
- hooks/use-item-detail-data.ts:307 (client)
Storage buckets (Storage API — NOT Data API; excluded above)
Section titled “Storage buckets (Storage API — NOT Data API; excluded above)”- app/api/items/[id]/files/route.ts:77:documents
- app/api/items/[id]/images/route.ts:250:documents
- app/api/items/[id]/images/route.ts:351:documents
- app/api/items/[id]/images/route.ts:97:documents
- app/api/procurement/[id]/route.ts:353:templates
- app/api/procurement/[id]/templates/[templateId]/completions/[completionId]/download/route.ts:75:templates
- app/api/procurement/[id]/templates/[templateId]/route.ts:309:templates
- app/api/procurement/[id]/templates/route.ts:171:templates
- app/api/procurement/[id]/templates/route.ts:212:templates
- app/api/upload/route.ts:377:documents
- components/reader/pdf-reader-view.tsx:58:documents
- components/reader/pdf-viewer.tsx:63:documents
- lib/ai/vision.ts:81:documents
3. DYNAMIC .from(...) / .rpc(...) CALL SITES (variable / non-literal arg)
Section titled “3. DYNAMIC .from(...) / .rpc(...) CALL SITES (variable / non-literal arg)”A default-schema switch (db: { schema: 'api' }) covers these; a per-literal
rewrite would MISS them. There are zero dynamic .rpc() sites — all RPC names
are string literals.
Dynamic PostgREST .from(variable) — Data API
Section titled “Dynamic PostgREST .from(variable) — Data API”| file:line | variable | resolves to |
|---|---|---|
| app/api/taxonomy/reorder/route.ts:61 | table | ’taxonomy_domains’ | ‘taxonomy_subtopics’ (both already in static list) |
| scripts/snapshot-content-state.ts:208 | table | loop over a table-name array |
| scripts/cleanup-stale-test-artifacts.ts:135 | table | loop var |
| scripts/cleanup-stale-test-artifacts.ts:161 | table | loop var |
| scripts/export-user-data.ts:435 | table | loop var |
| scripts/db-row-count-diff.ts:647 | table | loop var |
| scripts/wipe-procurement-responses.ts:211 | table | loop var |
| scripts/quality-gate.ts:459 | table | loop var |
| scripts/quality-gate.ts:490 | table | loop var |
| scripts/propagate-canonical-content.ts:208 | table | loop var |
| scripts/propagate-canonical-content.ts:261 | referencesTable | computed |
| scripts/propagate-canonical-content.ts:362 | table | loop var |
| scripts/propagate-canonical-content.ts:415 | table | loop var |
| scripts/propagate-canonical-content.ts:430 | table | loop var |
| scripts/propagate-canonical-content.ts:444 | table | loop var |
| scripts/propagate-canonical-content.ts:486 | VERSION_TABLE | ’content_propagation_version’ |
| scripts/reseed-tenant-instance.ts:94 | SIGNUP_POLICY_TABLE | ’signup_policy’ |
| scripts/reseed-tenant-instance.ts:111 | TENANT_CONFIG_TABLE | ’tenant_config’ |
| scripts/fetch-client-branding.ts:194 | TENANT_CONFIG_TABLE | ’tenant_config’ |
| scripts/seed-tenant-from-bundle.ts:161 | SIGNUP_POLICY_TABLE | ’signup_policy’ |
Tables reached ONLY dynamically (never as a .from('literal')): signup_policy,
tenant_config, content_propagation_version. These would NOT appear in the static
literal list above and MUST be remembered when mirroring into api.
Dynamic storage .from(BRANDING_BUCKET) — Storage API, NOT Data API
Section titled “Dynamic storage .from(BRANDING_BUCKET) — Storage API, NOT Data API”- scripts/reseed-tenant-instance.ts:132 (
BRANDING_BUCKET= ‘branding’) - scripts/fetch-client-branding.ts:247 (
BRANDING_BUCKET= ‘branding’)
4. CLIENT CONFIG / SCHEMA SETTINGS
Section titled “4. CLIENT CONFIG / SCHEMA SETTINGS”No supabase client factory sets db: { schema: ... }. All use the default public.
| Factory | File | Schema option? |
|---|---|---|
Browser (createClient) | lib/supabase/client.ts | none (default public) |
Server SSR (createClient) | lib/supabase/server.ts | none |
Service-role (createServiceClient) | lib/supabase/server.ts | none |
MCP per-user (createMcpUserClient/createMcpClient) | lib/mcp/auth.ts | none |
Script clients (createClient from @supabase/supabase-js, ~30 scripts) | scripts/*.ts | none (only auth:/global: options) |
.schema('<x>')override invocations: NONE (the only.schema('auth')mention is a comment in scripts/seed-e2e-users.ts:196 explaining why it is NOT used).lib/supabase/safe.tssb()/tryQuery()wrappers wrap the builder but do not set a schema.
5. CROSS-SCHEMA CHECK
Section titled “5. CROSS-SCHEMA CHECK”- All
.from('literal')/.rpc('literal')targetpublicobjects. None targetauth/storage/other via.from. authschema is reached exclusively through the dedicated GoTrue API (supabase.auth.*,supabase.auth.admin.*) — ~39 call-lines — NOT PostgREST. Not affected by Data API schema exposure.storageschema reached exclusively throughsupabase.storage.from(<bucket>)(bucketsdocuments,templates,branding) — NOT PostgREST. Not affected.- No
.schema('auth')/.schema('storage')/other override is invoked anywhere.
Exclusions / false positives removed
Section titled “Exclusions / false positives removed”documents,templates— storage buckets (storage.from), not tables.profiles— 2 hits, both JSDoc examples in lib/supabase/safe.ts (real table isuser_profiles).users— 1 hit, a//comment in scripts/seed-e2e-users.ts:196.table— ast-dataflow internal source comments only.- RPC
fn,fnName— ast-dataflow internal generics, not real RPC names.