← VeraCONTENT HISTORY

Update to Vera

Snapshot Sep 30, 2026 · 23:13 UTC · version 0.1.295

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "variance-analysis",
  "description": "Use when Vera must compare Actual, Budget, Forecast, or prior-period accounting performance, calculate controlled value or price-volume-mix variances, and produce reviewable variance plots and workpapers.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 289
    }
  ],
  "skill_md_contents": "---\nname: variance-analysis\ndescription: Use when Vera must compare Actual, Budget, Forecast, or prior-period accounting performance, calculate controlled value or price-volume-mix variances, and produce reviewable variance plots and workpapers.\n---\n\n<!-- VERA_OPENAI_ONBOARDING_BEGIN -->\nOnboarding is optional. Continue ordinary professional work immediately,\nincluding direct specialist invocation, without checking or completing a local\nonboarding profile. Missing, unfinished, inaccessible or corrupt onboarding state,\nor unavailable voice/window controls, must never block ordinary work. Do not\nautomatically start, resume or repeatedly offer onboarding.\nOnly for a user-requested tutorial or a native teaching handoff, read\n`../vera/references/local-onboarding.md`. A verified paired lesson worker\nexecutes only its bound lesson and token; never bypass tutorial validation.\nTutorial profiles, progress, examples and feedback remain local; never send a\nchange request, stamp a tutorial receipt or call hosted interviews for a tutorial.\nCurrent user requests take precedence over saved preferences.\n<!-- VERA_OPENAI_ONBOARDING_END -->\n\n# Vera Variance Analysis\n\nRoute an accountant's management-variance request to the existing Variance\nAnalysis engine. Resolve the module at\n`../../modules/variance-analysis` in an installed Vera package or\n`../../../variance-analysis` in this repository. Read that module's\n`skills/variance-analysis/SKILL.md` completely and follow it, with the Vera\ncontrols below taking precedence where the host differs. Treat the resolved\nmodule root as the plugin working directory for scripts and dependency checks.\n\nAfter substantive use of this workflow, read and follow the `Plugin Improvement Feedback` section in `../vera/SKILL.md`.\n\n## Host boundary\n\nIn Codex, this is a client-bound Vera workflow. Before reading case data,\nfollow `../vera/SKILL.md` and Studio Archive's client-first sequence using\nworkflow ID `variance-analysis`: select the exact client and engagement, import\nthe selected sources as immutable receipts, prepare and start one run, pass the\nabsolute `client_engagement_path` unchanged as `--client-engagement`, and write\nonly below its exact `output_dir`. Finalize every physical output as a run\nartifact, review it, and complete the run; record failure or cancellation for\nan incomplete run. Return only that exact output location.\n\nIn Cowork, use only the files and folders the user explicitly connected. The\nportable Studio Archive lifecycle is unavailable there, so do not claim that a\nCowork result is a Studio Archive run.\n\n## Accounting intake and review gates\n\nBefore calculation, establish from the sources or ask only for unresolved\nmaterial choices:\n\n- entity and consolidation perimeter;\n- comparison basis: Actual vs Budget, Actual vs Forecast, or current vs prior\n  period, including exact periods and fiscal calendar;\n- reporting currency and any FX treatment;\n- debit/credit and favorable/adverse sign convention;\n- amount measure and the account, cost-center, department, entity, product,\n  customer, channel, or other reporting dimensions to retain;\n- whether units, discounts, and COGS are authoritative enough for the requested\n  decomposition;\n- the professional's materiality threshold or ranking convention, if one is to\n  be applied.\n\nThe packaged Vera inspection CLI rejects execution without\n`--client-engagement`; the run CLI rejects execution without both\n`--client-engagement` and an explicit `--currency`. Never inherit the module's\nstandalone EUR default. Use amount-only analysis when reliable units are\nabsent. Run price-volume-mix only when the units basis is present and reviewed.\nDo not manufacture volumes, prices, account classifications, cost centers,\ncauses, favorable/adverse labels, or materiality.\n\nTie the baseline and comparison totals back to the supplied P&L, trial balance,\nmanagement accounts, or approved source totals before interpreting drivers.\nThe engine's component bridge must reconcile mechanically to total variance.\nIf either source tie-out or bridge closure cannot be established, mark the\nresult partial or blocked and do not claim accounting correctness.\n\nExact arithmetic, period membership after reviewed mappings, component\nclosure, file identities, and output paths are deterministic controls. The\nprofessional or model-led review owns accounting meaning, semantic causes,\nclassification, materiality, and management commentary. Keep those judgments\nexplicitly separate from calculated facts.\n\n## Execution\n\nRun dependency checks from the resolved module, then inspect and review the\nsuggested recipe before the full run:\n\n```bash\npython scripts/check_dependencies.py\npython scripts/inspect_inputs.py <bound-input> --output-dir <run-output>/inspection --client-engagement <context.json>\npython scripts/run_variance.py <bound-input> --output-dir <run-output>/variance --recipe <reviewed-recipe> --currency <ISO-code> --client-engagement <context.json>\n```\n\nUse the complete applicable plot suite from the module: standard waterfall,\ncomponent ladder when supported, fixed-dimension bridge, exploded parent/child\nbridge, and root-cause bridge with its sweep and drilldowns. Do not add a plot\nwhose data contract is unavailable. Interpret structured contexts and CSV/JSON\nresults before chart pixels, and visually inspect every generated chart for\nlabels, sign direction, clipping, legibility, and reconciliation.\n\nRead `model_use_manifest.json` before opening mapped results and contexts. Use\nthe complete source only through the module's exact-filter drilldown when a\nspecific professional question remains unresolved; the deterministic engine\nstill calculates every selected row.\n\nValidate `review_payload.json` once with the module MCP tools. For a managed\nrun, include the current absolute `client_engagement` context in that initial\ncall so persistence resolves the portable `run_root_relative` output\nreference. When validation returns a hash-bound local `persistence_token`, use\nit for render, save, and apply instead of resending the full review payload.\nSave reviewer decisions, apply them, and use `final_artifacts.json` as the\nreviewed handoff.\n\nThe deterministic report is a visible professional-review draft until\n`accounting_review` records an established perimeter, passing source tie-outs,\nan established favorable/adverse convention, materiality treatment, named\nprofessional approval, and a reviewed root-cause alternative with rationale.\nOnly then may its audit status become `approved_for_client_use`.\n\nThe final accountant-facing note, written after that review, must state the\ncomparison and perimeter, source tie-out status, total variance, largest\ncalculated drivers, reviewed favorable/adverse convention, unresolved data or\njudgment items, and links to the tables and variance plots. Narrative causes\nmust be attributed to supplied evidence or clearly labeled as hypotheses\nrequiring professional confirmation.\n\n## Financial report presentation\n\nFor comparable monetary results, show the baseline and comparison values together\nwith both absolute variance in the reporting currency and percentage variance.\nUse the existing workflow's reporting charts and structured tables, with units,\nperiods, aligned numbers, explicit totals and source-supported interpretation.\nDo not finish a substantive report with only a compact chat table when normal\nartifacts are supported. Use the existing generated report and chart artifacts;\ndo not invent a custom renderer or manufacture a baseline or monthly breakdown.\nKeep zero/negative-base percentages explicitly unavailable where misleading,\nretain amount differences, and establish favorable/adverse meaning by account.\nA user-requested quick answer or reduced output remains valid.\n"
}

SHA-256: 2c2e30a6d8875e0021f29a70dc18607b62184f56961260194abadb49fdd12e63