Skip to main content

INVESTIGATE backlog — priority view

Purpose: triage tool, not a roadmap. Decides what to investigate next — not what to build next. The 17 INVESTIGATE files in this folder were written at different times for different reasons; this doc separates the ones ready to be done from the ones that should wait, and orders the ready ones by what they unblock.

Last updated: 2026-05-07. Re-rank whenever an INVESTIGATE moves to completed/ or a new one lands.

How to read the tiers: tier order is the order to start the investigation, not the order to finish. Tier 1 means "next on deck"; Tier 4 means "don't open this yet — wait for prereqs or product clarity."


Tier 1 — do next (load-bearing or unblocks active work)

#InvestigationEffortWhy this tier
1semantic-foundation-before-expansionLDecides concept-catalogue format (dbt MCP / YAML generator / dbt Semantic Layer). Explicitly freezes NGO-supply expansion until resolved — i.e. blocks 4 other INVESTIGATEs (data-discovery, supply-frontend-display, folkehjelp, multi-ngo-extensions) from going past their own boundaries. Highest unblocking ratio.
2mart-meta-dimensions-cardinalityMDirectly feeds PLAN-007 phase 4 (the active customer-frontend rewrite) — the catalogue UX needs cardinality + example values to render "what each column actually contains". Investigation gap is small; ship-side gap is real.
3felles-datakatalog-classificationSAlready half-shipped (eu_theme: namespace landed in PLAN-007 phase 2.10). Closing this out is a few hours of LOS-vocabulary mapping work and gives Atlas one-line interop with data.norge.no — high payoff for the effort.

Tier 2 — do after Tier 1 (independent, ready, valuable)

#InvestigationEffortWhy this tier
4reports-and-indicators-from-catalogueXLSubstrate for prioritising new sources. Without it, "what to ingest next" is gut feel. Big effort, but defines the grammar Atlas's data side aims at. Begin once Tier 1 settles the catalogue shape.
5multi-ngo-supply-model-extensionsMSmall schema change (dim_chapter.source_url, chapter_subtype, chapter_kommune_coverage) that unblocks both supply-frontend-display and folkehjelp-supply. Cheap; high downstream payoff.
6developer-docs-surfaceMOnce PLAN-007 lands and marts.* + raw.* are publicly queryable, external developers will arrive without docs. Investigate the shape of developer-atlas.helpers.no before users land, not after.
7data-freshness-surfaceMCatalogue UX gap: non-technical personas can't tell "is this current?". Independent of other tiers; ships value to the customer-frontend on its own.
8indicators-schema-coverageS-MPR #89 enabled +persist_docs so marts.* column descriptions reach PostgREST and MCP agents. Surfaced that 249 of ~566 marts columns lack descriptions, mostly indicators__* per-source pass-throughs (25 % coverage). Independent of other tiers; settles whether to hand-fill, generate from manifest.yml dimensions, or punt.

Tier 3 — defer until prereqs ship

These have known prerequisites that are still open. Don't open them yet — the prereq's outcome materially changes the investigation's scope.

#InvestigationWaits onWhy defer
8new-norwegian-public-sourcesreports-and-indicators-from-catalogue (Tier 2)The 26-source pick is much cheaper once the report grammar tells us what gaps to fill. Sequencing this first risks ingesting sources we then deprioritise.
9supply-frontend-displaymulti-ngo-supply-model-extensions (Tier 2)URL structure and viewing layers depend on the schema shape. Investigating UX before schema = rework.
10folkehjelp-supplymulti-ngo-supply-model-extensions (Tier 2)Same reason — schema decisions land first, then the second-NGO ingest validates them.
11data-discovery-surfacepartially-spawned 2026-05-07semantic-foundation-before-expansion (Tier 1) for the OpenMetadata path; PLAN-008 for the Atlas-native near-term path is ready to execute nowThe Atlas-native subset (Scalar spec viewer + lineage panel + dbt docs hosting) is ready to ship via PLAN-008-developer-discovery-surface.md. The wider OpenMetadata adoption stays deferred per the original Tier-3 reason.
12cloud-agent-source-onboardingnew-norwegian-public-sources"Autonomous agent that onboards sources" needs a clear list of what sources to onboard before the orchestration design is meaningful.
13private-atlas-deploymentsproduct clarity (which NGO drives this?)L-effort and architecturally significant. Worth doing only when there's a concrete first private tenant to design against; speculative architecture rots fast.
14deployment-pipelineUIS / dagster decision (external)External-blocked. The CI/CD shape depends on what UIS lands; investigating now risks designing against the wrong substrate. Revisit when UIS signals dagster direction.

Tier 4 — ideas, not investigations

These are sketches / parking-lot entries, not concrete research targets. Don't open them as INVESTIGATEs — let the surrounding context resolve, then either promote to a real INVESTIGATE or delete.

#ItemWhat to do
15ngo-events-and-minisitesExplicitly parked in the file itself. Re-evaluate after Folkehjelp ships and a second NGO is in flight — by then the actual gap will be visible, not speculated.
16tag-indicators-sdg-icnpoOverlaps with semantic-foundation's ICNPO tagging on the supply side. Hold until Tier 1 #1 resolves; the answer there may absorb this entirely.

Tier 0 — already in flight

#InvestigationState
customer-frontend-data-displayRecommendation accepted; child PLAN-007 active in ../active/. No fresh investigation work needed.

Cross-cutting notes

  • Two natural workstreams: data-platform (Tier 1 #1, Tier 2 #4–5) and frontend/UX (Tier 1 #2, Tier 2 #6–7). They can run in parallel — different files, different agents, no merge contention.
  • Supply-side cluster: #5 → (#9, #10) is a tight chain. Resolving #5 unblocks two Tier-3 investigations together.
  • Catalogue cluster: #1 → (#11, #15 #16, plus parts of #4) is the other tight chain. Resolving #1 collapses the most uncertainty.
  • External blocker: only #14 (deployment-pipeline) waits on someone outside Atlas. The other 16 are agency-of-the-team-only.
  • Idea-vs-investigation ratio: 2 of 17 are still ideas (Tier 4). Healthy — most of the backlog is concrete work, not brainstorm residue.

How to use this doc

  1. Pick the top unstarted item from Tier 1; if all of Tier 1 is in flight or done, move to Tier 2.
  2. When starting an INVESTIGATE, leave it in this folder (per the lifecycle rule — INVESTIGATEs stay in backlog/ until every child PLAN ships). Update its Status: line to note the work is in flight.
  3. When an INVESTIGATE produces a recommendation and a child PLAN is drafted, update this doc: strike the row, note the PLAN it spawned.
  4. When a Tier-3 prereq lands, promote its dependents up to Tier 2 in the next refresh.
  5. Re-rank quarterly or after every 3 INVESTIGATEs ship — whichever comes first.