{
  "schema_version": 3,
  "workstream": "financial-analysis",
  "display_name": "Financial Analysis",
  "role": "workflow",
  "governed_paths": [
    "skills",
    "scripts",
    "mcp"
  ],
  "governed_shared_paths": [
    "vendor/modules/vera_assurance",
    "vendor/modules/vera_financial_analysis"
  ],
  "runtime_profiles": [
    "openai-codex",
    "anthropic-cowork"
  ],
  "model_context": {
    "policy": "real_case_data_may_enter_selected_runtime_model_context",
    "classes": [
      {
        "id": "financial-analysis-semantic-intake",
        "purpose": "Establish the accounting meaning, perimeter, mappings, relationships, and reviewed decisions needed for one named calculation pack",
        "content": "User instructions and the relevant reviewed accounting or due-diligence evidence: trial balances, ledgers, P&L tables, customer and group identities, balances and transactions, periods, currencies, amounts, units, adjustments, classifications, cash, debt, lease, factoring, fixed-asset, Capex and working-capital records, transaction definitions, contracts, crosswalks, evidence references, decisions and calculation parameters. The relevant source may be complete rather than sampled when its detail is required to establish accounting meaning or evidence.",
        "runtime_profiles": [
          "openai-codex",
          "anthropic-cowork"
        ]
      },
      {
        "id": "financial-analysis-post-mapping-review",
        "purpose": "Review and interpret the complete deterministic pack after accounting meaning and source relationships are sealed",
        "content": "By default, the model-use manifest exposes prepared tables, metric receipts, reconciliation, prepared-evidence lineage, replay evidence, limitations and review status, not the raw source files or their original filenames. A specific sealed source can be reopened only through a named, reason-recorded, hash-checked evidence request when a professional question remains unresolved. Vera performs no automatic anonymization or pseudonymization.",
        "runtime_profiles": [
          "openai-codex",
          "anthropic-cowork"
        ]
      }
    ]
  },
  "external_boundaries": [],
  "security_controls": [
    {
      "id": "client-engagement-path-isolation",
      "control": "The public pack dispatcher requires a digest-valid Studio Archive financial-analysis context, accepts the reviewed case and source artifacts only from that engagement, and writes only to the context's run output root or a descendant."
    },
    {
      "id": "sealed-case-contracts",
      "control": "The workflow validates canonical hashes for the package, dataset, relationship, crosswalk, request, reconciliation, and prepared-evidence contracts and fails when a digest is stale or a reference does not close."
    },
    {
      "id": "reviewed-judgmental-crosswalks",
      "control": "Many-to-many and judgmental identity or classification mappings require an explicit reviewed crosswalk receipt rather than silent label-based inference."
    },
    {
      "id": "prepared-evidence-boundary",
      "control": "The prepared-evidence manifest and its contract audit are forced to report_ready=false so deterministic preparation cannot be presented as professional approval."
    },
    {
      "id": "fixed-fdd-recipes",
      "control": "Quality of Earnings, net debt, normalized working capital, Capex, and deal-bridge calculations accept only a sealed case with a closed contract stack and reviewed decision references; the engine applies fixed arithmetic recipes and does not infer accounting classifications or deal treatment."
    },
    {
      "id": "sealed-upstream-metrics",
      "control": "Deal bridges consume replay-validated metric receipts that embed their upstream cases, and included bridge rows must match the upstream value, multiplier, and economic-effect references; duplicate economic effects within a bridge are rejected."
    },
    {
      "id": "reviewed-register-boundary",
      "control": "Contingent-liability and financial-issue registers embed a validated case, close every evidence and decision reference, and force completeness.status=not_assessed and report_ready=false."
    },
    {
      "id": "input-output-path-separation",
      "control": "The FDD runner requires a fresh regular output directory, pins its directory identity, and creates each fixed output through no-follow exclusive descriptor operations so an existing link or file cannot be overwritten."
    },
    {
      "id": "execution-receipt-freshness",
      "control": "The FDD runner snapshots the case and declared FDD recipe source set immediately before recipe invocation, verifies them and every source artifact again before completion, binds those snapshots in the execution receipt, and removes only inode-verified partial outputs after a failed run."
    },
    {
      "id": "sealed-post-mapping-model-use",
      "control": "Every pack writes a hash-bound model_use_manifest.json. It identifies sealed sources by stable artifact ID and hash without repeating original filenames. Prepared outputs are the default post-mapping model context; reopening source evidence requires one named artifact, a specific reason and an idempotent request receipt, and the current bytes must still match the sealed source hash. This is a workflow phase boundary and does not claim operating-system denial of an otherwise authorized file."
    }
  ],
  "review": {
    "reviewed_at": "2026-09-28",
    "reviewed_by": "privacy-surface-review",
    "basis": "external_boundary_review_of_workflow_source",
    "source_fingerprint": "ae81efc8d4cdd186d12aae446a9621815720db0d235cffd3d8c4eea0290facc8"
  }
}
