@xenosystem/agent-sdk 0.9.11 → 0.9.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -15
- package/README.md +511 -511
- package/dist/agents/index.cjs +5 -5
- package/dist/agents/index.js +15 -15
- package/dist/agents/metafile-cjs.json +1 -1
- package/dist/agents/metafile-esm.json +1 -1
- package/dist/artifacts/index.cjs +1 -1
- package/dist/artifacts/index.js +1 -1
- package/dist/artifacts/metafile-cjs.json +1 -1
- package/dist/artifacts/metafile-esm.json +1 -1
- package/dist/automation/index.d.cts +1 -0
- package/dist/automation/index.d.ts +1 -0
- package/dist/automation/metafile-cjs.json +1 -1
- package/dist/automation/metafile-esm.json +1 -1
- package/dist/control-plane/index.cjs +1 -1
- package/dist/control-plane/index.js +1 -1
- package/dist/control-plane/metafile-cjs.json +1 -1
- package/dist/control-plane/metafile-esm.json +1 -1
- package/dist/control-room/metafile-cjs.json +1 -1
- package/dist/control-room/metafile-esm.json +1 -1
- package/dist/electron/index.cjs +107 -107
- package/dist/electron/index.d.cts +8 -0
- package/dist/electron/index.d.ts +8 -0
- package/dist/electron/index.js +103 -103
- package/dist/electron/metafile-cjs.json +1 -1
- package/dist/electron/metafile-esm.json +1 -1
- package/dist/governance/index.cjs +18 -18
- package/dist/governance/index.d.cts +1 -0
- package/dist/governance/index.d.ts +1 -0
- package/dist/governance/index.js +18 -18
- package/dist/governance/metafile-cjs.json +1 -1
- package/dist/governance/metafile-esm.json +1 -1
- package/dist/hooks/metafile-cjs.json +1 -1
- package/dist/hooks/metafile-esm.json +1 -1
- package/dist/hosted/index.cjs +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/hosted/metafile-cjs.json +1 -1
- package/dist/hosted/metafile-esm.json +1 -1
- package/dist/index.cjs +347 -329
- package/dist/index.d.cts +113 -2
- package/dist/index.d.ts +113 -2
- package/dist/index.js +329 -311
- package/dist/intelligence/metafile-cjs.json +1 -1
- package/dist/intelligence/metafile-esm.json +1 -1
- package/dist/mcp/index.d.cts +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/metafile-cjs.json +1 -1
- package/dist/mcp/metafile-esm.json +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/oracle/metafile-cjs.json +1 -1
- package/dist/oracle/metafile-esm.json +1 -1
- package/dist/providers/metafile-cjs.json +1 -1
- package/dist/providers/metafile-esm.json +1 -1
- package/dist/recipes/metafile-cjs.json +1 -1
- package/dist/recipes/metafile-esm.json +1 -1
- package/dist/research/metafile-cjs.json +1 -1
- package/dist/research/metafile-esm.json +1 -1
- package/dist/session/index.cjs +2 -2
- package/dist/session/index.d.cts +8 -0
- package/dist/session/index.d.ts +8 -0
- package/dist/session/index.js +2 -2
- package/dist/session/metafile-cjs.json +1 -1
- package/dist/session/metafile-esm.json +1 -1
- package/dist/sharing/metafile-cjs.json +1 -1
- package/dist/sharing/metafile-esm.json +1 -1
- package/dist/skills/index.d.cts +1 -0
- package/dist/skills/index.d.ts +1 -0
- package/dist/skills/metafile-cjs.json +1 -1
- package/dist/skills/metafile-esm.json +1 -1
- package/dist/soul/metafile-cjs.json +1 -1
- package/dist/soul/metafile-esm.json +1 -1
- package/dist/terminal/metafile-cjs.json +1 -1
- package/dist/terminal/metafile-esm.json +1 -1
- package/dist/ui/index.d.cts +1 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/metafile-cjs.json +1 -1
- package/dist/ui/metafile-esm.json +1 -1
- package/dist/utils/index.d.cts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/metafile-cjs.json +1 -1
- package/dist/utils/metafile-esm.json +1 -1
- package/native/mxc/LICENSE.microsoft-mxc-sdk.md +20 -20
- package/native/mxc/README.md +25 -25
- package/native/mxc/package.json +58 -58
- package/ownership/CLEAN_ROOM_CONTRIBUTOR_GUIDE.md +63 -63
- package/ownership/evidence/PROPRIETARY-COMMAND-1/implementation-record.md +77 -77
- package/ownership/evidence/PROPRIETARY-COMMAND-1/provenance-review.md +51 -51
- package/ownership/evidence/PROPRIETARY-MEDIA-1/implementation-record.md +131 -131
- package/ownership/evidence/PROPRIETARY-MEDIA-1/provenance-review.md +50 -50
- package/ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md +86 -86
- package/ownership/evidence/PROPRIETARY-PTY-1/provenance-review.md +52 -52
- package/ownership/evidence/PROPRIETARY-RUNTIME-1/implementation-record.md +68 -68
- package/ownership/evidence/PROPRIETARY-RUNTIME-1/provenance-review.md +32 -32
- package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/implementation-record.md +53 -53
- package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/provenance-review.md +32 -32
- package/ownership/evidence/PROPRIETARY-UI-1/implementation-record.md +96 -96
- package/ownership/evidence/PROPRIETARY-UI-1/provenance-review.md +46 -46
- package/ownership/ownership-policy.schema.json +192 -192
- package/ownership/templates/clean-room-implementation-record.md +70 -70
- package/ownership/templates/provenance-review.md +51 -51
- package/package.json +1 -1
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# Clean-Room Implementation Record: Xeno PTY Runtime
|
|
2
|
-
|
|
3
|
-
## Identity
|
|
4
|
-
|
|
5
|
-
- Component: Xeno-owned native PTY binding, artifact loader, and UnifiedExec adapter
|
|
6
|
-
- Replacement milestone: PROPRIETARY-PTY-1
|
|
7
|
-
- Repository and paths: `xeno-agent-cli/apps/xeno-agent-cli/native/xeno-pty/`, `apps/xeno-agent-cli/src/terminal/xeno-pty-*.ts`
|
|
8
|
-
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
-
- Implementer(s): Codex implementation assistant; human native-code review pending
|
|
10
|
-
- Contract author(s): Xeno engineering requirements in `switch-to-proprietary.md`
|
|
11
|
-
- Started at (UTC): 2026-07-12
|
|
12
|
-
- Candidate revision: `87ae64b55aa1b8c2e126294e717b229e0945db65` plus recorded working-tree changes
|
|
13
|
-
- Status: Windows x64, Linux x64, and Linux arm64 engineering complete; remaining architecture and release evidence incomplete
|
|
14
|
-
|
|
15
|
-
## Frozen behavioral contract
|
|
16
|
-
|
|
17
|
-
- Public API and observable behavior: spawn an interactive terminal with file, argument, cwd, environment, column, and row inputs; emit ordered UTF-8 data and exactly one exit event; accept input; resize; perform graceful interruption and forced process-tree termination.
|
|
18
|
-
- Compatibility fixtures: `tests/xeno-pty-integration.test.ts`, `tests/xeno-pty-adapter.test.ts`, and `tests/xeno-pty-loader.test.ts`.
|
|
19
|
-
- Intentional incompatibilities and versioning decision: the adapter reports `xeno-conpty` or `xeno-posix-pty`; unavailable platforms explicitly retain pipe mode and are not reported as interactive PTY support.
|
|
20
|
-
- Security and resource limits: direct stable C N-API only; 256-event native queue with producer backpressure; 1 MiB pre-listener output cap; SHA-256 and Ed25519 trust verification before loading; Windows Job Object kill-on-close tree ownership.
|
|
21
|
-
- Supported platforms and architectures: Windows x64, Linux x64, and Linux arm64 are implemented and locally verified. Windows arm64 and macOS x64/arm64 are configured but unobserved and remain outside the achieved capability gate.
|
|
22
|
-
|
|
23
|
-
## Normative and permitted inputs
|
|
24
|
-
|
|
25
|
-
| Source | Revision/date | Purpose | Terms reviewed by | Evidence path |
|
|
26
|
-
| --- | --- | --- | --- | --- |
|
|
27
|
-
| Xeno proprietary migration specification | 2026-07-12 | PTY behavior, ownership, packaging, and release constraints | Engineering; counsel pending | `switch-to-proprietary.md` |
|
|
28
|
-
| Microsoft CreatePseudoConsole documentation | accessed 2026-07-12 | ConPTY stream, resize, and lifecycle contract | Engineering | `https://learn.microsoft.com/windows/console/createpseudoconsole` |
|
|
29
|
-
| Microsoft Creating a Pseudoconsole Session documentation | updated 2025-08-13 | Pipe directions, STARTUPINFOEX, process creation, and close ordering | Engineering | `https://learn.microsoft.com/windows/console/creating-a-pseudoconsole-session` |
|
|
30
|
-
| Microsoft CreateProcessW and Job Object documentation | accessed 2026-07-12 | Child startup handles and process-tree containment | Engineering | Microsoft Learn Win32 API documentation |
|
|
31
|
-
| Linux man-pages `forkpty(3)`, `ioctl_tty(2)`, `setsid(2)`, and `kill(2)` | accessed 2026-07-12 | PTY creation, terminal resize, session/process-group ownership, and signal delivery | Engineering | public Linux man-pages documentation |
|
|
32
|
-
| Node stable C N-API headers | Node 24.13.1, N-API v8 target | ABI contract without `node-addon-api` | Engineering | locally installed Node headers and public Node API documentation |
|
|
33
|
-
| Xeno UnifiedExec contract | candidate working tree | Product-side PTY adapter behavior | Engineering | `xeno-agent-sdk/src/runtime/unified-exec.ts` |
|
|
34
|
-
|
|
35
|
-
## Contributor source-exposure disclosure
|
|
36
|
-
|
|
37
|
-
| Contributor | Inspected replaced source? | Date/range | Separation or review decision | Counsel reference |
|
|
38
|
-
| --- | --- | --- | --- | --- |
|
|
39
|
-
| Codex implementation assistant | No `node-pty` or `node-addon-api` implementation source was inspected. Work used Xeno contracts and Microsoft/Node public API documentation. | 2026-07-12 | Independent native and provenance review required | Pending |
|
|
40
|
-
| Human contributors | Disclosure not yet collected | Pending | Must be completed before capability approval | Pending |
|
|
41
|
-
|
|
42
|
-
## Implementation log
|
|
43
|
-
|
|
44
|
-
| Date (UTC) | Decision | Contract/source basis | Author | Evidence path |
|
|
45
|
-
| --- | --- | --- | --- | --- |
|
|
46
|
-
| 2026-07-12 | Bind ConPTY directly through stable C N-API | FR-030 through FR-035 | Codex implementation assistant | `native/xeno-pty/src/xeno_pty_win.cpp` |
|
|
47
|
-
| 2026-07-12 | Bind Linux/macOS PTY primitives directly through stable C N-API | FR-032 through FR-036 | Codex implementation assistant | `native/xeno-pty/src/xeno_pty_posix.cpp` |
|
|
48
|
-
| 2026-07-12 | Own each POSIX PTY as a session/process group and drain output before settlement | complete-tree termination and exactly-once lifecycle contract | Codex implementation assistant | POSIX native source and integration tests |
|
|
49
|
-
| 2026-07-12 | Null inherited standard handles before pseudoconsole attachment | Captured-output conformance and CreateProcess startup contract | Codex implementation assistant | `xeno_pty_win.cpp`, integration tests |
|
|
50
|
-
| 2026-07-12 | Use one bounded ordered native event channel and StringDecoder bridge | FR-034 and FR-036 | Codex implementation assistant | native source and `xeno-pty-adapter.ts` |
|
|
51
|
-
| 2026-07-12 | Join and destroy native state at exit settlement | Handle-lifecycle and exactly-once requirements | Codex implementation assistant | native diagnostics and 25-cycle soak |
|
|
52
|
-
| 2026-07-12 | Verify ABI, hash, platform, architecture, and Ed25519 trust before load | FR-038 | Codex implementation assistant | `xeno-pty-loader.ts`, manifest signer |
|
|
53
|
-
| 2026-07-12 | Forbid `node-pty` and `node-addon-api` reintroduction | Phase 3 dependency gate | Codex implementation assistant | ownership policy revision 5 |
|
|
54
|
-
| 2026-07-12 | Resolve Windows N-API exports from the actual host process instead of importing `node.exe` | renamed/self-contained Node hosts must load the same owned addon safely | Codex implementation assistant | `xeno_pty_win.cpp`, PE import verifier, packaged Windows doctor smoke |
|
|
55
|
-
| 2026-07-12 | Standardize release Windows builds on MSVC and reject non-platform PE imports | exclude GNU runtime linkage and undeclared auxiliary DLLs | Codex implementation assistant | `build-windows.ps1`, `verify-pe-imports.mjs` |
|
|
56
|
-
|
|
57
|
-
## AI assistance
|
|
58
|
-
|
|
59
|
-
- Models/tools used: OpenAI Codex coding agent, local PowerShell, Microsoft C/C++ 19.44, Node.js, Vitest, and an isolated Debian Docker verifier.
|
|
60
|
-
- Prompt or retained prompt-summary path: active Xeno proprietary migration goal and `switch-to-proprietary.md`.
|
|
61
|
-
- Confirmation that no third-party source entered the prompt: no replaced-package implementation source was supplied or inspected; public platform/API documentation and Xeno-owned contracts were used.
|
|
62
|
-
- Human review performed: pending.
|
|
63
|
-
|
|
64
|
-
## Verification evidence
|
|
65
|
-
|
|
66
|
-
- Unit and compatibility tests: 13 focused tests pass on Windows; 12 execute and pass in a clean Linux Docker dependency environment with one Windows-only local-load assertion skipped.
|
|
67
|
-
- Conformance corpus: TTY startup, ordered output, Unicode input/output, resize protocol, foreground-to-background PID preservation, Ctrl+C delivery, exactly-once exit, graceful-to-force escalation, early-output bound, descendant cleanup, tampered hash rejection, unsigned-install rejection.
|
|
68
|
-
- Fuzz campaign and duration: deterministic malformed-input and lifecycle/state campaigns pass 100 iterations on the current Windows x64 artifact in 10.064 seconds, 100 iterations on Linux x64, 100 iterations on Linux arm64 under emulation, and 250 Linux x64 iterations under AddressSanitizer and UndefinedBehaviorSanitizer. Coverage-guided native fuzzing remains required before capability approval.
|
|
69
|
-
- Security/resource-limit tests: finite native event queue, bounded early buffer, hash mismatch rejection, malformed manifest rejection, installed unsigned artifact rejection, and isolated Linux AddressSanitizer/UndefinedBehaviorSanitizer smoke plus stress execution.
|
|
70
|
-
- Cross-platform results: Windows x64, Linux x64, and Linux arm64 local/container pass; Windows arm64 and macOS x64/arm64 matrix runs pending.
|
|
71
|
-
- Performance comparison: 25 rapid real-PTY cycles pass with native active-state count returning to zero. The current Windows MSVC artifact measures startup p50/p95 35.31/359.15 ms and approximately 2.6 MB/s observed output; the Linux x64 baseline measures p50/p95 14.76/17.55 ms and approximately 32.6 MB/s. Linux arm64 under emulation measures p50/p95 556.17/612.07 ms and approximately 1.64 MB/s. The dependency-free benchmark enforces conservative CI limits of 2,000 ms p95 and 1 MiB/s; a product-approved comparative release envelope remains pending.
|
|
72
|
-
- Bundle/native/SBOM evidence: artifact audit records Xeno-owned Windows x64 SHA-256 `91d9a464823091603d784cbc3a570b8a0e514576eeb4b8fb2aabcdcbb64bccad` from source SHA-256 `9f6f6248f35f2f6b767b153f66670d5ed8f95cb7d6242c77c652efe5cca2d038`, Linux x64 SHA-256 `a93757b552cb9236fe33773228072df270659d6a015a92fb96d21a9d22c5f2cb`, and Linux arm64 SHA-256 `07f660ac0c32ac7a2900f3abdfa12550f603880f02a1763a12a63064fe802006`; both Linux artifacts derive from source SHA-256 `6ba69e62cf0c0765546afa19f1820c1cc7f64f452802718c20b4a117d6c8f9c6`. The Windows PE imports only `KERNEL32.dll`; two local native rebuilds are byte-identical. Clean Debian candidates execute Linux x64 and Linux arm64 self-contained payloads. The exact cross-built Windows x64 payload (`21386d53c04116f4904da186c873089aac4db57c02281da2c14f615a50a9b616`) executes on Windows with a byte-matching extracted addon and healthy ConPTY diagnostics. The Linux arm64 payload SHA-256 is `92a8583433aec8415c1405b56ad5afe39f7560c216eac4e46684fb03041e6346`. Paired release verification correctly stops at the strict unsigned-native gate; see `docs/compliance/linux-package-candidate.md` and `docs/compliance/linux-arm64-package-candidate.md`. Clean signed-install smoke remains pending.
|
|
73
|
-
|
|
74
|
-
## Open legal or provenance questions
|
|
75
|
-
|
|
76
|
-
- Patents/specification terms: operating-system and Node API boundary review pending.
|
|
77
|
-
- Trademarks: historical replaced-package names remain only in migration evidence and forbidden-package rules.
|
|
78
|
-
- Export or distribution constraints: native binary distribution and signing review pending.
|
|
79
|
-
- Other: release trust store is empty and both exercised prebuilds are intentionally marked `unsigned-development`; unobserved architecture CI, coverage-guided fuzzing, independent review, contributor disclosures, and counsel disposition remain mandatory.
|
|
80
|
-
|
|
81
|
-
## Handoff
|
|
82
|
-
|
|
83
|
-
- Implementation complete: Windows x64, Linux x64, and Linux arm64 yes; complete PTY milestone no
|
|
84
|
-
- Evidence complete: no
|
|
85
|
-
- Ready for independent provenance review: after signing, coverage-guided fuzzing, and remaining cross-platform package evidence
|
|
86
|
-
- Author/date: Codex implementation assistant, 2026-07-12
|
|
1
|
+
# Clean-Room Implementation Record: Xeno PTY Runtime
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
- Component: Xeno-owned native PTY binding, artifact loader, and UnifiedExec adapter
|
|
6
|
+
- Replacement milestone: PROPRIETARY-PTY-1
|
|
7
|
+
- Repository and paths: `xeno-agent-cli/apps/xeno-agent-cli/native/xeno-pty/`, `apps/xeno-agent-cli/src/terminal/xeno-pty-*.ts`
|
|
8
|
+
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
+
- Implementer(s): Codex implementation assistant; human native-code review pending
|
|
10
|
+
- Contract author(s): Xeno engineering requirements in `switch-to-proprietary.md`
|
|
11
|
+
- Started at (UTC): 2026-07-12
|
|
12
|
+
- Candidate revision: `87ae64b55aa1b8c2e126294e717b229e0945db65` plus recorded working-tree changes
|
|
13
|
+
- Status: Windows x64, Linux x64, and Linux arm64 engineering complete; remaining architecture and release evidence incomplete
|
|
14
|
+
|
|
15
|
+
## Frozen behavioral contract
|
|
16
|
+
|
|
17
|
+
- Public API and observable behavior: spawn an interactive terminal with file, argument, cwd, environment, column, and row inputs; emit ordered UTF-8 data and exactly one exit event; accept input; resize; perform graceful interruption and forced process-tree termination.
|
|
18
|
+
- Compatibility fixtures: `tests/xeno-pty-integration.test.ts`, `tests/xeno-pty-adapter.test.ts`, and `tests/xeno-pty-loader.test.ts`.
|
|
19
|
+
- Intentional incompatibilities and versioning decision: the adapter reports `xeno-conpty` or `xeno-posix-pty`; unavailable platforms explicitly retain pipe mode and are not reported as interactive PTY support.
|
|
20
|
+
- Security and resource limits: direct stable C N-API only; 256-event native queue with producer backpressure; 1 MiB pre-listener output cap; SHA-256 and Ed25519 trust verification before loading; Windows Job Object kill-on-close tree ownership.
|
|
21
|
+
- Supported platforms and architectures: Windows x64, Linux x64, and Linux arm64 are implemented and locally verified. Windows arm64 and macOS x64/arm64 are configured but unobserved and remain outside the achieved capability gate.
|
|
22
|
+
|
|
23
|
+
## Normative and permitted inputs
|
|
24
|
+
|
|
25
|
+
| Source | Revision/date | Purpose | Terms reviewed by | Evidence path |
|
|
26
|
+
| --- | --- | --- | --- | --- |
|
|
27
|
+
| Xeno proprietary migration specification | 2026-07-12 | PTY behavior, ownership, packaging, and release constraints | Engineering; counsel pending | `switch-to-proprietary.md` |
|
|
28
|
+
| Microsoft CreatePseudoConsole documentation | accessed 2026-07-12 | ConPTY stream, resize, and lifecycle contract | Engineering | `https://learn.microsoft.com/windows/console/createpseudoconsole` |
|
|
29
|
+
| Microsoft Creating a Pseudoconsole Session documentation | updated 2025-08-13 | Pipe directions, STARTUPINFOEX, process creation, and close ordering | Engineering | `https://learn.microsoft.com/windows/console/creating-a-pseudoconsole-session` |
|
|
30
|
+
| Microsoft CreateProcessW and Job Object documentation | accessed 2026-07-12 | Child startup handles and process-tree containment | Engineering | Microsoft Learn Win32 API documentation |
|
|
31
|
+
| Linux man-pages `forkpty(3)`, `ioctl_tty(2)`, `setsid(2)`, and `kill(2)` | accessed 2026-07-12 | PTY creation, terminal resize, session/process-group ownership, and signal delivery | Engineering | public Linux man-pages documentation |
|
|
32
|
+
| Node stable C N-API headers | Node 24.13.1, N-API v8 target | ABI contract without `node-addon-api` | Engineering | locally installed Node headers and public Node API documentation |
|
|
33
|
+
| Xeno UnifiedExec contract | candidate working tree | Product-side PTY adapter behavior | Engineering | `xeno-agent-sdk/src/runtime/unified-exec.ts` |
|
|
34
|
+
|
|
35
|
+
## Contributor source-exposure disclosure
|
|
36
|
+
|
|
37
|
+
| Contributor | Inspected replaced source? | Date/range | Separation or review decision | Counsel reference |
|
|
38
|
+
| --- | --- | --- | --- | --- |
|
|
39
|
+
| Codex implementation assistant | No `node-pty` or `node-addon-api` implementation source was inspected. Work used Xeno contracts and Microsoft/Node public API documentation. | 2026-07-12 | Independent native and provenance review required | Pending |
|
|
40
|
+
| Human contributors | Disclosure not yet collected | Pending | Must be completed before capability approval | Pending |
|
|
41
|
+
|
|
42
|
+
## Implementation log
|
|
43
|
+
|
|
44
|
+
| Date (UTC) | Decision | Contract/source basis | Author | Evidence path |
|
|
45
|
+
| --- | --- | --- | --- | --- |
|
|
46
|
+
| 2026-07-12 | Bind ConPTY directly through stable C N-API | FR-030 through FR-035 | Codex implementation assistant | `native/xeno-pty/src/xeno_pty_win.cpp` |
|
|
47
|
+
| 2026-07-12 | Bind Linux/macOS PTY primitives directly through stable C N-API | FR-032 through FR-036 | Codex implementation assistant | `native/xeno-pty/src/xeno_pty_posix.cpp` |
|
|
48
|
+
| 2026-07-12 | Own each POSIX PTY as a session/process group and drain output before settlement | complete-tree termination and exactly-once lifecycle contract | Codex implementation assistant | POSIX native source and integration tests |
|
|
49
|
+
| 2026-07-12 | Null inherited standard handles before pseudoconsole attachment | Captured-output conformance and CreateProcess startup contract | Codex implementation assistant | `xeno_pty_win.cpp`, integration tests |
|
|
50
|
+
| 2026-07-12 | Use one bounded ordered native event channel and StringDecoder bridge | FR-034 and FR-036 | Codex implementation assistant | native source and `xeno-pty-adapter.ts` |
|
|
51
|
+
| 2026-07-12 | Join and destroy native state at exit settlement | Handle-lifecycle and exactly-once requirements | Codex implementation assistant | native diagnostics and 25-cycle soak |
|
|
52
|
+
| 2026-07-12 | Verify ABI, hash, platform, architecture, and Ed25519 trust before load | FR-038 | Codex implementation assistant | `xeno-pty-loader.ts`, manifest signer |
|
|
53
|
+
| 2026-07-12 | Forbid `node-pty` and `node-addon-api` reintroduction | Phase 3 dependency gate | Codex implementation assistant | ownership policy revision 5 |
|
|
54
|
+
| 2026-07-12 | Resolve Windows N-API exports from the actual host process instead of importing `node.exe` | renamed/self-contained Node hosts must load the same owned addon safely | Codex implementation assistant | `xeno_pty_win.cpp`, PE import verifier, packaged Windows doctor smoke |
|
|
55
|
+
| 2026-07-12 | Standardize release Windows builds on MSVC and reject non-platform PE imports | exclude GNU runtime linkage and undeclared auxiliary DLLs | Codex implementation assistant | `build-windows.ps1`, `verify-pe-imports.mjs` |
|
|
56
|
+
|
|
57
|
+
## AI assistance
|
|
58
|
+
|
|
59
|
+
- Models/tools used: OpenAI Codex coding agent, local PowerShell, Microsoft C/C++ 19.44, Node.js, Vitest, and an isolated Debian Docker verifier.
|
|
60
|
+
- Prompt or retained prompt-summary path: active Xeno proprietary migration goal and `switch-to-proprietary.md`.
|
|
61
|
+
- Confirmation that no third-party source entered the prompt: no replaced-package implementation source was supplied or inspected; public platform/API documentation and Xeno-owned contracts were used.
|
|
62
|
+
- Human review performed: pending.
|
|
63
|
+
|
|
64
|
+
## Verification evidence
|
|
65
|
+
|
|
66
|
+
- Unit and compatibility tests: 13 focused tests pass on Windows; 12 execute and pass in a clean Linux Docker dependency environment with one Windows-only local-load assertion skipped.
|
|
67
|
+
- Conformance corpus: TTY startup, ordered output, Unicode input/output, resize protocol, foreground-to-background PID preservation, Ctrl+C delivery, exactly-once exit, graceful-to-force escalation, early-output bound, descendant cleanup, tampered hash rejection, unsigned-install rejection.
|
|
68
|
+
- Fuzz campaign and duration: deterministic malformed-input and lifecycle/state campaigns pass 100 iterations on the current Windows x64 artifact in 10.064 seconds, 100 iterations on Linux x64, 100 iterations on Linux arm64 under emulation, and 250 Linux x64 iterations under AddressSanitizer and UndefinedBehaviorSanitizer. Coverage-guided native fuzzing remains required before capability approval.
|
|
69
|
+
- Security/resource-limit tests: finite native event queue, bounded early buffer, hash mismatch rejection, malformed manifest rejection, installed unsigned artifact rejection, and isolated Linux AddressSanitizer/UndefinedBehaviorSanitizer smoke plus stress execution.
|
|
70
|
+
- Cross-platform results: Windows x64, Linux x64, and Linux arm64 local/container pass; Windows arm64 and macOS x64/arm64 matrix runs pending.
|
|
71
|
+
- Performance comparison: 25 rapid real-PTY cycles pass with native active-state count returning to zero. The current Windows MSVC artifact measures startup p50/p95 35.31/359.15 ms and approximately 2.6 MB/s observed output; the Linux x64 baseline measures p50/p95 14.76/17.55 ms and approximately 32.6 MB/s. Linux arm64 under emulation measures p50/p95 556.17/612.07 ms and approximately 1.64 MB/s. The dependency-free benchmark enforces conservative CI limits of 2,000 ms p95 and 1 MiB/s; a product-approved comparative release envelope remains pending.
|
|
72
|
+
- Bundle/native/SBOM evidence: artifact audit records Xeno-owned Windows x64 SHA-256 `91d9a464823091603d784cbc3a570b8a0e514576eeb4b8fb2aabcdcbb64bccad` from source SHA-256 `9f6f6248f35f2f6b767b153f66670d5ed8f95cb7d6242c77c652efe5cca2d038`, Linux x64 SHA-256 `a93757b552cb9236fe33773228072df270659d6a015a92fb96d21a9d22c5f2cb`, and Linux arm64 SHA-256 `07f660ac0c32ac7a2900f3abdfa12550f603880f02a1763a12a63064fe802006`; both Linux artifacts derive from source SHA-256 `6ba69e62cf0c0765546afa19f1820c1cc7f64f452802718c20b4a117d6c8f9c6`. The Windows PE imports only `KERNEL32.dll`; two local native rebuilds are byte-identical. Clean Debian candidates execute Linux x64 and Linux arm64 self-contained payloads. The exact cross-built Windows x64 payload (`21386d53c04116f4904da186c873089aac4db57c02281da2c14f615a50a9b616`) executes on Windows with a byte-matching extracted addon and healthy ConPTY diagnostics. The Linux arm64 payload SHA-256 is `92a8583433aec8415c1405b56ad5afe39f7560c216eac4e46684fb03041e6346`. Paired release verification correctly stops at the strict unsigned-native gate; see `docs/compliance/linux-package-candidate.md` and `docs/compliance/linux-arm64-package-candidate.md`. Clean signed-install smoke remains pending.
|
|
73
|
+
|
|
74
|
+
## Open legal or provenance questions
|
|
75
|
+
|
|
76
|
+
- Patents/specification terms: operating-system and Node API boundary review pending.
|
|
77
|
+
- Trademarks: historical replaced-package names remain only in migration evidence and forbidden-package rules.
|
|
78
|
+
- Export or distribution constraints: native binary distribution and signing review pending.
|
|
79
|
+
- Other: release trust store is empty and both exercised prebuilds are intentionally marked `unsigned-development`; unobserved architecture CI, coverage-guided fuzzing, independent review, contributor disclosures, and counsel disposition remain mandatory.
|
|
80
|
+
|
|
81
|
+
## Handoff
|
|
82
|
+
|
|
83
|
+
- Implementation complete: Windows x64, Linux x64, and Linux arm64 yes; complete PTY milestone no
|
|
84
|
+
- Evidence complete: no
|
|
85
|
+
- Ready for independent provenance review: after signing, coverage-guided fuzzing, and remaining cross-platform package evidence
|
|
86
|
+
- Author/date: Codex implementation assistant, 2026-07-12
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# Independent Provenance Review: Xeno PTY Runtime
|
|
2
|
-
|
|
3
|
-
## Review identity
|
|
4
|
-
|
|
5
|
-
- Component: Xeno-owned native PTY runtime
|
|
6
|
-
- Replacement milestone: PROPRIETARY-PTY-1
|
|
7
|
-
- Implementation record path: `ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md`
|
|
8
|
-
- Candidate revision: `87ae64b55aa1b8c2e126294e717b229e0945db65` plus recorded working-tree changes
|
|
9
|
-
- Reviewer: pending
|
|
10
|
-
- Domain reviewer (required): pending native/runtime security reviewer
|
|
11
|
-
- Review date (UTC): pending
|
|
12
|
-
- Reviewer independent of implementation: pending
|
|
13
|
-
|
|
14
|
-
## Evidence checks
|
|
15
|
-
|
|
16
|
-
- [ ] Behavioral contract predates or is independent from implementation work.
|
|
17
|
-
- [ ] Normative and public sources are listed with revisions and evidence paths.
|
|
18
|
-
- [ ] Contributor source-exposure disclosures are complete.
|
|
19
|
-
- [ ] Required separation/counsel decisions are attached.
|
|
20
|
-
- [ ] No copied source, comments, tests, identifiers, non-normative constants, or distinctive internal structure were found.
|
|
21
|
-
- [ ] AI inputs and human review satisfy the contributor guide.
|
|
22
|
-
- [ ] Intentional incompatibilities are approved and versioned.
|
|
23
|
-
- [ ] Conformance, malformed-input, security, resource-limit, and fuzz evidence meets the component gate.
|
|
24
|
-
- [ ] Bundle graph, native hashes, SBOM, ownership inventory, and clean-install graph agree.
|
|
25
|
-
- [ ] Licenses, patents, trademarks, and specification terms have an explicit disposition.
|
|
26
|
-
|
|
27
|
-
## Similarity and provenance review method
|
|
28
|
-
|
|
29
|
-
- Files and revisions reviewed: pending
|
|
30
|
-
- Comparison method and tools: pending
|
|
31
|
-
- Findings: pending
|
|
32
|
-
- False positives and disposition: pending
|
|
33
|
-
|
|
34
|
-
## Verification summary
|
|
35
|
-
|
|
36
|
-
| Gate | Evidence | Result | Notes |
|
|
37
|
-
| --- | --- | --- | --- |
|
|
38
|
-
| Windows contract compatibility | focused PTY unit/integration suite | engineering pass | 13 tests, independent rerun pending |
|
|
39
|
-
| Security/resource limits | bounded queue/buffer, hash and manifest rejection, Job Object tree cleanup, Linux ASan/UBSan campaign | engineering pass | independent native security review and coverage-guided fuzzing pending |
|
|
40
|
-
| Lifecycle/soak | 25 integration cycles plus 100 Windows, 100 Linux, and 250 sanitized Linux stress iterations; active native state returns to zero | engineering pass | longer soak and platform handle tooling pending |
|
|
41
|
-
| Performance envelope | dependency-free startup/throughput benchmark | engineering pass | Windows p95 42.08 ms / ~8.7 MB/s; Linux p95 17.55 ms / ~32.6 MB/s; product approval pending |
|
|
42
|
-
| Cross-platform | Windows x64 and Linux x64 | partial | 12 Linux tests pass with one Windows-only assertion skipped; Windows/Linux ARM64 and macOS matrix evidence pending |
|
|
43
|
-
| Artifact ownership | ownership audit and dry-run tarball | partial | unsigned development binary; signed clean install pending |
|
|
44
|
-
|
|
45
|
-
## Decision
|
|
46
|
-
|
|
47
|
-
- Engineering provenance decision: needs-work
|
|
48
|
-
- Capability gate may be marked achieved: no
|
|
49
|
-
- Public clean-room/proprietary claim approved by this review: no
|
|
50
|
-
- Required follow-up: produce and observe the remaining claimed-architecture prebuilds, sign with an approved release key, run native fuzz/sanitizer and performance campaigns, collect contributor disclosures, assign independent reviewers, and attach counsel disposition.
|
|
51
|
-
- Reviewer signature/date: pending
|
|
52
|
-
- Counsel approval reference (required for public claim): pending
|
|
1
|
+
# Independent Provenance Review: Xeno PTY Runtime
|
|
2
|
+
|
|
3
|
+
## Review identity
|
|
4
|
+
|
|
5
|
+
- Component: Xeno-owned native PTY runtime
|
|
6
|
+
- Replacement milestone: PROPRIETARY-PTY-1
|
|
7
|
+
- Implementation record path: `ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md`
|
|
8
|
+
- Candidate revision: `87ae64b55aa1b8c2e126294e717b229e0945db65` plus recorded working-tree changes
|
|
9
|
+
- Reviewer: pending
|
|
10
|
+
- Domain reviewer (required): pending native/runtime security reviewer
|
|
11
|
+
- Review date (UTC): pending
|
|
12
|
+
- Reviewer independent of implementation: pending
|
|
13
|
+
|
|
14
|
+
## Evidence checks
|
|
15
|
+
|
|
16
|
+
- [ ] Behavioral contract predates or is independent from implementation work.
|
|
17
|
+
- [ ] Normative and public sources are listed with revisions and evidence paths.
|
|
18
|
+
- [ ] Contributor source-exposure disclosures are complete.
|
|
19
|
+
- [ ] Required separation/counsel decisions are attached.
|
|
20
|
+
- [ ] No copied source, comments, tests, identifiers, non-normative constants, or distinctive internal structure were found.
|
|
21
|
+
- [ ] AI inputs and human review satisfy the contributor guide.
|
|
22
|
+
- [ ] Intentional incompatibilities are approved and versioned.
|
|
23
|
+
- [ ] Conformance, malformed-input, security, resource-limit, and fuzz evidence meets the component gate.
|
|
24
|
+
- [ ] Bundle graph, native hashes, SBOM, ownership inventory, and clean-install graph agree.
|
|
25
|
+
- [ ] Licenses, patents, trademarks, and specification terms have an explicit disposition.
|
|
26
|
+
|
|
27
|
+
## Similarity and provenance review method
|
|
28
|
+
|
|
29
|
+
- Files and revisions reviewed: pending
|
|
30
|
+
- Comparison method and tools: pending
|
|
31
|
+
- Findings: pending
|
|
32
|
+
- False positives and disposition: pending
|
|
33
|
+
|
|
34
|
+
## Verification summary
|
|
35
|
+
|
|
36
|
+
| Gate | Evidence | Result | Notes |
|
|
37
|
+
| --- | --- | --- | --- |
|
|
38
|
+
| Windows contract compatibility | focused PTY unit/integration suite | engineering pass | 13 tests, independent rerun pending |
|
|
39
|
+
| Security/resource limits | bounded queue/buffer, hash and manifest rejection, Job Object tree cleanup, Linux ASan/UBSan campaign | engineering pass | independent native security review and coverage-guided fuzzing pending |
|
|
40
|
+
| Lifecycle/soak | 25 integration cycles plus 100 Windows, 100 Linux, and 250 sanitized Linux stress iterations; active native state returns to zero | engineering pass | longer soak and platform handle tooling pending |
|
|
41
|
+
| Performance envelope | dependency-free startup/throughput benchmark | engineering pass | Windows p95 42.08 ms / ~8.7 MB/s; Linux p95 17.55 ms / ~32.6 MB/s; product approval pending |
|
|
42
|
+
| Cross-platform | Windows x64 and Linux x64 | partial | 12 Linux tests pass with one Windows-only assertion skipped; Windows/Linux ARM64 and macOS matrix evidence pending |
|
|
43
|
+
| Artifact ownership | ownership audit and dry-run tarball | partial | unsigned development binary; signed clean install pending |
|
|
44
|
+
|
|
45
|
+
## Decision
|
|
46
|
+
|
|
47
|
+
- Engineering provenance decision: needs-work
|
|
48
|
+
- Capability gate may be marked achieved: no
|
|
49
|
+
- Public clean-room/proprietary claim approved by this review: no
|
|
50
|
+
- Required follow-up: produce and observe the remaining claimed-architecture prebuilds, sign with an approved release key, run native fuzz/sanitizer and performance campaigns, collect contributor disclosures, assign independent reviewers, and attach counsel disposition.
|
|
51
|
+
- Reviewer signature/date: pending
|
|
52
|
+
- Counsel approval reference (required for public claim): pending
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
# Runtime Boundary Decision Record: Current Xeno CLI Distributions
|
|
2
|
-
|
|
3
|
-
## Identity
|
|
4
|
-
|
|
5
|
-
- Component: npm Node-host profile and self-contained external-runtime profiles
|
|
6
|
-
- Replacement milestone: PROPRIETARY-RUNTIME-1
|
|
7
|
-
- Repository and paths: `xeno-agent-cli/scripts/build-standalone.mjs`, compatibility shell wrapper, `scripts/audit-self-contained-runtime.mjs`, release workflow, install scripts, and runtime-boundary documentation
|
|
8
|
-
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
-
- Decision date (UTC): 2026-07-12
|
|
10
|
-
- Status: Phase 6 decision complete; P3 explicitly declined for the current architecture and release series
|
|
11
|
-
|
|
12
|
-
## Decision
|
|
13
|
-
|
|
14
|
-
- The supported npm profile requires a separately installed Node.js 20 or newer host.
|
|
15
|
-
- The `pkg` self-contained profile embeds Node.js, including the Node V8, libuv, OpenSSL, and zlib runtime boundary.
|
|
16
|
-
- The Bun self-contained profile embeds the third-party Bun runtime and its transitive runtime components.
|
|
17
|
-
- All three profiles have a maximum ownership claim of P2 after the separate P1/P2 capability and provenance gates pass.
|
|
18
|
-
- The `owned-standalone-runtime` P3 capability remains `achieved: false`.
|
|
19
|
-
- Current self-contained assets may not be described as P3, fully proprietary, 100% Xeno-owned, native-owned, or free of third-party runtime code.
|
|
20
|
-
- Replacing `pkg` with another third-party packager or embedded runtime does not advance P3.
|
|
21
|
-
|
|
22
|
-
## Installer and Packaging Audit
|
|
23
|
-
|
|
24
|
-
| Surface | Actual behavior | Runtime boundary | Claim disposition |
|
|
25
|
-
| --- | --- | --- | --- |
|
|
26
|
-
| `scripts/install.sh` | Resolves npm integrity and runs global npm install | Separately installed Node/npm | External host; maximum P2 |
|
|
27
|
-
| `scripts/install.ps1` | Resolves npm integrity and runs global npm install | Separately installed Node/npm | External host; maximum P2 |
|
|
28
|
-
| `build-standalone.mjs pkg` | Compiles self-contained platform payloads with pinned `pkg` through an owned cross-platform orchestrator | Embedded Node/V8/libuv/OpenSSL/zlib | External embedded runtime; not P3 |
|
|
29
|
-
| `build-standalone.mjs bun` | Compiles self-contained platform payloads with a preinstalled Bun through the same orchestrator | Embedded Bun and transitive runtime | External embedded runtime; not P3 |
|
|
30
|
-
| GitHub `cli-v*` release | Publishes payloads, archives, runtime manifest, and checksums | Profile declared by `RUNTIME-BOUNDARY.json` | Release notes must state external runtime and not P3 |
|
|
31
|
-
|
|
32
|
-
## Enforcement
|
|
33
|
-
|
|
34
|
-
- `scripts/audit-self-contained-runtime.mjs` hashes every raw self-contained payload and writes a deterministic `RUNTIME-BOUNDARY.json`.
|
|
35
|
-
- Verification fails for a missing payload, unknown packaging mode, changed payload hash, changed manifest, or ownership ceiling above P2.
|
|
36
|
-
- The build script cleans the release staging directory so Bun and Node profiles cannot be mixed.
|
|
37
|
-
- Target validation fails closed unless the corresponding audited PTY manifest and native payload exist.
|
|
38
|
-
- Before `pkg` runs, the owned orchestrator invokes the pinned `pkg-fetch` entry point with `--force-fetch`; existing/downloaded bases must match the packager's expected SHA-256, and fetch failures terminate explicitly instead of falling back to an implicit Node.js source build.
|
|
39
|
-
- The owned orchestrator writes normalized ZIP/TAR archives and SHA-256 records without Bash, `npx`, or external archive/checksum utilities.
|
|
40
|
-
- The release workflow verifies the runtime manifest before uploading assets.
|
|
41
|
-
- `SHA256SUMS.txt` is generated after the runtime manifest and therefore covers the claim record as well as payloads and archives.
|
|
42
|
-
- Compatibility labels `standalone` and `native` remain in scripts/environment values, but documentation defines them as self-contained distribution labels rather than ownership claims.
|
|
43
|
-
|
|
44
|
-
## Verification Evidence
|
|
45
|
-
|
|
46
|
-
- Runtime-boundary self-test creates a synthetic PE payload, writes and verifies the Node profile, mutates the payload, and confirms verification rejects it.
|
|
47
|
-
- Focused install-documentation tests assert the profile scripts, workflow gate, manifest name, and not-P3 language.
|
|
48
|
-
- A clean Debian Node 24.18.0 run builds the exact SDK and CLI candidates, packages Linux x64 and Windows x64, executes and verifies the Linux payload, and reaches only the required unsigned-native release blocker.
|
|
49
|
-
- A clean Debian Linux arm64 run under QEMU builds the exact SDK and CLI candidates, packages and executes `xeno-linux-arm64`, verifies owned PTY/preview plus bubblewrap containment, and reaches only the required unsigned-native release blocker. See `docs/compliance/linux-arm64-package-candidate.md`.
|
|
50
|
-
- Focused packaging tests verify Linux arm64 and Windows arm64 base-prefetch arguments plus unsupported-target rejection. A transient GitHub `503` was reproduced as the historical trigger for implicit source compilation; the new preflight converts that condition into a bounded explicit failure.
|
|
51
|
-
- The exact clean cross-built Windows payload executes under its real `xeno-win-x64.exe` name with healthy process-tree, ConPTY, owned-preview, and ownership-policy diagnostics.
|
|
52
|
-
- Two consecutive same-environment Windows runs produce byte-identical executable, ZIP, runtime manifest, and checksum files. Independent-environment reproducibility remains a P4 gate.
|
|
53
|
-
- CLI build, typecheck, release-package smoke, compliance, and artifact inventory must still pass for each release candidate.
|
|
54
|
-
- No current release artifact was published by this implementation work.
|
|
55
|
-
|
|
56
|
-
## P3 Reconsideration Gate
|
|
57
|
-
|
|
58
|
-
P3 requires either an owned native runtime rewrite or a sustained Xeno-owned JavaScript-compatible runtime, followed by cross-platform conformance, deterministic artifacts, provenance, SBOM, signing, and independent review. It is a separate multi-year program and is not part of the current P2 release target.
|
|
59
|
-
|
|
60
|
-
## Handoff
|
|
61
|
-
|
|
62
|
-
- Phase 6 decision complete: yes
|
|
63
|
-
- P3 implementation complete: no
|
|
64
|
-
- P3 evidence complete: no
|
|
65
|
-
- P3 capability gate may be marked achieved: no
|
|
66
|
-
- Public not-P3 boundary ready for engineering use: yes
|
|
67
|
-
- Counsel/public ownership approval: pending
|
|
68
|
-
- Author/date: Codex implementation assistant, 2026-07-12
|
|
1
|
+
# Runtime Boundary Decision Record: Current Xeno CLI Distributions
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
- Component: npm Node-host profile and self-contained external-runtime profiles
|
|
6
|
+
- Replacement milestone: PROPRIETARY-RUNTIME-1
|
|
7
|
+
- Repository and paths: `xeno-agent-cli/scripts/build-standalone.mjs`, compatibility shell wrapper, `scripts/audit-self-contained-runtime.mjs`, release workflow, install scripts, and runtime-boundary documentation
|
|
8
|
+
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
+
- Decision date (UTC): 2026-07-12
|
|
10
|
+
- Status: Phase 6 decision complete; P3 explicitly declined for the current architecture and release series
|
|
11
|
+
|
|
12
|
+
## Decision
|
|
13
|
+
|
|
14
|
+
- The supported npm profile requires a separately installed Node.js 20 or newer host.
|
|
15
|
+
- The `pkg` self-contained profile embeds Node.js, including the Node V8, libuv, OpenSSL, and zlib runtime boundary.
|
|
16
|
+
- The Bun self-contained profile embeds the third-party Bun runtime and its transitive runtime components.
|
|
17
|
+
- All three profiles have a maximum ownership claim of P2 after the separate P1/P2 capability and provenance gates pass.
|
|
18
|
+
- The `owned-standalone-runtime` P3 capability remains `achieved: false`.
|
|
19
|
+
- Current self-contained assets may not be described as P3, fully proprietary, 100% Xeno-owned, native-owned, or free of third-party runtime code.
|
|
20
|
+
- Replacing `pkg` with another third-party packager or embedded runtime does not advance P3.
|
|
21
|
+
|
|
22
|
+
## Installer and Packaging Audit
|
|
23
|
+
|
|
24
|
+
| Surface | Actual behavior | Runtime boundary | Claim disposition |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
| `scripts/install.sh` | Resolves npm integrity and runs global npm install | Separately installed Node/npm | External host; maximum P2 |
|
|
27
|
+
| `scripts/install.ps1` | Resolves npm integrity and runs global npm install | Separately installed Node/npm | External host; maximum P2 |
|
|
28
|
+
| `build-standalone.mjs pkg` | Compiles self-contained platform payloads with pinned `pkg` through an owned cross-platform orchestrator | Embedded Node/V8/libuv/OpenSSL/zlib | External embedded runtime; not P3 |
|
|
29
|
+
| `build-standalone.mjs bun` | Compiles self-contained platform payloads with a preinstalled Bun through the same orchestrator | Embedded Bun and transitive runtime | External embedded runtime; not P3 |
|
|
30
|
+
| GitHub `cli-v*` release | Publishes payloads, archives, runtime manifest, and checksums | Profile declared by `RUNTIME-BOUNDARY.json` | Release notes must state external runtime and not P3 |
|
|
31
|
+
|
|
32
|
+
## Enforcement
|
|
33
|
+
|
|
34
|
+
- `scripts/audit-self-contained-runtime.mjs` hashes every raw self-contained payload and writes a deterministic `RUNTIME-BOUNDARY.json`.
|
|
35
|
+
- Verification fails for a missing payload, unknown packaging mode, changed payload hash, changed manifest, or ownership ceiling above P2.
|
|
36
|
+
- The build script cleans the release staging directory so Bun and Node profiles cannot be mixed.
|
|
37
|
+
- Target validation fails closed unless the corresponding audited PTY manifest and native payload exist.
|
|
38
|
+
- Before `pkg` runs, the owned orchestrator invokes the pinned `pkg-fetch` entry point with `--force-fetch`; existing/downloaded bases must match the packager's expected SHA-256, and fetch failures terminate explicitly instead of falling back to an implicit Node.js source build.
|
|
39
|
+
- The owned orchestrator writes normalized ZIP/TAR archives and SHA-256 records without Bash, `npx`, or external archive/checksum utilities.
|
|
40
|
+
- The release workflow verifies the runtime manifest before uploading assets.
|
|
41
|
+
- `SHA256SUMS.txt` is generated after the runtime manifest and therefore covers the claim record as well as payloads and archives.
|
|
42
|
+
- Compatibility labels `standalone` and `native` remain in scripts/environment values, but documentation defines them as self-contained distribution labels rather than ownership claims.
|
|
43
|
+
|
|
44
|
+
## Verification Evidence
|
|
45
|
+
|
|
46
|
+
- Runtime-boundary self-test creates a synthetic PE payload, writes and verifies the Node profile, mutates the payload, and confirms verification rejects it.
|
|
47
|
+
- Focused install-documentation tests assert the profile scripts, workflow gate, manifest name, and not-P3 language.
|
|
48
|
+
- A clean Debian Node 24.18.0 run builds the exact SDK and CLI candidates, packages Linux x64 and Windows x64, executes and verifies the Linux payload, and reaches only the required unsigned-native release blocker.
|
|
49
|
+
- A clean Debian Linux arm64 run under QEMU builds the exact SDK and CLI candidates, packages and executes `xeno-linux-arm64`, verifies owned PTY/preview plus bubblewrap containment, and reaches only the required unsigned-native release blocker. See `docs/compliance/linux-arm64-package-candidate.md`.
|
|
50
|
+
- Focused packaging tests verify Linux arm64 and Windows arm64 base-prefetch arguments plus unsupported-target rejection. A transient GitHub `503` was reproduced as the historical trigger for implicit source compilation; the new preflight converts that condition into a bounded explicit failure.
|
|
51
|
+
- The exact clean cross-built Windows payload executes under its real `xeno-win-x64.exe` name with healthy process-tree, ConPTY, owned-preview, and ownership-policy diagnostics.
|
|
52
|
+
- Two consecutive same-environment Windows runs produce byte-identical executable, ZIP, runtime manifest, and checksum files. Independent-environment reproducibility remains a P4 gate.
|
|
53
|
+
- CLI build, typecheck, release-package smoke, compliance, and artifact inventory must still pass for each release candidate.
|
|
54
|
+
- No current release artifact was published by this implementation work.
|
|
55
|
+
|
|
56
|
+
## P3 Reconsideration Gate
|
|
57
|
+
|
|
58
|
+
P3 requires either an owned native runtime rewrite or a sustained Xeno-owned JavaScript-compatible runtime, followed by cross-platform conformance, deterministic artifacts, provenance, SBOM, signing, and independent review. It is a separate multi-year program and is not part of the current P2 release target.
|
|
59
|
+
|
|
60
|
+
## Handoff
|
|
61
|
+
|
|
62
|
+
- Phase 6 decision complete: yes
|
|
63
|
+
- P3 implementation complete: no
|
|
64
|
+
- P3 evidence complete: no
|
|
65
|
+
- P3 capability gate may be marked achieved: no
|
|
66
|
+
- Public not-P3 boundary ready for engineering use: yes
|
|
67
|
+
- Counsel/public ownership approval: pending
|
|
68
|
+
- Author/date: Codex implementation assistant, 2026-07-12
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
# Independent Provenance Review: Runtime Boundary Decision
|
|
2
|
-
|
|
3
|
-
## Review Identity
|
|
4
|
-
|
|
5
|
-
- Component: current npm and self-contained runtime profiles
|
|
6
|
-
- Replacement milestone: PROPRIETARY-RUNTIME-1
|
|
7
|
-
- Implementation record: `ownership/evidence/PROPRIETARY-RUNTIME-1/implementation-record.md`
|
|
8
|
-
- Reviewer: pending independent reviewer
|
|
9
|
-
- Review date (UTC): pending
|
|
10
|
-
- Reviewer independent of implementation: pending
|
|
11
|
-
|
|
12
|
-
## Current Evidence Status
|
|
13
|
-
|
|
14
|
-
- [x] The npm Node-host boundary is explicitly disclosed.
|
|
15
|
-
- [x] The `pkg` profile is classified as an embedded Node/V8/libuv/OpenSSL/zlib runtime.
|
|
16
|
-
- [x] The Bun profile is classified as an embedded external Bun runtime without unsupported transitive-absence claims.
|
|
17
|
-
- [x] Product language and release notes are bounded to maximum P2 and explicitly reject P3.
|
|
18
|
-
- [x] A deterministic artifact-hash manifest and tamper self-test are present.
|
|
19
|
-
- [ ] A real release candidate for every claimed platform has been built and audited.
|
|
20
|
-
- [ ] Per-build SBOMs and native import/symbol inventories have been reconciled.
|
|
21
|
-
- [ ] Reproducibility has been demonstrated in two clean environments.
|
|
22
|
-
- [ ] Independent engineering and counsel review is signed.
|
|
23
|
-
|
|
24
|
-
## Decision
|
|
25
|
-
|
|
26
|
-
- Engineering boundary decision: needs independent review
|
|
27
|
-
- Phase 6 no-P3 strategy may be used internally: yes
|
|
28
|
-
- P3 capability gate may be marked achieved: no
|
|
29
|
-
- Public claim that the standalone runtime is proprietary: no
|
|
30
|
-
- Required follow-up: audit real release payloads, reconcile SBOM/import evidence, and obtain independent/counsel approval
|
|
31
|
-
- Reviewer signature/date: pending
|
|
32
|
-
- Counsel approval reference: pending
|
|
1
|
+
# Independent Provenance Review: Runtime Boundary Decision
|
|
2
|
+
|
|
3
|
+
## Review Identity
|
|
4
|
+
|
|
5
|
+
- Component: current npm and self-contained runtime profiles
|
|
6
|
+
- Replacement milestone: PROPRIETARY-RUNTIME-1
|
|
7
|
+
- Implementation record: `ownership/evidence/PROPRIETARY-RUNTIME-1/implementation-record.md`
|
|
8
|
+
- Reviewer: pending independent reviewer
|
|
9
|
+
- Review date (UTC): pending
|
|
10
|
+
- Reviewer independent of implementation: pending
|
|
11
|
+
|
|
12
|
+
## Current Evidence Status
|
|
13
|
+
|
|
14
|
+
- [x] The npm Node-host boundary is explicitly disclosed.
|
|
15
|
+
- [x] The `pkg` profile is classified as an embedded Node/V8/libuv/OpenSSL/zlib runtime.
|
|
16
|
+
- [x] The Bun profile is classified as an embedded external Bun runtime without unsupported transitive-absence claims.
|
|
17
|
+
- [x] Product language and release notes are bounded to maximum P2 and explicitly reject P3.
|
|
18
|
+
- [x] A deterministic artifact-hash manifest and tamper self-test are present.
|
|
19
|
+
- [ ] A real release candidate for every claimed platform has been built and audited.
|
|
20
|
+
- [ ] Per-build SBOMs and native import/symbol inventories have been reconciled.
|
|
21
|
+
- [ ] Reproducibility has been demonstrated in two clean environments.
|
|
22
|
+
- [ ] Independent engineering and counsel review is signed.
|
|
23
|
+
|
|
24
|
+
## Decision
|
|
25
|
+
|
|
26
|
+
- Engineering boundary decision: needs independent review
|
|
27
|
+
- Phase 6 no-P3 strategy may be used internally: yes
|
|
28
|
+
- P3 capability gate may be marked achieved: no
|
|
29
|
+
- Public claim that the standalone runtime is proprietary: no
|
|
30
|
+
- Required follow-up: audit real release payloads, reconcile SBOM/import evidence, and obtain independent/counsel approval
|
|
31
|
+
- Reviewer signature/date: pending
|
|
32
|
+
- Counsel approval reference: pending
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# Toolchain Boundary Record: Current Xeno Build System
|
|
2
|
-
|
|
3
|
-
## Identity
|
|
4
|
-
|
|
5
|
-
- Component: TypeScript/Node development, test, analysis, bundling, packaging, native-build, and CI toolchain
|
|
6
|
-
- Replacement milestone: PROPRIETARY-TOOLCHAIN-1
|
|
7
|
-
- Repository and paths: CLI/SDK manifests and lockfiles, build/test configs, native build scripts, CI workflows, and generated compliance inventories
|
|
8
|
-
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
-
- Audit date (UTC): 2026-07-12
|
|
10
|
-
- Status: boundary inventory and anti-overclaim controls complete; P4 implementation not started
|
|
11
|
-
|
|
12
|
-
## Current Boundary
|
|
13
|
-
|
|
14
|
-
- Product target: P2.
|
|
15
|
-
- P4 capability gate: false.
|
|
16
|
-
- Generated CLI development graph at audit: 397 records, including 392 build-only and 5 external-runtime records.
|
|
17
|
-
- Unique development package names at audit: 324.
|
|
18
|
-
- Direct tool groups: TypeScript/type contracts, tsup/esbuild, TSX, Vite/Vitest/Rollup, ESLint/typescript-eslint, npm/lockfile tooling, and @yao-pkg/pkg.
|
|
19
|
-
- Native and hosted boundaries: operating-system compilers/SDKs/linkers, Node/N-API headers, shell/PowerShell, and GitHub Actions remain external.
|
|
20
|
-
- License review: seven installed development entries require review; no claim resolves those entries automatically.
|
|
21
|
-
|
|
22
|
-
## Controls Added
|
|
23
|
-
|
|
24
|
-
- `@yao-pkg/pkg@6.21.0` is exact and committed to the lockfile.
|
|
25
|
-
- The cross-platform owned packaging orchestrator invokes the exact installed `@yao-pkg/pkg@6.21.0` entry point directly; release packaging does not use `npx` or download a moving package compiler.
|
|
26
|
-
- Deterministic ZIP/TAR generation, checksums, target validation, and runtime-manifest orchestration are Xeno-owned control logic.
|
|
27
|
-
- Optional Bun packaging requires a preinstalled executable and never downloads Bun in the build script.
|
|
28
|
-
- `scripts/verify-toolchain-boundary.mjs` reconciles direct manifest requests to lockfile versions, generated development records, license-review entries, and the false P4 policy gate.
|
|
29
|
-
- `npm run compliance:toolchain` writes and immediately verifies `docs/compliance/toolchain-boundary.json`.
|
|
30
|
-
- Human-readable scope and exit criteria are in `docs/TOOLCHAIN_BOUNDARIES.md`.
|
|
31
|
-
|
|
32
|
-
## P4 Replacement Scope
|
|
33
|
-
|
|
34
|
-
P4 requires owned language parsing/type analysis/transpilation, bundling and source maps, test runtime/assertions/mocking/coverage, static analysis, package resolution/integrity/packing/publication, executable packaging, native build orchestration, and deterministic provenance. The accepted OS/compiler/SDK/hosted-CI boundary must be approved before implementation.
|
|
35
|
-
|
|
36
|
-
## Verification Evidence
|
|
37
|
-
|
|
38
|
-
- Toolchain boundary write/verify passes against the current lock, policy, ownership graph, and license inventory.
|
|
39
|
-
- The packaging control path passes focused deterministic archive and PE-import tests, a clean Debian dual-target run, exact Windows cross-built execution, and same-environment byte comparison.
|
|
40
|
-
- CLI build and TypeScript checks pass with the sibling SDK junction restored.
|
|
41
|
-
- CLI compliance reports zero ownership violations; artifact-inclusive audit reports 927 records and zero violations.
|
|
42
|
-
- These results prove classification, control-path behavior, and same-environment reproducibility only. They do not prove P4 or independent-environment byte reproducibility.
|
|
43
|
-
- No release was published by this work.
|
|
44
|
-
|
|
45
|
-
## Handoff
|
|
46
|
-
|
|
47
|
-
- Phase 7 inventory and claim boundary complete: yes
|
|
48
|
-
- P4 implementation complete: no
|
|
49
|
-
- P4 evidence complete: no
|
|
50
|
-
- P4 capability gate may be marked achieved: no
|
|
51
|
-
- Ready to scope a separately funded compiler/toolchain program: yes
|
|
52
|
-
- Counsel/public P4 approval: pending
|
|
53
|
-
- Author/date: Codex implementation assistant, 2026-07-12
|
|
1
|
+
# Toolchain Boundary Record: Current Xeno Build System
|
|
2
|
+
|
|
3
|
+
## Identity
|
|
4
|
+
|
|
5
|
+
- Component: TypeScript/Node development, test, analysis, bundling, packaging, native-build, and CI toolchain
|
|
6
|
+
- Replacement milestone: PROPRIETARY-TOOLCHAIN-1
|
|
7
|
+
- Repository and paths: CLI/SDK manifests and lockfiles, build/test configs, native build scripts, CI workflows, and generated compliance inventories
|
|
8
|
+
- Record owner: Xeno engineering, final owner assignment pending
|
|
9
|
+
- Audit date (UTC): 2026-07-12
|
|
10
|
+
- Status: boundary inventory and anti-overclaim controls complete; P4 implementation not started
|
|
11
|
+
|
|
12
|
+
## Current Boundary
|
|
13
|
+
|
|
14
|
+
- Product target: P2.
|
|
15
|
+
- P4 capability gate: false.
|
|
16
|
+
- Generated CLI development graph at audit: 397 records, including 392 build-only and 5 external-runtime records.
|
|
17
|
+
- Unique development package names at audit: 324.
|
|
18
|
+
- Direct tool groups: TypeScript/type contracts, tsup/esbuild, TSX, Vite/Vitest/Rollup, ESLint/typescript-eslint, npm/lockfile tooling, and @yao-pkg/pkg.
|
|
19
|
+
- Native and hosted boundaries: operating-system compilers/SDKs/linkers, Node/N-API headers, shell/PowerShell, and GitHub Actions remain external.
|
|
20
|
+
- License review: seven installed development entries require review; no claim resolves those entries automatically.
|
|
21
|
+
|
|
22
|
+
## Controls Added
|
|
23
|
+
|
|
24
|
+
- `@yao-pkg/pkg@6.21.0` is exact and committed to the lockfile.
|
|
25
|
+
- The cross-platform owned packaging orchestrator invokes the exact installed `@yao-pkg/pkg@6.21.0` entry point directly; release packaging does not use `npx` or download a moving package compiler.
|
|
26
|
+
- Deterministic ZIP/TAR generation, checksums, target validation, and runtime-manifest orchestration are Xeno-owned control logic.
|
|
27
|
+
- Optional Bun packaging requires a preinstalled executable and never downloads Bun in the build script.
|
|
28
|
+
- `scripts/verify-toolchain-boundary.mjs` reconciles direct manifest requests to lockfile versions, generated development records, license-review entries, and the false P4 policy gate.
|
|
29
|
+
- `npm run compliance:toolchain` writes and immediately verifies `docs/compliance/toolchain-boundary.json`.
|
|
30
|
+
- Human-readable scope and exit criteria are in `docs/TOOLCHAIN_BOUNDARIES.md`.
|
|
31
|
+
|
|
32
|
+
## P4 Replacement Scope
|
|
33
|
+
|
|
34
|
+
P4 requires owned language parsing/type analysis/transpilation, bundling and source maps, test runtime/assertions/mocking/coverage, static analysis, package resolution/integrity/packing/publication, executable packaging, native build orchestration, and deterministic provenance. The accepted OS/compiler/SDK/hosted-CI boundary must be approved before implementation.
|
|
35
|
+
|
|
36
|
+
## Verification Evidence
|
|
37
|
+
|
|
38
|
+
- Toolchain boundary write/verify passes against the current lock, policy, ownership graph, and license inventory.
|
|
39
|
+
- The packaging control path passes focused deterministic archive and PE-import tests, a clean Debian dual-target run, exact Windows cross-built execution, and same-environment byte comparison.
|
|
40
|
+
- CLI build and TypeScript checks pass with the sibling SDK junction restored.
|
|
41
|
+
- CLI compliance reports zero ownership violations; artifact-inclusive audit reports 927 records and zero violations.
|
|
42
|
+
- These results prove classification, control-path behavior, and same-environment reproducibility only. They do not prove P4 or independent-environment byte reproducibility.
|
|
43
|
+
- No release was published by this work.
|
|
44
|
+
|
|
45
|
+
## Handoff
|
|
46
|
+
|
|
47
|
+
- Phase 7 inventory and claim boundary complete: yes
|
|
48
|
+
- P4 implementation complete: no
|
|
49
|
+
- P4 evidence complete: no
|
|
50
|
+
- P4 capability gate may be marked achieved: no
|
|
51
|
+
- Ready to scope a separately funded compiler/toolchain program: yes
|
|
52
|
+
- Counsel/public P4 approval: pending
|
|
53
|
+
- Author/date: Codex implementation assistant, 2026-07-12
|