omnius 1.0.873 → 1.0.875
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/dist/index.js +2 -2
- package/dist/library.js +259 -62
- package/dist/providerRegistry.d.ts +6 -0
- package/dist/tui/native/worker.js +91 -10
- package/docs/DISCOVERY.json +1054 -130
- package/docs/DISCOVERY.md +26 -1
- package/docs/guides/endpoint-requirements.md +33 -0
- package/docs/guides/sponsored-inference-mesh.md +84 -0
- package/docs/work-orders/evidence/chat-session-document-revision-20261017.json +57 -0
- package/docs/work-orders/evidence/chat-session-legacy-document-20261017.json +60 -0
- package/docs/work-orders/evidence/chat-session-live-sidecar-20261017.json +158 -0
- package/docs/work-orders/evidence/chat-session-shared-store-20261017.json +89 -0
- package/docs/work-orders/evidence/endpoint-completion-verification-20261017.json +95 -0
- package/docs/work-orders/evidence/endpoint-source-verification-20261017.json +175 -0
- package/docs/work-orders/evidence/expanded-variant-repair-20261017.json +88 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/final-160x48.txt +48 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/final-60x20.txt +20 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/report.json +1225 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017/rich-final-160x48.txt +48 -0
- package/docs/work-orders/evidence/final-presentation-native-20261017.json +116 -0
- package/docs/work-orders/evidence/inference-route-attempts-20261017.json +82 -0
- package/docs/work-orders/evidence/mesh-source-verification-20261017.json +46 -0
- package/docs/work-orders/evidence/mesh-transport-verification-20261017.json +156 -0
- package/docs/work-orders/evidence/opencode-endpoint-regression-20261017.json +984 -0
- package/docs/work-orders/evidence/project-session-delete-shared-state-20261017.json +54 -0
- package/docs/work-orders/evidence/public-session-live-20261017.json +52 -0
- package/docs/work-orders/evidence/session-live-sidecar-profile-20261017.json +315 -0
- package/docs/work-orders/evidence/session-live-write-profile-20261017.json +167 -0
- package/docs/work-orders/evidence/sticky-catalog-candidate-release-20261017.json +314 -0
- package/npm-shrinkwrap.json +1705 -202
- package/package.json +78 -34
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.project-session-delete-shared-state-verification.v1",
|
|
3
|
+
"recordedAt": "2026-10-17",
|
|
4
|
+
"baseCommit": "509a01bf2fe1da27c23a9d5dd8542ff30389076e",
|
|
5
|
+
"scope": "source-only shared turn admission, project-proven alias tombstones, and native restore filtering",
|
|
6
|
+
"tests": {
|
|
7
|
+
"status": "passed",
|
|
8
|
+
"files": 4,
|
|
9
|
+
"tests": 50,
|
|
10
|
+
"newBehavioralCases": 6,
|
|
11
|
+
"log": "/tmp/omnius-session-delete-final-tests.log",
|
|
12
|
+
"command": "pnpm exec vitest run --config /tmp/omnius-session-delete-3p7_sd23/session-delete-vitest.config.mts --maxWorkers=3 --minWorkers=1 --reporter=verbose",
|
|
13
|
+
"summary": " 4 passed (4)\n Tests 50 passed (50)\n Start at 12:39:35\n Duration 7.49s (transform 4.19s, setup 110ms, collect 17.19s, tests 1.52s, environment 0ms, prepare 140ms)\n\n"
|
|
14
|
+
},
|
|
15
|
+
"sourceTypecheck": {
|
|
16
|
+
"status": "passed",
|
|
17
|
+
"diagnostics": 0,
|
|
18
|
+
"log": "/tmp/omnius-session-delete-final-typecheck.log",
|
|
19
|
+
"command": "pnpm exec tsc -p tsconfig.json --noEmit --incremental false --composite false"
|
|
20
|
+
},
|
|
21
|
+
"diffCheck": "passed",
|
|
22
|
+
"proof": [
|
|
23
|
+
"Native-only local ownership retires both absent physical aliases; fresh independent process get/import attempts reject with409 for each.",
|
|
24
|
+
"Browser-only ownership also retires absent native alias.",
|
|
25
|
+
"Missing or exclusively foreign identities create no tombstones.",
|
|
26
|
+
"Foreign colliding canonical alias remains readable/restorable in its own project while the locally proven alias is retired.",
|
|
27
|
+
"A real independent live shared turn owner blocks deletion without mutation, then explicit release permits deletion.",
|
|
28
|
+
"A real independent canonical store writer blocks deletion before any native unlink or tombstone.",
|
|
29
|
+
"Stale recreated native index/documents remain excluded from restore lists.",
|
|
30
|
+
"Existing deletion refusal, filesystem-failure, partial-effect, malformed metadata, queued work and full restore tests remain green."
|
|
31
|
+
],
|
|
32
|
+
"sourceSha256": {
|
|
33
|
+
"packages/cli/src/tui/project-session-delete.ts": "aacb1abcded1c88a97f460b65426b73586c414e6186c46c28d65bdaca6812e91",
|
|
34
|
+
"packages/cli/src/tui/session-restore.ts": "8d1e5c4b5b98192f68c9b7d66757786a6b2146d47f4cd65dc4ba9185ba975716",
|
|
35
|
+
"packages/cli/tests/project-session-delete-shared-state.test.ts": "e9688a4194602e10f595af85e9ea1c2fba643d813f7021d215236aec4522e74f"
|
|
36
|
+
},
|
|
37
|
+
"dependenciesCopiedForVerificationOnly": {
|
|
38
|
+
"packages/cli/src/api/chat-session.ts": "2f813be68b6bcc45388634afdb6547bd7e78744c6427b516e8d622ffc6d09038",
|
|
39
|
+
"packages/cli/src/api/session-coordination.ts": "05e05d6a52cbe05d88d3d3453b11f3922fc3f71d1adab55325c68b29d62c9015"
|
|
40
|
+
},
|
|
41
|
+
"limitations": [
|
|
42
|
+
"This is source storage/process verification, not an installed package or live frontend test.",
|
|
43
|
+
"Legacy native writers can still recreate visual files; durable canonical tombstones and catalog filtering prevent their reappearance as restorable sessions.",
|
|
44
|
+
"Deletion can have partial filesystem effects on a later failure; existing truthful partial-effect reporting remains."
|
|
45
|
+
],
|
|
46
|
+
"safety": {
|
|
47
|
+
"inferenceRequests": 0,
|
|
48
|
+
"modelLoadRequests": 0,
|
|
49
|
+
"cudaWorkloads": 0,
|
|
50
|
+
"servicesChanged": 0,
|
|
51
|
+
"sharedBuilds": 0,
|
|
52
|
+
"publishes": 0
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.public-session-live-verification.v1",
|
|
3
|
+
"recordedAt": "2026-10-17",
|
|
4
|
+
"api": "publicSessionLive(root,session): SessionLive | null",
|
|
5
|
+
"scope": "Read-only public running-state projection; no serve.ts changes.",
|
|
6
|
+
"policy": [
|
|
7
|
+
"Only a matching same-project live coordinator owner with exact source and run_id can attest running.",
|
|
8
|
+
"Missing or mismatched owners produce failed/Interrupted display state, preserving observed partial, original timestamp and run identity.",
|
|
9
|
+
"Completed and failed recorded outcomes remain unchanged.",
|
|
10
|
+
"Explicit allowed fields only, frozen returned object, no persistence, inference or control ownership."
|
|
11
|
+
],
|
|
12
|
+
"tests": {
|
|
13
|
+
"status": "passed",
|
|
14
|
+
"tests": 18,
|
|
15
|
+
"files": 3,
|
|
16
|
+
"newCases": 8,
|
|
17
|
+
"actualAbruptChildExit": true,
|
|
18
|
+
"log": "/tmp/omnius-public-session-live-final-tests.log",
|
|
19
|
+
"command": "pnpm exec vitest run --config /tmp/omnius-public-session-live-43u14bn8/public-live-vitest.config.mts --maxWorkers=3 --minWorkers=1 --reporter=verbose",
|
|
20
|
+
"checks": [
|
|
21
|
+
"Absent/terminal live projections remain truthful.",
|
|
22
|
+
"Exact running owner source+run matches and passive reads leave files/revisions unchanged.",
|
|
23
|
+
"Missing, wrong-source and wrong-run owners project Interrupted with all observed partial evidence.",
|
|
24
|
+
"A foreign project cannot lend its coincidentally matching run; realpath root aliases work.",
|
|
25
|
+
"An actual independent NativeSessionMirror child exits without finish; stored receipt remains running, public projection is Interrupted, and no files are rewritten.",
|
|
26
|
+
"Unknown stored properties never leak through the public live projection.",
|
|
27
|
+
"Existing coordinator and native mirror lifecycle suites remain green."
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"noEmit": {
|
|
31
|
+
"status": "passed",
|
|
32
|
+
"diagnostics": 0,
|
|
33
|
+
"log": "/tmp/omnius-public-session-live-final-typecheck.log"
|
|
34
|
+
},
|
|
35
|
+
"diffCheck": "passed",
|
|
36
|
+
"sourceSha256": {
|
|
37
|
+
"packages/cli/src/api/shared-session-server.ts": "9fdb2c3a239a5c4365ad2849fbc32b489d7002bbe3a8c21de92b0f69218a8bbd",
|
|
38
|
+
"packages/cli/tests/public-session-live.test.ts": "445d592c102838fa33d5b2d8fda95111b3a9f33049cafbae8ebb927b719c558c"
|
|
39
|
+
},
|
|
40
|
+
"copiedRootBaselineSha256": "c25ce0d271e19f8455cee66a750b5c0cdfc71fec95997b81daf020e7510d4b1e",
|
|
41
|
+
"excludedVerificationDependencies": [
|
|
42
|
+
"Current root chat-session.ts, session-coordination.ts, session-quality.ts, session-summary.ts and shared-session-sync.ts were copied for source compatibility only."
|
|
43
|
+
],
|
|
44
|
+
"safety": {
|
|
45
|
+
"inferenceRequests": 0,
|
|
46
|
+
"modelLoadRequests": 0,
|
|
47
|
+
"servicesChanged": 0,
|
|
48
|
+
"cudaWorkloads": 0,
|
|
49
|
+
"sharedBuilds": 0,
|
|
50
|
+
"publishes": 0
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.session-live-sidecar-comparison.v1",
|
|
3
|
+
"date": "2026-10-17",
|
|
4
|
+
"method": "CPU and filesystem source fixture with independent isolated config homes; actual updateSessionLive calls; 101-message exact-size canonical histories; ten updates per fixture; warm OS filesystem cache. No inference or services.",
|
|
5
|
+
"before": {
|
|
6
|
+
"schema": "omnius.session-live-write-profile.v1",
|
|
7
|
+
"runtime": "Bun 1.3.14",
|
|
8
|
+
"sourceSha256": "8059352da0033fb8fb95ac2e0fafba1582c32b1ccdf8362a8f41315d8a5cbebc",
|
|
9
|
+
"scope": "Actual canonical updateSessionLive writes under isolated config homes; warm OS filesystem cache;101-message fixtures; no live inference",
|
|
10
|
+
"results": [
|
|
11
|
+
{
|
|
12
|
+
"targetMiB": 1,
|
|
13
|
+
"initialCanonicalBytes": 1048576,
|
|
14
|
+
"messages": 101,
|
|
15
|
+
"updates": 10,
|
|
16
|
+
"canonicalJsonBytesWritten": 10569682,
|
|
17
|
+
"totalElapsedMs": 51.90087300000005,
|
|
18
|
+
"totalCpuMs": 76.66099999999999,
|
|
19
|
+
"medianElapsedMs": 3.9333024999999964,
|
|
20
|
+
"maxElapsedMs": 11.189188999999999,
|
|
21
|
+
"minElapsedMs": 3.3970170000000053,
|
|
22
|
+
"documentRevisionUnchanged": true,
|
|
23
|
+
"samples": [
|
|
24
|
+
{
|
|
25
|
+
"elapsedMs": 3.4846600000000194,
|
|
26
|
+
"cpuMs": 3.665,
|
|
27
|
+
"canonicalJsonBytes": 1056968
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"elapsedMs": 4.031644999999969,
|
|
31
|
+
"cpuMs": 4.009,
|
|
32
|
+
"canonicalJsonBytes": 1056968
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"elapsedMs": 3.3970170000000053,
|
|
36
|
+
"cpuMs": 3.411,
|
|
37
|
+
"canonicalJsonBytes": 1056968
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"elapsedMs": 4.463346999999999,
|
|
41
|
+
"cpuMs": 30.232,
|
|
42
|
+
"canonicalJsonBytes": 1056968
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"elapsedMs": 11.189188999999999,
|
|
46
|
+
"cpuMs": 16.426,
|
|
47
|
+
"canonicalJsonBytes": 1056968
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"elapsedMs": 3.4108080000000314,
|
|
51
|
+
"cpuMs": 3.526,
|
|
52
|
+
"canonicalJsonBytes": 1056968
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"elapsedMs": 3.6776250000000346,
|
|
56
|
+
"cpuMs": 3.64,
|
|
57
|
+
"canonicalJsonBytes": 1056968
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"elapsedMs": 7.477273999999966,
|
|
61
|
+
"cpuMs": 4.307,
|
|
62
|
+
"canonicalJsonBytes": 1056968
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"elapsedMs": 3.8349600000000237,
|
|
66
|
+
"cpuMs": 3.829,
|
|
67
|
+
"canonicalJsonBytes": 1056969
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"elapsedMs": 6.934348,
|
|
71
|
+
"cpuMs": 3.616,
|
|
72
|
+
"canonicalJsonBytes": 1056969
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"targetMiB": 5,
|
|
78
|
+
"initialCanonicalBytes": 5242880,
|
|
79
|
+
"messages": 101,
|
|
80
|
+
"updates": 10,
|
|
81
|
+
"canonicalJsonBytesWritten": 52512722,
|
|
82
|
+
"totalElapsedMs": 142.11865899999992,
|
|
83
|
+
"totalCpuMs": 147.90699999999998,
|
|
84
|
+
"medianElapsedMs": 14.331104000000039,
|
|
85
|
+
"maxElapsedMs": 15.33242800000005,
|
|
86
|
+
"minElapsedMs": 13.053483000000028,
|
|
87
|
+
"documentRevisionUnchanged": true,
|
|
88
|
+
"samples": [
|
|
89
|
+
{
|
|
90
|
+
"elapsedMs": 15.262345999999923,
|
|
91
|
+
"cpuMs": 15.472,
|
|
92
|
+
"canonicalJsonBytes": 5251272
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"elapsedMs": 14.265946999999983,
|
|
96
|
+
"cpuMs": 15.219,
|
|
97
|
+
"canonicalJsonBytes": 5251272
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"elapsedMs": 14.396261000000095,
|
|
101
|
+
"cpuMs": 14.269,
|
|
102
|
+
"canonicalJsonBytes": 5251272
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"elapsedMs": 15.33242800000005,
|
|
106
|
+
"cpuMs": 16.998,
|
|
107
|
+
"canonicalJsonBytes": 5251272
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"elapsedMs": 14.51738499999999,
|
|
111
|
+
"cpuMs": 14.782,
|
|
112
|
+
"canonicalJsonBytes": 5251272
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"elapsedMs": 13.679229999999961,
|
|
116
|
+
"cpuMs": 13.598,
|
|
117
|
+
"canonicalJsonBytes": 5251272
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"elapsedMs": 13.49195599999996,
|
|
121
|
+
"cpuMs": 14.047,
|
|
122
|
+
"canonicalJsonBytes": 5251272
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"elapsedMs": 14.82221299999992,
|
|
126
|
+
"cpuMs": 15.407,
|
|
127
|
+
"canonicalJsonBytes": 5251272
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"elapsedMs": 13.297410000000013,
|
|
131
|
+
"cpuMs": 13.314,
|
|
132
|
+
"canonicalJsonBytes": 5251273
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"elapsedMs": 13.053483000000028,
|
|
136
|
+
"cpuMs": 14.801,
|
|
137
|
+
"canonicalJsonBytes": 5251273
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"accounting": "canonicalJsonBytesWritten sums actual final JSON file sizes after each successful atomic rename; excludes lock records, journal and physical disk writeback. Elapsed wraps only updateSessionLive; size inspection/setup excluded.",
|
|
143
|
+
"safety": {
|
|
144
|
+
"blockedNetworkCalls": 0,
|
|
145
|
+
"inferenceRequests": 0,
|
|
146
|
+
"modelLoadRequests": 0,
|
|
147
|
+
"servicesChanged": 0,
|
|
148
|
+
"cudaWorkloads": 0,
|
|
149
|
+
"sharedBuilds": 0
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"after": {
|
|
153
|
+
"schema": "omnius.session-live-sidecar-profile.v1",
|
|
154
|
+
"runtime": "Bun 1.3.14",
|
|
155
|
+
"sourceSha256": "c1d65e18956795e7328e8bcada5d59eabee0038ee3d51f4c69435c642d611c4b",
|
|
156
|
+
"scope": "Actual canonical updateSessionLive writes under isolated config homes; warm OS filesystem cache;101-message fixtures; no live inference",
|
|
157
|
+
"results": [
|
|
158
|
+
{
|
|
159
|
+
"targetMiB": 1,
|
|
160
|
+
"initialCanonicalBytes": 1048576,
|
|
161
|
+
"messages": 101,
|
|
162
|
+
"updates": 10,
|
|
163
|
+
"canonicalJsonBytesWritten": 0,
|
|
164
|
+
"liveSidecarBytesWritten": 85161,
|
|
165
|
+
"canonicalUnchanged": true,
|
|
166
|
+
"totalElapsedMs": 3.27432500000009,
|
|
167
|
+
"totalCpuMs": 3.321,
|
|
168
|
+
"medianElapsedMs": 0.2643275000000074,
|
|
169
|
+
"maxElapsedMs": 0.8354940000000397,
|
|
170
|
+
"minElapsedMs": 0.21619600000002492,
|
|
171
|
+
"documentRevisionUnchanged": true,
|
|
172
|
+
"samples": [
|
|
173
|
+
{
|
|
174
|
+
"elapsedMs": 0.8354940000000397,
|
|
175
|
+
"cpuMs": 0.699,
|
|
176
|
+
"liveSidecarBytes": 8516
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"elapsedMs": 0.4106219999999894,
|
|
180
|
+
"cpuMs": 0.414,
|
|
181
|
+
"liveSidecarBytes": 8516
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"elapsedMs": 0.26438699999999926,
|
|
185
|
+
"cpuMs": 0.267,
|
|
186
|
+
"liveSidecarBytes": 8516
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"elapsedMs": 0.2642680000000155,
|
|
190
|
+
"cpuMs": 0.267,
|
|
191
|
+
"liveSidecarBytes": 8516
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"elapsedMs": 0.2737979999999993,
|
|
195
|
+
"cpuMs": 0.277,
|
|
196
|
+
"liveSidecarBytes": 8516
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"elapsedMs": 0.2774079999999799,
|
|
200
|
+
"cpuMs": 0.307,
|
|
201
|
+
"liveSidecarBytes": 8516
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"elapsedMs": 0.26087799999999106,
|
|
205
|
+
"cpuMs": 0.366,
|
|
206
|
+
"liveSidecarBytes": 8516
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"elapsedMs": 0.24457700000004934,
|
|
210
|
+
"cpuMs": 0.276,
|
|
211
|
+
"liveSidecarBytes": 8516
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"elapsedMs": 0.22669700000000148,
|
|
215
|
+
"cpuMs": 0.229,
|
|
216
|
+
"liveSidecarBytes": 8516
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"elapsedMs": 0.21619600000002492,
|
|
220
|
+
"cpuMs": 0.219,
|
|
221
|
+
"liveSidecarBytes": 8517
|
|
222
|
+
}
|
|
223
|
+
]
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"targetMiB": 5,
|
|
227
|
+
"initialCanonicalBytes": 5242880,
|
|
228
|
+
"messages": 101,
|
|
229
|
+
"updates": 10,
|
|
230
|
+
"canonicalJsonBytesWritten": 0,
|
|
231
|
+
"liveSidecarBytesWritten": 85161,
|
|
232
|
+
"canonicalUnchanged": true,
|
|
233
|
+
"totalElapsedMs": 2.9267639999999346,
|
|
234
|
+
"totalCpuMs": 3.1479999999999997,
|
|
235
|
+
"medianElapsedMs": 0.23751199999998107,
|
|
236
|
+
"maxElapsedMs": 0.5657360000000153,
|
|
237
|
+
"minElapsedMs": 0.20915599999995038,
|
|
238
|
+
"documentRevisionUnchanged": true,
|
|
239
|
+
"samples": [
|
|
240
|
+
{
|
|
241
|
+
"elapsedMs": 0.43028299999997444,
|
|
242
|
+
"cpuMs": 0.437,
|
|
243
|
+
"liveSidecarBytes": 8516
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"elapsedMs": 0.3156089999999949,
|
|
247
|
+
"cpuMs": 0.318,
|
|
248
|
+
"liveSidecarBytes": 8516
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"elapsedMs": 0.5657360000000153,
|
|
252
|
+
"cpuMs": 0.289,
|
|
253
|
+
"liveSidecarBytes": 8516
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"elapsedMs": 0.2455269999999814,
|
|
257
|
+
"cpuMs": 0.249,
|
|
258
|
+
"liveSidecarBytes": 8516
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"elapsedMs": 0.2216760000000022,
|
|
262
|
+
"cpuMs": 0.287,
|
|
263
|
+
"liveSidecarBytes": 8516
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"elapsedMs": 0.20915599999995038,
|
|
267
|
+
"cpuMs": 0.221,
|
|
268
|
+
"liveSidecarBytes": 8516
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"elapsedMs": 0.21437600000001567,
|
|
272
|
+
"cpuMs": 0.217,
|
|
273
|
+
"liveSidecarBytes": 8516
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"elapsedMs": 0.22949699999998074,
|
|
277
|
+
"cpuMs": 0.567,
|
|
278
|
+
"liveSidecarBytes": 8516
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"elapsedMs": 0.27343799999999874,
|
|
282
|
+
"cpuMs": 0.275,
|
|
283
|
+
"liveSidecarBytes": 8516
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"elapsedMs": 0.2214660000000208,
|
|
287
|
+
"cpuMs": 0.288,
|
|
288
|
+
"liveSidecarBytes": 8517
|
|
289
|
+
}
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"accounting": "liveSidecarBytesWritten sums actual sidecar JSON sizes after each successful atomic rename; canonical bytes/inode/mtime/hash remain unchanged, with zero canonical writes also audited by the focused IO test. Excludes lock records, journal and physical disk writeback. Elapsed wraps only updateSessionLive; size inspection/setup excluded.",
|
|
294
|
+
"safety": {
|
|
295
|
+
"blockedNetworkCalls": 0,
|
|
296
|
+
"inferenceRequests": 0,
|
|
297
|
+
"modelLoadRequests": 0,
|
|
298
|
+
"servicesChanged": 0,
|
|
299
|
+
"cudaWorkloads": 0,
|
|
300
|
+
"sharedBuilds": 0
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
"fixture": {
|
|
304
|
+
"path": "/tmp/omnius-profile-session-live-sidecar.ts",
|
|
305
|
+
"sha256": "b6fd43e6f8b9b4f650457e5854f09345dbe8726b1c4128b4f13cefce18b79b45",
|
|
306
|
+
"source": "/** Isolated source-only storage profile. Never calls a backend or changes a service. */\nimport { mkdtempSync, mkdirSync, readFileSync, writeFileSync, renameSync, statSync, rmSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { createHash } from \"node:crypto\";\nconst home = mkdtempSync(join(tmpdir(), \"omnius-live-write-profile-\"));\nprocess.env.OMNIUS_CONFIG_HOME = join(home, \"config\"); process.env.OMNIUS_HOME = join(home, \"work\");\nlet blockedNetworkCalls = 0;\nglobalThis.fetch = async () => { blockedNetworkCalls++; throw Error(\"Storage profile forbids network/inference\"); };\nconst source = \"/tmp/omnius-bounded-session-live-l4hoih1o/packages/cli/src/api/chat-session.ts\";\nconst { getSession, lookupSession, updateSessionLive } = await import(source);\nconst { omniusConfigDir } = await import(\"/tmp/omnius-bounded-session-live-l4hoih1o/packages/cli/src/config-home.ts\");\nconst results = [];\ntry {\n for (const mib of [1, 5]) {\n const root = join(home, `project-${mib}`); mkdirSync(root); const id = `profile-${mib}`;\n const held = getSession(id, \"CPU-storage-fixture-only\", root), path = omniusConfigDir(\"chat-sessions\", `${id}.json`);\n const record = JSON.parse(readFileSync(path, \"utf8\"));\n record.title = \"Storage fixture history\"; record.preview = \"Storage fixture history\";\n record.messages = [record.messages[0], ...Array.from({ length: 100 }, (_, index) => ({ role: index % 2 ? \"assistant\" : \"user\", content: `HISTORY_${index} ` }))];\n const targetBytes = mib * 1024 * 1024;\n let remaining = targetBytes - Buffer.byteLength(JSON.stringify(record, null, 2));\n for (let index = 1; index < record.messages.length; index++) {\n const add = index === record.messages.length - 1 ? remaining : Math.floor(remaining / (record.messages.length - index));\n record.messages[index].content += \"x\".repeat(add); remaining -= add;\n }\n writeFileSync(path + \".fixture\", JSON.stringify(record, null, 2)); renameSync(path + \".fixture\", path); lookupSession(id);\n const initialBytes = statSync(path).size, initialDocumentRevision = held.documentRevision, samples = [];\n const initialCanonical = statSync(path), initialCanonicalHash = createHash(\"sha256\").update(readFileSync(path)).digest(\"hex\");\n for (let index = 0; index < 10; index++) {\n const live = { run_id: \"profile\", source: \"tui\", status: \"running\", phase: \"Measured public progress\", partial_output: \"p\".repeat(8170) + ` frame-${index}`, updated_at: Date.now() + index };\n const cpu = process.cpuUsage(), start = performance.now(); updateSessionLive(held, live);\n const elapsedMs = performance.now() - start, used = process.cpuUsage(cpu);\n samples.push({ elapsedMs, cpuMs: (used.user + used.system) / 1000, liveSidecarBytes: statSync(path.replace(/\\.json$/, \".live.json\")).size });\n }\n const times = samples.map(value => value.elapsedMs).sort((a, b) => a - b);\n if (held.documentRevision !== initialDocumentRevision) throw Error(\"Metadata profile unexpectedly changed the document version\");\n results.push({ targetMiB: mib, initialCanonicalBytes: initialBytes, messages: record.messages.length, updates: 10,\n canonicalJsonBytesWritten: 0, liveSidecarBytesWritten: samples.reduce((sum, value) => sum + value.liveSidecarBytes, 0),\n canonicalUnchanged: initialCanonical.ino === statSync(path).ino && initialCanonical.mtimeMs === statSync(path).mtimeMs && initialCanonicalHash === createHash(\"sha256\").update(readFileSync(path)).digest(\"hex\"),\n totalElapsedMs: samples.reduce((sum, value) => sum + value.elapsedMs, 0), totalCpuMs: samples.reduce((sum, value) => sum + value.cpuMs, 0),\n medianElapsedMs: (times[4] + times[5]) / 2, maxElapsedMs: times.at(-1), minElapsedMs: times[0],\n documentRevisionUnchanged: held.documentRevision === initialDocumentRevision, samples });\n }\n const result = { schema: \"omnius.session-live-sidecar-profile.v1\", runtime: `Bun ${Bun.version}`, sourceSha256: createHash(\"sha256\").update(readFileSync(source)).digest(\"hex\"),\n scope: \"Actual canonical updateSessionLive writes under isolated config homes; warm OS filesystem cache;101-message fixtures; no live inference\", results,\n accounting: \"liveSidecarBytesWritten sums actual sidecar JSON sizes after each successful atomic rename; canonical bytes/inode/mtime/hash remain unchanged, with zero canonical writes also audited by the focused IO test. Excludes lock records, journal and physical disk writeback. Elapsed wraps only updateSessionLive; size inspection/setup excluded.\",\n safety: { blockedNetworkCalls, inferenceRequests: 0, modelLoadRequests: 0, servicesChanged: 0, cudaWorkloads: 0, sharedBuilds: 0 } };\n writeFileSync(\"/tmp/omnius-session-live-sidecar-profile.json\", JSON.stringify(result, null, 2) + \"\\n\"); console.log(JSON.stringify(result, null, 2));\n} finally { rmSync(home, { recursive: true, force: true }); }\nprocess.exit(0);\n",
|
|
307
|
+
"rerunNote": "Replace the private-worktree import with the source path under review; use Bun 1.3.14. The fixture chooses temporary isolated homes and does not contact an inference endpoint."
|
|
308
|
+
},
|
|
309
|
+
"limits": [
|
|
310
|
+
"This is a local warm-cache CPU/filesystem sample, not a physical-disk throughput benchmark or cross-machine performance guarantee.",
|
|
311
|
+
"Byte accounting includes the live JSON payloads, excludes mutex records, filesystem journal and physical writeback.",
|
|
312
|
+
"Canonical zero-write behavior is independently asserted by the focused filesystem interception test.",
|
|
313
|
+
"The fast live-write path requires a verified unchanged canonical file stamp. Ordinary read-only lookups retain safe full canonical refresh rather than caching mutable caller-owned message objects."
|
|
314
|
+
]
|
|
315
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.session-live-write-profile.v1",
|
|
3
|
+
"runtime": "Bun 1.3.14",
|
|
4
|
+
"sourceSha256": "8059352da0033fb8fb95ac2e0fafba1582c32b1ccdf8362a8f41315d8a5cbebc",
|
|
5
|
+
"scope": "Actual canonical updateSessionLive writes under isolated config homes; warm OS filesystem cache;101-message fixtures; no live inference",
|
|
6
|
+
"results": [
|
|
7
|
+
{
|
|
8
|
+
"targetMiB": 1,
|
|
9
|
+
"initialCanonicalBytes": 1048576,
|
|
10
|
+
"messages": 101,
|
|
11
|
+
"updates": 10,
|
|
12
|
+
"canonicalJsonBytesWritten": 10569682,
|
|
13
|
+
"totalElapsedMs": 51.90087300000005,
|
|
14
|
+
"totalCpuMs": 76.66099999999999,
|
|
15
|
+
"medianElapsedMs": 3.9333024999999964,
|
|
16
|
+
"maxElapsedMs": 11.189188999999999,
|
|
17
|
+
"minElapsedMs": 3.3970170000000053,
|
|
18
|
+
"documentRevisionUnchanged": true,
|
|
19
|
+
"samples": [
|
|
20
|
+
{
|
|
21
|
+
"elapsedMs": 3.4846600000000194,
|
|
22
|
+
"cpuMs": 3.665,
|
|
23
|
+
"canonicalJsonBytes": 1056968
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"elapsedMs": 4.031644999999969,
|
|
27
|
+
"cpuMs": 4.009,
|
|
28
|
+
"canonicalJsonBytes": 1056968
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"elapsedMs": 3.3970170000000053,
|
|
32
|
+
"cpuMs": 3.411,
|
|
33
|
+
"canonicalJsonBytes": 1056968
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"elapsedMs": 4.463346999999999,
|
|
37
|
+
"cpuMs": 30.232,
|
|
38
|
+
"canonicalJsonBytes": 1056968
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"elapsedMs": 11.189188999999999,
|
|
42
|
+
"cpuMs": 16.426,
|
|
43
|
+
"canonicalJsonBytes": 1056968
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"elapsedMs": 3.4108080000000314,
|
|
47
|
+
"cpuMs": 3.526,
|
|
48
|
+
"canonicalJsonBytes": 1056968
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"elapsedMs": 3.6776250000000346,
|
|
52
|
+
"cpuMs": 3.64,
|
|
53
|
+
"canonicalJsonBytes": 1056968
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"elapsedMs": 7.477273999999966,
|
|
57
|
+
"cpuMs": 4.307,
|
|
58
|
+
"canonicalJsonBytes": 1056968
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"elapsedMs": 3.8349600000000237,
|
|
62
|
+
"cpuMs": 3.829,
|
|
63
|
+
"canonicalJsonBytes": 1056969
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"elapsedMs": 6.934348,
|
|
67
|
+
"cpuMs": 3.616,
|
|
68
|
+
"canonicalJsonBytes": 1056969
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"targetMiB": 5,
|
|
74
|
+
"initialCanonicalBytes": 5242880,
|
|
75
|
+
"messages": 101,
|
|
76
|
+
"updates": 10,
|
|
77
|
+
"canonicalJsonBytesWritten": 52512722,
|
|
78
|
+
"totalElapsedMs": 142.11865899999992,
|
|
79
|
+
"totalCpuMs": 147.90699999999998,
|
|
80
|
+
"medianElapsedMs": 14.331104000000039,
|
|
81
|
+
"maxElapsedMs": 15.33242800000005,
|
|
82
|
+
"minElapsedMs": 13.053483000000028,
|
|
83
|
+
"documentRevisionUnchanged": true,
|
|
84
|
+
"samples": [
|
|
85
|
+
{
|
|
86
|
+
"elapsedMs": 15.262345999999923,
|
|
87
|
+
"cpuMs": 15.472,
|
|
88
|
+
"canonicalJsonBytes": 5251272
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"elapsedMs": 14.265946999999983,
|
|
92
|
+
"cpuMs": 15.219,
|
|
93
|
+
"canonicalJsonBytes": 5251272
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"elapsedMs": 14.396261000000095,
|
|
97
|
+
"cpuMs": 14.269,
|
|
98
|
+
"canonicalJsonBytes": 5251272
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"elapsedMs": 15.33242800000005,
|
|
102
|
+
"cpuMs": 16.998,
|
|
103
|
+
"canonicalJsonBytes": 5251272
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"elapsedMs": 14.51738499999999,
|
|
107
|
+
"cpuMs": 14.782,
|
|
108
|
+
"canonicalJsonBytes": 5251272
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"elapsedMs": 13.679229999999961,
|
|
112
|
+
"cpuMs": 13.598,
|
|
113
|
+
"canonicalJsonBytes": 5251272
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"elapsedMs": 13.49195599999996,
|
|
117
|
+
"cpuMs": 14.047,
|
|
118
|
+
"canonicalJsonBytes": 5251272
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"elapsedMs": 14.82221299999992,
|
|
122
|
+
"cpuMs": 15.407,
|
|
123
|
+
"canonicalJsonBytes": 5251272
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"elapsedMs": 13.297410000000013,
|
|
127
|
+
"cpuMs": 13.314,
|
|
128
|
+
"canonicalJsonBytes": 5251273
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"elapsedMs": 13.053483000000028,
|
|
132
|
+
"cpuMs": 14.801,
|
|
133
|
+
"canonicalJsonBytes": 5251273
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"accounting": "canonicalJsonBytesWritten sums actual final JSON file sizes after each successful atomic rename; excludes lock records, journal and physical disk writeback. Elapsed wraps only updateSessionLive; size inspection/setup excluded.",
|
|
139
|
+
"safety": {
|
|
140
|
+
"blockedNetworkCalls": 0,
|
|
141
|
+
"inferenceRequests": 0,
|
|
142
|
+
"modelLoadRequests": 0,
|
|
143
|
+
"servicesChanged": 0,
|
|
144
|
+
"cudaWorkloads": 0,
|
|
145
|
+
"sharedBuilds": 0
|
|
146
|
+
},
|
|
147
|
+
"recordedAt": "2026-10-17",
|
|
148
|
+
"fixtureSource": "/** Isolated source-only storage profile. Never calls a backend or changes a service. */\nimport { mkdtempSync, mkdirSync, readFileSync, writeFileSync, renameSync, statSync, rmSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { createHash } from \"node:crypto\";\nconst home = mkdtempSync(join(tmpdir(), \"omnius-live-write-profile-\"));\nprocess.env.OMNIUS_CONFIG_HOME = join(home, \"config\"); process.env.OMNIUS_HOME = join(home, \"work\");\nlet blockedNetworkCalls = 0;\nglobalThis.fetch = async () => { blockedNetworkCalls++; throw Error(\"Storage profile forbids network/inference\"); };\nconst source = \"/tmp/omnius-public-session-live-43u14bn8/packages/cli/src/api/chat-session.ts\";\nconst { getSession, lookupSession, updateSessionLive } = await import(source);\nconst { omniusConfigDir } = await import(\"/tmp/omnius-public-session-live-43u14bn8/packages/cli/src/config-home.ts\");\nconst results = [];\ntry {\n for (const mib of [1, 5]) {\n const root = join(home, `project-${mib}`); mkdirSync(root); const id = `profile-${mib}`;\n const held = getSession(id, \"CPU-storage-fixture-only\", root), path = omniusConfigDir(\"chat-sessions\", `${id}.json`);\n const record = JSON.parse(readFileSync(path, \"utf8\"));\n record.title = \"Storage fixture history\"; record.preview = \"Storage fixture history\";\n record.messages = [record.messages[0], ...Array.from({ length: 100 }, (_, index) => ({ role: index % 2 ? \"assistant\" : \"user\", content: `HISTORY_${index} ` }))];\n const targetBytes = mib * 1024 * 1024;\n let remaining = targetBytes - Buffer.byteLength(JSON.stringify(record, null, 2));\n for (let index = 1; index < record.messages.length; index++) {\n const add = index === record.messages.length - 1 ? remaining : Math.floor(remaining / (record.messages.length - index));\n record.messages[index].content += \"x\".repeat(add); remaining -= add;\n }\n writeFileSync(path + \".fixture\", JSON.stringify(record, null, 2)); renameSync(path + \".fixture\", path); lookupSession(id);\n const initialBytes = statSync(path).size, initialDocumentRevision = held.documentRevision, samples = [];\n for (let index = 0; index < 10; index++) {\n const live = { run_id: \"profile\", source: \"tui\", status: \"running\", phase: \"Measured public progress\", partial_output: \"p\".repeat(8170) + ` frame-${index}`, updated_at: Date.now() + index };\n const cpu = process.cpuUsage(), start = performance.now(); updateSessionLive(held, live);\n const elapsedMs = performance.now() - start, used = process.cpuUsage(cpu);\n samples.push({ elapsedMs, cpuMs: (used.user + used.system) / 1000, canonicalJsonBytes: statSync(path).size });\n }\n const times = samples.map(value => value.elapsedMs).sort((a, b) => a - b);\n if (held.documentRevision !== initialDocumentRevision) throw Error(\"Metadata profile unexpectedly changed the document version\");\n results.push({ targetMiB: mib, initialCanonicalBytes: initialBytes, messages: record.messages.length, updates: 10,\n canonicalJsonBytesWritten: samples.reduce((sum, value) => sum + value.canonicalJsonBytes, 0),\n totalElapsedMs: samples.reduce((sum, value) => sum + value.elapsedMs, 0), totalCpuMs: samples.reduce((sum, value) => sum + value.cpuMs, 0),\n medianElapsedMs: (times[4] + times[5]) / 2, maxElapsedMs: times.at(-1), minElapsedMs: times[0],\n documentRevisionUnchanged: held.documentRevision === initialDocumentRevision, samples });\n }\n const result = { schema: \"omnius.session-live-write-profile.v1\", runtime: `Bun ${Bun.version}`, sourceSha256: createHash(\"sha256\").update(readFileSync(source)).digest(\"hex\"),\n scope: \"Actual canonical updateSessionLive writes under isolated config homes; warm OS filesystem cache;101-message fixtures; no live inference\", results,\n accounting: \"canonicalJsonBytesWritten sums actual final JSON file sizes after each successful atomic rename; excludes lock records, journal and physical disk writeback. Elapsed wraps only updateSessionLive; size inspection/setup excluded.\",\n safety: { blockedNetworkCalls, inferenceRequests: 0, modelLoadRequests: 0, servicesChanged: 0, cudaWorkloads: 0, sharedBuilds: 0 } };\n writeFileSync(\"/tmp/omnius-session-live-write-profile.json\", JSON.stringify(result, null, 2) + \"\\n\"); console.log(JSON.stringify(result, null, 2));\n} finally { rmSync(home, { recursive: true, force: true }); }\nprocess.exit(0);\n",
|
|
149
|
+
"fixtureSha256": "a03ab014e30c37991ffbecae00b1154e8a625629e572dda3b9b1420841d89be3",
|
|
150
|
+
"interpretation": {
|
|
151
|
+
"measured": "Ten actual canonical JSON replacements per size; documentRevision remained unchanged.",
|
|
152
|
+
"extrapolatedContinuous5MiB300ms": {
|
|
153
|
+
"canonicalBytesPerSecond": 17504240.666666668,
|
|
154
|
+
"mainThreadTimePercent": 4.77703466666668
|
|
155
|
+
},
|
|
156
|
+
"extrapolatedContinuous5MiB80ms": {
|
|
157
|
+
"canonicalBytesPerSecond": 65640902.5,
|
|
158
|
+
"mainThreadTimePercent": 17.91388000000005
|
|
159
|
+
},
|
|
160
|
+
"recommendation": "Keep authored commits immediate. For sustained large histories, coalesce/adapt live-only cadence or use a bounded live projection sidecar; no sidecar implementation is part of this evidence.",
|
|
161
|
+
"limitations": [
|
|
162
|
+
"Warm filesystem/page cache; results do not measure durable physical disk throughput.",
|
|
163
|
+
"Ten samples are a focused profile, not a broad benchmark or a claim about every workload.",
|
|
164
|
+
"Extrapolated cadence costs assume continuously changing live projections; unchanged projections already coalesce."
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
}
|