{
  "coverage": {
    "by_status": {
      "ambiguous": 0,
      "context_only": 0,
      "direct": 14,
      "not_found": 0,
      "partial": 0,
      "possible": 0
    },
    "mapped_or_plausible": 14,
    "requirements_identified": 14
  },
  "coverage_explanation": "Primary denominator: 14 rows in the authoritative `Target Fields` table (`Read Me!B8`; `Target Fields!A2:J15`). Coverage is 14 direct, 0 partial, 0 possible, 0 ambiguous and 0 not found. Each requested qualified object exists in current gold with the same table/entity and name, the same object kind, and a compatible declared data type. The prototype sheets and formulas were treated as corroborating context only because the workbook explicitly says the register is authoritative and the working sheets merely illustrate grain and intended behaviour.",
  "limitations": [
    "The XLSX extraction intentionally excludes ordinary numeric, date and Boolean cell values. Representative sample values therefore cannot be used for reconciliation, completeness testing or value-level conformance, consistent with `Read Me!B10`.",
    "Workbook formulas were extracted, but formula text is evidence only of stored prototype logic; successful recalculation and current cached results were not established.",
    "Current gold identifies all four requested measures but did not return their exact DAX expressions. Measure existence is direct coverage; production calculation equivalence remains to be validated.",
    "Permitted-value domains and row-level business-rule outcomes were not available in current gold, including AccountType classifications, DateKey encoding and IsAdjustment classification.",
    "No workbook connections, external links, Power Query, embedded model, pivots, charts, comments, hyperlinks, validation rules or conditional formatting were found by the extractor. The workbook therefore does not establish production source connectivity or implementation status.",
    "No workbook or sheet protection, VBA project, embedded objects or digital signatures were found. These findings do not establish security requirements for the target Power BI solution.",
    "The current-gold boundary is a bounded audit snapshot. Findings describe the available discovered landscape and do not prove wider estate-wide presence or absence."
  ],
  "report_markdown": "# Workbook-to-current-gold assessment\n\n## Conclusion\n\nThe workbook appears to specify the core data dictionary for a finance reporting semantic model. It explicitly identifies **Target Fields** as the authoritative register of requested data objects (`Read Me!B8`). That register contains 14 required objects (`Target Fields!A2:J15`):\n\n- 3 Account columns\n- 3 Calendar columns\n- 4 Ledger columns\n- 4 Metrics measures\n\nAll 14 are present in the discovered current semantic model with matching qualified names, compatible object kinds and compatible data types. The result is a **full current-state coverage pass: 14/14 direct** against current-gold page `fde-finance.current-model`.\n\nThis means the declared target structure appears already represented in the audited model. Remaining questions are validation matters rather than identified implementation gaps.\n\n## Authoritative scope and interpretation\n\nThe workbook states that `Target Fields` is the authoritative register and that the other working sheets contain synthetic records and formulas illustrating grain and intended report behaviour (`Read Me!B8`). It also states that sample values are fictional and not intended for reconciliation or production reporting (`Read Me!B10`). Accordingly:\n\n- `Target Fields!A2:J15` is the comparison denominator.\n- Chart of Accounts, Fiscal Calendar, Ledger Sample and Management P&L are corroborating design context, not additional authoritative requirements.\n- Formula text demonstrates stored prototype logic but does not prove successful recalculation, current cached results or equivalence to production DAX.\n\nNo consultant comments were supplied, so consultant guidance did not materially alter the workbook interpretation.\n\n## Coverage summary\n\n| Status | Count | Meaning |\n|---|---:|---|\n| Direct | 14 | Qualified object exists with compatible kind and data type |\n| Partial | 0 | No declared requirement appears to need an additional object or material model adaptation |\n| Possible | 0 | No name-only or weak inferred mappings were required |\n| Ambiguous | 0 | No authoritative object identity was unresolved |\n| Not found | 0 | Every authoritative object was found within the available gold boundary |\n\n## Mapped requirements\n\n### Account\n\nThe workbook requires `Account.AccountKey` as Int64, `Account.AccountName` as String and `Account.AccountType` as String (`Target Fields!A2:J4`). Current gold directly observes all three columns with those data types in `fde-finance.current-model`.\n\n### Calendar\n\nThe workbook requires `Calendar.DateKey` as Int64, `Calendar.Date` as DateTime and `Calendar.FiscalMonth` as Int64 (`Target Fields!A5:J7`). Current gold directly observes all three with compatible types in `fde-finance.current-model`.\n\nThe fiscal-calendar prototype says the fiscal year starts in July and stores formulas calculating July as fiscal month 1 (`Fiscal Calendar!A2`, `Fiscal Calendar!C4:C34`). This supports intended semantics but is not proof of current-model calculation logic. Current gold also flags that `Calendar.FiscalMonth` currently summarises by Sum, which should be reviewed for a month-number attribute.\n\n### Ledger\n\nThe workbook requires `Ledger.DateKey` as Int64, `Ledger.AccountKey` as Int64, `Ledger.SignedAmount` as Decimal and `Ledger.IsAdjustment` as Boolean (`Target Fields!A8:J11`). Current gold directly observes all four with those types in `fde-finance.current-model`.\n\nCurrent gold additionally observes active many-to-one relationships from `Ledger.DateKey` to `Calendar.DateKey` and from `Ledger.AccountKey` to `Account.AccountKey`, consistent with the foreign-key descriptions in the register. Those relationships corroborate the requested ledger-star structure but are not separate authoritative register rows.\n\n### Metrics measures\n\nThe workbook requires Decimal measures `Metrics.Actual Net`, `Metrics.Actual Revenue`, `Metrics.Budget Net` and `Metrics.Net Variance` (`Target Fields!A12:J15`). Current gold directly observes all four qualified measures in `fde-finance.current-model`.\n\nThe register describes Actual Net as actual revenue plus signed expense balances and Net Variance as Actual Net minus Budget Net (`Target Fields!H12`, `Target Fields!H15`). The prototype similarly stores formulas for actual net, budget net and net variance (`Management P&L!B6`, `Management P&L!B9:B10`). However, current gold did not return exact DAX expressions, so formula equivalence and production semantics remain to be validated. Under the comparison rules, this does not downgrade structurally present measures from direct coverage.\n\n## Contextual observations\n\n- The workbook describes posting-level ledger data using a reporting-sign convention (`Ledger Sample!A1:A2`) and a management P&L prototype using positive revenue, negative expense and favourable-positive variance conventions (`Management P&L!A3:D10`). These are useful semantic validation cues, not additional authoritative target objects.\n- The authoritative definition of `Account.AccountType` says \u201cRevenue or expense classification\u201d (`Target Fields!E4`), while the representative account sheet also lists Asset, Liability and Equity classifications (`Chart of Accounts!B4:C13`). The column itself is directly present, but the intended permitted-value domain and definition should be reconciled.\n- The hidden reference sheet indicates AUD reporting currency and a July fiscal-year start (`Reference Data!A2:C3`). These are contextual parameters; the authoritative register does not declare them as model objects.\n\n## Current-gold boundary\n\nThe comparison uses only the available current-state gold knowledge. A direct result means the object was observed in that bounded audit. Conversely, a not-found result would mean only that an object was not found within that boundary, not that it is absent enterprise-wide. In this case, no authoritative requirement was not found.",
  "requirements": [
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Account.AccountKey column (Int64)",
      "questions": [],
      "rationale": "Current gold observes the qualified column `Account.AccountKey` as Int64, matching the requested column kind and data type.",
      "requirement_id": "TF-01",
      "source_cells": [
        {
          "coordinate": "A2:J2",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Account.AccountName column (String)",
      "questions": [],
      "rationale": "Current gold observes the qualified column `Account.AccountName` as String, matching the requested column kind and data type.",
      "requirement_id": "TF-02",
      "source_cells": [
        {
          "coordinate": "A3:J3",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.98,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Account.AccountType column (String)",
      "questions": [
        "Should the AccountType business definition and permitted domain explicitly include Asset, Liability and Equity as shown by the representative chart of accounts?"
      ],
      "rationale": "Current gold observes the qualified column `Account.AccountType` as String. The object is directly covered, although the authoritative wording limits the definition to revenue/expense while representative rows also show Asset, Liability and Equity values.",
      "requirement_id": "TF-03",
      "source_cells": [
        {
          "coordinate": "A4:J4",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "B4:C13",
          "sheet": "Chart of Accounts"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Calendar.DateKey column (Int64)",
      "questions": [
        "Confirm that current DateKey values follow the requested YYYYMMDD encoding; current gold establishes the object and type but not value-level conformance."
      ],
      "rationale": "Current gold observes the qualified column `Calendar.DateKey` as Int64, matching the requested column kind and data type.",
      "requirement_id": "TF-04",
      "source_cells": [
        {
          "coordinate": "A5:J5",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Calendar.Date column (DateTime)",
      "questions": [],
      "rationale": "Current gold observes the qualified column `Calendar.Date` as DateTime, matching the requested column kind and data type.",
      "requirement_id": "TF-05",
      "source_cells": [
        {
          "coordinate": "A6:J6",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.98,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Calendar.FiscalMonth column (Int64)",
      "questions": [
        "Should `Calendar.FiscalMonth` be changed from Summarise by Sum to Summarise by None?",
        "Confirm that the current model uses July as fiscal month 1, as illustrated by the workbook formulas."
      ],
      "rationale": "Current gold observes the qualified column `Calendar.FiscalMonth` as Int64. The July-start prototype supports intended semantics. Current gold reports that the column summarises by Sum, which is a configuration review item rather than an absent-object gap.",
      "requirement_id": "TF-06",
      "source_cells": [
        {
          "coordinate": "A7:J7",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A2",
          "sheet": "Fiscal Calendar"
        },
        {
          "coordinate": "C4:C34",
          "sheet": "Fiscal Calendar"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Ledger.DateKey column (Int64)",
      "questions": [],
      "rationale": "Current gold observes `Ledger.DateKey` as Int64 and an active many-to-one relationship to `Calendar.DateKey`, consistent with the requested posting-date foreign key.",
      "requirement_id": "TF-07",
      "source_cells": [
        {
          "coordinate": "A8:J8",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Ledger.AccountKey column (Int64)",
      "questions": [],
      "rationale": "Current gold observes `Ledger.AccountKey` as Int64 and an active many-to-one relationship to `Account.AccountKey`, consistent with the requested account foreign key.",
      "requirement_id": "TF-08",
      "source_cells": [
        {
          "coordinate": "A9:J9",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.98,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Ledger.SignedAmount column (Decimal)",
      "questions": [
        "Confirm that the current column is consistently expressed in the required reporting currency and reporting-sign convention."
      ],
      "rationale": "Current gold observes the qualified column `Ledger.SignedAmount` as Decimal. The prototype provides reporting-sign context, but value-level currency and sign conformance were not established by the bounded evidence.",
      "requirement_id": "TF-09",
      "source_cells": [
        {
          "coordinate": "A10:J10",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A2:D3",
          "sheet": "Ledger Sample"
        },
        {
          "coordinate": "C4:D10",
          "sheet": "Management P&L"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.99,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Ledger.IsAdjustment column (Boolean)",
      "questions": [
        "Confirm the operational rule used to classify late or manual postings as adjustments; the object and type are observed but value-level business logic is not."
      ],
      "rationale": "Current gold observes the qualified column `Ledger.IsAdjustment` as Boolean, matching the requested column kind and data type.",
      "requirement_id": "TF-10",
      "source_cells": [
        {
          "coordinate": "A11:J11",
          "sheet": "Target Fields"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.96,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Metrics.Actual Net measure (Decimal)",
      "questions": [
        "Does the production DAX implement Actual Revenue plus signed expense balances with the intended account classification and filter context?"
      ],
      "rationale": "Current gold observes the qualified measure `Metrics.Actual Net` with currency formatting, satisfying the declared measure object. Exact DAX was not returned, so equivalence to the stated revenue-plus-signed-expenses logic remains a validation question.",
      "requirement_id": "TF-11",
      "source_cells": [
        {
          "coordinate": "A12:J12",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A4:D6",
          "sheet": "Management P&L"
        },
        {
          "coordinate": "B6",
          "sheet": "Management P&L"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.96,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Metrics.Actual Revenue measure (Decimal)",
      "questions": [
        "What production account-classification rule should Actual Revenue use, and does the current DAX implement it?"
      ],
      "rationale": "Current gold observes the qualified measure `Metrics.Actual Revenue` with currency formatting. The workbook prototype illustrates revenue selection, but exact production DAX and business semantics were not available in current gold.",
      "requirement_id": "TF-12",
      "source_cells": [
        {
          "coordinate": "A13:J13",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A4:D4",
          "sheet": "Management P&L"
        },
        {
          "coordinate": "B4",
          "sheet": "Management P&L"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.95,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Metrics.Budget Net measure (Decimal)",
      "questions": [
        "What is the production budget source and grain, and does the current Budget Net DAX implement the intended budget revenue-plus-expenses logic?"
      ],
      "rationale": "Current gold observes the qualified measure `Metrics.Budget Net` with currency formatting. The workbook does not declare authoritative budget fact objects or a detailed budget calculation, and current gold did not expose the exact measure DAX.",
      "requirement_id": "TF-13",
      "source_cells": [
        {
          "coordinate": "A14:J14",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A7:D9",
          "sheet": "Management P&L"
        },
        {
          "coordinate": "B9",
          "sheet": "Management P&L"
        }
      ],
      "status": "direct"
    },
    {
      "confidence": 0.96,
      "gold_page_ids": [
        "fde-finance.current-model"
      ],
      "label": "Metrics.Net Variance measure (Decimal)",
      "questions": [
        "Confirm that current DAX is `Actual Net - Budget Net` and that favourable-positive sign behaviour is preserved across report contexts."
      ],
      "rationale": "Current gold observes the qualified measure `Metrics.Net Variance` with currency formatting. The declared logic is Actual Net minus Budget Net, but exact DAX was not returned for equivalence checking.",
      "requirement_id": "TF-14",
      "source_cells": [
        {
          "coordinate": "A15:J15",
          "sheet": "Target Fields"
        },
        {
          "coordinate": "A10:D10",
          "sheet": "Management P&L"
        },
        {
          "coordinate": "B10",
          "sheet": "Management P&L"
        }
      ],
      "status": "direct"
    }
  ],
  "review_flags": [
    {
      "priority": 20,
      "queue_name": "revalidation",
      "reason": "Validate Actual Net DAX against the declared revenue-plus-signed-expenses semantics; the object is directly present and this is not an implementation gap.",
      "subject": "TF-11"
    },
    {
      "priority": 25,
      "queue_name": "client_question",
      "reason": "Clarify the production budget source, grain and intended Budget Net semantics because the authoritative register declares the measure but no budget fact object.",
      "subject": "TF-13"
    },
    {
      "priority": 30,
      "queue_name": "revalidation",
      "reason": "Validate Net Variance DAX and favourable-positive sign behaviour against the workbook declaration.",
      "subject": "TF-14"
    },
    {
      "priority": 35,
      "queue_name": "client_question",
      "reason": "Resolve the mismatch between the AccountType definition and representative Asset/Liability/Equity values.",
      "subject": "TF-03"
    },
    {
      "priority": 40,
      "queue_name": "consultant_review",
      "reason": "Review Calendar.FiscalMonth summarisation and confirm July-start fiscal-month semantics.",
      "subject": "TF-06"
    },
    {
      "priority": 45,
      "queue_name": "revalidation",
      "reason": "Confirm reporting currency and sign convention at value level; structural object coverage is already direct.",
      "subject": "TF-09"
    }
  ],
  "summary": "The workbook declares the `Target Fields` register as authoritative and requires 14 semantic-model objects: 10 columns across Account, Calendar and Ledger, plus four measures in Metrics. All 14 qualified objects were observed in the available current-gold semantic model with the requested object kind and compatible data type. This is therefore a full current-state coverage pass (14/14 direct) with minimal validation effort, not an implementation-gap assessment. Validation remains appropriate for measure DAX/business semantics, AccountType domain wording, and the current summarisation setting on Calendar.FiscalMonth."
}
