|
Download spec/contract.md from Snapkitty/bio-semantics: direct link, hf CLI and curl.
- Browser
- Download file 4.39 kB
-
https://huggingface.co/Snapkitty/bio-semantics/resolve/main/spec/contract.md
- Command line
-
hf download hf://Snapkitty/bio-semantics/spec/contract.md
-
curl -L -o contract.md https://huggingface.co/Snapkitty/bio-semantics/resolve/main/spec/contract.md
4.39 kB
| # Bio-Semantics Integration Contract β Gate 1 | |
| **Version:** bio-semantics/1.0.0 | |
| **Status:** Gate 1 candidate β contract specification only. Not implemented or tested. | |
| --- | |
| ## Integration Pipeline | |
| ``` | |
| Python β Validation β Normalization β Model Inputs β Stan β MiniZinc β Quipper β Artifact Validation β Visualization/Reporting | |
| ``` | |
| Each stage result carries: | |
| | Field | Type | | |
| |-------|------| | |
| | run_id, stage_id, semantic_stage | identifiers | | |
| | status | blocked / not_run / running / succeeded / failed / timeout | | |
| | reason | string | | |
| | input_artifact_ids[], output_artifact_ids[] | references | | |
| | tool_name, tool_version, command_arguments[], working_directory | execution | | |
| | started_at, ended_at, exit_code | timing | | |
| | stdout_artifact_id, stderr_artifact_id | logs | | |
| | random_seed | value / not_applicable / unavailable | | |
| Solver outcome is separate from process status: | |
| ``` | |
| solver_outcome: feasible | optimal | infeasible | unknown | timeout | failed | not_run | |
| ``` | |
| A successful process exit is insufficient evidence of successful inference, a feasible solution, convergence, or quantum execution. | |
| --- | |
| ## Quantity Kinds | |
| | Kind | Meaning | | |
| |------|---------| | |
| | observed | Measurement with source record locator | | |
| | inferred | Posterior quantity with model/run references and uncertainty | | |
| | derived | Deterministic transformation with algorithm and input references | | |
| | predicted | Unobserved modeled quantity with model/run references | | |
| | constrained | Declared permitted relation or solver result | | |
| | encoded | Representation with semantic source, codec identifier, and bit length | | |
| | executed | Actual execution event with run evidence | | |
| --- | |
| ## Validator Rules (10) | |
| 1. Reject unsupported versions, unknown discriminants, contradictory variants, empty identifiers, duplicate observation IDs | |
| 2. Require exactly one of present value or missing reason | |
| 3. Raw counts: canonical unsigned decimal only (no negatives, fractions, exponents, whitespace) | |
| 4. Decimal quantities: reject NaN/infinity, require declared units | |
| 5. Require sample/gene references to resolve | |
| 6. Reject inferred/predicted/constrained quantities labeled observed | |
| 7. Preserve excluded rows with explicit inclusion map | |
| 8. Missing source bytes block verified-ingestion claims | |
| 9. Synthetic-origin propagation through every descendant artifact | |
| 10. Never create model-result objects merely because a process was scheduled | |
| --- | |
| ## Binary Semantics Profiles | |
| - **u32-checked/1**: unsigned 32-bit, big-endian, range 0..4294967295; overflow traps | |
| - **i32-checked/1**: signed two's-complement, big-endian; overflow traps; MIN_INT/-1 traps | |
| --- | |
| ## PTM: ptm-bit-parity/1 | |
| Input alphabet: {0,1}. Tape alphabet: {0,1,_}. States: {q_even, q_odd, q_accept, q_reject}. | |
| | State | Read | Write | Move | Next | | |
| |-------|------|-------|------|------| | |
| | q_even | 0 | 0 | R | q_even | | |
| | q_even | 1 | 1 | R | q_odd | | |
| | q_odd | 0 | 0 | R | q_odd | | |
| | q_odd | 1 | 1 | R | q_even | | |
| | q_even | _ | 0 | Stay | q_accept | | |
| | q_odd | _ | 1 | Stay | q_accept | | |
| For input length n: exactly n+1 transitions, n+1 tape cells, constant auxiliary storage. | |
| --- | |
| ## Gated Phases | |
| 1. **Contract gate**: Contracts and validators accepted; encodings/arithmetic/PTM documented; provenance validated | |
| 2. **Engine gate**: Stan/MiniZinc/Quipper sources exist; native validation evidence recorded; failures preserved | |
| 3. **Integration/release gate**: All panels rendered with lineage; WORM loaded first; governance checks preserved | |
| --- | |
| ## Acceptance Tests (specified, not run) | |
| | Case | Expected | | |
| |------|----------| | |
| | Present raw count "0" | Valid observed zero | | |
| | Missing count with not_measured | Valid missing; never zero-filled | | |
| | Missing variant also contains value | Invalid | | |
| | Raw count "-1", "1.5", "1e3" | Invalid | | |
| | Count above native backend range | Adapter rejects conversion | | |
| | Normalized measurement labeled observed | Invalid | | |
| | Posterior relabeled observed | Invalid | | |
| | Missing source/hash | Provenance incomplete | | |
| | Synthetic input -> posterior -> report | Synthetic marker propagated | | |
| | Two records with duplicate identity | Invalid | | |
| | u32 maximum plus one | Overflow fault | | |
| | Integer divide by zero | Arithmetic fault | | |
| | Encode/decode present zero versus missing | Distinct round trips | | |
| | PTM "", "0", "1", "1011" | Output 0, 0, 1, 1; transitions 1, 2, 2, 5 | | |
| | Fortran summation | Expected sum=5050 | | |