R008 — Hardcoded Dates
Executive Summary
Key Takeaways
- ✓ R008 is designed to detect a date value typed directly into the formula chain, the date-specific counterpart to R001's numeric hardcode detection.
- ✓ As of engine version 2.1.0, R008 does not yet produce findings against real workbooks — a parser limitation, documented directly in the rule's own source, means the value-type marker R008 depends on is not yet set for date cells.
- ✓ This is stated here because AI_AUTHORITY_LAYER.md's governing standard is to verify every technical statement against the implementation and disclose limitations honestly rather than omit them.
- ✓ The rule's detection logic itself is implemented correctly against the engine's data model; the gap is specifically in an upstream parsing step, not in R008's own evaluation logic.
Purpose¶
R008 is designed to detect a date value hardcoded directly into the formula chain — the date-specific counterpart to R001 (Hardcoded Cells), which addresses numeric hardcodes. A typed date (a specific closing date, a period-end date) embedded in place of a reference to a controlled input cell carries the same structural risk as any other hardcoded assumption: it will not update if the model's actual date assumptions change elsewhere.
A Disclosed Current Limitation¶
As of engine version 2.1.0, R008 does not produce findings against real workbooks. This is stated here directly because it is stated directly in the rule's own source code, and AI_AUTHORITY_LAYER.md's governing standard for this documentation is to verify every technical claim against the implementation rather than describe intended behavior as though it were current behavior.
The specific gap: R008's detection logic checks for a hardcoded cell whose recorded value type is a date. The parsing stage that builds this value-type marker does not yet set it for date-valued cells — as of this writing, a cell holding a date value is recorded with a different value type at parse time. R008's own evaluation logic is implemented correctly against the engine's data model; the gap is in an earlier, upstream parsing step that has not yet been extended to recognize dates specifically.
Detection Logic (as designed)¶
Once the upstream parsing gap is closed, R008 will flag any cell recorded as both hardcoded (a typed constant, not a formula) and date-valued. No row-pattern comparison is involved, unlike R001 — R008 evaluates every date-typed hardcoded cell in the workbook directly, since a typed date in a formula chain is considered a risk regardless of what its neighboring cells contain.
Why It Matters¶
A hardcoded date embedded in a formula chain does not respond when the model's actual date assumptions — a deal closing date, a valuation date, a period-end date — change elsewhere in the model. This is the same underlying failure mode R001 addresses for numeric values, applied to dates: the model appears to update when its stated inputs change, while a formula depending on the hardcoded date silently continues to use the old value.
Evidence Produced¶
Once active, a triggered R008 finding's evidence would identify the specific sheet and cell address of the hardcoded date, its value, and a description stating that the cell contains a hardcoded date constant that should instead be referenced from a controlled input.
Severity¶
High (declared). Weight 7.5 (declared and already included in the SM-2.0 scoring basis, since the basis sums every active rule's declared weight regardless of whether the rule currently produces findings against real workbooks). R008 is not one of the five critical-override rules.
Example¶
Intended trigger, once the parsing gap is closed. A debt schedule formula reads
=DAYS("2027-06-30",TODAY())/365 — the maturity date 2027-06-30 typed directly into the formula rather
than referenced from a controlled input cell. Once R008's upstream value-type dependency is resolved, this
cell would be flagged.
Current behavior. The same cell, evaluated against the engine today, is not flagged by R008, because the parsing stage does not yet mark it with the date value type R008's check depends on.
Recommended Remediation¶
Once active: replace the typed date with a reference to a named input cell holding the relevant date assumption (a maturity date, a valuation date, a closing date), consistent with the general remediation pattern for any hardcoded value.
Related Rules¶
R008 shares the Structural taxonomy category with the other Structural-category rules published in the Rule Reference, and shares its detection concept most directly with R001 — Hardcoded Cells — see the Rule Taxonomy page for the full category membership.
Related Articles¶
No existing Knowledge Centre technical guide addresses hardcoded date values specifically as of this writing; this section will be updated with a link in the same edit that publishes one.
Version History¶
No version-specific changes to R008's severity, weight, or category are recorded as of engine version 2.1.0. The parser limitation described above is a current, disclosed implementation gap, not a version history entry — this section will be updated once the gap is closed and R008 becomes active against real workbooks.
How OXXON tests thisRun a free structural check with FMAE
Frequently Asked Questions
What is R008 designed to detect?
A hardcoded date value embedded directly in the formula chain — for example, a specific transaction date or period-end date typed into a formula rather than referenced from a controlled input cell — the date-specific counterpart to R001's detection of numeric hardcodes.
Does R008 currently produce findings on real workbooks?
No, as of engine version 2.1.0. The rule's own source code documents that the parsing stage does not yet mark date-valued hardcoded cells with the value-type flag R008's detection logic checks for, so the rule currently returns zero findings against real workbooks. This page states that limitation plainly rather than describing behavior the engine does not yet exhibit.
Is R008's own logic broken?
No. R008's evaluation logic is implemented correctly against the engine's Manifest data model — it correctly checks for a hardcoded cell whose value type is a date. The gap is upstream, in the parsing stage that has not yet been updated to set that value-type marker for date cells.
Why publish a rule page for a check that doesn't currently fire?
Because the rule is a real, registered part of the 26-rule engine, with a declared severity and weight that already contribute to the SM-2.0 scoring basis, and because documenting a known limitation honestly is more defensible than silently omitting the rule from this reference or overstating its current behavior.
Related Articles
FMAE Rule Taxonomy
Every rule in the FMAE structural rule pack declares a category attribute at the point it is defined in source — this is not a classification imposed on the rules afterward for documentation purposes, it is the classification the engine itself uses. Six categories cover all 26 rules — Structural (18 rules), Assumptions Governance (1), Integrity Controls (2), Structural Hygiene (1), Aggregation Logic (1), and Model Governance (3). This page publishes that taxonomy as the FMAE equivalent of a control catalog's classification scheme, cross-linked to the Rule Reference page for each member rule.
Finding Data Model & Confidence
Every FMAE finding carries the same fixed structure — which rule triggered it and that rule's identity at the time it ran, its evidence, a narrative explanation, and a confidence label of high, medium, or low. Confidence is a deterministic categorical label derived from how strongly a row's cells agree on a pattern, not a machine-learning probability estimate. Stating this plainly matters, since describing FMAE's confidence as AI-derived or probabilistic would overstate what the engine actually does.
R001 — Hardcoded Cells
R001 (Hardcoded Cells) flags a formula cell that has been overridden by a typed numeric value, in a row where the surrounding cells otherwise share a clear, dominant formula pattern. It is critical severity, carries the highest weight of any FMAE rule (15.0), and is one of five critical-override rules under the SM-2.0 scoring methodology — meaning a single R001 finding caps the model's overall letter grade below A or B regardless of its numeric score.