Method
How I build
The standard every model and page here is built to. It is written down, it is code where it can be, and a check enforces each rule.
Inputs
Every judgment is a typed input with a plain label, a unit and a source note. Values sit by case, side by side, so a reader compares the cases in one row. One answer per item, no on and off switches. A note is one or two sentences and carries no history; longer method text goes in a cell comment.
Formulas
One row, one formula across the months. Lags and lookups read a spine of dates, never an offset. No link to a link, no literal outside the structural set, one sign convention. Defined names belong to the control panel only. A lint runs these rules at the format pass and again at certification.
Order of work
Numbers first, text after. A row map is written before any styling, and the structure is certified before the format pass. Formatting is its own version, proven with zero formula and zero value differences against the version before it. Missing data never blocks a stage; an assumption stands in, labeled as one.
Certification
A chain of checks runs after every build and stops at the first failure. The numbers file against the styled file, a key-by-row diff against the version's brief, a format audit, a structure audit, the two lints, a dump of every case, and an export that refuses unless every period tie passes. A gate reads every result before it says done. A skipped check is a failure.
Definitions
A metric dictionary gives each metric one definition, with its unit, its basis and its period rule. The page, the question box, the agents and the warehouse share it, and none of them recomputes a figure.
The reviewer-first layout
An annual exhibit on top, the monthly engine and the audit trail behind it. One font, thousands separators, negatives in parentheses, zeros as a dash, units in the tab title. Blue typed inputs, black formulas, green links to other tabs. Bold on key lines only.
One writer per file, a hash on every number
One session writes a workbook or a data file; everyone else reads. Every version is written beside the last, never over it. The export's manifest hashes each file, and every reader checks the hash before it shows a figure.
Questions never gate the work
An open question is tracked with the assumption made in its place, and the work proceeds on that assumption. The list of questions is a list of things to learn, not a list of blockers.
Writing
Plain declarative sentences. A label is a short line-item name with its unit, at most 35 characters. Nothing on a page is a word that only means something inside the build.
Pressure test before reporting
Before any deliverable goes out, I ask what an auditor, an investor, the board and the operation would break first, and I list what I found with the fix taken. A report with no weakness found is a report that did not look.