ADR-0026: Keep internal formula recomputation out of the 1.6 RC scope¶
- Status: Accepted — owner scope correction 2026-09-28.
- Recorded: 2026-09-29. This is the recording date, not an invented original approval date.
- Authority and implementation boundaries: see Evidence below and the register conventions.
Context¶
Earlier implementation/planning expanded SQL aggregate requirements into an internal financial formula engine, creating unrelated blockers.
Decision¶
For this RC, aggregates belong to authorized SQL queries and their result columns are ordinary transformation inputs. Do not require SQL-to-formula translation, financial total/balance recomputation or formula-null decisions to complete 1.6.
Keep existing private derive code/tests, but do not activate them publicly or use them to infer new scope. Existing source-free generation/rule capabilities are unaffected. Key mappings, one-to-one semantics, exact types, privacy and authorized SQL budgets remain required. Reconcile original client findings 18/23 separately.
Alternatives and consequences¶
Deleting existing code is not required. Treating every prototype or suggested feedback item as an accepted feature caused the expansion. Old plan/design/safety text about recomputed totals is historical where it conflicts with this explicit correction.
This is scope correction, not a relaxation of validation for any feature that actually executes.
Evidence¶
Sources: owner scope correction, resumption plan, client acceptance. Existing private coverage: exact formulas, rounding. Supersedes the earlier assistant-added formula release requirement, not source-free rule support.
Revisit when¶
Only an explicit later feature decision can bring internal formula execution into the public transformation scope.
Parquet typed output uses 1024-row encoding groups rather than retaining a second full normalized dataset. Timestamp fields first validate the complete single-offset contract without storing rows; encoding then performs the existing source-row comparison and cardinality checks. A late failure returns no publishable payload. Captured inputs, transformation result rows, encoded bytes and native Arrow allocations still have their existing budgets; this does not promise an exact peak-RSS ceiling.