Implement RuntimeInstallReceipt emission for runtime install/update flows#25
Closed
Copilot wants to merge 3 commits into
Closed
Implement RuntimeInstallReceipt emission for runtime install/update flows#25Copilot wants to merge 3 commits into
Copilot wants to merge 3 commits into
Conversation
…lows Agent-Logs-Url: https://github.com/SourceOS-Linux/agent-machine/sessions/8c94ac85-6722-473e-8277-be860a20533e Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
Agent-Logs-Url: https://github.com/SourceOS-Linux/agent-machine/sessions/8c94ac85-6722-473e-8277-be860a20533e Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add RuntimeInstallReceipt emission for install/update flows
Implement RuntimeInstallReceipt emission for runtime install/update flows
May 6, 2026
Contributor
Review: WIP PR is not yet implementableThis PR is still draft/WIP and currently reports zero changed files. It should not be marked ready or merged yet. Required next implementation steps:
This PR should remain draft until it has changed files, tests, and validation evidence. |
mdheller
added a commit
that referenced
this pull request
May 20, 2026
Adds an operator-controlled artifact resolver for GPT-2 Small local steering artifacts. Validation: validate run #168 and Trust Surface run #25 passed.
mdheller
added a commit
that referenced
this pull request
May 22, 2026
Clean replay of the core RuntimeInstallReceipt payload from #25 onto current main after #46 landed. Adds the RuntimeInstallReceipt schema, six lifecycle examples, emission/validation module, focused validator, and repo validator support for upstream-style receipt examples that use type. Validated on PR head 36a9de8 with validate and Trust Surface passing.
This was referenced May 22, 2026
Contributor
|
Closing after complete capture/replay. This PR is fully captured by:
Residual issue #48 is closed as completed. Content intentionally omitted: none. The original branch was unmergeable, so content was replayed and completed through current-main PRs. |
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.
Closes the runtime-install observability gap: agent-machine had no structured receipt type for runtime installation lifecycle transitions. This adds
RuntimeInstallReceiptemission covering all 10 install states with artifact verification, policy decision linkage, rollback tracking, and compact log references.Schema
contracts/runtime-install-receipt.schema.json— copied verbatim fromSourceOS-Linux/sourceos-spec(commit5e3ba19d); no local fork, no drift risksrc/agent_machine/contracts.py— registersRuntimeInstallReceiptinschema_by_kind(); extendsvalidate_by_kind()to accepttypeas fallback tokind(upstream spec usestype, local schemas usekind)Emission module
src/agent_machine/runtime_install_receipt.py:Semantic invariants enforced beyond JSON Schema:
failed | partial | denied | deferred→failureReasonrequiredrolled_back→rollbackRefrequiredinstalled→failureReasonmust be absentevidenceRefsmust be non-emptyExamples
Six canonical fixtures in
examples/runtime-install-receipt.*.json:installStateinstalledinstalledfailedfaileddenieddeniedpartialpartialrolled_backrolled_backdeferreddeferredValidation
scripts/validate-runtime-install-receipts.py— validates all six examples, compact log output, and semantic rejection casesMakefile—validate-runtime-install-receiptsadded to top-levelvalidatetarget