Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,14 @@ small, trustworthy accounting kernel.
9. Present only promotion-eligible challengers for human ratification. Never
replace the champion without explicit approval.

## Excel Output

When the user wants Excel output with working formulas, use `model_to_excel` for
the standard monthly model. For any other cadence or layout, generate a
company-specific exporter from `pyfpa.excel.toolkit` in the generated namespace
and register it as a report entrypoint. Install `formulas` and run
`verify_workbook` before delivering. No workbook ships unverified.

## Kernel Guardrails

- Never hide reconciliation differences, missing actuals, duplicate names, or
Expand Down
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,7 @@ After the initial architecture is approved, use `fpa-research-loop` for bounded
autonomous improvement. You may generate, evaluate, and discard challengers
without asking for approval each time. Human approval is required for promotion
before a challenger replaces the champion.

For Excel output with working formulas, use `openfpa model-export` or
`pyfpa.model_to_excel` for the standard monthly model. Run `verify_workbook`
before delivering. No workbook ships unverified.
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ openfpa scorecard-render
openfpa experiment-list
openfpa context-pack
openfpa onboarding-render
openfpa model-export
```

In a source checkout without the `openfpa` console script installed, every
Expand Down Expand Up @@ -394,7 +395,9 @@ The base kernel includes:
- 13-week direct-method cash forecasting;
- revenue, COGS, operating-expense, debt, tax, and working-capital primitives;
- reconciliation, segment, SKU, and divestiture analysis helpers;
- CSV ingestion and Markdown or Excel reporting;
- CSV ingestion and Markdown or Excel reporting: static value export via
`forecast_to_excel`, and a live-formula model workbook via `model_to_excel`
(named assumption cells, real formulas, verified against the engine in CI);
- forecast snapshots, scoring, and holdout backtests;
- workspace, intake, correction, experiment, retrieval, and research records;
- experimental cross-company prior and skill mining.
Expand All @@ -403,6 +406,14 @@ The base kernel includes:
with cohorts, projects, contracts, fleets, stores, or complex inventory may need
a different generated model.

The `model_to_excel` function compiles an `EntityConfig` into a two-sheet workbook:
an Assumptions sheet of named, editable driver cells and a Model sheet where every
P&L and cash-flow line is a real formula referencing those names. The `verify_workbook`
function evaluates the workbook with a Python formula engine and compares every line
and month to `cashflow_from_config`, so the workbook is verified against the engine
before it is used. For cadences or layouts the kernel does not cover, compose
`pyfpa.excel.toolkit` in a company-specific exporter and verify it the same way.

## Skills

The repository includes skills for:
Expand Down
Loading
Loading