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
120
121
122
123
124
125
126
127
128
129
130
//! `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.
/// Reference-input reconciliation (WBVER-03): re-run the executor at the
/// workbook's reference inputs and diff each output against `Tool.oracle` within
/// `TOL` — the reader-free, pure-diff core of the `verify_accuracy` meta-tool.
// ---- 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 ;
pub use eval_scalar;
pub use ;
pub use ;