Contributing
September 20, 2026 · View on GitHub
Docs and skill PRs are welcome. This is a placement skill, not a TypeSafe product and not a vendor how-to.
What to send
- Skill / reference-card clarifications that keep Jev as exemplar, not monopoly
- Measurement-honesty fixes (ranking ≠ calibration; Score is 0..n−1; Noul has no confidence field; soft Noul ≠ hard gate)
- Composition notes (fail-open vs fail-closed per action; prune ≠ deny)
- Formal-methods honesty (a Noul is a SENSOR, not a proof)
Do not invent metrics. Do not paste pipeline() / pip / npm install
recipes that read as endorsements. Quote theirs and label vendor
figures.
Adversarial review
Read the change against the skill's own non-negotiables before opening the PR. The usual failure modes are soundness theater: hard-gating a soft Noul, treating ECE as an edge, treating 0.85 / minProbability as Harbor, or laundering a score as a proof.
Run what you can locally:
python3 .agents/skills/augustus/scripts/evaluate_decisions.py --self-test
python3 .agents/skills/augustus/scripts/uniqueness_gate.py
python3 research/revisit_fingerprints.py --self-test
The Pages workflow must stay green. After #34 it greps _site/index.html
for TypeSafe Jev Choice/Score/Noul, Install the skill, and LICENSE
(LICENSE is in docs/_layouts/default.html; the other two stay in
docs/index.md).
Fold uniqueness
Hourly research folds carry uniqueness locks so the same cluster is not re-opened as "new." Before folding:
- Read
research/notes.mdand the uniqueness fragments in.agents/skills/augustus/SKILL.md - Do not re-fold an already-landed section as a new beat
- Do not reopen or amend a merged fold PR (#23–#45)
- uniqueness_gate.py checks 0843 + 0915 + jcr + 0922 + 0940 + 0947 + 1049 + 1143 + 1248 + 1340 + 1441 consecutive locks, plus the revisit / since-last-look protocol substring in the skill and research files.
- Hourly uniqueness dump:
research/changelog-hourly.md(archive, not release notes) - Treat revisit HIGH like novel HIGH. Catalogued repos are not
done. If fingerprints moved (
default_sha,pushed_at,description_hash,release_tag) or the README / API / release / calibration claim / serving port / bench rewrote, densify the prior notes card. Stars / likes / forks alone is star-noise, not a fold. Do not mint a sibling first sighting. Do not invent equivalence. SHA move is not a replica. Checklist:research/revisit-checklist.md. Helper:research/revisit_fingerprints.py.notes.md§122.
Revisit / since-last-look lock: catalogued repos are not done; store fingerprints default_sha, pushed_at, description_hash, release_tag; material change is README/API/release/calibration claim/serving port/bench rewrite; star-noise is stars/likes/forks alone; densify the prior notes section, do not mint a sibling first sighting; do not invent equivalence; SHA move is not a replica; treat revisit HIGH like novel HIGH for Augustus; notes.md §122
Secrets
No API keys, tokens, or .env files in the tree. Push protection and
secret scanning are on. See SECURITY.md.
Branch protection
Default-branch protection, required checks, and org settings are
parent-owned. This file does not change them. Prefer a PR off latest
main. Do not force-push shared branches.