Repository navigation
feat(#547): licence evidence for L-1..L-3, L-4 audit, model-root open item - #552
Merged
Merged
Conversation
… item
Owner decisions of 2026-10-08. Nothing is declared compliant: every open item
stays OPEN, distribution stays local-only, owner_confirmation stays null.
* license_audit.json schema v2:
- supplied_texts: the version-matched NVIDIA terms (CUDA 13.0.2 EULA,
NVSHMEM 3.4.5, cuDNN 9.19.0, TensorRT 10.16.1) under licenses/terms/,
each re-derived from its snapshot; GNU libgomp's COPYING3 and
COPYING.RUNTIME taken from its source package, plus SOURCE.txt.
- open_items L-1..L-4 and M-1 (model root, YOLO26 AGPL lineage). Each
keeps technical evidence, licence interpretation and legal uncertainty
apart. While one is OPEN, the checker requires local-only and no owner
confirmation.
- corresponding_source: libgomp is AlmaLinux 8
libgomp-8.5.0-28.el8_10.alma.1 plus a DT_RPATH. Evidence: same build ID,
24 code/data sections identical, only .dynamic/.dynstr/.dynsym
rewritten. The SOURCERPM is gcc-8.5.0-28.el8_10.alma.1.src.rpm. Shown by
comparison, not by a rebuild.
- downstream_terms: a draft (not shipped, not in force), with clauses
scoped per object and each quote checked in every cited object's wheel
text.
- TensorRT: the term and renewal clause, and the "by means of the
internet" question.
* license_audit.py:
- deterministic article-text extraction;
- RPM/cpio, tar.xz and ELF readers;
- new checks: supplied_texts, downstream_basis, corresponding_source;
- also renders DOWNSTREAM_TERMS.draft.md.
* install_third_party.cmake installs the supplied texts and checks their
sha256. check_shipping_bundle/check_shipping_package expect and pin them.
* README.txt: the files in licenses/ are notices, not an agreement.
* docs: resolved config §22 (design, contract), closeout §6.1 progress, and
a correction to §20.1 (libgomp's GCC version is recorded).
No change to the model, tracker, runtime, entrypoint, operator library,
third-party set, installer or any benchmark claim.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Archive the outgoing canonical (implementation 221cc25330c5422d, the PR-C4 publication) and promote a fresh capture from the controlled host (build/runtime_identity, Release, --run-probe --require-complete) at the #547 contract head 048034e. The capture is promoted before the #547 formal run (docs §22.3): the package's MANIFEST records this coordinate, so the coordinate must describe the package's source commit. Axes: * implementation MOVED 221cc25330c5422d -> 8e758b239da93e01; files 288 -> 290. - Added (2): shipping/licenses/libgomp/COPYING3 and COPYING.RUNTIME (no .txt suffix, so they are not prose). - Changed (2): shipping/license_audit.json (schema v2: supplied texts, open items, corresponding source, downstream draft) and shipping/cmake/install_third_party.cmake (installs the supplied texts). - Removed: none. The other new files (*.txt, *.md) are prose and off the axis. * environment, decision_surface, identity_semantics, runtime_inputs: unchanged. * probe: re-run fresh, not reused. Behavior 2dabed0b, equal to the PR-C4 publication. Probe equality is not an equivalence claim; equivalence stays unproven. check_runtime_identity_staleness.py --mode attested: exit 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
E1: tree has 64 files; versus #546 only README.txt and THIRD_PARTY.md changed, plus exactly the 7 supplied texts; static 12/12. E2: licence audit 7/7 PASS, complete. E3: unsigned package; tarball 7/7, MANIFEST == tree, licenses.sha256 == audit. E4: clean-container install, trace 5/5, static --manifest 13/13, --verify exit 0. N1-N5 fail as required. PASS means the evidence is present and re-verifiable. It does not mean any licence item is satisfied; every open item stays OPEN and distribution stays local-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chore(provenance): republish the runtime coordinate for #547
…ce record * R-1: check_corresponding compares section sizes as well as bytes. A SHT_NOBITS section (.bss, .tbss) has no bytes, so a size change used to pass. Negative control: .bss grown by 64 now fails. * R-2: a supplied text's repo_file must be shipping/<file>, in both the checker and install_third_party.cmake. A file name of '.' or '..' is refused. Negative controls: an escaping path, a path elsewhere in the repo, and '..'. * R-3: new check_public_gate. Any status other than local-only needs the owner's confirmation, every item CLOSED, the corresponding sources published and the downstream terms adopted. Closing every item does not by itself open distribution. A CLOSED item must carry an owner_conclusion. The tarball check fails a package that is not local-only when it is checked without --pubkey. * R-4: docs/reference/native_runtime_licence_evidence_547.json records the formal run's full commit and tree (664208d1, not on a pushed branch), its relation to the rebased head, the evaluation, artifact and release sha256, and how to re-fetch the inputs. * docs §22.7 (fixes) and §22.8 (replay contract, written before the replay). install_third_party.cmake is on the implementation axis, so a stacked republish follows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ew fix Archive the outgoing canonical (implementation 8e758b239da93e01, the #553 publication) and promote a fresh capture from the controlled host (build/runtime_identity, Release, --run-probe --require-complete) at the review-fix head 16104f4. The capture is promoted before the §22.8 replay. Axes: * implementation MOVED 8e758b239da93e01 -> 3d85835ce4814d72; files 290 -> 290. - Changed (1): shipping/cmake/install_third_party.cmake. It now refuses a supplied text whose repo_file is not shipping/<file> (R-2). - Added: none. Removed: none. * environment, decision_surface, identity_semantics, runtime_inputs: unchanged. * probe: re-run fresh, not reused. Behavior 2dabed0b, equal to the previous publication. Probe equality is not an equivalence claim; equivalence stays unproven. check_runtime_identity_staleness.py --mode attested: exit 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
R1: the tree is byte-identical to the formal run's; static 12/12. R2: licence audit 7/7. N6: install_third_party.cmake refuses a repo_file that escapes shipping/. N7-N9: the unit tests for the .bss size, the public gate and the public-must-be-signed rule pass. Every open item stays OPEN; local-only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 8, 2026
Owner
Author
Response to the pre-merge reviewEvery finding is fixed in
Replay
Still the boundary: this is local acceptance on one machine, not an independent replay. Every open item stays OPEN, |
chore(provenance): republish the runtime coordinate for the #552 review fix
The formal run commit 664208d1 is not fetchable, so recheck can no longer say 'git checkout <commit>'. Split it into three anchors: 664208d1 as record only, 91a7e61 as the fetchable equivalent (differs only in an uninstalled doc), and cec6af3 as the review-fix replay anchor, whose r1_tree.sha256 is byte-identical to e1_tree.sha256. Add a review_replay block with its commit, tree and artifact hashes. No identity class covers this file; no republish. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #547 (does not close it). Stacked republish: the chore PR opened next, against this branch.
What this does (owner decisions, 2026-10-08)
License.txtis kept. The version-matched official texts ship too:licenses/terms/cuda_eula_13.0.2.txtandnvshmem_sla_3.4.5.txt, each re-derived from its snapshot.shipping/DOWNSTREAM_TERMS.draft.md. It is not shipped and not in force.COPYING3andCOPYING.RUNTIMEcome from the object's source package, plusSOURCE.txt. The correspondence is verified by comparison, not by debuglink (see below).--library-pathis not counted as proof.libgomp evidence
libgomp.so.1(e28fb289…) and AlmaLinuxlibgomp-8.5.0-28.el8_10.alma.1.x86_64.rpm:/usr/lib64/libgomp.so.1.0.0(e985bcbb…) share build ID2244452c…. 24 code and data sections are byte-identical at the same addresses..dynamic,.dynstrand.dynsymdiffer: there is one added DT_RPATH, and.dynsymchanges only in section indices.gcc-8.5.0-28.el8_10.alma.1.src.rpm(c94dbbd2…).license_audit.py check --gomp-rpm … --srpm …re-runs all of this.Code
license_audit.jsonmoves to schema v2, addingsupplied_texts,open_items,corresponding_sourceanddownstream_terms.license_audit.py:supplied_texts,downstream_basis,corresponding_source);licenses/are notices, not an agreement.Tests and evidence
results/547_licence/full_664208d1/(head = contract + republish): PASS.README.txtandTHIRD_PARTY.mdchanged, plus the 7 texts.static12/12.publicstatus while items are OPEN.scripts/pre_push.shon the combined head: all green (5350 passed).221cc253→8e758b23(+2 files, 2 changed). The stacked chore PR republishes it. CI on this branch alone is expected to fail the staleness tests until the chore PR is merged in.Remaining owner items (#547)
shipping/package/minisign.pub, in a separate PR.🤖 Generated with Claude Code