External Calculation Oracle 0.9
No source outranks the others.
The protocol refuses to declare a permanent winner among cache, evaluator, and external engine. It classifies how the three relate, and lets the classification decide what may happen next.
Evidence model
For a formula cell c, the protocol holds three readings.
- K(c)
- The stored OOXML cache — what the last writing application left in the file.
- M(c)
- The bounded MMR result, computed under an AST whitelist.
- E(c)
- The independent external-engine result.
There is no permanent global ordering such as E > M > K. That ordering would be a policy dressed as a fact.
The nine classifications
Every formula cell lands in exactly one of these.
| Classification | Relation | What it authorizes |
|---|---|---|
three_way_agreement | K = M = E | Nothing to do. |
cache_stale_engines_agree | M = E ≠ K | Cache invalidation, in a separate safe copy. |
cache_missing_engines_agree | K = ∅, M = E | Nothing to do. |
external_only_cache_agrees | M unsupported, K = E | Nothing to do. |
mmr_semantic_gap | K = E ≠ M | Review only. |
external_semantic_gap | K = M ≠ E | Review only. |
external_date_system_gap | date system conflicts with E | Review only. |
error_agreement | all sources give one error class | Nothing to do. |
engine_disagreement_review | no safe consensus | Review only. |
Write policy
Of the nine, one classification opens a write — and even that write goes to a separate safe copy, and touches a cached value rather than a formula.
cache_stale_engines_agree may authorize cache invalidation in a separate safe copy.
It does not authorize a formula rewrite. All semantic engine gaps and date-system gaps are review-only.
Structured-reference bridge
The external engine cannot parse Table[Column] formulas directly. The bridge expands structured references into equivalent A1 ranges while keeping defined names intact, and logs every transformed formula.
Normalization success is not treated as direct syntax support.
Engine manifest
Each result records the conditions it was produced under, so a later replay can tell a genuine gap from a changed environment.
- Engine and version.
- Python version and platform.
- Locale and decimal separator.
- Timezone.
- Workbook date system.
- Workbook calculation mode.
- Whether normalization was required, and how many times.
An independent implementation, written by other people, with its own bugs and its own coverage.
Microsoft Excel. Agreement with it does not establish universal Excel compatibility.