§18 · Concrete build order
Signal Navigator build order
Five phases, from the public-map substrate to a durable institution. Every line item is tagged with status and — where applicable — a code anchor that proves it exists. When in doubt we mark partial with an honest gap note rather than overclaim.
Phase 1 · Foundation
Sources, signals, field notes, evidence, claims — the public-map substrate.
sources
Shipped- src/lib/sourceRegistry.ts
- src/lib/sources.functions.ts
- /app/sources
theater packs
PartialGap: Ukraine and Hormuz pack framework is wired; pack-specific live adapters and claim-graph UI are follow-on work.
- supabase/migrations/20260608170000_theater_packs_catalog.sql
- src/lib/theaterPacks/theaterPacks.functions.ts
- /app/sources/theaters
- docs/theater-packs.md
observations
Shipped- src/lib/normalizeObservation.ts
- src/lib/upsertSignal.server.ts
signals
Shipped- src/lib/signalLifecycle.ts
- src/lib/signalRecordModel.ts
- /app/signals
field_notes
Shipped- src/lib/fieldNotes/fieldNote.functions.ts
- src/lib/fieldNotes/fieldNoteLifecycleV2.ts
- /app/field-notes
evidence_items
PartialGap: Upload/link/archive is wired for map evidence; broader evidence item table + UI still thin.
- src/lib/evidence/saveMapEvidence.ts
claims
Shipped- src/lib/fieldNotes/promoteFieldNote.functions.ts
- src/lib/intel/inspectableClaim.ts
- promoted_claims_public (view)
provenance_events
Shipped- src/lib/provenance/canonicalFieldNote.ts
- src/lib/provenance/fieldNoteProvenance.test.ts
trust_events
PartialGap: Trust signals computed inline; no dedicated trust_events ledger yet.
- src/lib/intel/trustMeta.ts
- src/lib/fieldNotes/fieldNoteReputation.ts
moderation_actions
Shipped- src/lib/fieldNotes/fieldNoteModeration.ts
- src/lib/fieldNotes/fieldNoteReview.functions.ts
public map
Shipped- /disruption-map
- src/routes/disruption-map.tsx
source-fed signals
Shipped- src/lib/upsertSignal.server.ts
- src/adapters/*
field note submission
Shipped- src/lib/fieldNotes/fieldNote.functions.ts
- /app/field-notes
note attachment to signal/place
Shipped- src/lib/fieldNotes/fieldNoteTargetAliases.ts
- src/lib/fieldNotes/fieldNoteGraphObjectTargetsMigration.test.ts
evidence upload / link / archive metadata
PartialGap: Archive metadata recorded; richer file-upload UI pending.
- src/lib/evidence/saveMapEvidence.ts
- src/lib/archive.server.ts
basic moderation
Shipped- src/lib/fieldNotes/fieldNoteModeration.ts
note status
Shipped- src/lib/fieldNotes/fieldNoteLifecycleV2.ts
- src/lib/fieldNotes/fieldNotePromotionStates.ts
simple confidence labels
Shipped- src/lib/intel/confidenceLadder.ts
- src/components/ai/AiProvenanceBadges.tsx
Phase 2 · Verification
Turn raw notes into corroborated claims with reputation, reliability, and change history.
verification queue
PartialGap: Review surface exists; a dedicated /verification queue with SLA timers is not built.
- src/lib/fieldNotes/fieldNoteReview.functions.ts
- /app/quarantine
corroboration / contradiction workflow
Shipped- src/lib/fieldNotes/fieldNoteCorroboration.functions.ts
- src/lib/fieldNotes/fieldNotePromotion.ts
contributor reputation
PartialGap: Reputation scored but not yet surfaced on a public contributor profile.
- src/lib/fieldNotes/fieldNoteReputation.ts
- src/lib/fieldNotes/contributorVerification.functions.ts
promoted notes
Shipped- src/lib/fieldNotes/promoteFieldNote.functions.ts
- promoted_claims_public
claim pages
PartialGap: Public note pages exist; first-class /claim/$id detail page TBD.
- src/lib/intel/inspectableClaim.ts
- src/routes/n.$handle.$slug.tsx
source reliability cards
PartialGap: Health data shown to operators; public per-source reliability card not yet shipped.
- src/lib/sourceHealth.ts
- src/lib/sourceTrustHandlingDecision.ts
- /app/sources/health
transparent change history
PartialGap: Per-object diff/history UI is not surfaced publicly.
- src/lib/provenance/canonicalFieldNote.ts
- src/lib/intel/sharpeningTrail.ts
Phase 3 · Graph
FalkorDB-backed graph with entity extraction, neighborhood queries, and GraphRAG summaries.
FalkorDB materializer
Shipped- src/lib/graph/graphMaterializer.server.ts
- src/lib/graph/falkorClient.server.ts
graph side panel
Shipped- /app/graph
- src/lib/graph/graph.functions.ts
entity extraction
Shipped- src/lib/graph/extractGraphFacts.ts
- src/lib/ai/aiTaskRegistry.ts
relationship proposals
Shipped- src/lib/graph/relationshipScoring.ts
neighborhood queries
Shipped- src/lib/graph/getNodeNeighborhood.server.ts
- src/lib/graph/getSignalNeighborhood.server.ts
related signals
Shipped- src/lib/graph/signalRelationshipSummary.ts
related notes
Shipped- src/lib/fieldNotes/fieldNoteContextStories.ts
GraphRAG summaries
PartialGap: Cypher generation + context formatting exist; end-to-end retrieval-augmented briefings still in progress.
- src/lib/graph/nlCypher.server.ts
- src/lib/graph/graphContextFormatters.ts
Phase 4 · Commons
Open the platform: public API, exports, partners, watch zones, governance.
public API
PartialGap: A handful of public endpoints exist; documented, versioned API surface not yet shipped.
- src/routes/api/public/*
dataset exports
Plannedpartner workspaces
Plannedmaintainer program
Plannedwatch zones
Shipped- src/lib/watchZones.functions.ts
- /app/watchlists
public briefings
PartialGap: Daily briefing route shipped; per-topic public briefing index not yet.
- src/routes/daily-briefing.tsx
- src/lib/briefings
contributor profiles
Plannedgovernance board
Plannedopen license / contributor terms
PartialGap: Scope + methodology published; explicit license and contributor terms pending.
- src/routes/about.scope.tsx
- src/routes/methodology.tsx
Phase 5 · Durable institution
Foundation governance, funding engine, enterprise support, audit and transparency.
foundation or public-benefit governance
Plannedgrants / sponsorship engine
Plannedpaid private deployments
Plannedenterprise support
Plannedaudit / reporting
Plannedsecurity reviews
Plannedtransparency reports
Planned