Future Debrief

Rebuilding a 30-year-old maritime analysis platform for the next generation of analysts.

Read the Blog View on GitHub

The Vision

Debrief has served maritime analysts for over 30 years. But the technology landscape has changed dramatically. Eclipse RCP investment is waning, Java desktop expertise is shrinking, and modern analysts expect browser-based, collaborative tools.

Three problems we're solving:

Problem 1

Platform Decline

Eclipse RCP is no longer actively developed. Finding Java/SWT developers is increasingly difficult.

Problem 2

Contractor Dependency

Domain scientists can't build their own tools. Every enhancement requires specialist Java developers.

Problem 3

Data Silos

Each exercise lives in isolation. There's no way to query across historical archives for aggregate analysis.

Technical Approach

We're following a "thick services, thin frontends" architecture. 90% of the logic lives in Python services; frontends handle orchestration and display only.

Foundation

Schema-First

LinkML defines the master schema, generating Pydantic models, JSON Schema, and TypeScript types automatically.

Storage

STAC Catalogs

Plots stored as GeoJSON in Spatiotemporal Asset Catalogs. Open standard, queryable, portable.

Integration

MCP Protocol

Services exposed via Model Context Protocol, enabling AI assistants to orchestrate analysis workflows.

Frontends

Multiple Clients

VS Code extension, Electron app, Jupyter notebooks, and browser SPA. Same services, your choice of interface.

Read the full Architecture document →

Reference

Auto-generated reference for the LinkML schemas that define Debrief's data model: maritime tracks, reference locations, analysis tool metadata, and session state. Updated automatically on every debrief-future release.

Core Principles

The Constitution defines immutable principles that guide every decision:

Offline First

Core functionality works without network. Always.

Provenance Always

Every transformation is recorded. Full audit trail.

No Silent Failures

Operations succeed completely or fail explicitly.

Data Sovereignty

Your data stays on your machine. No cloud required.

Schema Integrity

All data validated against schemas. No exceptions.

Test Coverage

Every feature has tests. Specs before implementation.

Roadmap

We're following a tracer bullet approach: building thin slices through the full stack to validate the architecture early.

All specification stages are now complete:

Stage Component Purpose Status
0 Schemas LinkML models, generators, test fixtures ✓ Complete
1 STAC Operations Local catalog management ✓ Complete
2 File I/O REP file parsing to GeoJSON ✓ Complete
3 Config Cross-platform user state ✓ Complete
4 Loader App Electron mini-app for file loading ✓ Complete
5 Analysis Tools Context-aware calculations ✓ Complete
6 VS Code Extension Full display and interaction ✓ Complete

View all specifications on GitHub →

What's Happening

With specifications complete, we're now in the implementation phase. Follow the blog to track progress as we build each component.

Recent Posts

credibility

Shipped: Live LLM transport

17 Apr 2026

The nl-demo can now call a real language model -- credential isolation baked into the architecture, not bolted on.

credibility

Shipped: Filter Bar Platform Chips

16 Apr 2026

One chip, one platform, multiple constraints. 'British submarines' now means exactly that — and the CQL2 round-trip i...

credibility

Shipped: Sensor rendering on the map

10 Apr 2026

Sensor bearing lines, ambiguous bearings, and snail mode fading now render on the map via a custom Leaflet canvas layer.

credibility

Shipped: REP sensor import

10 Apr 2026

REP files with SENSOR, SENSOR2, SENSOR3, and SENSORARC lines now import as embedded sensor data on tracks.

credibility

Shipped: Saved Filter Configurations

07 Mar 2026

Analysts can now save, restore, and delete named filter configurations in the STAC Browser filter bar — filter sets p...

credibility

Shipped: Feature Info Button

17 Feb 2026

Every feature row now has an info button that shows geometry type and coordinates in a dialog

credibility

Shipped: Point and Rectangle Drawing

13 Feb 2026

Analysts can now annotate maps with points and rectangles. The implementation is a pure function sitting between Geom...

credibility

Shipped: STAC File Tree Component

10 Feb 2026

A shared tree view that makes STAC catalog structure visible — with change highlighting after snapshots.

credibility

Shipped: Tool Results Architecture

30 Jan 2026

Typed result system connecting calculation tools to storage, with 88 tests passing across Python and TypeScript.

credibility

Shipped: Task Build System

23 Jan 2026

Single commands for test/build/dev, checksum-based caching, zero overhead dependency checks

Shipped · loader

Shipped: Loader Mini-App

13 Jan 2026

Desktop app for loading maritime data into STAC catalogs is complete

momentum

Planning: REP File Parsing

11 Jan 2026

Building an extensible file parser for legacy Debrief formats, starting with REP.

credibility

Shipped: REP File Parsing

11 Jan 2026

REP file parsing is complete. Legacy Debrief files now transform into validated GeoJSON with line-level error reporting.

momentum

Planning: Schema Foundation

09 Jan 2026

Establishing the schema foundation for Debrief v4.x with LinkML as the single source of truth.

credibility

Shipped: Schema Foundation

09 Jan 2026

The schema foundation is complete. LinkML now generates Pydantic models, JSON Schema, and TypeScript interfaces from ...

Three Tracks

Blog content is organised into three tracks:

Links