Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 57 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,62 @@ repository does not provide a supported release-date claim.

## Unreleased

Phase 6F Assurance Bundle interoperability engineering scope:

- add a local-only preflight plan before download, network, conversion, or GPU work;
- add fixed portable core documents, explicit missing/unknown evidence, and
conservative dimension verdicts reconstructed during verification;
- add concise CLI summaries while retaining canonical machine-readable plans,
manifests, and verification reports; and
- add Phase 5/6A–6E schema-registry interoperability and offline fail-closed
verification for exact file sets, bytes, schemas, and semantic projections;
- add deterministic bounded `.omiv` archives and streaming binary evidence handling;
- add detached Ed25519 signatures with external trust-policy thresholds; and
- add capability negotiation, tracked conformance fixtures, and product-level
`omiv verify bundle.omiv`.

The Phase 6F engineering scope is complete but not released, and Phase 7 scope
remains unfrozen.

Phase 7A candidate incubation:

- add bounded, read-only local discovery of canonical Phase 5/6A–6E evidence;
- conservatively auto-select only one unique final Phase 6A–6E verdict record per
requested dimension, leaving distinct candidates ambiguous;
- emit a deterministic Smart Preflight plan and a standard Phase 6F Assurance
request without changing Phase 6F semantics; and
- prohibit downloads, conversion, remote collectors, runtimes, and GPU work in the
candidate planner.

This vertical slice is not a frozen Phase 7 scope or release claim.

Phase 7B candidate incubation:

- add a provider-neutral local runtime compatibility plan/run/verify workflow with
an initial synthetic llama.cpp-compatible runner profile;
- bind results to explicit executable/artifact digests, runtime version, invocation,
limits, CPU-only environment, and a supplied test vector;
- retain bounded stdout/stderr, five fail-closed stage results, findings, unknowns,
limitations, and canonical JSON evidence; and
- add adversarial orchestration tests and a tracked fully offline example that does
not require a real runtime, model, conversion, or GPU.

This candidate does not release or freeze Phase 7 or change Phase 6F/7A semantics.

Phase 7B.1 candidate hardening:

- replace executable-authored OMIV stage reports with direct execution of the bounded
native argument array and retain raw native stdout/stderr and process observations;
- derive exact OUTPUT status in OMIV while keeping LOAD, TOKENIZER, PREFILL, and
DECODE `UNKNOWN` when the native surface cannot independently establish them;
- embed the complete canonical plan in evidence and verify every duplicated request,
pin, profile, invocation, environment, limit, and test-vector field offline; and
- reject outer-rehashed incoherent plan/evidence mutations while stating explicitly
that canonical integrity is not origin authenticity.

This hardening remains candidate work. It does not release or freeze Phase 7,
register Phase 7B evidence in Phase 6F, or change Phase 7A selection.

Release infrastructure correction:

- pin the approved public release-signing key and verify its digest, typed
Expand All @@ -15,8 +71,7 @@ Release infrastructure correction:
- preserve the immutable `v0.10.0` tag and GitHub pre-release after the initial OIDC
workflow stopped at signed-tag verification because no public key was bootstrapped.

This correction does not publish to PyPI, alter release assets, implement Phase 6F/7,
or change runtime package code.
This correction does not publish to PyPI, alter release assets, or implement Phase 7.

## v0.10.0 — Public Preview

Expand Down
22 changes: 19 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,20 @@ Released boundaries remain narrow:
| Phase 6D | Tokenizer/configuration parity and supplied probes | Finite scope only |
| Phase 6E | Runtime resolution, deployment binding, supplied results, output provenance | No implicit live inference |

Phase 6F Assurance Bundle interoperability is planned, not implemented.
Phase 6F remains Assurance Bundle interoperability. Its engineering scope now
provides local preflight, conservative concise verdicts, fixed portable core
documents, deterministic `.omiv` transport, Phase 5/6A–6E schema interoperability,
detached signatures with external trust policy, and offline fail-closed verification.
No Phase 6F release is claimed. Phase 7 scope remains unfrozen.
An isolated [Phase 7A candidate](docs/phase-7a-smart-preflight.md) can now discover
bounded local canonical evidence and generate a Phase 6F request; it does not freeze
Phase 7 scope or bypass the Assurance Bundle preflight.
An isolated [Phase 7B candidate](docs/phase-7b-runtime-compatibility-profiles.md) adds
an explicitly supplied, bounded local runtime profile and five-stage evidence path.
The Phase 7B.1 hardening invokes the native CLI directly, embeds its canonical plan,
and keeps runtime internals `UNKNOWN` when raw output cannot establish them. Its
tracked workflow is synthetic, CPU-only, and offline; it does not freeze Phase 7
scope or claim general runtime compatibility.
See the [roadmap](docs/roadmap.md).

### Reading results
Expand Down Expand Up @@ -225,6 +238,8 @@ Start with the [documentation index](docs/README.md).
- [R1F publication audit](docs/r1f-final-publication-audit.md)
- [Release notes](docs/v0.10.0-release-notes.md)
- [Roadmap](docs/roadmap.md)
- [Phase 6F Assurance Bundles](docs/phase-6f-assurance-bundle-interoperability.md)
- [Phase 7B Runtime Compatibility Profiles](docs/phase-7b-runtime-compatibility-profiles.md)

Detailed command and phase guidance lives in the documentation.

Expand All @@ -233,8 +248,9 @@ Detailed command and phase guidance lives in the documentation.
The repository is public. OMIV remains a pre-1.0 Alpha public preview,
not a production, certification, safety, or authenticity claim.

Phases 5 and 6A–6E are released in history. Phase 6F is planned,
not implemented. The signed annotated `v0.10.0` tag and GitHub pre-release exist;
Phases 5 and 6A–6E are released in history. The Phase 6F engineering scope is
complete on current main but is not released.
Phase 7 scope is not frozen. The signed annotated `v0.10.0` tag and GitHub pre-release exist;
the PyPI project/version remain absent after a pre-publish failure.

Public availability is not release completion. See the [roadmap](docs/roadmap.md)
Expand Down
10 changes: 10 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,16 @@ historical command and evidence guide.
- [Phase 6D: tokenizer/configuration parity](phase-6d-tokenizer-configuration-parity.md)
- [Phase 6E: runtime resolution parity](phase-6e-runtime-resolution-parity.md)

## Phase 6F

- [Phase 6F: Assurance Bundle interoperability](phase-6f-assurance-bundle-interoperability.md)

## Phase 7 candidates

- [Phase 7A candidate: Smart Preflight / Auto Planner](phase-7a-smart-preflight.md)
- [Muse Glimmer metadata-only acceptance example](../examples/reference-preflight/README.md)
- [Phase 7B candidate: Runtime Compatibility Profiles](phase-7b-runtime-compatibility-profiles.md)

## Practice profiles

- [Qwen model-pack and format examples](reference/technical-reference.md#core-format-adapters-and-model-packs)
Expand Down
21 changes: 16 additions & 5 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,15 @@ emits deterministic results and limitations. Verification does not require a hos
service. The [quickstart](quickstart.md) demonstrates this path with a small tracked
synthetic object.

## Future Assurance Bundle boundary
## Phase 6F Assurance Bundle boundary

Phase 6F Assurance Bundle interoperability is planned and is not implemented. A
future public bundle verifier must compose existing evidence without rewriting its
canonical meaning, must expose missing components, and must remain independently
usable offline. R1C adds no Phase 6F schemas, code, fixtures, or branch changes.
Phase 6F remains Assurance Bundle interoperability. Local preflight precedes costly
work; fixed core documents retain concise verdicts, findings, and unknowns; and
offline verification covers portable directory and deterministic `.omiv` transports,
Phase 5/6A–6E schemas, semantic reconstruction, and optional Ed25519 trust-policy
binding. It composes existing evidence without rewriting canonical meaning or
replacing an earlier verifier. It is not released, and Phase 7 scope remains
unfrozen. See the [Phase 6F guide](phase-6f-assurance-bundle-interoperability.md).

## Public and future commercial operation

Expand All @@ -116,6 +119,14 @@ public results. See the [public/commercial boundary](public-commercial-boundary.
## Implementation map

- `src/omiv/` contains the provider-neutral core, adapters, profiles, and CLI.
- `src/omiv/assurance/` contains Phase 6F preflight, registry/projection, portable
core documents, deterministic archive, signatures, assembly, and offline verification.
- `src/omiv/smart_preflight/` contains the isolated Phase 7A candidate for bounded
local discovery and conservative generation of a normal Phase 6F request.
- `src/omiv/runtime_compatibility/` contains the isolated Phase 7B candidate for
explicitly supplied, bounded local runtime compatibility profiles and evidence.
Its Phase 7B.1 native-output profile embeds the reconstructable canonical plan,
retains raw process observations, and keeps unobservable runtime internals unknown.
- `schemas/` and phase-specific directories contain portable evidence and examples.
- `docs/phase-*.md` describe released engineering phases and their limits.
- `tools/audit_*.py` perform bounded offline repository and preservation audits.
Expand Down
124 changes: 124 additions & 0 deletions docs/phase-6f-assurance-bundle-interoperability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# Phase 6F: Assurance Bundle interoperability

## Status and boundary

The Phase 6F engineering scope is complete on the current main line. It remains
Assurance Bundle interoperability; this is not a new validation phase and no release
is claimed. Phase 7 scope remains unfrozen.

Phase 6F composes supplied Phase 5 and Phase 6A–6E canonical evidence without
changing its meaning. It does not replace an originating verifier, upgrade unknowns,
or prove authority, runtime use, numerical fidelity, or semantic fidelity that the
source evidence did not prove. Missing, unsupported, invalid, and untested states
remain explicit and fail closed.

## Product workflow

Preflight happens before download, network, conversion, or GPU work:

```console
omiv assurance plan --request examples/assurance-bundle/request.json --root . --output plan.json
omiv assurance build --plan plan.json --root . --output bundle
omiv assurance pack --bundle bundle --output bundle.omiv
omiv verify bundle.omiv --report-output verification.json
```

The concise terminal result is for people. The plan, manifest, core documents,
evidence, signature records, and verification report retain the machine-readable
record. None of these commands downloads a model, invokes a converter, starts a
runtime, or uses a GPU.

The request declares each evidence member, its phase, expected schema, assurance
dimension, and whether it is supporting evidence or a dimension verdict. Preflight
reports local availability, schema support, byte cost, unresolved gaps, and any
proposed costly work. A proposed operation is information only; it is never executed.

## Portable bundle v1

A directory bundle and its deterministic ZIP_STORED `.omiv` transport contain:

```text
assurance-bundle.json
subject.json
verdict.json
evidence-index.json
findings.json
unknowns.json
capabilities.json
evidence/ ...
provenance/ ...
runtime/ ...
fidelity/ ...
signatures/*.json
```

The manifest records canonical identity, preflight identity, profile, required
features, exact evidence members, fixed core-file hashes, and limitations. Local
source paths never enter the portable manifest. The archive uses sorted portable
paths, fixed timestamps and modes, no compression, and bounded streaming extraction,
so the same directory produces identical archive bytes.

`capabilities.json` advertises the v1 profile, directory and ZIP_STORED transports,
Ed25519 signatures, supported Phase 5/6A–6E evidence schemas, and resource limits.
Verification rejects an unsupported profile or required feature instead of guessing.

## Verdict and unknown semantics

Only evidence explicitly assigned the `DIMENSION_VERDICT` role contributes a
semantic status. OMIV conservatively maps a canonical phase status to `PASS`, `WARN`,
`FAIL`, `UNKNOWN`, or `NOT_TESTED`; schema validity alone never becomes `PASS`.
Supporting evidence remains non-verdict evidence.

Offline verification recalculates this projection from the packaged canonical
evidence and rejects a different manifest projection. `verdict.json` provides the
short dimension summary, while `unknowns.json` records unresolved claims and the
next action. Full findings and evidence remain available to automation.

## Integrity, signatures, and trust

Verification checks manifest identity, profile/features, the exact file set,
portable paths, regular non-symlink files, resource bounds, sizes, SHA-256 digests,
core-document canonical identities, core projections, phase schemas, and semantic
projections. Binary evidence is streamed; JSON parsing is bounded.

An optional detached Ed25519 record signs the manifest digest:

```console
omiv assurance sign --bundle bundle --private-key signer.pem --key-id release-key
omiv assurance pack --bundle bundle --output signed.omiv
omiv verify signed.omiv --trust-policy trust-policy.json
```

A cryptographically valid signature is `VALID_UNTRUSTED` without an external policy.
Signer authority requires a supplied `omiv.assurance-trust-policy.v1` policy. Invalid
signatures, or a required trusted-signature threshold that is not met, invalidate the
verification. Signing does not make the underlying claim true.

## Exit behavior and limits

- `0`: ready preflight or complete, policy-satisfying bundle verification;
- `1`: blocked/review-required preflight, incomplete bundle, invalid bundle, or trust
failure;
- `2`: malformed input, unsafe path, exceeded bound, or operational failure.

V1 limits requests to 256 evidence members, JSON evidence to 64 MiB per member,
individual streamed members to 1 GiB, and total evidence to 4 GiB. Output directories
and archives must not already exist. Case-insensitive portable-path collisions,
traversal, links, compressed archive entries, duplicate entries, and undeclared files
are rejected.

Tracked conformance requests live in `fixtures/assurance-bundle/`. One must resolve
to complete and one to incomplete without executing its declared GPU operation.

## Non-goals and Phase 7

Phase 6F does not discover a model from a single artifact, collect remote evidence,
run a backend, compare logits, or decide deployment policy. Those require later
product workflows. The proposed Phase 7 sequence is planning input only:

1. Smart Preflight / Auto Planner;
2. runtime compatibility profiles;
3. numerical and semantic fidelity profiles;
4. automated collectors and provider/runtime adapters.

That sequence does not freeze Phase 7 scope.
Loading