Native Shell
Native Shell: AI-generated UI, native in your app, on every platform. Apps on iOS, Android, macOS, Windows and Linux, GPUI apps and web pages load signed, sandboxed TSX modules at run time and draw th
The Stage 1 data gates for role-training sets: one standard-library Python package that decides whether a row, a batch or a frozen set is fit to train on.
Developer toolsPython · TypeScriptGitHub @mcp-tool-shop-orgOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The data gates for Stage 1 role-training sets: one standard-library Python package that decides whether a row, a batch or a frozen set of training items is fit to train on. The trainer (aspire-si) and the dataset generator (role-set) both call it, so what a generator accepts is exactly what the trainer will accept.
Every gate raises or returns a reason you can act on. Nothing is fixed silently.
pip install aspire-si-gates
Python 3.10 or newer. No dependencies.
from aspire_si_gates import DataError, load, validate
rows = load("batch3-t05.jsonl") # one JSON object per line
try:
validate(rows) # every row check, then every whole-set check
except DataError as err:
print(err.code, err.message, err.hint)
A generator that wants to hand refusals back to its writer one item at a time uses the incremental checks instead:
from aspire_si_gates import check_against, check_item
check_item(row) # raises DataError on the first refusal
problems = check_against(row, accepted_rows) # [(code, message), ...] against rows already accepted
| Call | What it checks |
|---|---|
validate(rows) | check_item on every row, then check_batch on the whole file. Raises DataError with the first refusal. |
check_item(row) | The checks that need no other row. It refuses an apply item (split: apply or an -AP- id): apply items are never trained. |
check_apply_item(row) | An apply item's checks: the same content and shape rules as check_item, plus the apply rules (split: apply and an -AP- id, kind C or D, one turn, no pair, and the lesson's twin field). Refuses any row that is not an apply item. |
check_trace_leaks_label(row) | Refuses a kind C row whose checker trace names its own planted flaw, or any flaw stem outside the two-step carve-out. Wired into check_batch. |
check_against(row, accepted) | [(code, message)] for the exclusivity rules (spans, framings, material, puzzle shapes, openings, phrases) against rows already accepted. The codes are in REASONS. |
check_batch(rows) | The checks that need the finished set: shares, floors, pairs, phrase and formula limits. |
batch_report(rows), freeze_report(rows) | The figures behind those checks, as dicts. |
gates_identity() | The package version and a sha256 of its source, to record with each generated item. |
The verifier role's data (lessons, trait names, role words and the pre-amendment lessons) is in constants.py. A
different role changes that module, not the checks. The sealed-set leakage leg is not here; it stays with the trainer.
load.Report a vulnerability privately; see SECURITY.md.
Version 1.7.6, first published to PyPI. The source is byte-identical to the package that lived in aspire-si at
6a603baa, so gates_identity() reports the same hash as before the move. Coverage of this repository's own tests is
68% with the floor at 68 (target 90); more gate cases are exercised by aspire-si's Stage 1 tests.
The hard gates (security, errors, docs, shipping hygiene) pass; see SHIP_GATE.md and SCORECARD.md.
python -m pytest -q
Or run everything the release gate runs: bash scripts/verify.sh.
MIT, © mcp-tool-shop.
Built by MCP Tool Shop