Blog
Updates, design notes, and deep dives from the SecantusDB project.
-
`local.oplog.rs` queryable from pymongo, `$merge` pipeline form + `$fill` stage + `$$var.path` resolution
Summary:
local.oplog.rsqueryable from pymongo,$mergepipeline form +$fillstage +$$var.pathresolution (v0.5.1b17).Real mongod exposes the oplog as a queryable collection at
local.oplog.rs— pymongo clients candb.oplog.rs.find()against it the same way they would against any collection. Until this … -
Sidebar grouping, auto-refreshing connections and cursors, Roles in the nav
Summary: Sidebar grouping, auto-refreshing connections and cursors, Roles in the nav (v0.5.1b16).
The
/connectionsand/cursorsadmin pages have always been live-data views — they readcurrentOpand render the connection / cursor list each time the page is requested — but they didn't refresh. The dashboard polls 1 Hz over … -
One scaffold for every confirmation modal — escape, focus-trap, restored focus
Summary: One scaffold for every confirmation modal — escape, focus-trap, restored focus (v0.5.1b15).
The
secantus-adminUI has nine confirmation / edit modals: drop-database, drop-collection, drop-index, drop-user, change-password, manage-roles, edit-document, delete-document, kill-cursor. They were assembled at slightly different times and drifted in five different ways — different destructive-button copy ("Drop" vs "Drop … -
Admin UI punch list — five silent-failure modes fixed
Summary: Admin UI punch list — five silent-failure modes fixed (v0.5.1b14).
The May 2026 end-to-end review of the
secantus-adminweb UI catalogued five P0s — bugs that didn't crash anything but presented wrong information to the user. v0.5.1b14 fixes all five. None of them require any database-level change … -
Zero actionable failures — every driver gauge classified, every gap explained
Summary: Zero actionable failures — every driver gauge classified, every gap explained (v0.5.1b13).
Over the past few releases the cross-driver gauge pass rate has been climbing — 99.5% at v0.5.1b4, 99.9% by last week's refresh. The last 0.1% was a handful of failures that either …
-
Cross-driver conformance summary — 99.5% across 7,186 tests on one page
Summary: Cross-driver conformance summary — 99.5% across 7,186 tests on one page (v0.5.1b4).
Until this release, comparing SecantusDB's conformance across the five driver gauges (pymongo / mongo-java-driver / mongo-go-driver / mongo-node-driver / mongo-ruby-driver) required opening five different reports and squinting at five different per-category breakdowns whose denominators came from incompatible units …
-
Java gauge scope made honest — 18 of 112 driver-sync classes, five named follow-ups
Summary: Java gauge scope made honest — 18 of 112 driver-sync classes, five named follow-ups (v0.5.1b1).
The mongo-java-driver validation report has been showing a flat 100% pass rate, which is true on what it ran — but what it ran was 15 of the 112 test classes in
driver-sync/src … -
Ruby gauge climbs to 99%, completing the cross-driver 99–100% band
Summary: Ruby gauge climbs to 99%, completing the cross-driver 99–100% band (v0.5.0b18).
The mongo-ruby-driver conformance gauge moved from 94.6% to 99.0% across this release. Four discrete fixes did the work, each driven by a specific test that previously failed:
writeConcernErrorfor unsatisfiablew— single-nodesecantus …
-
Java gauge hangs squashed; `let` user-vars threaded through the query path
Summary: Java gauge hangs squashed;
letuser-vars threaded through the query path (v0.5.0b3).The Java integration gauge used to sit at the wall-clock budget waiting for a single tailable-getMore or SDAM-retry-loop test to give up. With v0.5.0b3, every gradle test invocation now gets a per-test 15s …
-
Driver gauges widened — 868 integration tests now exercise the wire path
Summary: Three driver gauges (Node, Ruby, Java) widened from curated single-file scopes to broader integration suites. 868 tests now exercise SecantusDB's wire path end-to-end (up from 213), surfacing real divergences from mongod for follow-up.
The driver gauges shipped in v0.5.0b1 were intentionally narrow — one file per driver, just …