Skip to content

Developer portal + governed compute-mesh plane (closes #17) - #18

Merged
mdheller merged 5 commits into
mainfrom
feat/developer-portal
Aug 4, 2026
Merged

Developer portal + governed compute-mesh plane (closes #17)#18
mdheller merged 5 commits into
mainfrom
feat/developer-portal

Conversation

@mdheller

@mdheller mdheller commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

What

Ships the developer portal (superiority-march move #8) and the governed compute-mesh plane — the piece that lets a low-mem box (this M2) act as a front-end to any compute the mesh offers, seamlessly and under policy.

Developer portal — tools/portal_server.py

  • Dependency-free, scale-to-zero, read-only web console: stdlib http.server, no external CDN (inline HTML/CSS/JS, dark theme).
  • Pure route() core (unit-tested): / console, /healthz, and /api/{capabilities,lifecycle,evidence,compute} — the same data agents see via the MCP ops surface.
  • One governed source, two views: agent via MCP, human via portal. Mutations only ever flow through the MCP surface + the fail-closed promotion gate — never the portal.

Compute-mesh plane — tools/compute_plane.py

"develop on a low-mem box and still seamlessly use the platform over a supercomputing cluster or a p2p mesh (BOINC / open-HEP / Folding@home) or an RLC-style blockchain + k8s service or wasm… it's a global mesh; we offer scale-out where we can and per mesh availability + volunteer compute, with a full integrated dashboard configured by project and by account."

  • One governed door to any substrate: local, k8s, hpc-slurm, wasm-edge, p2p-mesh, volunteer-boinc (BOINC/Folding@home/open-HEP-style), blockchain-rlc.
  • place(workload, policy, availability) routes by per-project / per-account policy + live mesh availability, scaling out where it can (highest available elasticity).
  • Governed / fail-closed (the differentiator vs. plain schedulers):
    • a sensitive workload never lands on an untrusted (volunteer/p2p/blockchain) backend;
    • it blocks rather than silently degrading — e.g. won't run GPU work on a non-GPU local box;
    • every placement is sealed into a tamper-evident receipt.
  • Surfaced in the portal's compute-mesh dashboard (trust-annotated, live availability).

CapD + wiring

  • capd/compute-plane.mesh.capd.json (caps.compute.mesh-plane@0.1.0); devspace.local-dev now composes_with it.
  • validate.py: portal + compute plane + both CapDs added to REQUIRED, with per-CapD key/id-drift checks.
  • Makefile: portal, compute, tools-test targets.

Tests

  • 12 compute-plane + 7 portal unit tests; 26 tools tests total, all green.
  • Portal smoke-tested end-to-end over HTTP (/healthz, /api/compute, /api/capabilities, / all 200).

How it maps to the demonstrated designs

BOINC computing-preferences (per-project/per-account volunteer config), IBM Parallel Environment (HPC toolkit / SLURM), Docker volume drivers (pluggable substrate), Istio mesh — met and bettered: one governed plane across all substrates instead of per-substrate config silos.

Closes #17.

…loses #17)

Two views over one governed surface, plus the plane that makes a low-mem box a
front-end to the whole mesh.

Developer portal (move #8) — tools/portal_server.py:
  - dependency-free, scale-to-zero, read-only web console (stdlib http.server, no
    external CDN; inline HTML/CSS/JS, dark theme)
  - pure route() core (unit-tested): / console, /healthz, and /api/{capabilities,
    lifecycle,evidence,compute} over the SAME data agents see via the MCP surface
  - one governed source, two views: agent via MCP, human via portal; mutations only
    ever flow through the MCP surface + the fail-closed promotion gate, never here

Compute-mesh plane — tools/compute_plane.py:
  - one governed door to any substrate: local, k8s, HPC/SLURM, WASM edge, p2p mesh,
    volunteer compute (BOINC/Folding@home/open-HEP-style), RLC-style blockchain market
  - place(workload, policy, availability): routes by per-project/per-account policy +
    live mesh availability; scales out where it can (highest available elasticity)
  - GOVERNED / fail-closed: sensitive work never lands on an untrusted backend; blocks
    rather than silently degrading (won't run GPU work on a non-GPU local box); every
    placement sealed into a tamper-evident receipt
  - surfaced in the portal dashboard (compute-mesh section, trust-annotated)

CapD + wiring:
  - capd/compute-plane.mesh.capd.json (caps.compute.mesh-plane@0.1.0)
  - capd/devspace.local-dev.capd.json now composes_with the compute plane
  - validate.py: portal + compute plane + both CapDs added to REQUIRED, with
    per-CapD key/id-drift checks
  - Makefile: `portal`, `compute`, `tools-test` targets

Tests: 12 compute-plane + 7 portal (26 tools tests total, all green); portal smoke-
tested end-to-end over HTTP.
… the mesh

Extends the compute-mesh plane with the live-availability layer and the cloud-shell
fog spec's zero-trust attach flow, and puts the whole app suite on the one mesh.

Live mesh telemetry — tools/mesh_telemetry.py:
  - fail-closed liveness registry: nodes emit heartbeats (backend + capacity); the
    registry sums LIVE capacity per backend and expires stale nodes by TTL. No
    heartbeat -> zero capacity -> the plane won't schedule there.
  - file-backed (sovereign, no broker); the read-only portal reads, never ingests.
  - this is the spec's HyperSwarm discovery / "find candidate nodes".

Zero-trust MCP-A2A grants — tools/mcp_a2a_grant.py:
  - Policy Authority issue_grant(): Attest (TPM/TEE + cosign required) -> Decide (a real
    scheduled placement) -> Grant (signed, session-bound, constraint-carrying; quorum
    proof when required). No attestation / blocked placement / missing quorum -> refused.
  - fog-node Policy Gate verify_grant(): re-verify signature + session binding + expiry
    + attestation + that the specific PTY/FS op is in-constraints, on attach and on every
    op. Fail-closed. HMAC stands in for the Key Authority (HSM/KMS) — swap the interface.

App suite on the mesh — mesh/suite-workloads.json:
  - Noetica, memory-mesh, TurtleTern, Goose Notes, BearBrowser as first-class workloads,
    each with the policy that reflects its real governance shape (offensive tooling never
    rides the volunteer grid; sensitive reasoning stays trusted+attested).
  - portal /api/placements runs place() for each against LIVE availability.

Cloud-shell fog spec, first-class:
  - capd/cloudshell-fog.capd.json (caps.compute.cloudshell-fog@0.1.0) + docs/CLOUDSHELL_FOG.md
    witness every spec box -> real code, and the 0..11 attach flow.

Portal: /api/mesh (per-node liveness) + /api/compute now live + /api/placements; console
gains a live telemetry summary + "app suite on the mesh" section.
Wiring: validate REQUIRED + CapD checks; Makefile mesh-demo/grant targets; heartbeats dir
gitignored (runtime). Tests: +8 telemetry +12 grant, 48 tools tests green.
…chemas

The first cut invented its own grant shape (flat session_id/subject, allowed_ops
constraints, epoch floats, a bare HMAC signature). That diverged from the estate's
zero-trust authority. Reshaped to emit/consume the CANONICAL contracts owned by
SourceOS-Linux/mcp-a2a-zero-trust:

  - Grant: grant_id + ISO issued_at/expires_at + binding{spiffe_id,aum_digest,
    session_id} + capability{kind,capability_ref,capability_digest,effect,executor_ref}
    + constraints + policy_hash + optional quorum_proof + evidence_refs + sig{issuer,sig}.
    Matches examples/grant.example.json exactly (additionalProperties:false).
  - AttestationBundle {subject,results{tpm_valid,cosign_valid,fido2_valid},evidence_refs}
    consumed as the Attest input.
  - QuorumProof {rule,validators,signed_payload_hash,signatures[{kind,spiffe_id,sig}]}.
  - verify_grant returns a canonical tool_grant.validate result {valid,expired,revoked,
    reason} (examples/tool_grant_check.example.json).

Conformance is enforced, not asserted: schemas/a2a/ vendors the canonical schemas
hash-pinned to the authority's schemas/index.json (verified on vendor; see
schemas/a2a/PROVENANCE.md), and test_mcp_a2a_grant.py validates every emitted Grant /
QuorumProof / AttestationBundle against them with a dependency-free schema checker.

docs/CLOUDSHELL_FOG.md + capd/cloudshell-fog.capd.json now name mcp-a2a-zero-trust as
the shape authority. 50 tools tests green (14 grant incl. 3 conformance).
…Ops + semantic-action, one plane

Zenodo-style citable, content-addressed, reproducibility-graded layer over the estate.
Folds three demonstrated systems into one governed plane:

  - Zenodo/reproducible-fusion: mint_id() content-addresses every record as a citable
    commons:<domain>/<name>@<version>+<digest>; deterministic (same inputs -> same id).
  - ARM (Asset Reuse Manager): domain/category/asset_type navigation, recommend() by
    reuse score, record_use() use/evaluate feedback loop.
  - MLOps reproducibility: fail-closed reproducibility GATE — a record may claim
    `reproducible` only if provenance carries source_digest AND (attestation_ref OR
    sbom_digest); else honestly `declared`. The dashboard never overstates.
  - Semantic API: records carry an optional declarative semantic_action (signature +
    ontology/policy constraints).

The estate ingests itself: estate_commons() deposits every capd/*.capd.json + the suite
workloads, so caps.compute.mesh-plane, caps.compute.cloudshell-fog, the devspace inner
loop, and the five app-suite workloads are all first-class citable records — the commons
even contains itself.

tools/commons.py + test_commons.py (8 tests). Portal /api/commons + console section
(honest reproducible/declared split). capd/knowledge-commons.mesh.capd.json +
docs/KNOWLEDGE_COMMONS.md (witnesses ARM/MLOps/Semantic-API -> implementation). validate
REQUIRED + CapD checks; Makefile commons target. 58 tools tests green.
@mdheller
mdheller merged commit 98b1a43 into main Aug 4, 2026
1 check passed
@mdheller
mdheller deleted the feat/developer-portal branch August 4, 2026 01:05
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.

Developer portal + inner-loop dev-environments (march #8) — the human view of the governed surface

1 participant