Purpose
Move Lotus Family from auditing caller-supplied snapshots to producing a reproducible snapshot from a verified repository and exact commit, while keeping all results advisory and non-consequential.
This is the next slice after #230 / PR #231.
Problem
v0.1 proves which supplied bytes were evaluated, but it intentionally does not prove that those bytes came from the claimed remote repository, ref, or commit.
A v0.2 result must distinguish:
caller_claim_only — repository/ref/SHA are supplied claims;
trusted_materialization — the integration resolved and checked the repository, commit, tree, and clean snapshot;
UNKNOWN — provenance could not be established.
First implementation scope
Pilot only in safal207/pythiaLabs before enabling CML, LS, or additional repositories.
Trusted materializer
Evidence record
The evidence bundle should include at minimum:
- repository identity;
- requested ref and commit;
- resolved commit and tree SHA;
- materializer version;
- materialization timestamp;
- checked paths and SHA-256 values;
- provenance assurance level;
- explicit limitations;
- authority boundary.
Repository onboarding contract
A repository may join Lotus Family only when it defines:
- an allowlisted repository identity;
- a canonical Lotus contract in English and Russian;
- the exact regression test protecting that contract;
- the CI workflow/job/step expected to execute the test;
- required and forbidden authority terms;
- adapter-owned paths and test commands;
- a fail-closed outcome for inaccessible or ambiguous evidence;
- a human owner for acceptance decisions.
Candidate scoring
Evaluate each candidate repository on:
- contract maturity;
- exact-head evidence maturity;
- CI determinism;
- parser/adapter complexity;
- exposure to untrusted code execution;
- usefulness to the wider family;
- maintenance ownership.
Recommended order:
Pythia pilot → CML → LS → one external candidate at a time.
Acceptance criteria
- A snapshot cannot receive provenance-backed
PASS from caller claims alone.
- Repository identity mismatch returns
UNKNOWN, never PASS.
- Missing/unreachable commit returns
UNKNOWN, never fallback-to-branch behavior.
- The recorded tree and file hashes correspond to the exact bytes audited.
- Materialization does not execute hooks, build scripts, tests, workflows, or repository binaries.
- Dirty, incomplete, escaped, or ambiguous snapshots fail closed.
- Evidence explicitly states that
PASS != APPROVED != MERGED.
- Existing v0.1 caller-supplied mode remains supported and clearly labeled.
Threat fixtures
Safe sequence
specification → threat fixtures → read-only Pythia adapter → local deterministic materializer → same-byte audit binding → CI integration → exact-head review → staged CML/LS adoption → external repository pilot
Authority boundary
The materializer and auditor provide evidence and advisory judgments only. They grant no ownership, approval, execution, delivery, deployment, or merge authority.
Purpose
Move Lotus Family from auditing caller-supplied snapshots to producing a reproducible snapshot from a verified repository and exact commit, while keeping all results advisory and non-consequential.
This is the next slice after #230 / PR #231.
Problem
v0.1 proves which supplied bytes were evaluated, but it intentionally does not prove that those bytes came from the claimed remote repository, ref, or commit.
A v0.2 result must distinguish:
caller_claim_only— repository/ref/SHA are supplied claims;trusted_materialization— the integration resolved and checked the repository, commit, tree, and clean snapshot;UNKNOWN— provenance could not be established.First implementation scope
Pilot only in
safal207/pythiaLabsbefore enabling CML, LS, or additional repositories.Trusted materializer
Evidence record
The evidence bundle should include at minimum:
Repository onboarding contract
A repository may join Lotus Family only when it defines:
Candidate scoring
Evaluate each candidate repository on:
Recommended order:
Pythia pilot → CML → LS → one external candidate at a time.Acceptance criteria
PASSfrom caller claims alone.UNKNOWN, neverPASS.UNKNOWN, never fallback-to-branch behavior.PASS != APPROVED != MERGED.Threat fixtures
Safe sequence
specification → threat fixtures → read-only Pythia adapter → local deterministic materializer → same-byte audit binding → CI integration → exact-head review → staged CML/LS adoption → external repository pilot
Authority boundary
The materializer and auditor provide evidence and advisory judgments only. They grant no ownership, approval, execution, delivery, deployment, or merge authority.