Skip to content

control-plane: re-home MeshSkill and validation lifecycle package#15

Merged
mdheller merged 9 commits intomainfrom
control-plane/rehome-mesh-skill-20260409
Apr 14, 2026
Merged

control-plane: re-home MeshSkill and validation lifecycle package#15
mdheller merged 9 commits intomainfrom
control-plane/rehome-mesh-skill-20260409

Conversation

@mdheller
Copy link
Copy Markdown
Contributor

Summary

Creates the first canonical re-home of the MeshSkill / validation lifecycle package from the umbrella public-surface repo into the typed-contract/spec lane.

This PR adds:

  • control-plane canonicalization note
  • agent validation control-plane architecture doc
  • MeshSkill descriptor spec
  • skill execution lifecycle spec
  • MeshSkill schema
  • skill execution event schema
  • default Rego policy pack
  • starter MeshSkill and event examples

Why

These artifacts were previously published from the umbrella public-surface repo. That made them visible, but not well-placed canonically.

sourceos-spec is the correct lane for typed contracts, schemas, and shared semantic surfaces. This PR begins the actual transplant so that future public-surface docs and Linux-side integration can reference a stable canonical source.

Current caveat

This first re-home intentionally preserves the currently published schema IDs and content shape to avoid silently changing identifiers during the move. A follow-on revision should decide whether those $id values stay stable or are normalized into a SourceOS namespace.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 85f50742ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}

deny[msg] {
input.request.coordinates.frontier_hops > input.skill.spec.coordinates.frontier_hops
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Enforce all coordinate bounds during admission

This policy only denies requests when frontier_hops exceeds the descriptor, but allow is granted whenever no deny rule fires, so mismatches in other declared coordinates (env, topology_scope, trust_class, tenant_scope, data_sensitivity) can still be admitted. In practice, a skill declared for preview/internal scope can be requested under different coordinates and pass policy if other deny rules are satisfied, which breaks the contract that execution must stay within descriptor-declared bounds.

Useful? React with 👍 / 👎.

"required": ["id", "merkle_root", "signer"],
"properties": {
"id": { "type": "string", "minLength": 1 },
"merkle_root": { "type": "string", "pattern": "^sha256:[A-Za-z0-9]+$" },
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Validate merkle_root as a real SHA-256 digest

The schema currently accepts any alphanumeric suffix after sha256:, including non-hex characters and arbitrary lengths, so invalid commitments can pass validation. Because metadata.merkle_root is the descriptor’s content commitment, allowing malformed digests can cause downstream verification/replay failures and weakens integrity guarantees. Restrict this to exactly 64 hexadecimal characters.

Useful? React with 👍 / 👎.

@mdheller mdheller merged commit 421cf97 into main Apr 14, 2026
4 checks passed
@mdheller mdheller deleted the control-plane/rehome-mesh-skill-20260409 branch April 14, 2026 11:58
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