You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Noema needs a reusable quarantine boundary for untrusted repository patches, code, files and later graph/data analysis without exposing reviewer, model, GitHub write, NVIDIA NIM, OIDC, release/deployment or host-Docker authority to the analyzed workload. A buyer must be able to verify exactly what source and patch were analyzed, by which immutable runtime, under which constraints, and what evidence came back.
The product goal is not “run arbitrary shell in a container.” It is an evidence-producing sandbox plane with typed allowlisted operations, exact source identity, hostile-input validation, bounded execution, credential separation and independently verifiable result provenance.
Current protected / implementation lineage
Protected main is c85d710804139c0697d7ef8fa47d02b1389e6d84; #76's bounded nanoid@3.3.17 remediation is protected truth. Historical PR #65 is closed unmerged and is no longer the active implementation owner.
Phase A — exact-source patch quarantine: clean successor #93
PR #93 (feat(sandbox): restack exact patch quarantine after nanoid) is the current clean direct-main implementation line. Exact current head: fe3074a188739705f89ff67b46712ac9d228081d.
The direct-main diff contains the bounded 27-path patch-quarantine product/docs/test workstream plus a current-baseline ## Unreleased changelog entry and contains no package, lockfile, workflow or nanoid changes.
enum-only validation profiles with no caller-provided shell command;
strict patch path/mode/hunk/file-count validation and governance-path exclusion;
exact Git HEAD/clean-worktree and exact-tree/object verification;
archive/materialized file parity against authenticated Git object identities;
descriptor-safe/no-follow/size-bounded reads;
no-network, read-only, non-root container isolation with no Docker socket;
trusted-host result validation and retained evidence rather than giving untrusted execution final host-evidence authority;
beginner-readable docs, hostile-input regressions and repository coverage/docstring gates.
Fresh exact-head technical evidence for unchanged #93 head fe3074a188739705f89ff67b46712ac9d228081d:
application ci run 31375580944: terminal success;
reviewer-ci run 31375580959: terminal success;
central Security Scan run 31375580983: terminal success under its own scanner/revision semantics;
formal GitHub review submissions: 0;
inline review threads: 0;
GitHub reports the PR mergeable.
These checks do not create live ruleset evidence or qualifying independent formal approval. #27/#29 retain those governance/reviewer boundaries.
Phase B — dedicated validator image: stale #67 lineage, clean restack still required
PR #67 contains the unique validator-image/supply-chain work but remains on the historical #65 feature-base lineage and must not be treated as a protected-current successor merely because earlier image work ran.
static Node runtime in a shell-free/package-manager-free numeric-non-root image;
authenticated Node source/build inputs and static/runtime identity checks;
real no-network/read-only/non-root smoke path;
Syft/Grype/Trivy evidence and exact image/runtime component identity;
SBOM/vulnerability receipt verification and stale-head refusal;
no GitHub/model/NVIDIA NIM/Cloudflare/OIDC/signing/release/deployment credentials inside untrusted validation.
Earlier image work found and corrected a real Unicode-regex runtime mismatch (--with-intl=none vs required Unicode property regular expressions) and removed an invented OCI LicenseRef-Proprietary label because repository visibility or package metadata cannot create outbound legal authority.
After #93 reaches protected main, preserve only #67's unique image delta on a clean protected successor and reacquire every exact-head/source, application, reviewer, eligible Security Scan and supply-chain runtime proof. Old #67/#65 checks/reviews never transfer.
Issue #66 owns later immutable publication/signature/attestation/digest-lock activation after the local exact image path is proven.
Reviewer integration — consume validator evidence without allowing it to become approval/merge authority.
Graph/code/data analysis profiles — add only bounded typed profiles with independent threat model, realistic fixtures and evidence contracts; never reopen arbitrary shell authority.
Operational acceptance — protected-main end-to-end proof, cleanup/recovery and buyer-verifiable provenance.
A future graph/data profile must preserve the same separation: source/data bytes are untrusted, model output is untrusted evidence, credentials stay outside the execution compartment, and deterministic host verification decides whether retained artifacts are structurally valid. Mathematical/statistical production arithmetic introduced by a profile follows the repository Rust-first CPU/GPU policy where material rather than embedding ad-hoc Python arithmetic in the sandbox.
Buyer / product problem
Noema needs a reusable quarantine boundary for untrusted repository patches, code, files and later graph/data analysis without exposing reviewer, model, GitHub write, NVIDIA NIM, OIDC, release/deployment or host-Docker authority to the analyzed workload. A buyer must be able to verify exactly what source and patch were analyzed, by which immutable runtime, under which constraints, and what evidence came back.
The product goal is not “run arbitrary shell in a container.” It is an evidence-producing sandbox plane with typed allowlisted operations, exact source identity, hostile-input validation, bounded execution, credential separation and independently verifiable result provenance.
Current protected / implementation lineage
Protected
mainisc85d710804139c0697d7ef8fa47d02b1389e6d84; #76's boundednanoid@3.3.17remediation is protected truth. Historical PR #65 is closed unmerged and is no longer the active implementation owner.Phase A — exact-source patch quarantine: clean successor #93
PR #93 (
feat(sandbox): restack exact patch quarantine after nanoid) is the current clean direct-main implementation line. Exact current head:fe3074a188739705f89ff67b46712ac9d228081d.The direct-main diff contains the bounded 27-path patch-quarantine product/docs/test workstream plus a current-baseline
## Unreleasedchangelog entry and contains no package, lockfile, workflow or nanoid changes.Implemented boundaries include:
Fresh exact-head technical evidence for unchanged #93 head
fe3074a188739705f89ff67b46712ac9d228081d:cirun31375580944: terminal success;reviewer-cirun31375580959: terminal success;Security Scanrun31375580983: terminal success under its own scanner/revision semantics;These checks do not create live ruleset evidence or qualifying independent formal approval. #27/#29 retain those governance/reviewer boundaries.
Phase B — dedicated validator image: stale #67 lineage, clean restack still required
PR #67 contains the unique validator-image/supply-chain work but remains on the historical #65 feature-base lineage and must not be treated as a protected-current successor merely because earlier image work ran.
The image line includes:
node_patch_verify_v1image-owned command profile;Earlier image work found and corrected a real Unicode-regex runtime mismatch (
--with-intl=nonevs required Unicode property regular expressions) and removed an invented OCILicenseRef-Proprietarylabel because repository visibility or package metadata cannot create outbound legal authority.After #93 reaches protected
main, preserve only #67's unique image delta on a clean protected successor and reacquire every exact-head/source, application, reviewer, eligible Security Scan and supply-chain runtime proof. Old #67/#65 checks/reviews never transfer.Issue #66 owns later immutable publication/signature/attestation/digest-lock activation after the local exact image path is proven.
Scope split
A future graph/data profile must preserve the same separation: source/data bytes are untrusted, model output is untrusted evidence, credentials stay outside the execution compartment, and deterministic host verification decides whether retained artifacts are structurally valid. Mathematical/statistical production arithmetic introduced by a profile follows the repository Rust-first CPU/GPU policy where material rather than embedding ad-hoc Python arithmetic in the sandbox.
Acceptance criteria
Exact-source quarantine
mainas feat(sandbox): restack exact patch quarantine after nanoid #93 without stale package/workflow state.Dedicated image
Extended graph/code/data capability
Guardrails
.github/workflows/repair-*, self-modifying or branch-patching write workflow.Related: #27, #29, #65, #66, #67, #76, #93