{
  "schemaVersion": 1,
  "generatedFrom": "src/data/catalogue.js",
  "wiki": {
    "title": "Co.Property internal wiki",
    "version": "2026.10.20.2",
    "date": "20 October 2026"
  },
  "page": {
    "stableId": "finance-records#page",
    "pageId": "finance-records",
    "pageTitle": "Finance records: support the review before the conclusion",
    "pageSlug": "workflows/finance-records",
    "sectionId": "page",
    "sectionTitle": "Finance records: support the review before the conclusion",
    "sectionProse": [
      "Financial planning and settlement work need identifiable source records, clear commitments, authorised review, and a traceable link to any learning that follows.",
      "Explain how financial records become reviewable decisions without exposing private values or turning a calculated display into an editable fact.",
      "Operational and provider records support a finance record. An authorised review leads to a settlement or planning decision, which can produce a learning item.",
      "A record is useful when its source and scope travel with it",
      "A finance record should say what period, property or service scope, source system, and supporting observations it represents. This lets a reviewer determine whether the record is comparable to the decision being made.",
      "The wiki uses no live financial data. The planning-navigation screenshot is deliberately a navigation crop; it points out that finance and related modules exist while leaving individual records and values out of the capture.",
      "Review authorises a conclusion, not just a calculation",
      "A calculated result can be useful, but it is not automatically an approved decision. The reviewer needs the source, scope, relevant exception state, and permission to decide. This matters for commitments, settlements, and any change to a record that affects another person.",
      "When a supporting source is duplicate, incomplete, or stale, the right action is to make that condition visible and obtain a current read or reconciliation—not to choose the most convenient number.",
      "A display is a clue; the record is the support",
      "A dashboard or report can help decide where to look, but it may be a projection, cache, or dated observation. A screen repaint is not proof that a provider source was read completely or that a settlement was approved.",
      "Use the display to locate the relevant record and its freshness metadata. Keep the decision language proportional: “needs review”, “source stale”, or “reconciled by authorised reviewer” are materially different statements."
    ],
    "version": "2026.10.20.2",
    "date": "20 October 2026",
    "status": "Checked",
    "currentStatus": "Checked — the planning and settlement responsibilities are documented; individual financial records are intentionally outside the screenshots.",
    "proposedStatus": "Use authorised systems and records for current values; preserve the calculation source and reviewer for a conclusion.",
    "expectedOutcome": "A financial decision can be explained by source, scope, reviewer, and follow-up rather than a copied number.",
    "tests": [
      "Check examples contain no financial values, account details, or private record identifiers.",
      "Check any connector change includes duplicate, failure, and freshness fixtures before review."
    ],
    "sourcePointers": [
      "docs/RECORD-SECTIONS.md",
      "coprop_kb/ledger.py",
      "coprop_kb/formulas.py",
      "coprop_kb/record_store.py",
      "dashboard/src/pages/records.tsx",
      "tests/test_ledger.py",
      "tests/test_formulas.py",
      "Handoff / pages/workflows.html",
      "Handoff / pages/organisation.html",
      "Handoff / pages/app-tour.html"
    ],
    "related": [
      {
        "id": "property-lifecycle",
        "title": "Property lifecycle: from enquiry to review",
        "summary": "A property service lifecycle connects owner needs, identity, stays, readiness, settlement, and learning. It is a model to validate, not a claim that every handover is automated.",
        "status": "Checked",
        "path": "/workflows/property-lifecycle/"
      },
      {
        "id": "sop-learning",
        "title": "SOP learning: turn observations into a better next step",
        "summary": "Learning connects incidents, reports, and repeated exceptions to a reviewed procedure. It prevents a useful lesson from being stranded in a one-off conversation.",
        "status": "Checked",
        "path": "/workflows/sop-learning/"
      },
      {
        "id": "services",
        "title": "Service directory: approved destinations, not shared access",
        "summary": "This directory names the approved service destinations used around Co.Property. Every destination requires an existing authorised account or approved auth; the wiki never stores tokens, credentials, or private logs.",
        "status": "Checked",
        "path": "/reference/service-directory/"
      }
    ],
    "sshTarget": {
      "alias": "coproperty-office",
      "hostname": "copropertys-mac-mini.tail3ab9e5.ts.net",
      "user": "coproperty",
      "projectPath": "/Users/coproperty/Projects/coproperty-office-os",
      "codexPath": "/Users/coproperty/.local/bin/codex",
      "hostFingerprint": "SHA256:UUFmlsdclEmRtyRWNqAdVYUoFxeUkRUGhbzObQPsOPg",
      "requiredChecks": [
        "Verify the hostname, project path, and repository status before any work.",
        "Create an isolated task worktree outside the installed project.",
        "Never modify the installed runtime from this contribution path."
      ]
    }
  },
  "sections": {
    "finance-record": {
      "stableId": "finance-records#finance-record",
      "pageId": "finance-records",
      "pageTitle": "Finance records: support the review before the conclusion",
      "pageSlug": "workflows/finance-records",
      "sectionId": "finance-record",
      "sectionTitle": "A record is useful when its source and scope travel with it",
      "sectionProse": [
        "A finance record should say what period, property or service scope, source system, and supporting observations it represents. This lets a reviewer determine whether the record is comparable to the decision being made.",
        "The wiki uses no live financial data. The planning-navigation screenshot is deliberately a navigation crop; it points out that finance and related modules exist while leaving individual records and values out of the capture."
      ],
      "version": "2026.10.20.2",
      "date": "20 October 2026",
      "status": "Checked",
      "currentStatus": "Checked — documentation describes the record boundary without claiming visibility into private finance data.",
      "proposedStatus": "Keep current finance detail in the authorised system and provide an approved record link for review.",
      "expectedOutcome": "A reviewer can locate support for a conclusion without copying sensitive values into another channel.",
      "tests": [
        "Review context exports for absence of live financial values and identifiers.",
        "Check the source pointer names the dated navigation example rather than calling it a live report."
      ],
      "sourcePointers": [
        "docs/RECORD-SECTIONS.md",
        "coprop_kb/ledger.py",
        "coprop_kb/formulas.py",
        "coprop_kb/record_store.py",
        "dashboard/src/pages/records.tsx",
        "tests/test_ledger.py",
        "tests/test_formulas.py",
        "Handoff / pages/workflows.html",
        "Handoff / pages/organisation.html",
        "Handoff / pages/app-tour.html"
      ],
      "related": [
        {
          "id": "property-lifecycle",
          "title": "Property lifecycle: from enquiry to review",
          "summary": "A property service lifecycle connects owner needs, identity, stays, readiness, settlement, and learning. It is a model to validate, not a claim that every handover is automated.",
          "status": "Checked",
          "path": "/workflows/property-lifecycle/"
        },
        {
          "id": "sop-learning",
          "title": "SOP learning: turn observations into a better next step",
          "summary": "Learning connects incidents, reports, and repeated exceptions to a reviewed procedure. It prevents a useful lesson from being stranded in a one-off conversation.",
          "status": "Checked",
          "path": "/workflows/sop-learning/"
        },
        {
          "id": "services",
          "title": "Service directory: approved destinations, not shared access",
          "summary": "This directory names the approved service destinations used around Co.Property. Every destination requires an existing authorised account or approved auth; the wiki never stores tokens, credentials, or private logs.",
          "status": "Checked",
          "path": "/reference/service-directory/"
        }
      ],
      "sshTarget": {
        "alias": "coproperty-office",
        "hostname": "copropertys-mac-mini.tail3ab9e5.ts.net",
        "user": "coproperty",
        "projectPath": "/Users/coproperty/Projects/coproperty-office-os",
        "codexPath": "/Users/coproperty/.local/bin/codex",
        "hostFingerprint": "SHA256:UUFmlsdclEmRtyRWNqAdVYUoFxeUkRUGhbzObQPsOPg",
        "requiredChecks": [
          "Verify the hostname, project path, and repository status before any work.",
          "Create an isolated task worktree outside the installed project.",
          "Never modify the installed runtime from this contribution path."
        ]
      }
    },
    "review": {
      "stableId": "finance-records#review",
      "pageId": "finance-records",
      "pageTitle": "Finance records: support the review before the conclusion",
      "pageSlug": "workflows/finance-records",
      "sectionId": "review",
      "sectionTitle": "Review authorises a conclusion, not just a calculation",
      "sectionProse": [
        "A calculated result can be useful, but it is not automatically an approved decision. The reviewer needs the source, scope, relevant exception state, and permission to decide. This matters for commitments, settlements, and any change to a record that affects another person.",
        "When a supporting source is duplicate, incomplete, or stale, the right action is to make that condition visible and obtain a current read or reconciliation—not to choose the most convenient number."
      ],
      "version": "2026.10.20.2",
      "date": "20 October 2026",
      "status": "Checked",
      "currentStatus": "Checked — this is a safe interpretation of the documented planning and settlement responsibilities.",
      "proposedStatus": "Document the authorising reviewer and the evidence window in the current review record.",
      "expectedOutcome": "The difference between a displayed calculation and an authorised conclusion stays clear.",
      "tests": [
        "Include duplicate and failed-source fixtures in connector regression checks.",
        "Check the contextual work prompt requires a proposed outcome and meaningful tests."
      ],
      "sourcePointers": [
        "docs/RECORD-SECTIONS.md",
        "coprop_kb/ledger.py",
        "coprop_kb/formulas.py",
        "coprop_kb/record_store.py",
        "dashboard/src/pages/records.tsx",
        "tests/test_ledger.py",
        "tests/test_formulas.py",
        "Handoff / pages/workflows.html",
        "Handoff / pages/organisation.html",
        "Handoff / pages/app-tour.html"
      ],
      "related": [
        {
          "id": "property-lifecycle",
          "title": "Property lifecycle: from enquiry to review",
          "summary": "A property service lifecycle connects owner needs, identity, stays, readiness, settlement, and learning. It is a model to validate, not a claim that every handover is automated.",
          "status": "Checked",
          "path": "/workflows/property-lifecycle/"
        },
        {
          "id": "sop-learning",
          "title": "SOP learning: turn observations into a better next step",
          "summary": "Learning connects incidents, reports, and repeated exceptions to a reviewed procedure. It prevents a useful lesson from being stranded in a one-off conversation.",
          "status": "Checked",
          "path": "/workflows/sop-learning/"
        },
        {
          "id": "services",
          "title": "Service directory: approved destinations, not shared access",
          "summary": "This directory names the approved service destinations used around Co.Property. Every destination requires an existing authorised account or approved auth; the wiki never stores tokens, credentials, or private logs.",
          "status": "Checked",
          "path": "/reference/service-directory/"
        }
      ],
      "sshTarget": {
        "alias": "coproperty-office",
        "hostname": "copropertys-mac-mini.tail3ab9e5.ts.net",
        "user": "coproperty",
        "projectPath": "/Users/coproperty/Projects/coproperty-office-os",
        "codexPath": "/Users/coproperty/.local/bin/codex",
        "hostFingerprint": "SHA256:UUFmlsdclEmRtyRWNqAdVYUoFxeUkRUGhbzObQPsOPg",
        "requiredChecks": [
          "Verify the hostname, project path, and repository status before any work.",
          "Create an isolated task worktree outside the installed project.",
          "Never modify the installed runtime from this contribution path."
        ]
      }
    },
    "safe-interpretation": {
      "stableId": "finance-records#safe-interpretation",
      "pageId": "finance-records",
      "pageTitle": "Finance records: support the review before the conclusion",
      "pageSlug": "workflows/finance-records",
      "sectionId": "safe-interpretation",
      "sectionTitle": "A display is a clue; the record is the support",
      "sectionProse": [
        "A dashboard or report can help decide where to look, but it may be a projection, cache, or dated observation. A screen repaint is not proof that a provider source was read completely or that a settlement was approved.",
        "Use the display to locate the relevant record and its freshness metadata. Keep the decision language proportional: “needs review”, “source stale”, or “reconciled by authorised reviewer” are materially different statements."
      ],
      "version": "2026.10.20.2",
      "date": "20 October 2026",
      "status": "Checked",
      "currentStatus": "Checked — this preserves the infrastructure freshness definition and avoids an unsupported operational claim.",
      "proposedStatus": "Expose source window and publication result near financial projections where feasible.",
      "expectedOutcome": "Readers know which next question to ask before relying on a displayed value.",
      "tests": [
        "Check labels distinguish fresh source data from a recently opened screen.",
        "Check no generated export claims an account, payment, or settlement is complete."
      ],
      "sourcePointers": [
        "coprop_kb/formulas.py",
        "coprop_kb/ledger.py",
        "tests/test_formulas.py",
        "tests/test_ledger.py",
        "Handoff / pages/workflows.html",
        "Handoff / pages/organisation.html",
        "Handoff / pages/app-tour.html"
      ],
      "related": [
        {
          "id": "property-lifecycle",
          "title": "Property lifecycle: from enquiry to review",
          "summary": "A property service lifecycle connects owner needs, identity, stays, readiness, settlement, and learning. It is a model to validate, not a claim that every handover is automated.",
          "status": "Checked",
          "path": "/workflows/property-lifecycle/"
        },
        {
          "id": "sop-learning",
          "title": "SOP learning: turn observations into a better next step",
          "summary": "Learning connects incidents, reports, and repeated exceptions to a reviewed procedure. It prevents a useful lesson from being stranded in a one-off conversation.",
          "status": "Checked",
          "path": "/workflows/sop-learning/"
        },
        {
          "id": "services",
          "title": "Service directory: approved destinations, not shared access",
          "summary": "This directory names the approved service destinations used around Co.Property. Every destination requires an existing authorised account or approved auth; the wiki never stores tokens, credentials, or private logs.",
          "status": "Checked",
          "path": "/reference/service-directory/"
        }
      ],
      "sshTarget": {
        "alias": "coproperty-office",
        "hostname": "copropertys-mac-mini.tail3ab9e5.ts.net",
        "user": "coproperty",
        "projectPath": "/Users/coproperty/Projects/coproperty-office-os",
        "codexPath": "/Users/coproperty/.local/bin/codex",
        "hostFingerprint": "SHA256:UUFmlsdclEmRtyRWNqAdVYUoFxeUkRUGhbzObQPsOPg",
        "requiredChecks": [
          "Verify the hostname, project path, and repository status before any work.",
          "Create an isolated task worktree outside the installed project.",
          "Never modify the installed runtime from this contribution path."
        ]
      }
    }
  }
}
