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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//! `workbook-runtime` — the RUNTIME-only leaf of the v0.5.0 compiler pipeline
//! (Phase 11, Plan 05 — Codex HIGH #2: the runtime/compiler LINK boundary).
//!
//! This crate holds the owned IR types (`Expr`/`BinOp`/`UnOp`/`RangeRef`/`Cell`/
//! `CellExpr`/`CellValue`), the dependency `Dag` container + `toposort`, the
//! SERVE-time topo-ordered [`run`] executor, the manifest projection model, and a
//! PURE-RUST scalar leaf evaluator ([`scalar_eval`]) that REPLACES the
//! `pmcp-code-mode` (SWC/JS) kernel on the served-binary path.
//!
//! It depends on NEITHER `umya` NOR SWC NOR `pmcp-code-mode` NOR `quick-xml` NOR
//! `zip` — making the Ph10 D-01 boundary a cargo-tree-PROVABLE LINK boundary. The
//! served binary (Plan 04) depends ONLY on this crate; `workbook-compiler`
//! re-exports these types FROM here so its public surface (and Plan 03) keeps
//! compiling unchanged.
// Compiler/clippy-enforced panic-freedom on the library value path (mirrors
// workbook-compiler). Test code constructs fixtures freely.
/// The shared Excel error-value set.
/// The owned A1 range reference + the canonical `cell_key` helper.
/// The owned formula AST (Expr/BinOp/UnOp).
/// The located, collect-all lint-finding types (LintFinding/Severity/LintReport).
/// The pure owned dependency `Dag` container + Kahn's `toposort`.
/// Range/reference resolution PRIMITIVES (expand_range/parse_a1/split_ref).
/// The logical manifest projection model (Manifest/CellRole/Role/InputTier/…).
/// The RUNTIME-safe bundle artifact model + hashing (CellMap/BundleLock + the
/// integrity hash helpers shared by the emitter and the served integrity check).
/// The dumb-byte `BundleSource` trait (local-dir + feature-gated embedded impls)
/// — raw-byte access only, so no source can bypass the shared loader's integrity
/// gate (WBSV-08/WBSV-09).
/// The single shared, fail-closed bundle loader (`load` + `WorkbookBundle` +
/// `BundleLoadError`) — the ONLY parse+integrity-verify path for any
/// `BundleSource` (WBSV-08).
/// The PURE-RUST scalar leaf evaluator that replaces the pmcp-code-mode kernel.
/// The `sheet_ir` value/eval layer + the SERVE-time executor.
/// The serve-side render layer (Phase 12): the shared, versioned
/// `LayoutDescriptor` serde shape (Plan 01) the offline emitter and the
/// writer-only serve path (Plan 02) both use.
/// The shared version-changelog model (Phase 13, Plan 01): the owned serde +
/// `JsonSchema` records (`ChangeClass`/`Severity`/`OutputMeta`/`OutputDelta`/
/// `VersionChangelog`) the offline promote gate RECORDS and the served
/// `diff_version` tool SERVES. Defined HERE (not in `workbook-compiler`) because
/// the served binary deserializes it — the crate-purity invariant.
// ---- Curated re-export surface (matches the names workbook-compiler exported) ----
pub use ExcelError;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use EmbeddedSource;
pub use ;
pub use ;
pub use ;
// NOTE: `changelog::Severity` is INTENTIONALLY not re-exported at the crate root —
// `finding::Severity` (the lint-finding tier) already occupies the bare `Severity`
// name (line ~60). The changelog severity is a DISTINCT type; reach it via its
// module path `pmcp_workbook_runtime::changelog::Severity` (Rule 3 — blocking name
// collision resolved without aliasing the historical lint `Severity`).
pub use ;
pub use eval_scalar;
pub use ;
pub use ;