Fork port: connection architecture + watcher machinery into the substrate (ADR-011/012 §3–§5, task fork-port-connection-watcher)

Kept half of the honker-core fork lands in
alkstore-sqlite/src/substrate/ as schema.rs / watcher.rs / ops.rs
(register D-17): PRAGMA/WAL open posture + set_journal_mode_wal retry,
Writer, Readers, the polling watcher family (SharedUpdateWatcher,
WatcherDeathGuard, stat_identity dead-man's switch), in_savepoint/
UnwindUndo mutation discipline, REAL-coercion arg helpers, notify
scalar + notifications table with the ADR-010 §6 at-attach pruning
cap, stream functions, lock functions.

Port deltas (ADR-012 §4): W-1 bounded reconnect backoff
(MAX_RECONNECT_TICKS=100), W-2 fallible watcher spawn (Result; engine
maps to Database at open in wave 3), dead-man's-switch panic replaced
by log-and-exit through the ordinary death path — death still closes
every subscriber (pinned by test, join now Ok). Table family
_honker_* -> __alkstore_* (D-10); duplicate-column race swallow
re-keyed to pragma_table_info (D-11); scheduler cron_expr -> spec;
fresh-only bootstrap, append-column migrations kept, column-order
equality pinned. Drops confirmed absent: cron, kernel/shm backends,
rate-limit/result tables, superseded queue functions (D-01..D-04).
file-id retained for the kept dead-man's switch (D-18).

43 engine-crate tests green (adapted inherited suites + delta tests +
cross-mechanism pressure); cargo build/clippy -D warnings/fmt clean.
PROVENANCE.md register updated to the landed state (D-01..D-20).
This commit is contained in:
glm-5.3-flash committed 2026-10-08 03:25:48 +00:00
1 parent 2d855b9546
commit 43a135c453
8 files changed
+2751 -30

No files matched your search

+20 -5
View File
@@ -33,8 +33,23 @@
//! this directory) is the preservation obligation's carrier;
//! provenance register: [`PROVENANCE.md`](PROVENANCE.md).
//!
//! Scaffold state: this module is intentionally empty of machinery.
//! The port tasks (`fork-port-connection-watcher`,
//! `fork-rederive-queue-ops`) land the forked lineage and the
//! re-derived queue ops here; the register and the license notice are
//! already in place so the ports land into a finished frame.
//! Scaffold state: the connection/watcher machinery (the kept half
//! of the fork, ported by `fork-port-connection-watcher`) lives under
//! this module below — `schema.rs`, `watcher.rs`, `ops.rs` in
//! upstream's `lib.rs` / `honker_ops.rs` order. The re-derived queue
//! ops (`fork-rederive-queue-ops`) land beside them.
//!
//! Port state (wave 2): the machinery below is ported but not yet
//! wired by the engine layer (wave 3 wires `open`, the trait impl, the
//! seam). A subset of the ported surface is therefore unreachable
//! until that wiring lands.
#![allow(dead_code)]
#![allow(unused_imports)]
mod ops;
mod schema;
mod watcher;
pub(crate) use schema::{attach_notify, bootstrap_schema, open_conn};
pub(crate) use watcher::SharedUpdateWatcher;