Skip to content

Add first-class SpecPM intents#2

Merged
SoundBlaster merged 1 commit into
mainfrom
codex/specpm-first-class-intents
May 8, 2026
Merged

Add first-class SpecPM intents#2
SoundBlaster merged 1 commit into
mainfrom
codex/specpm-first-class-intents

Conversation

@SoundBlaster
Copy link
Copy Markdown
Member

Motivation

  • SpecPM now supports first-class manifest intents backed by BoundarySpec capability intentIds.
  • SpecNode should expose package-neutral intent IDs in its self package so SpecPM public index consumers can discover it through exact intent lookup.

Goals

  • Add index.provides.intents to specnode.core.
  • Back every package-level intent with a concrete provides.capabilities[*].intentIds entry.
  • Keep the change specification-only and compatible with existing capability IDs.

Summary

  • Added canonical intent.* IDs for SpecNode personal compute, outbound control-plane, typed jobs, local provider discovery, SpecGraph extraction, SpecPM package generation, security policy, provenance, usage receipts, Agent Passport alignment, and documentation capabilities.
  • Added matching intentIds to specs/specnode.spec.yaml capability declarations.

Scope

  • Documentation/specification only
  • Runtime implementation
  • Tooling/tests
  • Protocol or security model change

Validation

Commands run:

PYTHONPATH=/Users/egor/Development/GitHub/0AL/SpecPM/src /Users/egor/Development/GitHub/0AL/SpecPM/.venv/bin/python -m specpm.cli validate . --json
git diff --check

Risk Notes

  • SpecPM validation returns warning_only because of two pre-existing warnings unrelated to the intent update: effects.sideEffects.4.kind is unknown, and evidence target metadata.license is not declared by the BoundarySpec.
  • No runtime behavior changes.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the SpecNode package/specification to expose first-class, package-neutral intent IDs so SpecPM public index consumers can discover SpecNode capabilities via exact intent lookup.

Changes:

  • Added index.provides.intents to specpm.yaml for specnode.core.
  • Added intentIds to every provides.capabilities[*] entry in specs/specnode.spec.yaml, mapping each capability to its canonical intent.* identifier.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
specs/specnode.spec.yaml Annotates each declared capability with intentIds to enable intent-based discovery while preserving existing capability IDs.
specpm.yaml Publishes the package-level index.provides.intents list for SpecPM index consumers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SoundBlaster SoundBlaster merged commit 2ad889e into main May 8, 2026
6 checks passed
@SoundBlaster SoundBlaster deleted the codex/specpm-first-class-intents branch May 8, 2026 05:45
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.

2 participants