2.5 KiB
/unslop contribute
Turn one AI-ism caught in the wild into a scanner contract example and a structured PR. Route
here on "contribute a pattern", "add this tell", or "I found a new AI-ism".
Everything stays offline until the user approves both publication and the final
PR body. Read references/contribute.md for the precheck exit codes, redaction
discipline, row-diff verification, and the non-maintainer fork path.
Flow
-
Precheck.
python3 scripts/contribute.py precheck /abs/path/snippet.txt. Stop if it exits 3. The tell is already covered, so add a REC row rather than opening a fresh false-negative row. -
User confirmation gate #1 — publication. Show the exact snippet and ask whether it may go in a public repo. Offer redaction hints from
python3 scripts/extract_constraints.py < snippet.txt. Redact only with explicit approval, and keep the tell byte-for-byte intact. -
Scaffold the working bundle under
.unslop/contrib/<slug>/(do not commit it):python3 scripts/contribute.py scaffold --snippet /abs/path/snippet.txt \ --tell "exact substring" --category significance_inflation \ --pattern-name exact-substring-slug --redact "Alice=NAME" -
Implement eval-first, following
references/maintenance.md: copyrow_fn.jsonintoevals/fixtures/contracts/scanner-examples.json, renumber from the live maxima, then setexact_totalto the newexampleslength. Add the literal-use FP example (and a REC example if a word is gated behind a collocation). Confirm the FN example is red before you touch the scanner, then updatescripts/banned_phrase_scan.pyandreferences/taboo-phrases.mduntil it goes green while the FP example holds. -
Verify:
python3 scripts/contribute.py verify --bundle .unslop/contrib/<slug>. It refuses TODO markers, checks specimen fidelity, and captures the red-to-green transition. -
Full deterministic gate battery:
python3 evals/check.py --full. -
Render the PR body:
python3 scripts/contribute.py report --bundle .unslop/contrib/<slug> > pr-body.md. -
User confirmation gate #2 — publication of the PR. Show the final PR body, get approval, then branch,
git addthe three changed files, commit, and usegh pr create(or the non-maintainer fork path inreferences/contribute.md). Network access belongs to the host agent.
The resulting branch contains the contract example, scanner change, and taboo-catalog entry.