feat(platform): add managed data product history plane
This commit is contained in:
@@ -90,10 +90,11 @@ node descriptions used `usableAsTool`, so n8n 2.3.2 exposed six NDC runtime
|
||||
types instead of the required three. It must not be activated, overwritten or
|
||||
deleted.
|
||||
|
||||
The corrected candidate is package version `0.1.2`, built with patch id
|
||||
`n8n-nodes-ndc-release-20260716-003`. It receives a new digest-bound release
|
||||
directory and remains inert after staging; only a separately reviewed
|
||||
Engine-owned activator may select it after exact MCP schema acceptance.
|
||||
The active predecessor is package version `0.1.2` at immutable release
|
||||
`0.1.2-05e4b38b14b4a019`. History Read is package version `0.1.3`, built with
|
||||
patch id `n8n-nodes-ndc-history-read-20260717-004` and immutable release
|
||||
`0.1.3-3354149b5245e39a`. Staging remains inert; only the separately reviewed
|
||||
Engine-owned transition may select it after exact MCP schema acceptance.
|
||||
|
||||
The paired Engine activation is built by
|
||||
`build-engine-n8n-private-extension-artifact.mjs`. It deliberately does not
|
||||
@@ -102,7 +103,7 @@ not build an image. A fresh transition id is mandatory and previously issued
|
||||
ids are rejected:
|
||||
|
||||
```bash
|
||||
node infra/deploy-runner/build-engine-n8n-private-extension-artifact.mjs 20260717-004
|
||||
node infra/deploy-runner/build-engine-n8n-private-extension-artifact.mjs 20260717-005
|
||||
```
|
||||
|
||||
The builder emits a narrowly scoped Compose override plus a strict transition
|
||||
@@ -112,7 +113,7 @@ same immutable image ID, and extracts the package into the root-owned,
|
||||
read-only Engine release tree:
|
||||
|
||||
```text
|
||||
/volume2/nodedc-demo/n8n-private-extensions/releases/n8n-nodes-ndc/0.1.2-05e4b38b14b4a019/package
|
||||
/volume2/nodedc-demo/n8n-private-extensions/releases/n8n-nodes-ndc/0.1.3-3354149b5245e39a/package
|
||||
```
|
||||
|
||||
The override sets `N8N_USER_FOLDER=/home/node`, which is required because the
|
||||
@@ -134,13 +135,16 @@ Postgres service, `.n8n` data, encryption key and credentials remain intact.
|
||||
The apply gate verifies readiness, the running image/version, sealed mount,
|
||||
loader environment, package-loader node/credential sets, scoped loader logs,
|
||||
restart stability and content-exact pinned Engine MCP catalogs. The runner pins
|
||||
both the complete 434/385 inactive baseline and the reviewed 437/388
|
||||
activation catalogs, so a same-count substitution of any built-in schema is
|
||||
rejected. Any gate failure after
|
||||
the complete 434/385 inactive baseline and a digest registry for every
|
||||
reviewed 437/388 active release, so a same-count substitution of any built-in
|
||||
or private schema is rejected. Upgrade `0.1.2 -> 0.1.3` is accepted only when
|
||||
the verified live predecessor, descriptor, package mount and catalog all agree.
|
||||
Any gate failure after
|
||||
mutation automatically restores the pre-apply catalogs/descriptor and
|
||||
force-recreates the previous verified runtime. Staged, sealed and failed
|
||||
releases are retained. The separate rollback artifact returns the first
|
||||
activation to the verified inactive 434-node/385-credential catalog baseline.
|
||||
releases are retained. The paired rollback artifact returns `0.1.3` to the
|
||||
verified immutable `0.1.2` release and its exact catalogs; it does not invent
|
||||
an inactive baseline for an already-active upgrade.
|
||||
|
||||
Run both policy suites before publishing the Engine pair:
|
||||
|
||||
@@ -151,6 +155,23 @@ PYTHONDONTWRITEBYTECODE=1 \
|
||||
python3 infra/deploy-runner/test_engine_n8n_private_extension.py
|
||||
```
|
||||
|
||||
The source-less Engine MCP control-plane update is a separate exact slice:
|
||||
|
||||
```bash
|
||||
node infra/deploy-runner/build-engine-mcp-control-plane-artifact.mjs 20260717-001
|
||||
```
|
||||
|
||||
Its six-entry registry contains only the Engine Agent gateway, verified graph
|
||||
patch route, Codex installer source/package and the active node-intelligence
|
||||
descriptor with the new gateway digest. It force-recreates only the existing
|
||||
`nodedc-backend`. The node-intelligence image/service, n8n, L1, credentials,
|
||||
databases and volumes are outside the slice. The runner proves the installed
|
||||
predecessor digests, exact installer archive/source equality, bounded change
|
||||
session policy, no-effect/post-write graph barriers, active immutable backend
|
||||
runtime and descriptor equality. The ordinary overlay backup is the automatic
|
||||
rollback source; rollback restores the predecessor gateway and descriptor
|
||||
together before recreating the same backend service.
|
||||
|
||||
For `platform` artifacts, the allowlist includes the versioned Ontology Core,
|
||||
the frozen legacy Gelios compatibility service, and the provider-neutral
|
||||
External Data Plane sources. The Gelios service remains reproducible only to
|
||||
|
||||
Reference in New Issue
Block a user