HWHeat Waves
    DashboardUtforsk
    Analyse
    Data Kilder
    • Design Rationale
    • Doc Map
    DocsSettings
    DashboardAtlasUtforsk
    Analyse
    Data Kilder
    1. Documentation
    2. Documentation map — where each topic lives

    Loading documentation...

    Documentation map — where each topic lives

    Single index of authoritative docs for taxonomy, ingestion, Postgres contract, schema history, and application routes. Use this when adding prose or resolving conflicts.

    Documentation map

    Use this file when deciding where new prose belongs or which file is authoritative for a topic. Browse the live tree in-app at /docs.

    Diagram

    flowchart LR subgraph narrative [Semantics] Taxonomy[taxonomy] Categories[category_values] end subgraph ingest [Ingestion] Pipe[pipeline] Maps[adapter_mappings] end subgraph fds [Fire_data_schema] Concept[conceptual] Contract[postgres_contract] SchemaHist[schema_history] end subgraph appLayer [Application] Explore[explore_slice] ReadPath[read_path_rpc] end narrative --> ingest narrative --> fds ingest --> fds fds --> appLayer classDef folder fill:#f1f5f9,stroke:#64748b,stroke-width:1px,stroke-dasharray:4 3,color:#334155 class Maps,SchemaHist folder

    Artifact roles

    LocationRoleAuthority
    semantics-and-sources/
    semantics-and-sources/eu-firestat-final-report.mdEU FIRESTAT final report (July 2022): cleaned English text — tiers, §4 definitions, value lists, annexes.Authoritative EU harmonisation source; not Norwegian adapter logic.
    semantics-and-sources/progress-report-1.mdEU FIRESTAT progress report 1 (March 2021): Task 0 diagnostic + Task 1 terminology (culled to DK/FI/NO/SE/UK/USA). Challenges + risk analysis.Background to final report; figures omitted in markdown edition.
    semantics-and-sources/eu-firestat-variable-cheatsheet.mdEU Firestat quick reference: Tier 1/2 #1–#14, fire-incident threshold, HeatWaves dim_code mapping.Lookup; full prose in eu-firestat-final-report.md.
    semantics-and-sources/taxonomy-and-eu-firestat-alignment.mdDomain narrative: Norwegian source capabilities, EU-aligned chart dims, ambiguous boundaries.Prose "why / what exists where" for SSB/BRASK/BRIS.
    semantics-and-sources/category-values-by-source.mdReference tables: category values per source, cross-source ✓ / ≈ / ✗ mappings.Human-readable values; not adapter ID rules.
    semantics-and-sources/glossary.mdTerm index: short definitions with links to owners (not a second taxonomy).Lookup only; defer narrative to taxonomy doc.
    design-rationale.mdStack rationale: Next.js, Supabase, shadcn, chart libraries.Product/engineering context; schema grain defers to fire-data-schema/schema-history/v2-design-rationale-overview.md.
    ingestion/
    ingestion/adapter-mappings/building-type-buckets.mdETL note: BRIS Matrikkel native_code → four standard_code buckets for building_type.Complements filter-axes mapping; see linked SQL script.
    ingestion/adapter-mappings/category-native-to-cat-code.mdETL contract: cat_code, native_api_code, BRIS question ids, x00 rules.Implementation for adapters + seed alignment.
    ingestion/adapter-mappings/filter-axes-native-to-filter-id.mdETL contract: filter axes, BRASK/BRIS parameter names, native_value.Same tier as category mapping.
    ingestion/adapter-mappings/regions-and-cresta.mdRegion spine: canonical 2024 counties, BRASK Cresta → canonical, cross-source rules for maps.Single owner for county code ↔ name tables used in viz and normalization.
    ingestion/adapter-mappings/ssb-pxwebapi-tables.mdSSB PxWebApi reference: table 12058 variables, KOSTRA codes, cross-source age notes.Pair with ssb.ts adapter and dataset 10 in source-api examples.
    ingestion/adapter-mappings/source-api-request-examples.mdVerified request matrix (datasets 1–12) + smoke-test narrative; tracked adapter-mappings/.live_responses/ holds pinned JSON/HTML for doc links and manual diffing. BRIS pre-2024 fylke ids for counties.ids live in the appendix there; post-2024 ids defer to regions-and-cresta.md (no duplicate table).Pair with pipeline §4–§10 when changing slice templates; regen captures when upstream changes.
    ingestion/catalog-governance-and-reconciliation.mdOperations / governance: catalog completeness, ingest routing, quality signals, reconciliation vs upstream totals.Complements pipeline + Postgres contract; not normative for trigger atomicity.
    ingestion/pipeline-slices-idempotency-and-triggers.mdPipeline: ingest flow, slices, idempotency, triggers. §10.3–§10.4 = daily four-tier probes (BRASK + BRIS Police), shared prefetch RPCs, dual phase_detail.kind values (brask_daily_fanout | bris_police_daily_fanout), and slice_hash generated column.Orchestration; links to maps + Postgres contract.
    ingestion/typescript-entrypoints-dispatcher-and-registry.mdIngestion TS entrypoints: dispatcher, registry, per-source functions.Code map for lib/data-model/adapters.
    fire-data-schema/
    fire-data-schema/postgres-contract-rls-and-keys.mdLive PostgreSQL contract: RLS, keys, indexes, triggers.Wins over narrative when SQL disagrees.
    fire-data-schema/conceptual-tables-and-grain.mdConceptual schema (names, intent).Non-executable; pair with Postgres contract for DDL truth.
    fire-data-schema/schema-history/DB design narrative (under fire-data-schema): migrations, rationales, adapter notes.Must link to Postgres contract for executable truth.
    application-architecture/
    application-architecture/read-path-get-fire-data-and-catalog-caching.mdRead path: get_fire_data, catalog cache, generated RPC types.Chart read wiring in lib/data-model.
    application-architecture/app-routes.mdApp routes: shipped app/(main) surfaces and nav labels.Route inventory.
    application-architecture/atlas-route.md/atlas: scrollytelling chapters, URL ↔ FireDataQuery, fetchAtlas* reads.Product behavior; pair with read-path doc.
    application-architecture/dashboard-route.md/dashboard: configurable block playground (react-grid-layout), chart registry + adapters, per-user persisted layouts, query overrides.Product behavior; route inventory defers here for dashboard detail.
    application-architecture/explore-fire-data-slice-probe-and-ingest.md/explore: URL → slice, coverage (probe_slice_coverage on fact_yearly when granularity=year; probe_slice_coverage_daily on fact_daily when sub-year, aligned with get_fire_data), branch to charts vs partial heal vs cold ingest (auth) vs login prompt (anon), grain dispatch, polling.Product behavior; must stay consistent with read-path RPC branch.
    application-architecture/charts-correlation-crosstab.md/analytics: discontinued chart surface (presentation-only page).Route status; future reintroduction via read path.
    application-architecture/charts-libraries-by-area.mdUI / stack inventory: Recharts vs ECharts by area, shadcn Progress.Component-level inventory; pair with analytics behavior doc.

    Code pointers

    Implementation files under app/, lib/, components/, and supabase/migrations/ should link back to the map owner for the behavior they implement:

    /** * … * @see docs/<owner-from-artifact-table-above>.md — what this file implements */

    In SQL migrations, use a leading comment on the same line or block:

    -- @see docs/application-architecture/explore-fire-data-slice-probe-and-ingest.md

    Rules:

    • Pick the owner from the Artifact roles table above (one canonical doc per concept).
    • Optional trailing note after the path: §10, §10.3–§10.4, or a short phrase — npm run verify:docs checks that the file exists and that section anchors resolve when present.

    Boundaries (quick answers)

    • Taxonomy doc vs category values doc: taxonomy = story + capabilities matrix; category values = exhaustive value tables + overlap notation.
    • Category values vs category-native mapping: readable tables vs normalized keys (cat_code, native_api_code) for code/ETL.
    • Canonical counties vs BRIS API fylke appendix: the 2024 county code ↔ name table lives only in ingestion/adapter-mappings/regions-and-cresta.md. source-api-request-examples.md keeps pre-2024 BRIS counties.ids (klass 104 historical window) plus narrative; it links to the canonical doc for post-2024 — do not paste a second full county table there.
    • Unshipped product surfaces (no app/(main)/…/page.tsx yet, e.g. /risk): do not add a map row or canonical app-arch doc until the route ships. Draft specs may stay in local docs/_archive/ (gitignored; not linked from this tree).

    Related

    • In-app gateway: open /docs for diagrams and links beside each area.
    • Doc drift checks: npm run verify:docs — link graph, @see targets, map coverage, _archive refs (CI runs this after lint).
    • Project README (repo root): ../../README.md.