Skip to content

docs: capability & runtime metadata long-term design#31

Merged
Sunrisepeak merged 1 commit into
mainfrom
docs/capability-runtime-metadata
Jun 3, 2026
Merged

docs: capability & runtime metadata long-term design#31
Sunrisepeak merged 1 commit into
mainfrom
docs/capability-runtime-metadata

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

Adds .agents/docs/2026-06-03-capability-runtime-metadata.md, the long-term industrial design for how this registry models dependency capabilities and runtime requirements.

Covers:

  • Two-plane model: hermetic (vendored, sha256, byte-reproducible) vs host plane (GPU driver / GLVND / display — discovered and passed through via compat.glx-runtime, never vendored; intent-level reproducibility).
  • Capability/runtime schema as it exists today (mcpp.runtime.{library_dirs, dlopen_libs, capabilities}) with compat.glfw/compat.glx-runtime as the worked example, plus the verified glfw -> glx-runtime Linux dependency wiring.
  • Proposed additions: an abi capability (glibc/musl/msvc) so the resolver auto-selects an ABI-compatible toolchain (avoids the musl-static default trap without consumer pinning — the field is absent today); and capability->provider resolution per platform. Declarative-first, keeping the install() imperative escape hatch.
  • Immutable-version policy (crates.io lesson): published versions are immutable; the imgui 0.0.1 sha bump in PR imgui: update 0.0.1 sha256 for re-released tarball #30 was a one-time transition (tag was moved), future releases bump the version.

References the master plan and the sibling GL-runtime package-boundary doc.

Add sub-design doc covering the two-plane (hermetic vs host) dependency
model, the mcpp.runtime capability schema (glfw/glx-runtime worked
example + glfw->glx-runtime wiring), proposed abi capability and
capability->provider resolution, and the immutable-version policy.
@Sunrisepeak Sunrisepeak merged commit 94543a4 into main Jun 3, 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.

2 participants