Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ jobs:
- run: python -m mnel ledger verify build/provider-study-reference/provider-portfolio-evidence.jsonl
- run: python -m mnel family-integration-reference --workspace build/family-integration-reference
- run: python -m mnel ledger verify build/family-integration-reference/family-integration-evidence.jsonl
- run: python -m mnel fabric-reference --workspace build/fabric-reference
- run: python -m mnel ledger verify build/fabric-reference/fabric-evidence.jsonl
- run: git diff --check

rust-provider-runtime:
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

## 0.4.0a0 — unreleased

- Add bounded distributed MNEL workloads and workload graphs on the current public MNCS
Fabric boundary. `mnel fabric-reference` runs heterogeneous reference providers on
two logical Fabric workers, preserves worker/receipt identities, exercises replicated
dispatch, and performs deterministic transition-frequency shard aggregation. Hidden
data, duplicate/overlapping shards, mismatched artifacts, and incomplete results fail
closed or remain UNKNOWN. Optional network configuration uses TLS transports and
explicitly requires operator-pre-staged bundles; no SSH or implicit transfer is added.
- Extend the Forge Provider Protocol 0.1 adapter with distributed workload, worker
capability, shard provenance, and reconciliation diagnostics. Protocol version remains
0.1 and all new responses remain diagnostic-only.

- Add a strict MNCS Forge Provider Protocol 0.1 adapter and project-scoped Forge config;
capabilities and analysis responses are bounded, one-line, diagnostic-only records.
- Add pinned MNCS-family compatibility snapshots and a `family-integration-reference`
Expand Down
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ conventional neural-weight training.
> source-preserving distillation groups, lineage-bound strategies, negative-memory
> retrieval, equal-budget study controls, retrieval/calibration metrics, and a tiny
> reloadable CPU transition-frequency diagnostic provider. It still does not provide process isolation,
> unattended model execution, distributed scheduling, protected final custody, formal
> unattended model execution, protected final custody, formal
> MNCS/MNCDS conformance, or automatic RAVEL promotion.

The repository also contains a dependency-aware MNCS-family integration reference:
Expand All @@ -59,6 +59,18 @@ Fabric job through its public service, consumes the experimental MNCS receipt, a
the result as diagnostic evidence. Live sibling availability is reported explicitly; no
external checkout is required for ordinary MNEL CI.

The `mnel fabric-reference` command is a network-free distributed execution study. It
uses Fabric's public local controller/worker boundary to run the transition-frequency
and tabular centroid providers on two logical workers, records replicated execution
observations, and aggregates identified transition-training shards. The logical workers
share one process and host, so this is execution evidence rather than independent
evaluation. Live TLS workers require explicit operator configuration and pre-staged
bundles; MNEL does not copy artifacts over SSH or use hidden remote paths.

The operator-only network entrypoint is `mnel fabric-run --config ... --plan ...
--manifest ...`; it accepts only Fabric's bounded fixed-argv plan/manifest pair and
fails closed when trust material or the declared pre-staged bundle identity is absent.

## Core rule

**Investigators and learned providers may propose knowledge. They may not declare it true.**
Expand Down Expand Up @@ -138,6 +150,10 @@ copy their authority or silently create substitute implementations.
provider, calibrates and reloads both, compares seeded-random and heuristic controls,
measures disagreement/OOD/abstention/cold-warm resource behavior, and records explicit
admission, quarantine, retirement, and rollback evidence. It does not issue a verdict.
- `mnel fabric-reference`, a no-network multi-worker Fabric study that distributes
reference expert inference and transition-frequency sufficient-statistic shards,
exercises replication and missing-shard semantics, and verifies deterministic model
equivalence without granting execution records evaluator authority.

## Install

Expand Down Expand Up @@ -236,6 +252,13 @@ disagreement, calibration, and transfer measurements are evidence, not consensus
evaluator authority. The reference HMM is not silently applied to incompatible tabular
inputs.

Run the local distributed reference path:

```bash
mnel fabric-reference --workspace build/fabric-reference
mnel ledger verify build/fabric-reference/fabric-evidence.jsonl
```

Verify and summarize the resulting ledger:

```bash
Expand Down
12 changes: 6 additions & 6 deletions compat/mncs-family-compatibility-0.1.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"schema": "mnel-family-compatibility/0.1",
"snapshot_version": "2026-08-08",
"snapshot_version": "2026-08-09",
"projects": [
{"repository": "mncs-forge-mcp", "commit": "7710ea606bd592e0be95957c96132e8732fbb955", "public_contract": {"version": "Provider Protocol 0.1", "types": ["capabilities", "analysis_request", "analysis_response"]}},
{"repository": "mncs-fabric", "commit": "fd6a1e1fe617b77402a3d40c278776dd8f159fb0", "public_contract": {"version": "mncs-fabric public service 0.1", "types": ["FabricService", "job-plan", "execution-record", "reconcile"]}},
{"repository": "machine-native-complexity-standard", "commit": "1f0a1f903379d740eeeb59fe8689aed398bfb47c", "public_contract": {"version": "execution receipt 0.1-experimental", "types": ["mncs-execution-receipt", "claim_boundary"]}},
{"repository": "MNCS-Commons", "commit": "5afff351efd3563febb7b3149d7de711d3342a44", "public_contract": {"version": "commons.mncs.dev/v0alpha1", "types": ["Observation", "Replication", "Advisory", "commons-bundle/v0alpha1"]}},
{"repository": "mncs-language", "commit": "26cd7f015cb857abe3f0601780de096e04dea7b4", "public_contract": {"version": "semantic identity boundary", "types": ["opaque semantic identity", "HIR identity"]}},
{"repository": "RAVEL", "commit": "4b7c3c5503ec6bd11a7ffb96cbb32599cd1f342c", "public_contract": {"version": "ravel-development-record/0.6-preregistration", "types": ["candidate", "development record"], "promotion_authorized": false}}
{"repository": "mncs-fabric", "commit": "740b4b3a2590f76aa6eeb5365d3bdd8a40e39964", "public_contract": {"version": "mncs-fabric public controller/service 0.2.0a0", "types": ["FabricService", "LocalController", "NetworkController", "TLSNetworkTransport", "job-plan", "execution-record", "execution-receipt", "challenge/replay", "persistent worker evidence", "reconcile"]}},
{"repository": "machine-native-complexity-standard", "commit": "80f08d312dce963265c7f69ac5b4bae8245bd692", "public_contract": {"version": "execution receipt 0.1-experimental", "types": ["mncs-execution-receipt", "immutable execution bundle", "claim_boundary"]}},
{"repository": "MNCS-Commons", "commit": "b1eb5a1081bbb63ee3a6284e8046035bd72a47bc", "public_contract": {"version": "commons.mncs.dev/v0alpha1", "types": ["Observation", "Replication", "Advisory", "commons-bundle/v0alpha1"]}},
{"repository": "mncs-language", "commit": "f234cc8079faa5895a38b7abce0c96031f7d2565", "public_contract": {"version": "semantic identity boundary", "types": ["opaque semantic identity", "HIR identity"]}},
{"repository": "RAVEL", "commit": "d572d68ab9c8eaf163425748d44729aaa8028e98", "public_contract": {"version": "ravel-development-record/0.6-preregistration", "types": ["candidate", "development record"], "promotion_authorized": false}}
],
"authority": "diagnostic-only",
"limitations": ["Pinned shapes are compatibility evidence, not live conformance claims."]
Expand Down
19 changes: 18 additions & 1 deletion docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,21 @@ MNCS Fabric is the intended distributed execution and reconciliation substrate.
also supports a deterministic single-host reference path. Execution produces raw facts,
not semantic acceptance.

The distributed layer (`mnel.fabric_execution`) models bounded identified workloads and
acyclic workload graphs. Fabric answers which compatible worker executes a workload;
the provider placement policy separately answers CPU, full CUDA, or sequential offload
on that worker. The local backend calls Fabric's public `LocalController`/`LocalWorker`
boundary. The network backend calls `NetworkController` with `TLSNetworkTransport` and
operator enrollment state, and rejects missing trust material or non-matching pre-staged
bundle identities. It never turns remote completion into correctness, independence,
conformance, or promotion.

Coarse-grained training is supported for the reference transition-frequency and centroid
providers. Workers produce identified partial sufficient statistics; the controller
rejects duplicate, overlapping, missing, wrong-dataset, or hidden shards and merges in
deterministic shard order. A missing required shard makes the study incomplete rather
than silently producing a canonical full model.

### Evaluation plane

An immutable evaluator derives every hard gate. Failed gates cannot be compensated by a
Expand Down Expand Up @@ -170,7 +185,9 @@ capability, authority, disclosure, partition access, or cost ceilings.
### MNCS-family integration plane

Forge is the preferred external control/evidence plane. The `mnel.forge_provider` module
implements only Provider Protocol 0.1 capabilities and bounded analysis responses. The
implements only Provider Protocol 0.1 capabilities and bounded analysis responses,
including distributed workload, worker capability, shard provenance, and reconciliation
diagnostics. The
family reference path binds an MNEL study and provider artifact to a Fabric manifest, calls
the public `FabricService`, consumes the typed experimental execution receipt, and stores a
companion MNEL observation. Forge controls the declared workflow, Fabric records execution,
Expand Down
8 changes: 8 additions & 0 deletions docs/INTEGRATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,14 @@ normalizes the observation into the MNEL ledger. Repeated execution is labelled
`local-in-process-replication`; it is not multi-host independence, authenticated worker
enrollment, or protected custody.

`mnel fabric-reference` uses the current public `LocalController` and `LocalWorker`
interfaces for a two-logical-worker, network-free study. `NetworkFabricBackend` uses the
documented `NetworkController`/`TLSNetworkTransport` pair only after validating explicit
CA, client-certificate, key, trust-store, capability, and pre-staged bundle references.
Bulk artifact transfer remains outside MNEL until Fabric exposes a public verified
transfer profile. A worker is an execution location, not an expert identity; provider
artifact and model identities remain bound in every workload and observation.

The same path emits an inert Commons Observation-shaped record and a RAVEL 0.6 proposal
context fixture. Neither is published or granted trust-domain, evaluator, freeze, selection,
or promotion authority.
Expand Down
7 changes: 6 additions & 1 deletion docs/LEARNED_PROVIDER_RUNTIME.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,12 @@ artifact and does not establish a general language preference.
4. Add Forge snapshot producers and reuse measurements.
5. Export one Python-trained neural provider and compare it with the baseline.
6. Add WASM quarantine only after native measurements establish the overhead budget.
7. Integrate Fabric placement after single-host identity and replay behavior is stable.
7. The local distributed reference now composes MNEL provider placement with MNCS Fabric
worker placement: Fabric selects a compatible machine while the provider runtime still
selects CPU, full CUDA, or sequential CPU offload on that machine. Expert artifact,
model, calibration, snapshot, and capability identities remain bound. Network dispatch
is operator-only and requires TLS trust material plus explicit pre-staging; Fabric
execution is observation evidence, not evaluator authority.

Each stage must preserve the current diagnostic authority boundary and may terminate in
`UNKNOWN` rather than silently widening capability.
Expand Down
24 changes: 15 additions & 9 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,21 @@

## 0.5 — MNCS Fabric execution

- **Started:** content-addressed local experiment material binding to Fabric manifests;
- **Started:** capability-aware local dispatch through the public `FabricService` boundary;
- **Started:** typed MNCS execution-receipt collection and MNEL normalization;
- **Started:** local duplicate/replay and same-node reconciliation evidence;
- authenticated worker enrollment;
- replicated and sharded trial matrices;
- remote node-loss handling, protected custody, and scaling measurements;
- heterogeneous learned-provider placement by snapshot locality and node capability;
- ABI compatibility and provider-artifact admission across Fabric nodes.
- **Implemented (local reference):** content-addressed identified workloads and bounded
acyclic workload graphs;
- **Implemented (local reference):** capability-aware dispatch through Fabric's public
`LocalController`/`LocalWorker` boundary with provider-artifact identity binding;
- **Implemented (local reference):** typed Fabric execution/receipt observations retained
as MNEL evidence without evaluator authority;
- **Implemented (local reference):** replicated expert runs and deterministic reconciliation
observations across distinct logical worker identities;
- **Implemented (local reference):** transition-frequency and nearest-centroid sharded
sufficient-statistic training with duplicate/overlap/missing/visibility validation;
- **Started:** optional authenticated remote dispatch through `NetworkController` and
`TLSNetworkTransport`; current network mode requires operator-pre-staged bundles;
- **Started:** node-loss/UNKNOWN handling, locality hints, and scaling measurements;
- **Started:** authenticated worker enrollment consumption and provider-artifact admission
across physical nodes; live remote execution remains operator-only and unverified here.

## 0.6 — RAVEL integration study

Expand Down
16 changes: 16 additions & 0 deletions docs/THREAT_MODEL.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,22 @@ unasserted. Commons records are inert and unpublished; RAVEL material is proposa
only. Forge configuration and local sibling checkouts remain operator-controlled inputs and
must be reviewed for substitution or drift.

### Distributed Fabric boundary

MNEL sends only bounded, identity-bound workloads to Fabric. A compromised or stale
worker can return a malformed result, wrong artifact identity, poisoned sufficient
statistics, replayed output, or omit a shard. Fabric protocol/TLS identity proves the
configured peer and replay binding; it does not prove worker honesty, independent
evaluation, or hardware attestation. MNEL validates dataset, shard, provider, model,
feature-extractor, visibility, and bundle identities before aggregation, preserves raw
Fabric dispatch/result/receipt identities, rejects duplicate/overlapping shards, and
reports missing workers as UNKNOWN/incomplete. Multiple machines operated by one party
are cross-node execution evidence, not independent validation.

Remote bundle staging is an explicit operator precondition. MNEL does not add SSH,
developer-directory mounts, network downloads, or ambient model paths to the semantic
execution protocol. Certificate/private-key paths remain outside ledgers and source.

## Current residual risks

The foundation now validates and loads identified native provider libraries through a
Expand Down
16 changes: 16 additions & 0 deletions examples/mnel-fabric.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Operator-only example. Paths refer to external trust material and must not be
# committed with real certificates, private keys, or worker addresses.
controller_id = "mnel-controller-example"
state_path = "build/fabric-controller.jsonl"
# NetworkFabricBackend requires a verified, pre-staged bundle before dispatch.
pre_staged_bundle_identity = "sha256:replace-with-the-expected-bundle-identity"

[[workers]]
worker_id = "worker-a"
host = "replace-with-operator-endpoint"
port = 4433
capabilities = ["python", "os:linux"]
ca_file = "operator-pki/ca.pem"
client_cert = "operator-pki/controller.pem"
client_key = "operator-pki/controller.key"
trust_store = "build/fabric-trust.jsonl"
46 changes: 43 additions & 3 deletions mncs-forge.toml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ useful_benefit_objective = "README.md"
id = "mnel-family-provider"
name = "MNEL family diagnostic provider"
identity = "mnel-family-provider-protocol-v1"
version = "0.1"
version = "0.2"
command = ["python", "-m", "mnel.forge_provider"]
transport = "stdio-jsonl"
required = false
capabilities = ["evidence_derivation", "mncs_bundle_validation", "provider_study_summary"]
supported_constructs = ["identified-study-summary", "provider-artifact-binding", "execution-receipt-binding"]
capabilities = ["evidence_derivation", "mncs_bundle_validation", "provider_study_summary", "distributed_workload_inspection", "fabric_worker_capability_summary", "distributed_training_provenance", "shard_completeness", "reconciliation_summary"]
supported_constructs = ["identified-study-summary", "provider-artifact-binding", "execution-receipt-binding", "distributed-workload-identity-binding", "fabric-worker-capability-observation", "sharded-training-provenance", "cross-node-reconciliation-observation"]
unsupported_constructs = ["hidden-transfer-content", "future-final-content", "evaluator-verdict", "ravel-promotion"]
limitations = ["diagnostic-only provider; no external evaluator authority"]

Expand All @@ -79,3 +79,43 @@ provider_protocol = true
provider_id = "mnel-family-provider"
subject = "candidate"
disclosure = "compact"

[[workflows]]
name = "mnel-fabric-reference"
category = "evidence_derivation"
mode = "development"
command = ["python", "-m", "mnel.forge_provider"]
provider_protocol = true
provider_id = "mnel-family-provider"
subject = "candidate"
disclosure = "compact"

[[workflows]]
name = "mnel-fabric-reconcile"
category = "evidence_derivation"
mode = "development"
command = ["python", "-m", "mnel.forge_provider"]
provider_protocol = true
provider_id = "mnel-family-provider"
subject = "candidate"
disclosure = "compact"

[[workflows]]
name = "mnel-fabric-plan"
category = "evidence_derivation"
mode = "development"
command = ["python", "-m", "mnel.forge_provider"]
provider_protocol = true
provider_id = "mnel-family-provider"
subject = "candidate"
disclosure = "compact"

[[workflows]]
name = "mnel-fabric-train"
category = "evidence_derivation"
mode = "development"
command = ["python", "-m", "mnel.forge_provider"]
provider_protocol = true
provider_id = "mnel-family-provider"
subject = "candidate"
disclosure = "compact"
15 changes: 15 additions & 0 deletions schemas/mnel-distributed-study-matrix.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://mnel.dev/schemas/mnel-distributed-study-matrix.schema.json",
"title": "MNEL distributed study matrix",
"type": "object",
"additionalProperties": false,
"required": ["schema", "matrix_identity", "cells", "authority", "semantics"],
"properties": {
"schema": {"const": "mnel-distributed-study-matrix/0.5"},
"matrix_identity": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
"cells": {"type": "array", "minItems": 1, "maxItems": 512, "items": {"type": "object"}},
"authority": {"const": "diagnostic-only"},
"semantics": {"const": "distributed-study-matrix; not-a-verdict"}
}
}
Loading
Loading