V50 Candidate / Canary — local, review-only, and not deployed.
Seal evidence. Generate bounded candidates. Require human review.
CaseSeed V50 is a deterministic reference implementation that turns one sealed, evidence-supported industrial case into reviewable hypotheses, observation-only validation plans, red-team findings, missing-evidence records, and up to six single-variable synthetic regression fixtures.
It is not an autonomous control system, a field diagnostic authority, or an automatic knowledge-promotion service. Generated artifacts stay explicitly labelled as candidates and require human review.
| Area | Purpose |
|---|---|
industrial_v50/ |
Strict data models, hard gates, deterministic generators, runner, review flow, and CLI |
examples/industrial_v50/ |
Fully synthetic, sealed demo input with no customer or field data |
tests/industrial_v50/ |
Safety, storage, leakage, review, determinism, and boundary tests |
scripts/validate_public_package.py |
Fails if private markers, unsafe paths, unexpected files, or malformed examples enter the public package |
Runtime code uses only the Python standard library. Development and validation require Python 3.10 或更高版本 (Python 3.10 or newer). The public candidate contains no provider adapter, API client, network call, or automatic knowledge-promotion path.
Clone the repository and run it directly, or install the local checkout:
python -m pip install -e .
threeyan-v50 --helpNo third-party runtime package is required. The editable install uses the
standard Python packaging toolchain only to expose the threeyan-v50 command.
python -m unittest discover -s tests/industrial_v50 -t . -v
python scripts/validate_public_package.py
python -m industrial_v50.cli validate \
--case examples/industrial_v50/synthetic_case.jsonThe checked-in synthetic case returns:
{"case_id":"SYNTHETIC-DEMO-001","command":"validate","status":"VALID"}Run one disposable deterministic batch:
RUN_ROOT="$(mktemp -d)/industrial-runs"
python -m industrial_v50.cli run \
--case examples/industrial_v50/synthetic_case.json \
--output-root "$RUN_ROOT" \
--max-items 6A successful manifest reports COMPLETED, no more than six fixtures,
model_calls: 0, and estimated_cost_usd: 0.0.
The current public commit was manually verified on Python 3.10 and 3.11: all 75 tests passed, the public-package validator passed, and the shipped synthetic case completed a deterministic run with two accepted fixtures, zero rejected fixtures, zero duplicates, zero model calls, and zero estimated cost. GitHub CI independently passed on Python 3.10 and 3.11.
- Inputs are sealed with a canonical SHA-256 snapshot.
- Facts must resolve to declared evidence IDs; unknowns remain Unknown.
- Fixture generation changes exactly one declared variable.
- Blind inputs and human-facing Oracle records are stored separately.
- Dangerous suggestions, answer leakage, duplicate artifacts, and storage escapes fail closed.
- Reviews and weight changes are append-only and require named humans.
Read Operations and the Human Review Guide before using your own redacted case.
This repository is a public extraction from a larger private research codebase. Only the bounded V50 core and synthetic material are included. Passing tests shows that the published contracts behave as implemented; it does not prove field correctness, production readiness, or diagnostic accuracy.
See CONTRIBUTING.md for the required checks. Report sensitive issues using SECURITY.md. The project is licensed under the MIT License.
