Every parameter visible, UTC timestamps, keyboard-navigable tabs. The audit trail stops hiding things from the analyst.
Read MoreOne canonical bounds utility, no casts at the call site, and the silent-miss zoom bug we found next door is fixed. The review gate earned its keep.
Read MoreA two-interface type fix grew into a seven-site refactor once we looked. The result: one schema-linked PointShape, one resolver, one exhaustive switch, and a silent-failure path closed.
Read MoreEditing STAC metadata now happens in-app -- no more closing the editor and hand-patching item.json when a filter surfaces the wrong plots.
Read MoreThe nl-demo can now call a real language model -- credential isolation baked into the architecture, not bolted on.
Read MoreAn analyst types 'UK submarines'; the generator returns a CQL2 filter the existing engine evaluates to 17 plots. No UI yet, no live LLM -- just the plumbing and a CI harness that replays 12 phrases offline.
Read MoreA no-build-step React playground that lets stakeholders drive an NL catalog search offline -- no API keys, no CDN dependency, no backend.
Read MoreOne chip, one platform, multiple constraints. 'British submarines' now means exactly that — and the CQL2 round-trip is lossless.
Read MoreA deterministic 2.7 KB vocabulary bundle gives the NL-to-CQL2 prompt the exact words analysts are allowed to use, without embedding the catalog.
Read MoreBearing lines from towed-array sensors now originate at the array's real geographic position, with three calculation modes and cross-language parity.
Read More