@xenosystem/agent-sdk 0.9.8 → 0.9.9

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.
Files changed (92) hide show
  1. package/LICENSE +15 -15
  2. package/README.md +511 -511
  3. package/dist/agents/metafile-cjs.json +1 -1
  4. package/dist/agents/metafile-esm.json +1 -1
  5. package/dist/artifacts/index.cjs +1 -1
  6. package/dist/artifacts/index.js +1 -1
  7. package/dist/artifacts/metafile-cjs.json +1 -1
  8. package/dist/artifacts/metafile-esm.json +1 -1
  9. package/dist/automation/index.cjs +478 -17
  10. package/dist/automation/index.js +478 -17
  11. package/dist/automation/metafile-cjs.json +1 -1
  12. package/dist/automation/metafile-esm.json +1 -1
  13. package/dist/control-plane/index.cjs +1 -1
  14. package/dist/control-plane/index.js +1 -1
  15. package/dist/control-plane/metafile-cjs.json +1 -1
  16. package/dist/control-plane/metafile-esm.json +1 -1
  17. package/dist/control-room/metafile-cjs.json +1 -1
  18. package/dist/control-room/metafile-esm.json +1 -1
  19. package/dist/electron/index.cjs +614 -153
  20. package/dist/electron/index.d.cts +0 -1
  21. package/dist/electron/index.d.ts +0 -1
  22. package/dist/electron/index.js +617 -156
  23. package/dist/electron/metafile-cjs.json +1 -1
  24. package/dist/electron/metafile-esm.json +1 -1
  25. package/dist/governance/metafile-cjs.json +1 -1
  26. package/dist/governance/metafile-esm.json +1 -1
  27. package/dist/hooks/metafile-cjs.json +1 -1
  28. package/dist/hooks/metafile-esm.json +1 -1
  29. package/dist/hosted/metafile-cjs.json +1 -1
  30. package/dist/hosted/metafile-esm.json +1 -1
  31. package/dist/index.cjs +787 -316
  32. package/dist/index.d.cts +15 -4
  33. package/dist/index.d.ts +15 -4
  34. package/dist/index.js +788 -317
  35. package/dist/intelligence/metafile-cjs.json +1 -1
  36. package/dist/intelligence/metafile-esm.json +1 -1
  37. package/dist/mcp/metafile-cjs.json +1 -1
  38. package/dist/mcp/metafile-esm.json +1 -1
  39. package/dist/metafile-cjs.json +1 -1
  40. package/dist/metafile-esm.json +1 -1
  41. package/dist/oracle/metafile-cjs.json +1 -1
  42. package/dist/oracle/metafile-esm.json +1 -1
  43. package/dist/providers/index.cjs +8 -8
  44. package/dist/providers/index.js +7 -7
  45. package/dist/providers/metafile-cjs.json +1 -1
  46. package/dist/providers/metafile-esm.json +1 -1
  47. package/dist/recipes/metafile-cjs.json +1 -1
  48. package/dist/recipes/metafile-esm.json +1 -1
  49. package/dist/research/metafile-cjs.json +1 -1
  50. package/dist/research/metafile-esm.json +1 -1
  51. package/dist/session/index.cjs +6 -6
  52. package/dist/session/index.js +10 -10
  53. package/dist/session/metafile-cjs.json +1 -1
  54. package/dist/session/metafile-esm.json +1 -1
  55. package/dist/sharing/metafile-cjs.json +1 -1
  56. package/dist/sharing/metafile-esm.json +1 -1
  57. package/dist/skills/metafile-cjs.json +1 -1
  58. package/dist/skills/metafile-esm.json +1 -1
  59. package/dist/soul/metafile-cjs.json +1 -1
  60. package/dist/soul/metafile-esm.json +1 -1
  61. package/dist/terminal/metafile-cjs.json +1 -1
  62. package/dist/terminal/metafile-esm.json +1 -1
  63. package/dist/ui/index.cjs +3 -3
  64. package/dist/ui/index.js +3 -3
  65. package/dist/ui/metafile-cjs.json +1 -1
  66. package/dist/ui/metafile-esm.json +1 -1
  67. package/dist/utils/metafile-cjs.json +1 -1
  68. package/dist/utils/metafile-esm.json +1 -1
  69. package/native/mxc/LICENSE.microsoft-mxc-sdk.md +20 -20
  70. package/native/mxc/README.md +25 -25
  71. package/native/mxc/bin/arm64/lxc-exec +0 -0
  72. package/native/mxc/bin/arm64/mxc-exec-mac +0 -0
  73. package/native/mxc/bin/x64/lxc-exec +0 -0
  74. package/native/mxc/package.json +58 -58
  75. package/ownership/CLEAN_ROOM_CONTRIBUTOR_GUIDE.md +63 -63
  76. package/ownership/audit.mjs +34 -3
  77. package/ownership/evidence/PROPRIETARY-COMMAND-1/implementation-record.md +77 -77
  78. package/ownership/evidence/PROPRIETARY-COMMAND-1/provenance-review.md +51 -51
  79. package/ownership/evidence/PROPRIETARY-MEDIA-1/implementation-record.md +131 -131
  80. package/ownership/evidence/PROPRIETARY-MEDIA-1/provenance-review.md +50 -50
  81. package/ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md +86 -86
  82. package/ownership/evidence/PROPRIETARY-PTY-1/provenance-review.md +52 -52
  83. package/ownership/evidence/PROPRIETARY-RUNTIME-1/implementation-record.md +68 -68
  84. package/ownership/evidence/PROPRIETARY-RUNTIME-1/provenance-review.md +32 -32
  85. package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/implementation-record.md +53 -53
  86. package/ownership/evidence/PROPRIETARY-TOOLCHAIN-1/provenance-review.md +32 -32
  87. package/ownership/evidence/PROPRIETARY-UI-1/implementation-record.md +96 -96
  88. package/ownership/evidence/PROPRIETARY-UI-1/provenance-review.md +46 -46
  89. package/ownership/ownership-policy.schema.json +192 -192
  90. package/ownership/templates/clean-room-implementation-record.md +70 -70
  91. package/ownership/templates/provenance-review.md +51 -51
  92. package/package.json +4 -1
@@ -1,50 +1,50 @@
1
- # Independent Provenance Review: Xeno-Owned Media Stack
2
-
3
- ## Review identity
4
-
5
- - Component: Xeno-owned compression, raster codecs, metadata/color conversion, and secure SVG renderer
6
- - Replacement milestone: PROPRIETARY-MEDIA-1
7
- - Implementation record path: `ownership/evidence/PROPRIETARY-MEDIA-1/implementation-record.md`
8
- - Candidate revision: `a59066e477c904e077b1aceed8a65fa9c2767535` plus recorded working-tree changes
9
- - Reviewer: pending
10
- - Domain reviewer(s): pending codec, color-management, parser-security, and intellectual-property reviewers
11
- - Review date (UTC): pending
12
- - Reviewer independent of implementation: pending
13
-
14
- ## Evidence checks
15
-
16
- - [ ] The capability matrix predates or is independently reconciled with the implementation.
17
- - [ ] Normative sources, revisions, hashes, and permitted uses are complete.
18
- - [ ] Contributor source-exposure disclosures are complete.
19
- - [ ] No copied implementation source, comments, tests, identifiers, non-normative constants, or distinctive internal structure were found.
20
- - [ ] RFC-derived numeric tables and specification-copying rights have an explicit counsel disposition.
21
- - [ ] Production source, bundles, package, lock, and installed graph have no ambient decoder, canvas, zlib, or hidden fallback.
22
- - [ ] PNG/JPEG/GIF/VP8/VP8L/WebP behavior passes approved independently sourced conformance corpora.
23
- - [ ] SVG geometry, rendering, XML/CSS security, clipping/masking, text policy, and unsupported-feature failures are independently reviewed.
24
- - [ ] Byte, allocation, recursion, frame, CPU, and output limits hold under adversarial review.
25
- - [ ] The approved sustained fuzz-duration gate completes with no unresolved crash, hang, or excessive allocation.
26
- - [ ] Black-box oracle tools and fixtures are classified and proven production-excluded.
27
- - [ ] Release tarball, clean install, CLI integration, and standalone artifacts agree with the ownership inventory.
28
- - [ ] Patent, trademark, specification-license, and public product-language questions have counsel approval.
29
-
30
- ## Verification summary
31
-
32
- | Gate | Evidence | Result | Notes |
33
- | --- | --- | --- | --- |
34
- | Focused media behavior | 62 committed tests | engineering pass | format matrix, metadata, malformed inputs, and ReadImage covered |
35
- | SDK regression | full Node suite | engineering pass | 501 pass, 2 platform skips, 0 failures |
36
- | Linked CLI integration | typechecks, bundle build, full Vitest suite | engineering pass | 163 files; 1,490 pass, 1 skip, 0 failures |
37
- | Type/build | source/test typechecks and tsup build | engineering pass | no type or build failures |
38
- | Normative VP8 generation | pinned RFC source and byte comparison | engineering pass | generated file reproduced exact SHA-256 |
39
- | Runtime package/source exclusion | ownership audit and targeted scan | engineering pass | 823 artifact-inclusive records, 0 violations |
40
- | Independent corpus and sustained fuzz | not yet run | pending | required before capability approval |
41
- | Provenance and legal | implementation record only | pending | independent reviewer and counsel required |
42
-
43
- ## Decision
44
-
45
- - Engineering provenance decision: needs-review
46
- - Capability gate may be marked achieved: no
47
- - Public clean-room/proprietary claim approved by this review: no
48
- - Required follow-up: classify and run approved independent corpora, complete sustained fuzzing, collect contributor disclosures, perform independent source/security/color review, audit release and installed artifacts, reconcile xeno-lib, and attach counsel disposition.
49
- - Reviewer signature/date: pending
50
- - Counsel approval reference: pending
1
+ # Independent Provenance Review: Xeno-Owned Media Stack
2
+
3
+ ## Review identity
4
+
5
+ - Component: Xeno-owned compression, raster codecs, metadata/color conversion, and secure SVG renderer
6
+ - Replacement milestone: PROPRIETARY-MEDIA-1
7
+ - Implementation record path: `ownership/evidence/PROPRIETARY-MEDIA-1/implementation-record.md`
8
+ - Candidate revision: `a59066e477c904e077b1aceed8a65fa9c2767535` plus recorded working-tree changes
9
+ - Reviewer: pending
10
+ - Domain reviewer(s): pending codec, color-management, parser-security, and intellectual-property reviewers
11
+ - Review date (UTC): pending
12
+ - Reviewer independent of implementation: pending
13
+
14
+ ## Evidence checks
15
+
16
+ - [ ] The capability matrix predates or is independently reconciled with the implementation.
17
+ - [ ] Normative sources, revisions, hashes, and permitted uses are complete.
18
+ - [ ] Contributor source-exposure disclosures are complete.
19
+ - [ ] No copied implementation source, comments, tests, identifiers, non-normative constants, or distinctive internal structure were found.
20
+ - [ ] RFC-derived numeric tables and specification-copying rights have an explicit counsel disposition.
21
+ - [ ] Production source, bundles, package, lock, and installed graph have no ambient decoder, canvas, zlib, or hidden fallback.
22
+ - [ ] PNG/JPEG/GIF/VP8/VP8L/WebP behavior passes approved independently sourced conformance corpora.
23
+ - [ ] SVG geometry, rendering, XML/CSS security, clipping/masking, text policy, and unsupported-feature failures are independently reviewed.
24
+ - [ ] Byte, allocation, recursion, frame, CPU, and output limits hold under adversarial review.
25
+ - [ ] The approved sustained fuzz-duration gate completes with no unresolved crash, hang, or excessive allocation.
26
+ - [ ] Black-box oracle tools and fixtures are classified and proven production-excluded.
27
+ - [ ] Release tarball, clean install, CLI integration, and standalone artifacts agree with the ownership inventory.
28
+ - [ ] Patent, trademark, specification-license, and public product-language questions have counsel approval.
29
+
30
+ ## Verification summary
31
+
32
+ | Gate | Evidence | Result | Notes |
33
+ | --- | --- | --- | --- |
34
+ | Focused media behavior | 62 committed tests | engineering pass | format matrix, metadata, malformed inputs, and ReadImage covered |
35
+ | SDK regression | full Node suite | engineering pass | 501 pass, 2 platform skips, 0 failures |
36
+ | Linked CLI integration | typechecks, bundle build, full Vitest suite | engineering pass | 163 files; 1,490 pass, 1 skip, 0 failures |
37
+ | Type/build | source/test typechecks and tsup build | engineering pass | no type or build failures |
38
+ | Normative VP8 generation | pinned RFC source and byte comparison | engineering pass | generated file reproduced exact SHA-256 |
39
+ | Runtime package/source exclusion | ownership audit and targeted scan | engineering pass | 823 artifact-inclusive records, 0 violations |
40
+ | Independent corpus and sustained fuzz | not yet run | pending | required before capability approval |
41
+ | Provenance and legal | implementation record only | pending | independent reviewer and counsel required |
42
+
43
+ ## Decision
44
+
45
+ - Engineering provenance decision: needs-review
46
+ - Capability gate may be marked achieved: no
47
+ - Public clean-room/proprietary claim approved by this review: no
48
+ - Required follow-up: classify and run approved independent corpora, complete sustained fuzzing, collect contributor disclosures, perform independent source/security/color review, audit release and installed artifacts, reconcile xeno-lib, and attach counsel disposition.
49
+ - Reviewer signature/date: pending
50
+ - Counsel approval reference: pending
@@ -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