SECO Tools · Platform 5 · internal

Changelog

Every change made to this financial reporting specification instrument since it was started — 11 entries across 3 days. Select a date to read what landed that day. This page is project furniture: it sits outside the 1280×720 canvas and is not part of the Power BI specification.

← Back to the financial overview

  • Changelog page added

    18:10Platform
    Scope

    Every change made to Platform 5 since the first build is now recorded inside the instrument itself, grouped by day and collapsed until a date is opened.

    What changed
    • Each entry states the area, the scope, what changed, where it lives and how to test it.
    • Days are collapsed by default; a badge on each day shows how many changes landed.
    • The page sits outside the 1280×720 report canvas — it is project furniture, not a report page, and is not part of the Power BI specification.
    Where
    • /changelog
    • Tab strip → Changelog
    How to test
    1. Open any report page and follow the Changelog link at the end of the tab strip.
    2. Click a date to expand it and read the entries underneath.
  • Handover pack and definition-of-done audit

    16:40Documentation
    Scope

    The deliverable set that outlives the prototype: what a Power BI developer builds from, written from the repository as source of truth rather than from memory.

    What changed
    • MODEL.md records two-source mastership — Value from Dynamics 365, Cost, Effort and Schedule from EPMS — with cardinality and the single date table.
    • MEASURES.md documents 41 measures with DAX intent and explicit null behaviour; TARGETS.md records 13 tolerance bands that are not yet agreed, each with ownership status.
    • PAGES.md carries the layout inventory, tab orders and interaction map; RLS.md sets the workspace-primary security model; FEASIBILITY.md names where Power BI cannot reproduce the prototype exactly.
    • COST_BASIS.md quantifies the unagreed engineering-only base: £27.5M against £33.1M fully loaded.
    • Cost category weights were rebalanced in the seed so the widening delta is quantified rather than asserted (+20.5% cost, −14.4pp margin).
    • Language swept: 'opportunity' replaced by 'Value' or 'New Sales Pipeline' throughout, matching the D365 customisation.
    Where
    • HANDOVER.md
    • docs/reporting/
    • docs/brand/theme.json
    How to test
    1. Read HANDOVER.md top to bottom; the definition-of-done checklist is the middle section.
    2. Open docs/reporting/TARGETS.md and confirm every band is marked not ready to draw.
  • Power BI theme JSON and the Analyse in Excel affordance

    14:05Brand · Semantic model
    Scope

    Two artefacts that transfer directly into the built report: the theme file, and an honest answer to the behaviour actually being replaced — exporting to Excel and working on a stale copy.

    What changed
    • theme.json is identical to Platform 4: categorical palette, good/neutral/bad and diverging ramp, text classes and visualStyles defaults for square 1px borders, no shadow, horizontal gridlines only.
    • Format strings live in the model and react to the currency slicer — for example £#,##0;(£#,##0);£0.
    • Measures are grouped into business-language folders (Value, Cost, Effort, Schedule, Counts); 45 technical columns are hidden and fact tables are hidden entirely, so measures are the only entry point.
    • One marked date table with a Year → Quarter → Month hierarchy.
    • nullDisciplineBreaks() scans all 27 nullable measures for blank-to-zero coercion in the Excel field list: currently zero breaks.
    • An 'Analyse in Excel' strip explains that Excel connects live to the model rather than downloading a snapshot.
    Where
    • docs/brand/theme.json
    • docs/reporting/EXCEL.md
    • src/model/excel.ts
    How to test
    1. Open docs/brand/theme.json and confirm it parses and names its schema version.
    2. Read docs/reporting/EXCEL.md and check the field list against the report's measure names.
  • Mobile overview, table views, currency conversion and the accessibility sweep

    11:30Platform · Accessibility
    Scope

    Four finishing pieces that make the specification usable rather than merely complete.

    What changed
    • A 320×640 mobile layout of the overview only — the six bands stacked, trend and breakdown beneath, attention strip last.
    • Every page carries a table view bookmark that swaps its visuals for the numbers behind them.
    • The currency slicer sets the reporting currency for every measure on every page; the basis is stated in the furniture as 'GBP, period-average rates'. Drillthrough detail shows original currency alongside converted.
    • Contrast sweep to 4.5:1 with darkened tokens, greyscale safety confirmed by marker shape and dash pattern rather than colour alone, explicit tab order on every page, alt text on every visual.
    • A print stylesheet for A4 landscape greyscale.
    Where
    • /mobile/overview
    • Every page → Table view
    • docs/reporting/CURRENCY.md
    How to test
    1. Change the currency slicer on the overview and confirm every number and the basis line update together.
    2. Open /mobile/overview at 320px wide and check nothing is clipped.
    3. Print-preview any page and confirm it fits A4 landscape in greyscale.
  • Detail tier — two drillthrough targets and four tooltip pages

    09:15Report pages
    Scope

    The tier reached by drilling, never by navigation: where a number is taken apart without leaving the report.

    What changed
    • Project financial detail: header with name, reference, customer, hub, type, stage and lead, original and converted currency side by side; body carries the portfolio-context parity marker, cost against budget with its waterfall, hours by person, the scope-change evidence trail, savings and stage payments. No slicer strip — inherited context is stated as a footnote.
    • Person effort detail: hours only. Twelve-month trend, hours by project, utilisation band and project list, with an explicit disclaimer that per-person cost is out of scope on security grounds.
    • Four 320×240 tooltip pages: scatter point, waterfall category, matrix cell by month, utilisation band over eight quarters. Each carries the as-at stamp.
    • The effort page matrix now drills through to person detail.
    Where
    • /detail/project/$projectId
    • /detail/person/$personId
    • /tooltips
    How to test
    1. From the parity scatter, drill through to a project and confirm both currencies appear in the header.
    2. Open a person detail page and confirm no rate or cost figure appears anywhere.

Times are the order in which work landed, not billed effort. Nothing on this page feeds the semantic model.