Skip to content

(CODUX-216) Build the custom-node SDK and sandbox - #2956

Merged
numnx merged 1 commit into
feature/CODUX-216-nodes-full-integrationfrom
task/feature-codux-21-t05-codex-368ddc87-mrhcknl5
Jul 12, 2026
Merged

(CODUX-216) Build the custom-node SDK and sandbox#2956
numnx merged 1 commit into
feature/CODUX-216-nodes-full-integrationfrom
task/feature-codux-21-t05-codex-368ddc87-mrhcknl5

Conversation

@numnx

@numnx numnx commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

🧩 Task: Build the custom-node SDK and sandbox

Automated task PR opened by Code UX for T05.

📋 Summary

Sprint: Sprint 216 · Nodes Full Integration · Task: T05

Turn the existing project-scoped node-flow foundation and browser-local canvas into a canonical, secure, versioned automation control plane with registry-driven nodes, encrypted credentials, durable execution, governed integrations, isolated custom nodes, agent authoring, dashboard integration, and authenticated headless readiness.

🤖 Model & Provider

Provider Codex CLI
Model gpt-5.6-sol

⏱️ Timing

Started 2026-07-12 05:35:51 UTC
Finished 2026-07-12 05:49:24 UTC
Duration 13m 33s

📊 Token Usage

Metric Value
Input tokens 338,536
Cached input tokens 12,260,096
Output tokens 58,276
Total tokens 12,656,908
Invocations 3
Tool calls 92
Active time 25m 0s

Included usage estimate (subscription/local login): $9.57

✅ QA Review

⏳ QA review runs after this PR is opened. Check the task card in the dashboard for the outcome once it lands.

📝 Full Task Prompt
## Objective
Provide a constrained TypeScript custom-node workflow that agents can generate, validate, publish, and execute in isolated containers with only declared capabilities.

## Scope
- New `src/contracts/custom-node-types.ts`
- New `src/services/custom-nodes/custom-node-project-service.ts`
- New `src/services/custom-nodes/custom-node-build-service.ts`
- New `src/services/custom-nodes/custom-node-runtime-service.ts`
- New `src/repositories/custom-node-repository.ts`
- `src/repositories/db/app-db-migrations.ts`
- `src/infrastructure/providers/cli/docker-runner.ts`, `src/services/docker-service.ts`, and related Docker plan utilities as reusable references or narrowly extended helpers
- `.code-ux/nodes/<node-id>/` package-generation templates
- `src/domain/node-flows/node-definition-registry.ts` and runtime executor registration
- Backend custom-node, Docker-plan, policy, and security tests
- Custom-node architecture and security documentation under `docs/` and `docs-web/`

## Implementation Requirements
1. Define the custom-node package and SDK contract with manifest, `src/index.ts`, tests, fixtures, package metadata, lockfile, `NodeExecutionContext`, bounded HTTP, credential slots, logger redaction, clock, abort signal, temporary storage, artifacts, and correlation IDs.
2. Implement draft-to-validating-to-passed/failed-to-published lifecycle with manifest/schema validation, TypeScript typecheck, deterministic tests, lockfile verification, vulnerability audit hooks, prohibited API scans, capability comparison, resource/network tests, secret-canary tests, fixture execution, and output-schema validation.
3. Produce immutable content-addressed artifacts containing source revision, build digest, runtime image digest, dependency inventory, validation report, creator/invocation metadata, and declared capabilities; integrate definitions into the T01 registry without embedding source in graph JSON.
4. Execute custom nodes only through a hardened Docker boundary with non-root user, read-only root, no Docker socket, no host network, no project mount by default, dropped capabilities, no-new-privileges, seccomp/AppArmor where available, bounded CPU/memory/PIDs/time/output, tmpfs scratch, controlled egress, and per-node credential bundles.
5. Add tests proving generated code cannot access host filesystem, host environment, subprocesses, Docker, unrestricted network, or another run’s state, and that logs, outputs, traces, and diagnostics redact secret canaries.

## Constraints
- Never execute generated custom code in the Code UX process.
- Do not add a second egress or credential policy; consume the T02/T04 broker contracts.
- Content-addressed image caching must not retain plaintext credentials or cross-run mutable state.

## Verification
- Run focused custom-node, repository, Docker-plan, policy, and security tests with `pnpm exec vitest run`.
- Run `pnpm run typecheck`, `pnpm run test:backend`, `pnpm run build`, and `pnpm audit --audit-level=high`.
- Verify a generated fixture node can build and run through the isolated executor while prohibited API, resource exhaustion, secret-canary, and network-policy tests fail closed.
- Run `pnpm run check:docs-web` and confirm custom execution is documented only as available behind its publication and feature gates.
🌿 Branch Info

Base: feature/CODUX-216-nodes-full-integration
Head: task/feature-codux-21-t05-codex-368ddc87-mrhcknl5


🤖 Generated by Code UX

@numnx
numnx merged commit 5ddb546 into feature/CODUX-216-nodes-full-integration Jul 12, 2026
20 checks passed
@numnx
numnx deleted the task/feature-codux-21-t05-codex-368ddc87-mrhcknl5 branch July 12, 2026 05:53
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.

1 participant