All versions since 0.5.3
0.5.3
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.56.2. The release changed
.lokf/.gitignorehere.
0.6.0
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Added
- The digest set names every algorithm in-toto defines, and
additional_digestsholds any other, such as an SCS’s ownsvn_revision_id. A resource descriptor can also carry itscontent, base64-encoded, andSlsaDocumentholdscontrol_planes, the one class its root could not reach. verified_levelsand the dependency counts take an issuer’s own results beside SLSA’s, through theslsa_result_valuetype. An issuer’s own result is printable ASCII and never starts withSLSA_, in any letter case.docs/index.mdsays what each validator checks, and a test keeps the rules the schema states twice in step.
Changed
- Validation enforces the in-toto and SLSA rules the descriptions stated, and data that breaks them no longer validates. A descriptor needs a URI, a digest or its content, a digest set at least one digest, each statement subject and input attestation a digest, a VSA’s policy a URI, and build provenance its
external_parameters; a null value counts as absent. - A required list may not be empty, and a digest has its algorithm’s length.
dir_hashtakes 64 hexadecimal digits, and a SHAKE or BLAKE2 digest at least 32 bytes.
Deprecated
organization_properties: itsORG_SOURCE_values go inverified_levels, where the attestation’s JSON puts them.
Fixed
- Descriptions and comments match the v1.2 specification and the adoption study. Hermetic builds are not a Build L3 aim, an automated review is not two-party review, the storage comment names SLSA’s preferred places, and the study’s claims and sub-theme names follow the paper.
project/java/drops the 23 classes left over from the names used before 0.4.0.- The README’s KTL section gives the right reason the copy renames no key.
- codespell and typos accept
gostandintoto, and skip the KTL scripts andwebsite/package-lock.json.
0.7.0
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Added
- The documentation site’s home page has a Schema button, which opens the schema’s pages.
- The build checks that
.lokf/slsa.yamlmatches the schema and.lokf/lokf.yaml. - The README says what the schema models, what shaped it and what it maps to.
Changed
- The knowledge bundle needs lokf 0.9.0, and
.lokf/slsa.yaml, the release’s schema asset, is regenerated by its releasedadapt. The slotrevisionisslsa_revisionin the copy, with its IRI unchanged, because LOKF 0.9.0 definesrevision; a host concept that writesrevisionfor an SLSA source revision renames the key.
0.7.1
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.59.0. The release changed
.github/workflows/knowledge-registrar.yaml,.github/workflows/knowledge-librarian.yaml,.github/workflows/knowledge-release.yaml,.github/workflows/knowledge-sync.yaml,.lokf/scripts/knowledge-conventions.sh,.lokf/scripts/knowledge-conventions.py,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-apply.sh,.lokf/scripts/knowledge-apply.py,.lokf/scripts/knowledge-report.sh,.lokf/m365/ktl-docent-m365.md,website/package-lock.json,website/package.json,website/scripts/config.mjsand.github/workflows/knowledge-website.yamlhere.
0.8.0 Latest
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Changed
- The in-toto layer comes from lmodel/in-toto’s core module at v0.1.0, vendored at
src/slsa/schema/in_toto/in_toto_core.yaml, and the schema’s own copy is gone. The class names stay, and the six classes and their keys take in-toto’s IRIs;media_typeandalgorithmtake the IRIs LOKF gives them. SlsaPredicateextends in-toto’sInTotoPredicate. A statement keeps itspredicatekey, which the adapt copy callsslsa_predicate, because LOKF’spredicateis a relation’s type.attestation_storage_uri,signing_toolandtransparency_log_entrymoved toSlsaStatement, a subclass ofInTotoStatementthatSlsaDocumentholds, since in-toto’s statement carries only what its specification defines.build_type,builder_idandverifier_idtake in-toto’sin_toto_type_uri, andstarted_on,finished_onandtime_verifiedtakein_toto_timestamp, the field types the SLSA specification gives them. A timestamp now ends in Z, and a type URI keeps its scheme and host in lowercase.