github Python analyzed 3aeef69

Whatsonyourmind/modelforge

github

Bulge-tier Excel financial model factory — every cell live-formulated, every number traceable

maintainer
Whatsonyourmind
license
NOASSERTION
first seen
2026-06-10
last seen
2026-08-26
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 25 tools
transport stdio · http verified reported listed in the official MCP registry counts 25 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • audit_conservation
  • audit_schedule
  • build_model
  • certify
  • compute_tax
  • data_providers_status
  • entity_lookup
  • export_deck
  • export_docx
  • export_pptx
  • fundamentals
  • get_spec_schema
  • history
  • ingest_dataroom
  • lineage_walk
  • list_sources
  • list_templates
  • perturb_replay
  • qc_workbook
  • quote
  • screen_deals
  • search_filings
  • search_securities
  • spec_guide
  • validate_spec
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 3aeef69 · analyzer v33 · 6d ago

skills & prompt files 21

danger signals4

code evidence vv0.12.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 458

filesystem 151

  • fs Whatsonyourmind-modelforge-3aeef69/adversarial_audit.py :7 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/audit_compute.py :45 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/audit_suite.py :25 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/benchmarks/artifacts/agent/build_BM-LBO-001_run2.py :571 # Force Excel/LibreOffice to recalculate on open (openpyxl stores no cache)
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/benchmarks/harness/ground_truth.py :351 with open(args.out, "w", encoding="utf-8") as fh:
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/benchmarks/harness/score.py :37 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/gold_standard_audit.py :15 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_bank_fig.py :18 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_credit_leverage.py :67 with open(SPEC_PATH, "r", encoding="utf-8") as f:
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_hgb_carveout.py :55 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_lbo_full.py :77 with open(SPEC_PATH, "r", encoding="utf-8") as fh:
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_loan_tape_securitization.py :15 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_portfolio_review.py :38 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_project_finance.py :320 spec = yaml.safe_load(open(SPEC, "rb").read())
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_structured_credit.py :39 spec = yaml.safe_load(open("examples/structured_credit_pmi.yaml"))
  • fs Whatsonyourmind-modelforge-3aeef69/hardtest_three_statement.py :32 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/analytics/manifest.py :39 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/analytics/monte_carlo.py :54 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/analytics/reproducibility.py :49 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/analytics/risk_sheet.py :29 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/analytics/sensitivity.py :50 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/audit_log.py :33 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/builder/base_workbook.py :16 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/builder/workbook.py :11 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/chat/context.py :18 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/chat/session.py :18 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/cli.py :13 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/collab/comments.py :41 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/collab/diff.py :12 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/adapter.py :36 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/determinism.py :33 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/layout/text_measurer.py :7 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/pipeline.py :21 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/qa/ppteval.py :29 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/rendering/element_renderers/image.py :92 img = Image.open(image_stream)
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/rendering/thumbnail.py :11 import shutil
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/deck/themes/registry.py :6 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/diff/engine.py :24 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/dossier/generator.py :27 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/drift/watcher.py :17 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/exporters/docx.py :18 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/exporters/pptx.py :28 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/cache.py :26 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/graph/comments.py :27 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/graph/store.py :11 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/classifier.py :11 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/extractor.py :12 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/ocr_backend.py :21 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/pipeline.py :14 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/readers/base.py :16 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/readers/csv_reader.py :11 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/readers/discovery.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/readers/pdf_reader.py :11 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/readers/xlsx_reader.py :9 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/reporter.py :6 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :53 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/moat/gate.py :7 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/moat/sheet.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/oracert/emit.py :12 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/oracert/verify.py :25 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/qc/conservation_audit.py :35 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/qc/perturb_replay.py :36 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/qc/runner.py :19 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/qc/schedule_audit.py :32 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/qc/workbook_audit.py :26 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/reverse/engine.py :35 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/saas/tenant.py :28 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/screening/engine.py :32 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/modelforge/spec/scaffold.py :20 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/__init__.py :14 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/bank_fig.py :21 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/credit_memo.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/dcf.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/development_re.py :19 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/fairness.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/hgb_carveout.py :27 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/ipo.py :15 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/loan_tape_securitization.py :30 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/merger.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/minibond.py :16 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/npl.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/portfolio_review.py :15 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/project_finance.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/real_estate.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/restructuring.py :13 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/sponsor_lbo.py :13 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/structured_credit.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/three_statement.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/templates/unitranche.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/trust/engine.py :5 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/trust/red_flag_sheet.py :9 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/trust/rules.py :6 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/watch/scanner.py :30 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/web/app.py :9 from pathlib import Path
  • fs Whatsonyourmind-modelforge-3aeef69/modelforge/web/saas_routes.py :19 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/scripts/audit_listed.py :25 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/scripts/generate_sbom.py :34 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/scripts/inspect_workbook.py :3 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/scripts/moat_sweep.py :18 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/stress_test.py :18 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/layout/test_text_measure.py :12 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/qa/test_ppteval.py :16 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/test_adapter_development_re.py :21 import shutil
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/test_adapter_real_estate.py :20 import shutil
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/test_grounding.py :18 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/test_pipeline.py :18 import shutil
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/test_slide_content.py :22 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/fixtures/dataroom_enfinity_synth/_generate.py :13 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/oracert/test_oracert.py :19 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_bank_fig.py :11 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_certify_schedule.py :11 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_chat.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_collab.py :4 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_conservation_audit.py :12 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_debt_rollforward.py :20 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_deck_named_facts.py :13 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_development_re.py :19 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_diff.py :6 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_dossier.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_drift.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_hardtests.py :26 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ifrs9_pd_bounds.py :29 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ingest_classifier.py :6 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ingest_pipeline.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ingest_readers.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ingest_wide.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_loan_tape_securitization.py :12 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_manifest.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_mcp_conversational.py :16 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_monte_carlo.py :6 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_ocr.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_perturb_replay.py :11 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_pf_solver.py :134 with open("examples/minibond_logistics.yaml") as _: # existence check
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_portfolio_drift.py :5 import shutil
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_qc_integrity.py :27 import shutil
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_reproducibility.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_reverse.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_risk_cli.py :6 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_risk_sheet.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_roi.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_saas.py :10 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_schedule_audit.py :11 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_screen_cli.py :10 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_sensitivity.py :18 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_shadow.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_trust.py :5 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_v010_foreign_markets.py :15 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_v0111_contextvar_render.py :15 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_v011_quality_lift.py :12 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_watch.py :6 from pathlib import Path
  • fs (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_web.py :5 from pathlib import Path

shell / exec 12

  • shell (weak) Whatsonyourmind-modelforge-3aeef69/benchmarks/harness/score.py :33 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_dcf_enterprise.py :24 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_development_re.py :62 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_npl_portfolio.py :20 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_project_finance.py :20 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_real_estate.py :31 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_structured_credit.py :36 subprocess.run([sys.executable, "-m", "modelforge.cli", "build",
  • shell Whatsonyourmind-modelforge-3aeef69/hardtest_three_statement.py :23 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/modelforge/deck/rendering/thumbnail.py :12 import subprocess
  • shell Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/llm.py :17 import subprocess
  • shell (weak) Whatsonyourmind-modelforge-3aeef69/scripts/generate_sbom.py :29 import subprocess
  • shell (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_hardtests.py :24 import subprocess

network 22

  • net Whatsonyourmind-modelforge-3aeef69/modelforge/audit_log.py :29 import socket
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/collab/realtime.py :27 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/deck/rendering/element_renderers/image.py :48 import httpx
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/deck/security/url_guard.py :23 import socket
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/alphavantage.py :22 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/ecb.py :92 import urllib.request
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/edgar.py :26 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/finnhub.py :25 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/fmp.py :24 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/fred.py :23 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/gleif.py :20 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/openfigi.py :24 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/polygon.py :20 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/spcapiq.py :34 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/tiingo.py :20 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/worldbank.py :20 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/yahoo.py :24 import urllib.error
  • net Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/edgar.py :21 import urllib.error
  • net (weak) Whatsonyourmind-modelforge-3aeef69/tests/deck/security/test_url_guard.py :9 import socket
  • net (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_collab_realtime.py :6 import urllib.error
  • net (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_feeds.py :82 with patch("urllib.request.urlopen", side_effect=ConnectionError("test")):
  • net (weak) Whatsonyourmind-modelforge-3aeef69/tests/test_feeds_providers.py :164 with patch("urllib.request.urlopen", return_value=_http_mock(payload)):

secrets 16

  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/audit_log.py :23 import getpass
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/chat/session.py :74 api_key = os.environ.get("ANTHROPIC_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/collab/realtime.py :14 jwt_token=os.environ["SUPABASE_JWT_TOKEN"],
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/alphavantage.py :35 key = os.environ.get("ALPHAVANTAGE_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/factset.py :70 key = os.environ.get("FACTSET_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/finnhub.py :46 key = os.environ.get("FINNHUB_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/fmp.py :45 key = os.environ.get("FMP_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/openfigi.py :40 key = api_key or os.environ.get("OPENFIGI_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/polygon.py :41 key = os.environ.get("POLYGON_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/refinitiv.py :66 app_key = os.environ.get("REFINITIV_APP_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/spcapiq.py :56 key = os.environ.get("SPGLOBAL_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/feeds/tiingo.py :40 key = os.environ.get("TIINGO_API_KEY")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/ingest/llm.py :53 if not os.getenv("ANTHROPIC_API_KEY"):
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/saas/auth.py :73 secret = os.environ.get("SUPABASE_JWT_SECRET")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/saas/billing.py :108 actual_secret = secret or os.environ.get("STRIPE_WEBHOOK_SECRET")
  • secrets Whatsonyourmind-modelforge-3aeef69/modelforge/web/saas_routes.py :117 "supabase_jwt_configured": bool(os.environ.get("SUPABASE_JWT_SECRET")),

database 9

  • db Whatsonyourmind-modelforge-3aeef69/modelforge/audit_log.py :28 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/chat/context.py :16 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/cli.py :934 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/collab/comments.py :36 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/dossier/generator.py :24 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/graph/comments.py :23 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/graph/store.py :9 import sqlite3
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :782 import sqlite3, json as _json
  • db Whatsonyourmind-modelforge-3aeef69/modelforge/saas/tenant.py :23 import sqlite3

tool registrations 25

  • list_templates Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :276
  • spec_guide Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :297
  • get_spec_schema Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :381
  • validate_spec Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :412
  • certify Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :435
  • build_model Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :544
  • qc_workbook Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :604
  • audit_schedule Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :630
  • audit_conservation Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :670
  • perturb_replay Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :713
  • list_sources Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :758
  • lineage_walk Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :801
  • ingest_dataroom Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :835
  • export_pptx Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :883
  • export_deck Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :917
  • screen_deals Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1009
  • compute_tax Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1054
  • export_docx Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1105
  • data_providers_status Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1143
  • quote Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1164
  • history Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1184
  • fundamentals Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1212
  • search_filings Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1244
  • entity_lookup Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1264
  • search_securities Whatsonyourmind-modelforge-3aeef69/modelforge/mcp_server.py :1288

declared dependencies 25

  • mcp@>=1.12.0,<2
  • pydantic@>=2.6
  • openpyxl@>=3.1.2
  • pyyaml@>=6.0.1
  • rich@>=13.7
  • click@>=8.1
  • formulas@>=1.2.7
  • reportlab@>=4.0
  • numpy@>=1.26
  • requests@>=2.31
  • pandas@>=2.2
  • anthropic@>=0.89
  • pdfplumber@>=0.11
  • pypdf@>=5.0
  • pytesseract@>=0.3.10
  • pdf2image@>=1.17
  • Pillow@>=10.0
  • fastapi@>=0.100
  • uvicorn@>=0.20
  • python-multipart@>=0.0.9
  • python-pptx@>=1.0
  • python-docx@>=1.1
  • kiwisolver@>=1.4
  • pytest@>=8
  • ruff@>=0.3