Skip to content

feat(spec): add node-substrate immutable profile contracts#95

Closed
mdheller wants to merge 8 commits into
mainfrom
sourceos/immutable-node-contracts-v0-node-substrate
Closed

feat(spec): add node-substrate immutable profile contracts#95
mdheller wants to merge 8 commits into
mainfrom
sourceos/immutable-node-contracts-v0-node-substrate

Conversation

@mdheller
Copy link
Copy Markdown
Contributor

@mdheller mdheller commented May 5, 2026

Summary

Adds the first SourceOS machine-readable immutable-node contract tranche, explicitly framed as node / agent-runtime substrate work rather than desktop-owned work.

Added

Schemas:

  • schemas/ImmutableNodeProfile.json
  • schemas/HostCapabilityPlacement.json
  • schemas/NodeStateSchema.json

Examples:

  • examples/immutablenodeprofile.json
  • examples/hostcapabilityplacement.json
  • examples/nodestateschema.json

Validation/docs:

  • tools/validate_immutable_node_examples.py
  • docs/contract-additions/immutable-node-profiles.md

Boundary

  • ImmutableNodeProfile is a node / agent-runtime substrate contract.
  • Agent Machine and AgentPlane are primary downstream consumers.
  • Desktop, shell, and workstation surfaces are consumers only; they may display summarized posture or expose operator controls.
  • Optional Socios capability packs remain optional and do not make Socios a base SourceOS dependency.
  • substrate.sociosRequired is constrained to false.

Validation

Focused validator:

python3 tools/validate_immutable_node_examples.py

Upstream state

This branch is additive but may need replay onto latest main before merge because upstream is moving quickly.

Follow-on work

  1. Wire the validator into Makefile.
  2. Index the schemas in schemas/README.md and ARCHITECTURE.md.
  3. Add Agent Machine renderer/validator support.
  4. Add sourceosctl immutable-node plan|validate|inspect in sourceos-devtools.
  5. Register cross-repo topology edges in sociosphere.

mdheller added a commit that referenced this pull request May 24, 2026
Canonical current-main replay of the contract tranche from #91/#95.

Captured three schemas, three examples, documentation, validator, and focused workflow.

Validation on 638e060:
- Immutable Node Contracts: success
- validate-ops-history: success

Supersedes #91 and #95.
Copy link
Copy Markdown
Contributor Author

Capture update: superseded by #112.

#112 replayed the immutable-node contract tranche onto current main and merged as 00ee5f964a68b73e2ef2a6a164c900425f609e76.

Captured:

  • schemas/ImmutableNodeProfile.json
  • schemas/HostCapabilityPlacement.json
  • schemas/NodeStateSchema.json
  • matching examples for all three schemas
  • tools/validate_immutable_node_examples.py
  • docs/contract-additions/immutable-node-profiles.md
  • focused Immutable Node Contracts workflow

Canonical source: this PR, because it had the clearer node / agent-runtime substrate framing. Content status: captured. This stale PR can be closed as superseded.

@mdheller mdheller closed this May 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant