Purpose
Capture the residual wiring edits from #25 after the RuntimeInstallReceipt core payload was replayed and merged through #47.
#47 landed the core payload:
contracts/runtime-install-receipt.schema.json
- six
examples/runtime-install-receipt.*.json lifecycle fixtures
src/agent_machine/runtime_install_receipt.py
scripts/validate-runtime-install-receipts.py
- repo validator support for upstream-style examples using
type
Merged replacement commit: b51f699750eac7c41f26059bc7031ac023689bba
Residual content from #25 still to capture
Makefile wiring
#25 added:
validate-runtime-install-receipts:
$(PYTHON) scripts/validate-runtime-install-receipts.py
and wired that target into top-level validate.
src/agent_machine/contracts.py canonical mapping
#25 added canonical schema mapping:
"RuntimeInstallReceipt": base / "runtime-install-receipt.schema.json",
and changed validate_by_kind to accept either kind or upstream-style type:
kind = instance.get("kind") or instance.get("type")
Why this was not landed in #47
The connector repeatedly blocked direct safe current-main patching of contracts.py. #47 therefore landed the core implementation and adjusted the repo validator narrowly enough for make validate to pass without overwriting current mainline contracts.py state.
Acceptance criteria
Purpose
Capture the residual wiring edits from #25 after the RuntimeInstallReceipt core payload was replayed and merged through #47.
#47 landed the core payload:
contracts/runtime-install-receipt.schema.jsonexamples/runtime-install-receipt.*.jsonlifecycle fixturessrc/agent_machine/runtime_install_receipt.pyscripts/validate-runtime-install-receipts.pytypeMerged replacement commit:
b51f699750eac7c41f26059bc7031ac023689bbaResidual content from #25 still to capture
Makefile wiring
#25 added:
and wired that target into top-level
validate.src/agent_machine/contracts.pycanonical mapping#25 added canonical schema mapping:
and changed
validate_by_kindto accept eitherkindor upstream-styletype:Why this was not landed in #47
The connector repeatedly blocked direct safe current-main patching of
contracts.py. #47 therefore landed the core implementation and adjusted the repo validator narrowly enough formake validateto pass without overwriting current mainlinecontracts.pystate.Acceptance criteria
contracts.pyincludes canonicalRuntimeInstallReceiptmapping.contracts.pyacceptskindortypeinvalidate_by_kind.Makefileincludesvalidate-runtime-install-receipts.make validateruns the RuntimeInstallReceipt focused validator.make validatepasses.