Native Shell
Native Shell은 모든 플랫폼의 앱 안에서 만들어지는 AI UI입니다
Stage 1 데이터 게이트용 표준 라이브러리 파이썬 패키지, 행·배치·고정 세트가 학습에 적합한지 판단한다
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.
개발 도구Python · TypeScriptGitHub @mcp-tool-shop-org온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
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