Download CONTRIBUTING.md from zeechimp/frontier-check: direct link, hf CLI and curl.
- Browser
- Download file 3.62 kB
-
https://huggingface.co/zeechimp/frontier-check/resolve/main/CONTRIBUTING.md
- Command line
-
hf download hf://zeechimp/frontier-check/CONTRIBUTING.md
-
curl -L -o CONTRIBUTING.md https://huggingface.co/zeechimp/frontier-check/resolve/main/CONTRIBUTING.md
Contributing to frontier-check
What this project is
A small tool that routes claims by their training-data status. The
core contribution is the 2×2 matrix over (mechanism, checkable
sub-claim) that separates FRONTIER from FABRICATED. Everything
else is plumbing.
What this project is not
- Not a general-purpose fact-checker.
- Not a replacement for the LLM that produces the claim.
- Not a proof that a
FRONTIERclaim is correct. - Not calibrated against real reader outcomes yet.
How to propose a change
- Open an issue describing the change and why the current behavior is wrong. Include a specific claim that routes incorrectly and the correct routing for it.
- Add the claim to
REGRESSION_CLAIMSwith the expected status and verdict. - Confirm the new claim fails on the current code (
pytest -q). - Fix the code.
- Confirm all regression claims pass, including the new one.
- Open the PR.
The regression suite is the spec. If your change is not covered by a regression claim, add one before touching the code.
What "the current behavior is wrong" means
The classifier is heuristic. It will route some claims incorrectly. The question is not "does it make mistakes" but "does it make the same mistakes reliably." A change is correct if:
- The eight existing regression claims still pass.
- The new claim now passes.
- The change does not introduce a mechanism that could route other claims incorrectly. (Predict what classes of claims the change affects, and add regression claims for those.)
Adding a theorem to the library
A theorem is a claim that no possible world makes the input correct. To add one:
- It must be a real theorem. Rank bounds, cardinality bounds, entropy bounds, Euclidean angle sums. Not empirical regularities.
- It must have a detector function that returns
(violated, note). - The detector must be conservative — false positives (refusing a correct claim) are worse than false negatives.
- Add regression claims for both the violating case and the near-miss case.
If you cannot state the theorem in one sentence and prove it in three, it does not belong in the library.
Adding a paper to the corpus
- The paper must be real. No fabricated citations.
- Set
on_target=Trueonly if the paper makes the same claim the corpus is testing. Sharing topic words is not enough. - The
keywordslist should be content tokens, not generic words.effective,rank,matrixare generic.dragonfly,tctn,matchedare content. - Add a regression claim that exercises the new paper.
What not to contribute
- Changes that increase
FRONTIERrate without adding structure.FRONTIERis a candidate, not a goal. If a change makes more claims qualify without a corresponding improvement in the structural checks, it is a regression. - Changes that route unfamiliar claims to
FABRICATEDon the basis of a prior. TheFABRICATEDverdict requires structural evidence (no mechanism, no checkable sub-claim), not a prior toward dismissal. - New dependencies for the core module. The core is stdlib only. Optional backends (arXiv retrieval, LLM classifier) live behind extras.
The version history
Read CHANGELOG.md before proposing a change. Three of four
iterations had the same bug class: a gate that uses topical
similarity as a proxy for claim identity. If your change touches
retrieval or literature matching, check whether it introduces the
same pattern.
Running the tests
pip install -e ".[dev]"
pytest -q
python -m frontier_check --strict "any claim"