openfpa AGENTS.md

Operating instructions for an AI financial-planning workbench that adapts its models to each company. It separates shared accounting logic from company-specific data, mappings, forecasts, and generated code.

In plain words
What is it for?
Use them when configuring a company's finance workspace, building forecasts, analyzing results, reconciling accounts, or generating company-specific connectors and models.
Why use it?
They prevent the finance system from forcing every business into the same model. They also define when company onboarding is needed and where custom work should live.

Instructions file for CodexOpenCode

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/jeffbrines/openfpa/agents-md
Clone the repo
git clone --depth 1 https://github.com/JeffBrines/openfpa

Made for: Codex, OpenCode.

Per session 1,656 This file is loaded in full into every session.
When invoked 1,656 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01656 $0.01656
Opus 5 $0.00828 $0.00828
Sonnet 5 $0.00331 $0.00331
Haiku 4.5 $0.00166 $0.00166

Measured 3d ago against content hash 8747927a849f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

openfpa AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 135 lines

How it starts

The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.

openfpa Agent Operating Contract

openfpa is an agent-native FP&A workbench, not a fixed application. The goal is to help an AI build the finance system that fits one company while preserving a small, trustworthy accounting kernel.

Architecture

  • pyfpa/ is the stable kernel: schemas, accounting mechanics, reconciliation, scoring, persistence contracts, and reusable analysis helpers.
  • .fpa/ is company memory: business context, sources, mappings, corrections, forecasts, experiments, decisions, and accepted learnings.
  • Company-specific code belongs in visible generated namespaces such as models/generated/, connectors/generated/, skills/generated/, and agents/generated/.
  • Do not force a business into EntityConfig when its economics require a different model. Extend the company workspace and use the kernel where useful.

Company Onboarding

  • Trigger onboarding when .fpa/intake.md is incomplete and the user asks to build, configure, forecast, analyze, or learn the business.
  • Do not force onboarding for a narrow task that can be completed independently.
  • Use the machine-oriented CLI as the default workspace control surface:
    • openfpa status <company-root>
    • openfpa init <company-root> --business-name "<name>" when uninitialized
    • openfpa inspect-data <data-root> for each user-supplied data location
    • openfpa source-profile <company-root> --file <source-file> before mapping
    • openfpa source-register <company-root> ... for each relied-on source
    • openfpa source-list <company-root> before source-dependent work
    • openfpa mapping-register <company-root> ... for each exact mapping
    • openfpa mapping-list <company-root> --source-id <source-id> before modeling
    • openfpa reconcile-source <company-root> ... before using mapped totals
    • openfpa connector-list <company-root> before generating recurring access
    • openfpa connector-scaffold <company-root> ... from a redacted fixture
    • openfpa connector-validate <company-root> --name <name> after connector edits
    • openfpa intake-next <company-root> before asking intake questions
    • openfpa intake-record <company-root> ... for each established fact
    • openfpa entrypoint-list <company-root> before generated workflows
    • openfpa entrypoint-register <company-root> ... after validating a command
    • openfpa doctor <company-root> before relying on workspace state
    • openfpa correction-record <company-root> --slug <slug> --type <type> --target <target> --date <date> after establishing a correction
    • openfpa correction-list <company-root> to review recorded corrections
    • openfpa scorecard-render <company-root> to rebuild scorecard.md from all snapshots
    • openfpa experiment-list <company-root> to review experiment records
    • openfpa context-pack <company-root> --task "<task>" to retrieve bounded memory for a task
    • openfpa onboarding-render <company-root> --proposal-summary "<summary>" when intake is ready
  • The CLI emits JSON and performs deterministic workspace operations. Read its output as evidence; do not treat it as the reasoning engine.
  • If the console script is unavailable in a source checkout, use python3 -m pyfpa.cli with the same arguments.
  • Inspect supplied local files before asking questions. Do not access external systems or connectors without user approval.
  • Register every source used by a model with its entity, currency, periods, extraction method, and location. A file existing in the workspace is not sufficient lineage.
  • Persist exact mappings, including deliberate ignores with rationale. Never infer an unmapped account into a model silently.
  • Run openfpa reconcile-source for compatible account-amount CSV sources. For richer sources, build an equivalent tested reconciliation and register its command as an entrypoint.
  • Generate a connector only when recurring access is useful and the architecture is approved. One-time local files do not need connector code.
  • Scaffold connectors from explicit redacted fixtures only. Never copy a production export into connectors/generated/ without confirming it is safe to commit.
  • Treat connector-validate as a fixture-mode contract test. It must not access a live system. Implement live extraction separately using host-managed credentials, then register the tested recurring command as an entrypoint.
  • Record source-derived and user-confirmed facts with citations and confidence using openfpa intake-record.
  • Ask only unresolved questions returned by pyfpa.next_intake_questions, in rounds of at most three related questions.
  • Record direct user answers immediately as confirmed facts. Ask for confirmation only when evidence conflicts or confidence is low.
  • When pyfpa.intake_ready is true, write the business profile and .fpa/decisions/initial-model-architecture.md with pyfpa.write_onboarding_outputs.
  • Stop before scaffolding connectors, models, skills, or agents until the user approves the architecture proposal.
  • After a generated workflow has a tested command, register it in .fpa/models/entrypoints.yaml. Registration advertises the command but does not execute it.

Read the full file on GitHub · 135 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 135 lines · 1,656 tokens per session scan A 8747927a849f

Subscribe to this mod's changes

openfpa AGENTS.md is an instructions file published in the GitHub repository JeffBrines/openfpa (6 stars, last pushed 2mo ago), licensed MIT. It adds 1,656 tokens to every session, about $0.0083 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories