Institutional-quality buy-side research, designed to support tradable investment decisions through a traceable, auditable workflow.
What emissions are financed by the scoped holdings, how complete is the data, and why did the measured inventory change?
HHFinAi · v0.2.0 · Python 3.10+ · 10 research stages · 3 named routes · Human review · No autonomous trading
Worked example · Workflow · Evidence and audit · Controls and limits · Validation
- Separate Scope 1+2 and Scope 3 financed inventories
- Full-denominator observed contribution and covered-only WACI
- Coverage and exposure-weighted data quality
- Reconciled holdings/emissions/EVIC change bridge
From the extracted repository root:
python -m unittest discover -s tests -v
python scripts/check_repository.py
python -m sf_agent routes
python -m sf_agent demo --out runs/demo-01
python -m sf_agent report --run runs/demo-01
python -m sf_agent export --run runs/demo-01 --out exports/demo-01
python -m sf_agent calc --operation financed_emissions --arguments examples/calculation-arguments.jsonUse python3 where appropriate. Select a new output directory each time; existing runs are never overwritten. No external packages, model keys or network access are required. The synthetic demo uses fictional inputs and pre-authored fixtures. It does not perform live investment research.
Populate examples/research-request-template.json with verified identifiers, mandate and authorized source records; remove every placeholder. Keep it outside a public repository when confidential.
python -m sf_agent init --request your-request.json --out runs/research-01
python -m sf_agent next --run runs/research-01
# The host AI or human researches the ready stage and saves a structured artifact.
python -m sf_agent submit --run runs/research-01 --stage mandate --artifact your-artifact.json --revision 0
python -m sf_agent status --run runs/research-01Repeat next and submit using the current revision. The engine validates and records research; it does not fetch documents or run an LLM. See the host contract, data contract, and skills. Missing material data require NEEDS_DATA or an explicit blocking issue.
Institutional-quality describes instrument-specific analysis, evidence, model assumptions, challenge and accountable review. Tradable means investment-decision relevance backed by scoped market or contract evidence, not a guarantee that a trade exists or should be executed. Auditable means local research records can be inspected and reconstructed—not tamper-proof storage, verified source truth or independent certification. Read the claim-to-control map.
Executable accounting is limited to long-only listed-company equity and corporate-debt EVIC inputs, not all PCAF asset classes. No short-netting, derivatives, sovereign GDP denominator, nature credits, or avoided-emissions offsets. Methodology changes and scope restatements require manual reconciliation.
The bounded source-study packet uses a reviewed official-methodology reference and deliberately stops at NEEDS_DATA because methodology alone is not issuer evidence. The synthetic packet demonstrates structure only. Source references were checked within the scope recorded on 2026-09-25; frameworks may change. Sources and applicability.
No embedded AI model, live market feed, automatic extraction, scheduler, broker connection, external messaging or automatic voting. Human-review names are attestations, not authenticated identities. Tests establish selected software behavior—not alpha, comprehensive legal conformity, ecological validity, causal impact, complete data quality or production security. Runtime and host compatibility beyond the recorded tests are not certified.
GitHub Desktop synchronization and new-copy guide · Repository metadata · GEO/SGO discoverability · FAQ · Notices
The source code is published at HHFinAi/Portfolio-Carbon-Accounting-and-Attribution. In GitHub Desktop, use Fetch origin and Pull origin before editing an existing clone. Preserve .git and review changes on a working branch. All eight expansion packages use a shared versioned core, independently vendored to run offline. Installing or updating one repository does not silently upgrade another. Use a new run after changing the runtime.