Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 1.77 KB

File metadata and controls

46 lines (35 loc) · 1.77 KB

Contributing

MethodLM is a verifiable causal-reasoning harness, maintained by one person. The discipline — pre-register, test, keep a ledger — is the product; contributions should uphold it.

Ground rules

  1. No FINAL without a real test. Any new reasoning path must keep the pre-registration gate: a verdict is only accepted after ADJUST / STRAT / RUN / INTERACT / IV / REFUTE has actually run.
  2. State the assumptions the data can't verify. ADJUST's collider/mediator split and IV's exclusion restriction are printed on every call for a reason — a new tool that hides its assumptions is a regression.
  3. Benchmark claims come with the script and the audit JSON. If you change benchmark_causal.py / benchmark_models.py numbers, include the run and say which model / seed. The "capability-dependent" finding in the README is measured, not rhetorical.
  4. Disclose AI assistance if you used it — a line in the PR is enough.

Setup

git clone https://github.com/tritsystem/methodlm
cd methodlm
python -m venv .venv && . .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -e ".[dev]"                           # reasoning half is numpy-only

Optional extras: .[frontier] (Anthropic), .[data] (Parquet/Excel), .[ternary] (torch second witness), .[refute] (DoWhy), .[contrastive].

Before a PR

python -m pytest -q test_bias_guard.py test_judge.py
python methodlm.py --demo            # end-to-end on the hidden-confound world
  • One logical change per PR.
  • If it touches a causal tool, add a synthetic scenario where the correct answer is known and show the tool gets it (and flags the failure mode it should).

Security

Don't open a public issue — see SECURITY.md.