Skip to content

feat: add NLBoot object schemas, examples, and validation#69

Merged
mdheller merged 2 commits intomainfrom
copilot/add-nlboot-object-schemas
Apr 30, 2026
Merged

feat: add NLBoot object schemas, examples, and validation#69
mdheller merged 2 commits intomainfrom
copilot/add-nlboot-object-schemas

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 30, 2026

Adds canonical JSON Schema (draft 2020-12) definitions for four NLBoot-related object types, making this repo the normative contract home for boot plan, artifact cache, proof, and Apple Silicon adapter semantics.

New schemas

Schema URN prefix Description
NLBootPlan urn:srcos:nlboot-plan: Ordered boot stages with artifact refs and verification policy
ArtifactCacheRecord urn:srcos:artifact-cache: Content-addressed local artifact cache entry with kind, hash, status, platform, and TTL
BootProofRecord urn:srcos:boot-proof: Immutable per-boot integrity proof linking plan, per-stage verdicts, and attestation evidence
AppleSiliconAdapterEvidence urn:srcos:as-adapter-evidence: Asahi adapter evidence: chip model, security policy, m1n1/U-Boot versions, boot-chain hashes, boot-picker entry

All schemas follow v2 conventions (additionalProperties: false, id/type/specVersion discriminators, description on every property).

Supporting changes

  • Examples — four conforming payloads using the M2 demo device as a coherent fixture, cross-referencing existing urn:srcos: URNs
  • Validationtools/validate_nlboot_examples.py + make validate-nlboot-examples target; all 4 pairs pass
  • OpenAPIBoot tag + POST endpoints for all four types
  • Hydra/JSON-LD — type aliases and hydra:supportedClass blocks for all four types
  • ADRdocs/adr/0011-nlboot-object-schemas.md documents scope boundaries (no runtime implementation in this repo)
  • Catalogschemas/README.md quick-reference rows + new Boot / NLBoot family section; examples/README.md index rows; CHANGELOG.md entry

Non-goals preserved

  • No NLBoot runtime or boot-chain implementation code
  • No changes to control-plane schemas or legacy wrappers

Copilot AI linked an issue Apr 30, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add NLBoot object schemas and examples feat: add NLBoot object schemas, examples, and validation Apr 30, 2026
Copilot AI requested a review from mdheller April 30, 2026 12:54
@mdheller mdheller marked this pull request as ready for review April 30, 2026 13:07
Copy link
Copy Markdown
Contributor

@mdheller mdheller left a comment

Choose a reason for hiding this comment

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

Approved. Scope matches issue #68: canonical NLBoot object schemas, examples, validation tool, ADR, and catalog/OpenAPI metadata. No runtime implementation or boot-chain behavior is introduced. No workflow run is visible on the branch, but the PR body includes validation evidence for the schema/example pairs.

@mdheller mdheller merged commit bc84e6e into main Apr 30, 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.

Agent task: add NLBoot object schemas

2 participants