1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Shared, **wasm-clean** boatramp types: the serde wire models + the pure
//! routing/config logic, with no IO, async, or backend dependencies. The
//! server, the CLI, and the edge Worker all depend on this crate, so the wire
//! format and the routing decisions can't drift between them — and it compiles
//! to `wasm32-unknown-unknown` (the edge target) where the full `boatramp-core`
//! (Storage/KV/wasmtime) cannot.
//!
//! `boatramp-core` re-exports every module here (`boatramp_core::config`,
//! `::route`, …), so existing `boatramp_core::*` paths are unchanged.
pub use ConfigError;
/// Schema version stamped on every persisted boatramp document (manifests,
/// deploy/site configs, and KV records).
///
/// Pre-release this is **pinned at 1 and never bumped**: the discriminant is
/// present from the start so a future release can dispatch on it, but while
/// unreleased we change formats freely *under* v1 — no migration code, and every
/// reader assumes v1. The first release freezes v1's
/// meaning; only then do bumps + migrations begin.
pub const SCHEMA_VERSION: u32 = 1;
/// serde `default` for the `version` field on schema types, so documents
/// written before the field existed (or by hand) still read as v1.