@wenathlan/saddle 2.1.5 → 2.1.7

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 (291) hide show
  1. package/Dockerfile +158 -60
  2. package/LICENSE +0 -0
  3. package/README.md +68 -53
  4. package/alternatives.ts +0 -0
  5. package/biome.jsonc +134 -0
  6. package/boards.json +2 -2
  7. package/compute.ts +4 -4
  8. package/cores.json +2 -2
  9. package/docker.config +37 -9
  10. package/docs/.gitkeep +0 -0
  11. package/docs/actionrecorder.md +0 -0
  12. package/docs/actionsincident.md +0 -0
  13. package/docs/alternatives.md +0 -0
  14. package/docs/architecture.md +0 -0
  15. package/docs/{architecture-1.8.19.md → architecture1819.md} +0 -0
  16. package/docs/{architecture-1.8.19.mmd → architecture1819.mmd} +0 -0
  17. package/docs/artifactavailability.md +2 -2
  18. package/docs/{artifactresearch-1.8.9.md → artifactresearch189.md} +0 -0
  19. package/docs/{batches-1816-1820.md → batches1816to1820.md} +0 -0
  20. package/docs/{brancharchive-2026-08-18.md → brancharchive20260818.md} +0 -0
  21. package/docs/branchaudit.md +0 -0
  22. package/docs/browser.md +0 -0
  23. package/docs/capabilityreport.md +0 -0
  24. package/docs/comparativeaudit.md +0 -0
  25. package/docs/consolidation.md +0 -0
  26. package/docs/{containerplatforms-1.8.17.md → containerplatforms1817.md} +0 -0
  27. package/docs/{containerplatforms-2.1.0.md → containerplatforms210.md} +1 -1
  28. package/docs/{documentmap-1.8.12.md → documentmap1812.md} +1 -1
  29. package/docs/{e2ugh-engine.md → e2ughengine.md} +0 -0
  30. package/docs/ecosystemplan.md +0 -0
  31. package/docs/enginearchitecture.md +0 -0
  32. package/docs/extension.md +0 -0
  33. package/docs/featureaudit.md +0 -0
  34. package/docs/{flatbuildresearch-1.8.11.md → flatbuildresearch1811.md} +0 -0
  35. package/docs/gapmatrix.md +0 -0
  36. package/docs/hardware.md +0 -0
  37. package/docs/libraryapi.md +0 -0
  38. package/docs/{licenseaudit-1.8.12.md → licenseaudit1812.md} +0 -0
  39. package/docs/logs/examplesession.json +54 -0
  40. package/docs/memoryengine.md +0 -0
  41. package/docs/{mobileconversionresearch-1.8.10.md → mobileconversionresearch1810.md} +0 -0
  42. package/docs/modes.md +0 -0
  43. package/docs/{nativeidentityresearch-1.8.11.md → nativeidentityresearch1811.md} +0 -0
  44. package/docs/{native-wrappers.md → nativewrappers.md} +0 -0
  45. package/docs/ninetymodalities.md +191 -0
  46. package/docs/optimization.md +0 -0
  47. package/docs/packageaudit185.md +0 -0
  48. package/docs/performance.md +0 -0
  49. package/docs/{planning.1.8.18.md → planning1818.md} +0 -0
  50. package/docs/{planning.1.8.19.md → planning1819.md} +0 -0
  51. package/docs/planningengine.md +186 -0
  52. package/docs/planningninety.md +391 -0
  53. package/docs/platformpipelineaudit.md +0 -0
  54. package/docs/platformpipelines.md +0 -0
  55. package/docs/productindex.md +0 -0
  56. package/docs/registryresearch.md +0 -0
  57. package/docs/release.md +0 -0
  58. package/docs/release17notes.md +0 -0
  59. package/docs/release181notes.md +0 -0
  60. package/docs/release182notes.md +0 -0
  61. package/docs/release184notes.md +0 -0
  62. package/docs/release185notes.md +0 -0
  63. package/docs/release18notes.md +0 -0
  64. package/docs/releaseassets.md +0 -0
  65. package/docs/{releasenotes-1.8.12.md → releasenotes1812.md} +0 -0
  66. package/docs/{releasenotes-1.8.13.md → releasenotes1813.md} +2 -2
  67. package/docs/{releasenotes-1.8.14.md → releasenotes1814.md} +1 -1
  68. package/docs/{releasenotes-1.8.15.md → releasenotes1815.md} +0 -0
  69. package/docs/{releasenotes-1.8.16.md → releasenotes1816.md} +0 -0
  70. package/docs/{releasenotes-1.8.17.md → releasenotes1817.md} +0 -0
  71. package/docs/{releasenotes-1.8.18.md → releasenotes1818.md} +0 -0
  72. package/docs/{releasenotes-1.8.19.md → releasenotes1819.md} +0 -0
  73. package/docs/{reorganization-1.8.8.md → reorganization188.md} +0 -0
  74. package/docs/{reorganization-1.8.9.md → reorganization189.md} +0 -0
  75. package/docs/{repo-analysis-1.8.21.json → repoanalysis1821.json} +0 -0
  76. package/docs/{repo-candidates-1.8.21.jsonl → repocandidates1821.jsonl} +0 -0
  77. package/docs/{repo-research-1.8.16.md → reporesearch1816.md} +0 -0
  78. package/docs/{repo-research-1.8.21.md → reporesearch1821.md} +0 -0
  79. package/docs/{repo-selected-1.8.21.json → reposelected1821.json} +0 -0
  80. package/docs/{repo-synthesis-1.8.16.md → reposynthesis1816.md} +1 -1
  81. package/docs/{repo-synthesis-1.8.21.md → reposynthesis1821.md} +0 -0
  82. package/docs/{research-1.8.18-isolation.md → research1818isolation.md} +0 -0
  83. package/docs/{research-1.8.19-virtual-browser.md → research1819virtualbrowser.md} +0 -0
  84. package/docs/roadmapp2p3.md +0 -0
  85. package/docs/s3compatible.md +0 -0
  86. package/docs/{scanningresearch-1.8.11.md → scanningresearch1811.md} +0 -0
  87. package/docs/security.md +0 -0
  88. package/docs/{securityaudit-1.8.7.md → securityaudit187.md} +0 -0
  89. package/docs/{securityreferences-1.8.11.md → securityreferences1811.md} +0 -0
  90. package/docs/{securityresearch-1.8.11.md → securityresearch1811.md} +0 -0
  91. package/docs/{signingresearch-1.8.12.md → signingresearch1812.md} +0 -0
  92. package/docs/signingwithoutcertificates.md +0 -0
  93. package/docs/signpathapplication.md +0 -0
  94. package/docs/sitemap.md +0 -0
  95. package/docs/{tauri-glib-risk-1.8.11.md → tauriglibrisk1811.md} +0 -0
  96. package/docs/todo.md +2 -2
  97. package/docs/{todo-1.8.15.md → todo1815.md} +1 -1
  98. package/docs/{todo-1.8.16.md → todo1816.md} +5 -5
  99. package/docs/{todo-1.8.18.md → todo1818.md} +0 -0
  100. package/docs/{todo-1.8.19.md → todo1819.md} +0 -0
  101. package/docs/{toolchainresearch-1.8.9.md → toolchainresearch189.md} +0 -0
  102. package/docs/toolchains.md +0 -0
  103. package/docs/usage.md +0 -0
  104. package/docs/viability.md +0 -0
  105. package/docs/virtualization.md +0 -0
  106. package/docs/{web-duplicatecleanup.md → webduplicatecleanup.md} +0 -0
  107. package/docs/{web-ideas.md → webideas.md} +0 -0
  108. package/docs/{workflowimprovements-2026-08-19.md → workflowimprovements20260819.md} +0 -0
  109. package/docs/workflowinputs.md +0 -0
  110. package/docs/workflowoperations.md +0 -0
  111. package/docs/workloadlaw.md +104 -0
  112. package/gpumonitor.cpp +0 -0
  113. package/gpus.json +1 -1
  114. package/index.ts +19 -10
  115. package/manifest.json +20 -0
  116. package/modalityregistry.ts +1493 -0
  117. package/mttg.config +1 -1
  118. package/orchestrator.ts +52 -15
  119. package/package.json +196 -103
  120. package/passage.config +2 -2
  121. package/performance.ts +0 -0
  122. package/processors.json +1 -1
  123. package/qemu.config +2 -2
  124. package/qemubridge.py +0 -0
  125. package/quantum.ts +0 -0
  126. package/render.ts +0 -0
  127. package/scheduler.ts +0 -0
  128. package/security.ts +0 -0
  129. package/tiers.ts +9 -3
  130. package/tsconfig.json +21 -11
  131. package/virtualcpu.ts +1 -0
  132. package/virtualgpu.ts +1 -0
  133. package/virtualhardware.c +0 -0
  134. package/virtualhardware.json +2 -2
  135. package/virtualization.ts +0 -0
  136. package/virtualizationcore.cpp +0 -0
  137. package/virtualmemory.ts +0 -0
  138. package/vm.config.json +3 -3
  139. package/biome.json +0 -151
  140. package/dist/acquisition.d.ts +0 -359
  141. package/dist/acquisition.d.ts.map +0 -1
  142. package/dist/acquisition.js +0 -629
  143. package/dist/acquisition.js.map +0 -1
  144. package/dist/alternatives.d.ts +0 -509
  145. package/dist/alternatives.d.ts.map +0 -1
  146. package/dist/alternatives.js +0 -951
  147. package/dist/alternatives.js.map +0 -1
  148. package/dist/automation.d.ts +0 -426
  149. package/dist/automation.d.ts.map +0 -1
  150. package/dist/automation.js +0 -561
  151. package/dist/automation.js.map +0 -1
  152. package/dist/browser.d.ts +0 -562
  153. package/dist/browser.d.ts.map +0 -1
  154. package/dist/browser.js +0 -1057
  155. package/dist/browser.js.map +0 -1
  156. package/dist/cli.d.ts +0 -17
  157. package/dist/cli.d.ts.map +0 -1
  158. package/dist/cli.js +0 -169
  159. package/dist/cli.js.map +0 -1
  160. package/dist/communication.d.ts +0 -192
  161. package/dist/communication.d.ts.map +0 -1
  162. package/dist/communication.js +0 -418
  163. package/dist/communication.js.map +0 -1
  164. package/dist/compute.d.ts +0 -1161
  165. package/dist/compute.d.ts.map +0 -1
  166. package/dist/compute.js +0 -2273
  167. package/dist/compute.js.map +0 -1
  168. package/dist/distribution.d.ts +0 -529
  169. package/dist/distribution.d.ts.map +0 -1
  170. package/dist/distribution.js +0 -811
  171. package/dist/distribution.js.map +0 -1
  172. package/dist/docs/example-localjob.d.ts +0 -2
  173. package/dist/docs/example-localjob.d.ts.map +0 -1
  174. package/dist/docs/example-localjob.js +0 -15
  175. package/dist/docs/example-localjob.js.map +0 -1
  176. package/dist/docs/example-publicapi.d.ts +0 -2
  177. package/dist/docs/example-publicapi.d.ts.map +0 -1
  178. package/dist/docs/example-publicapi.js +0 -7
  179. package/dist/docs/example-publicapi.js.map +0 -1
  180. package/dist/execution.d.ts +0 -530
  181. package/dist/execution.d.ts.map +0 -1
  182. package/dist/execution.js +0 -761
  183. package/dist/execution.js.map +0 -1
  184. package/dist/format.d.ts +0 -19
  185. package/dist/format.d.ts.map +0 -1
  186. package/dist/format.js +0 -60
  187. package/dist/format.js.map +0 -1
  188. package/dist/foundation.d.ts +0 -176
  189. package/dist/foundation.d.ts.map +0 -1
  190. package/dist/foundation.js +0 -309
  191. package/dist/foundation.js.map +0 -1
  192. package/dist/index.d.ts +0 -735
  193. package/dist/index.d.ts.map +0 -1
  194. package/dist/index.js +0 -1020
  195. package/dist/index.js.map +0 -1
  196. package/dist/integration.d.ts +0 -236
  197. package/dist/integration.d.ts.map +0 -1
  198. package/dist/integration.js +0 -236
  199. package/dist/integration.js.map +0 -1
  200. package/dist/intelligence.d.ts +0 -94
  201. package/dist/intelligence.d.ts.map +0 -1
  202. package/dist/intelligence.js +0 -145
  203. package/dist/intelligence.js.map +0 -1
  204. package/dist/isolation.d.ts +0 -129
  205. package/dist/isolation.d.ts.map +0 -1
  206. package/dist/isolation.js +0 -96
  207. package/dist/isolation.js.map +0 -1
  208. package/dist/media.d.ts +0 -344
  209. package/dist/media.d.ts.map +0 -1
  210. package/dist/media.js +0 -986
  211. package/dist/media.js.map +0 -1
  212. package/dist/modes.d.ts +0 -359
  213. package/dist/modes.d.ts.map +0 -1
  214. package/dist/modes.js +0 -134
  215. package/dist/modes.js.map +0 -1
  216. package/dist/operations.d.ts +0 -67
  217. package/dist/operations.d.ts.map +0 -1
  218. package/dist/operations.js +0 -94
  219. package/dist/operations.js.map +0 -1
  220. package/dist/orchestrator.d.ts +0 -1339
  221. package/dist/orchestrator.d.ts.map +0 -1
  222. package/dist/orchestrator.js +0 -4308
  223. package/dist/orchestrator.js.map +0 -1
  224. package/dist/packager/targetcli.js +0 -4
  225. package/dist/performance.d.ts +0 -416
  226. package/dist/performance.d.ts.map +0 -1
  227. package/dist/performance.js +0 -827
  228. package/dist/performance.js.map +0 -1
  229. package/dist/quantum.d.ts +0 -810
  230. package/dist/quantum.d.ts.map +0 -1
  231. package/dist/quantum.js +0 -2073
  232. package/dist/quantum.js.map +0 -1
  233. package/dist/render.d.ts +0 -381
  234. package/dist/render.d.ts.map +0 -1
  235. package/dist/render.js +0 -1073
  236. package/dist/render.js.map +0 -1
  237. package/dist/scheduler.d.ts +0 -596
  238. package/dist/scheduler.d.ts.map +0 -1
  239. package/dist/scheduler.js +0 -1259
  240. package/dist/scheduler.js.map +0 -1
  241. package/dist/security.d.ts +0 -501
  242. package/dist/security.d.ts.map +0 -1
  243. package/dist/security.js +0 -1170
  244. package/dist/security.js.map +0 -1
  245. package/dist/server.d.ts +0 -21
  246. package/dist/server.d.ts.map +0 -1
  247. package/dist/server.js +0 -52
  248. package/dist/server.js.map +0 -1
  249. package/dist/tiers.d.ts +0 -1002
  250. package/dist/tiers.d.ts.map +0 -1
  251. package/dist/tiers.js +0 -2165
  252. package/dist/tiers.js.map +0 -1
  253. package/dist/virtual.d.ts +0 -641
  254. package/dist/virtual.d.ts.map +0 -1
  255. package/dist/virtual.js +0 -1285
  256. package/dist/virtual.js.map +0 -1
  257. package/dist/virtualcpu.d.ts +0 -316
  258. package/dist/virtualcpu.d.ts.map +0 -1
  259. package/dist/virtualcpu.js +0 -1180
  260. package/dist/virtualcpu.js.map +0 -1
  261. package/dist/virtualgpu.d.ts +0 -345
  262. package/dist/virtualgpu.d.ts.map +0 -1
  263. package/dist/virtualgpu.js +0 -1000
  264. package/dist/virtualgpu.js.map +0 -1
  265. package/dist/virtualization.d.ts +0 -607
  266. package/dist/virtualization.d.ts.map +0 -1
  267. package/dist/virtualization.js +0 -1187
  268. package/dist/virtualization.js.map +0 -1
  269. package/dist/virtualmemory.d.ts +0 -818
  270. package/dist/virtualmemory.d.ts.map +0 -1
  271. package/dist/virtualmemory.js +0 -1796
  272. package/dist/virtualmemory.js.map +0 -1
  273. package/dist/vitest.config.d.ts +0 -3
  274. package/dist/vitest.config.d.ts.map +0 -1
  275. package/dist/vitest.config.js +0 -26
  276. package/dist/vitest.config.js.map +0 -1
  277. package/dist/webscrape.d.ts +0 -720
  278. package/dist/webscrape.d.ts.map +0 -1
  279. package/dist/webscrape.js +0 -2697
  280. package/dist/webscrape.js.map +0 -1
  281. package/docs/CONVERSA.txt +0 -1523
  282. package/docs/architecture-1.8.19.png +0 -0
  283. package/docs/assets/architecture.svg +0 -45
  284. package/docs/assets/saddlemark.svg +0 -13
  285. package/docs/example-localjob.ts +0 -15
  286. package/docs/example-publicapi.ts +0 -7
  287. package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
  288. package/media.ts +0 -1337
  289. package/web/manifest.json +0 -30
  290. package/web/readme.md +0 -383
  291. package/web/tsconfig.json +0 -25
@@ -0,0 +1,391 @@
1
+ # planning.ninety — the action ladder of the ninety modalities wave
2
+
3
+ the wave law: the saddle plane answers the ninety modality plan the owner
4
+ charged — every planned lane of the registry wires an honest executor (the
5
+ lane runs server-side inside the engine or through a host runtime the engine
6
+ spawns, the visitor browser, gpu, cpu and storage are never touched), every
7
+ app of the family declares the modality its workloads ride, and the report
8
+ never lies: a lane that executes is live, a lane that probes the host is
9
+ host, a promise without wiring stays planned. one pull request, one branch,
10
+ the ladder below — every rung checked before the merge.
11
+
12
+ ## the groups
13
+
14
+ - group a — edgelandeshost.ts: the host binary lanes (the spawn pattern of
15
+ edgelandes.ts): the sandbox jails, the container extensions, the runtimes,
16
+ the screens, the builds, the ci runners, the network tunnels and the
17
+ storage daemons the host may carry.
18
+ - group b — edgelandesinproc.ts: the in-process pure ts lanes: the ram
19
+ recipes, the delivery protocols, the storage wire protocols, the
20
+ webcontainer lane and the local opt-in gate.
21
+ - group c — edgelandesvirtual.ts: the virtual hardware composition lanes
22
+ that ride the engine's own virtualcpu, virtualgpu and virtualmemory
23
+ payloads (sandbox.ts) — the full machine, the vgpu slice, the screen, the
24
+ drivers, the kvm seat, the gpuless render and the virgl slice.
25
+ - group d — the plane integration (this orchestrator): the dispatcher merge,
26
+ the lane table extension, the registry state flips, the pinned test sets,
27
+ the webserver and the api surface.
28
+ - group e — the app declarations: every app of the family names the saddle
29
+ modality its workloads ride (the debonair sandboxmodality pattern), so the
30
+ platform resolves the sandbox and the apps ride the plane.
31
+
32
+ ## the ladder (363 actions)
33
+
34
+ ### phase 0 — the seat (8)
35
+
36
+ - [x] 0.1 verify the polar token and the gh seat
37
+ - [x] 0.2 sync remote head to local (remote to local, never the reverse)
38
+ - [x] 0.3 clone the repository and the baseline battery (5698 tests green)
39
+ - [x] 0.4 diagnose the registry: 30 live, 3 host, 57 planned
40
+ - [x] 0.5 create the branch waved/ninety.modalities on the worktree
41
+ - [x] 0.6 link the node_modules seat into the worktree
42
+ - [x] 0.7 write this planning ladder
43
+ - [x] 0.8 verify the worktree battery before the first edit
44
+
45
+ ### phase 1 — the analysis (24)
46
+
47
+ - [x] 1a.1 read edgelandes.ts integral (subagent a, sed segments)
48
+ - [x] 1a.2 read edgeplane.ts integral (subagent a)
49
+ - [x] 1a.3 read modalityregistry.ts integral (subagent a)
50
+ - [x] 1a.4 read the modalityregistry test sets (subagent a)
51
+ - [x] 1a.5 read the edgeplane test (subagent a)
52
+ - [x] 1a.6 map the spawn pattern contract (subagent a)
53
+ - [x] 1b.1 read edgelandes.ts integral (subagent b)
54
+ - [x] 1b.2 read virtual.ts (the vfs domain) (subagent b)
55
+ - [x] 1b.3 read modalityregistry.ts integral (subagent b)
56
+ - [x] 1b.4 read the storage lane surfaces (subagent b)
57
+ - [x] 1b.5 read the network lane surfaces (subagent b)
58
+ - [x] 1b.6 map the in-process lane contract (subagent b)
59
+ - [x] 1c.1 read sandbox.ts integral in segments (subagent c)
60
+ - [x] 1c.2 read virtualcpu.ts, virtualgpu.ts, virtualmemory.ts (subagent c)
61
+ - [x] 1c.3 read virtualization.ts (the qemu and tenant recipes) (subagent c)
62
+ - [x] 1c.4 read modalityregistry.ts integral (subagent c)
63
+ - [x] 1c.5 read render.ts (the mesa stack summaries) (subagent c)
64
+ - [x] 1c.6 map the composition contract (subagent c)
65
+ - [x] 1d.1 read the debonair sandboxmodality.ts pattern (subagent d)
66
+ - [x] 1d.2 read the family law files of every app (subagent d)
67
+ - [x] 1d.3 read the app test seats (subagent d)
68
+ - [x] 1d.4 map the declaration contract per app (subagent d)
69
+ - [x] 1d.5 read the getry debonairlane precedent (subagent d)
70
+ - [x] 1d.6 read the saddle webserver run route (subagent d)
71
+
72
+ ### phase 2a — the host lanes (106)
73
+
74
+ - [x] 2a.007 write the file header and the imports of edgelandeshost.ts
75
+ - [x] 2a.008 export the executor and spec types riding the edgelandes contract
76
+ - [x] 2a.009 sandbox-bubblewrap: the bwrap probe
77
+ - [x] 2a.010 sandbox-bubblewrap: the executor (bwrap --ro-bind / / --unshare-all)
78
+ - [x] 2a.011 sandbox-bubblewrap: the lane spec entry
79
+ - [x] 2a.012 sandbox-bubblewrap: the test row
80
+ - [x] 2a.013 sandbox-nsjail: the nsjail probe
81
+ - [x] 2a.014 sandbox-nsjail: the executor (the nsjail config tree)
82
+ - [x] 2a.015 sandbox-nsjail: the lane spec entry
83
+ - [x] 2a.016 sandbox-nsjail: the test row
84
+ - [x] 2a.017 sandbox-chroot: the chroot probe
85
+ - [x] 2a.018 sandbox-chroot: the executor (the fakechroot fallback law)
86
+ - [x] 2a.019 sandbox-chroot: the lane spec entry
87
+ - [x] 2a.020 sandbox-chroot: the test row
88
+ - [x] 2a.021 container-podman: the podman probe
89
+ - [x] 2a.022 container-podman: the executor (rootless run --rm)
90
+ - [x] 2a.023 container-podman: the lane spec entry
91
+ - [x] 2a.024 container-podman: the test row
92
+ - [x] 2a.025 container-containerd: the containerd probe
93
+ - [x] 2a.026 container-containerd: the executor (ctr run under the deadline)
94
+ - [x] 2a.027 container-containerd: the lane spec entry
95
+ - [x] 2a.028 container-containerd: the test row
96
+ - [x] 2a.029 container-runc: the runc probe
97
+ - [x] 2a.030 container-runc: the executor (the spec.json and rootfs tree)
98
+ - [x] 2a.031 container-runc: the lane spec entry
99
+ - [x] 2a.032 container-runc: the test row
100
+ - [x] 2a.033 container-crun: the crun probe
101
+ - [x] 2a.034 container-crun: the executor (the crun run spec)
102
+ - [x] 2a.035 container-crun: the lane spec entry
103
+ - [x] 2a.036 container-crun: the test row
104
+ - [x] 2a.037 container-max: the docker max profile executor
105
+ - [x] 2a.038 container-max: the spec and the test row
106
+ - [x] 2a.039 container-lite: the docker lite profile executor
107
+ - [x] 2a.040 container-lite: the spec and the test row
108
+ - [x] 2a.041 container-ghcr: the ghcr immutable executor (pull --quiet)
109
+ - [x] 2a.042 container-ghcr: the spec and the test row
110
+ - [x] 2a.043 runtime-clr: the dotnet probe
111
+ - [x] 2a.044 runtime-clr: the executor (dotnet run the csx/script seat)
112
+ - [x] 2a.045 runtime-clr: the spec and the test row
113
+ - [x] 2a.046 runtime-workerd: the workerd probe
114
+ - [x] 2a.047 runtime-workerd: the executor (the capnp config and the run)
115
+ - [x] 2a.048 runtime-workerd: the spec and the test row
116
+ - [x] 2a.049 screen-xvfb: the xvfb-run probe
117
+ - [x] 2a.050 screen-xvfb: the executor (the virtual display run)
118
+ - [x] 2a.051 screen-xvfb: the spec and the test row
119
+ - [x] 2a.052 screen-wayland: the compositor probe (cage, weston)
120
+ - [x] 2a.053 screen-wayland: the executor (the headless compositor session)
121
+ - [x] 2a.054 screen-wayland: the spec and the test row
122
+ - [x] 2a.055 mobile-termux: the termux probe
123
+ - [x] 2a.056 mobile-termux: the executor (the honest absent answer law)
124
+ - [x] 2a.057 mobile-termux: the spec and the test row
125
+ - [x] 2a.058 build-bazel: the bazel probe
126
+ - [x] 2a.059 build-bazel: the executor (the BUILD file and the run)
127
+ - [x] 2a.060 build-bazel: the spec and the test row
128
+ - [x] 2a.061 build-buck: the buck2 probe
129
+ - [x] 2a.062 build-buck: the executor (the BUCK file and the run)
130
+ - [x] 2a.063 build-buck: the spec and the test row
131
+ - [x] 2a.064 build-turborepo: the turbo probe
132
+ - [x] 2a.065 build-turborepo: the executor (turbo run through the module seat)
133
+ - [x] 2a.066 build-turborepo: the spec and the test row
134
+ - [x] 2a.067 ci-actions: the actions-runner probe
135
+ - [x] 2a.068 ci-actions: the executor (the runner config law)
136
+ - [x] 2a.069 ci-actions: the spec and the test row
137
+ - [x] 2a.070 ci-gitlab: the gitlab-runner probe
138
+ - [x] 2a.071 ci-gitlab: the executor (the executor shell law)
139
+ - [x] 2a.072 ci-gitlab: the spec and the test row
140
+ - [x] 2a.073 network-tor: the tor probe
141
+ - [x] 2a.074 network-tor: the executor (the socks resolve through the circuit)
142
+ - [x] 2a.075 network-tor: the spec and the test row
143
+ - [x] 2a.076 network-i2p: the i2p probe
144
+ - [x] 2a.077 network-i2p: the executor (the tunnel address law)
145
+ - [x] 2a.078 network-i2p: the spec and the test row
146
+ - [x] 2a.079 network-wireguard: the wg probe
147
+ - [x] 2a.080 network-wireguard: the executor (the interface handshake law)
148
+ - [x] 2a.081 network-wireguard: the spec and the test row
149
+ - [x] 2a.082 storage-minio: the mc probe
150
+ - [x] 2a.083 storage-minio: the executor (the bucket alias law)
151
+ - [x] 2a.084 storage-minio: the spec and the test row
152
+ - [x] 2a.085 storage-garage: the garage probe
153
+ - [x] 2a.086 storage-garage: the executor (the key and bucket law)
154
+ - [x] 2a.087 storage-garage: the spec and the test row
155
+ - [x] 2a.088 write the executor map export (edgelaneexecutorshost)
156
+ - [x] 2a.089 write the lane spec export (hostlanespecs)
157
+ - [x] 2a.090 write the id export (hostlaneids)
158
+ - [x] 2a.091 the absent-runtime honesty test (every host lane answers the coded absence when the binary is absent)
159
+ - [x] 2a.092 the present-runtime smoke (the lanes whose binaries this host carries answer a real run)
160
+ - [x] 2a.093 the deadline law test (no host lane exceeds its budget)
161
+ - [x] 2a.094 the tempdir law test (no lane leaves bytes behind)
162
+ - [x] 2a.095 the output cap test (256 kb ceiling)
163
+ - [x] 2a.096 the spec coverage test (every executor has a spec, every spec an executor)
164
+ - [x] 2a.097 biome the file zero findings
165
+ - [x] 2a.098 the file compiles under the project baseline
166
+ - [x] 2a.099 the test file runs green
167
+ - [x] 2a.100 the report: the lane ids and the states
168
+ - [x] 2a.101 re-read the file top to bottom (the self review)
169
+ - [x] 2a.102 fix every finding of the self review
170
+ - [x] 2a.103 re-run the battery
171
+ - [x] 2a.104 the honest summary to the orchestrator
172
+ - [x] 2a.105 the group a checkpoint row in this ladder
173
+ - [x] 2a.106 the count check: twenty-five modalities wired
174
+
175
+ ### phase 2b — the in-process lanes (82)
176
+
177
+ - [x] 2b.007 write the file header and the imports of edgelandesinproc.ts
178
+ - [x] 2b.008 export the executor and spec types riding the contract
179
+ - [x] 2b.009 ram-tmpfs: the tmpfs mount recipe
180
+ - [x] 2b.010 ram-tmpfs: the executor (the in-memory fs tree)
181
+ - [x] 2b.011 ram-tmpfs: the spec and the test row
182
+ - [x] 2b.012 ram-mmap: the zero-copy map recipe
183
+ - [x] 2b.013 ram-mmap: the executor (the byte window law)
184
+ - [x] 2b.014 ram-mmap: the spec and the test row
185
+ - [x] 2b.015 ram-overlayfs: the overlay recipe
186
+ - [x] 2b.016 ram-overlayfs: the executor (the layer union law)
187
+ - [x] 2b.017 ram-overlayfs: the spec and the test row
188
+ - [x] 2b.018 ram-loopram: the loop disk recipe
189
+ - [x] 2b.019 ram-loopram: the executor (the sector map law)
190
+ - [x] 2b.020 ram-loopram: the spec and the test row
191
+ - [x] 2b.021 ram-gitram: the git object cache recipe
192
+ - [x] 2b.022 ram-gitram: the executor (the hash table law)
193
+ - [x] 2b.023 ram-gitram: the spec and the test row
194
+ - [x] 2b.024 ram-zram: the zstd stream recipe
195
+ - [x] 2b.025 ram-zram: the executor (the compressed page law)
196
+ - [x] 2b.026 ram-zram: the spec and the test row
197
+ - [x] 2b.027 ram-zswap: the swap front recipe
198
+ - [x] 2b.028 ram-zswap: the executor (the pool law)
199
+ - [x] 2b.029 ram-zswap: the spec and the test row
200
+ - [x] 2b.030 ram-swapfile: the swap file recipe
201
+ - [x] 2b.031 ram-swapfile: the executor (the extent table law)
202
+ - [x] 2b.032 ram-swapfile: the spec and the test row
203
+ - [x] 2b.033 delivery-cdn: the mirror manifest executor
204
+ - [x] 2b.034 delivery-cdn: the spec and the test row
205
+ - [x] 2b.035 delivery-wss: the websocket frame executor
206
+ - [x] 2b.036 delivery-wss: the spec and the test row
207
+ - [x] 2b.037 delivery-webtransport: the http3 datagram executor
208
+ - [x] 2b.038 delivery-webtransport: the spec and the test row
209
+ - [x] 2b.039 delivery-grpc: the grpc frame executor
210
+ - [x] 2b.040 delivery-grpc: the spec and the test row
211
+ - [x] 2b.041 delivery-capnproto: the capnp segment executor
212
+ - [x] 2b.042 delivery-capnproto: the spec and the test row
213
+ - [x] 2b.043 storage-libsql: the libsql seat executor
214
+ - [x] 2b.044 storage-libsql: the spec and the test row
215
+ - [x] 2b.045 storage-mysql: the wire handshake executor
216
+ - [x] 2b.046 storage-mysql: the spec and the test row
217
+ - [x] 2b.047 storage-postgres: the wire startup executor
218
+ - [x] 2b.048 storage-postgres: the spec and the test row
219
+ - [x] 2b.049 storage-s3: the bucket request executor
220
+ - [x] 2b.050 storage-s3: the spec and the test row
221
+ - [x] 2b.051 browser-webcontainer: the in-process node seat executor
222
+ - [x] 2b.052 browser-webcontainer: the spec and the test row
223
+ - [x] 2b.053 local-optin: the consent gate executor
224
+ - [x] 2b.054 local-optin: the spec and the test row
225
+ - [x] 2b.055 write the executor map export (edgelaneexecutorsinproc)
226
+ - [x] 2b.056 write the lane spec export (inproclanespecs)
227
+ - [x] 2b.057 write the id export (inproclaneids)
228
+ - [x] 2b.058 the determinism test (same input answers the same bytes)
229
+ - [x] 2b.059 the quota law test (every recipe answers its ceiling honestly)
230
+ - [x] 2b.060 the recipe fidelity test (the tmpfs microsecond, the map five, the zram five hundred)
231
+ - [x] 2b.061 the protocol frame tests (wss, webtransport, grpc, capnproto round trips)
232
+ - [x] 2b.062 the storage wire tests (the handshake bytes of every protocol)
233
+ - [x] 2b.063 the consent law test (local-optin refuses without the declared consent)
234
+ - [x] 2b.064 the webcontainer law test (the node seat answers the module law)
235
+ - [x] 2b.065 the spec coverage test
236
+ - [x] 2b.066 biome the file zero findings
237
+ - [x] 2b.067 the file compiles under the baseline
238
+ - [x] 2b.068 the test file runs green
239
+ - [x] 2b.069 the report: the lane ids and the states
240
+ - [x] 2b.070 re-read the file top to bottom (the self review)
241
+ - [x] 2b.071 fix every finding
242
+ - [x] 2b.072 re-run the battery
243
+ - [x] 2b.073 the honest summary
244
+ - [x] 2b.074 the checkpoint row
245
+ - [x] 2b.075 the count check: nineteen modalities wired
246
+ - [x] 2b.076 the oom-guard law row (every ram recipe answers the guard)
247
+ - [x] 2b.077 the origin-pin law row (every delivery lane pins the origin)
248
+ - [x] 2b.078 the auth-token law row (every storage wire lane carries the token law)
249
+ - [x] 2b.079 the visitor law row (no in-process lane touches a browser surface)
250
+ - [x] 2b.080 the artifact law row (every lane answers the artifact mime)
251
+ - [x] 2b.081 the inputs law row (the frozen inputs surface)
252
+ - - [x] 2b.082 the group b final check
253
+
254
+ ### phase 2c — the virtual hardware lanes (41)
255
+
256
+ - [x] 2c.007 write the file header and the imports of edgelandesvirtual.ts
257
+ - [x] 2c.008 export the executor and spec types riding the contract
258
+ - [x] 2c.009 virtual-full: the complete machine composition
259
+ - [x] 2c.010 virtual-full: the executor (cpu, gpu, memory, boot sequence)
260
+ - [x] 2c.011 virtual-full: the spec and the test row
261
+ - [x] 2c.012 virtual-vgpu: the mig slice composition
262
+ - [x] 2c.013 virtual-vgpu: the executor (the slice table law)
263
+ - [x] 2c.014 virtual-vgpu: the spec and the test row
264
+ - [x] 2c.015 virtual-screen: the vm plus vnc composition
265
+ - [x] 2c.016 virtual-screen: the executor (the display tree law)
266
+ - [x] 2c.017 virtual-screen: the spec and the test row
267
+ - [x] 2c.018 virtual-drivers: the driver surface composition
268
+ - [x] 2c.019 virtual-drivers: the executor (the nvml shim law)
269
+ - [x] 2c.020 virtual-drivers: the spec and the test row
270
+ - [x] 2c.021 virtual-kvm: the kvm machine composition
271
+ - [x] 2c.022 virtual-kvm: the executor (the clean rootfs law)
272
+ - [x] 2c.023 virtual-kvm: the spec and the test row
273
+ - [x] 2c.024 microvm-gpuless: the mesa llvmpipe composition
274
+ - [x] 2c.025 microvm-gpuless: the executor (lavapipe, rusticl, xvfb)
275
+ - [x] 2c.026 microvm-gpuless: the spec and the test row
276
+ - [x] 2c.027 gpu-virgl: the virgl context composition
277
+ - [x] 2c.028 gpu-virgl: the executor (the context quota law)
278
+ - [x] 2c.029 gpu-virgl: the spec and the test row
279
+ - [x] 2c.030 write the executor map export (edgelaneexecutorsvirtual)
280
+ - [x] 2c.031 write the lane spec export (virtuallanespecs)
281
+ - [x] 2c.032 write the id export (virtuallaneids)
282
+ - [x] 2c.033 the payload fidelity test (the procfs, smi and dmesg bytes the native engine emits)
283
+ - [x] 2c.034 the composition law test (every machine answers cpu, memory and boot)
284
+ - [x] 2c.035 the gpu law test (the vgpu slice answers the mig table)
285
+ - [x] 2c.036 the spec coverage test
286
+ - [x] 2c.037 biome the file zero findings
287
+ - [x] 2c.038 the file compiles under the baseline
288
+ - [x] 2c.039 the test file runs green
289
+ - [x] 2c.040 the report: the lane ids and the states
290
+ - [x] 2c.041 the count check: seven modalities wired
291
+
292
+ ### phase 2d — the plane integration (30)
293
+
294
+ - [x] 2d.1 merge the three executor maps into the dispatcher surface
295
+ - [x] 2d.2 extend the EDGELANES table with the group a entries
296
+ - [x] 2d.3 extend the EDGELANES table with the group b entries
297
+ - [x] 2d.4 extend the EDGELANES table with the group c entries
298
+ - [x] 2d.5 flip the registry states of the group a lanes to live
299
+ - [x] 2d.6 flip the registry states of the group b lanes to live
300
+ - [x] 2d.7 flip the registry states of the group c lanes to live
301
+ - [x] 2d.8 flip the six heavyweight lanes to host (browser-server, mobile-capacitor, mobile-postmarketos, pod-session, confidential-sevsnp, confidential-tdx)
302
+ - [x] 2d.9 the host probes of the six heavyweight lanes
303
+ - [x] 2d.10 update the pinned LIVESET of the registry test
304
+ - [x] 2d.11 update the pinned HOSTSET of the registry test
305
+ - [x] 2d.12 the plan report test (57 planned walks to 0, live 30 walks to 81, host 3 walks to 9)
306
+ - [x] 2d.13 extend the edgeplane test: the new lanes dispatch through runonedge
307
+ - [x] 2d.14 the lane table test (every lane probes, the report never lies)
308
+ - [x] 2d.15 the visitor law test over the new lanes
309
+ - [x] 2d.16 the webserver lanes route serves the extended table
310
+ - [x] 2d.17 the webserver run route dispatches the new lanes
311
+ - [x] 2d.18 the api surface types of the new lanes
312
+ - [x] 2d.19 the build check (npm run check green)
313
+ - [x] 2d.20 the full saddle battery green
314
+ - [x] 2d.21 the modalityregistry count stays ninety
315
+ - [x] 2d.22 the honest state audit (no lane claims more than it wires)
316
+ - [x] 2d.23 the join resolver walks the new records
317
+ - [x] 2d.24 the boot ladder still holds
318
+ - [x] 2d.25 the dist package carries the new files
319
+ - [x] 2d.26 the package export surface stays intact
320
+ - [x] 2d.27 the docs row (the worklog entry)
321
+ - [x] 2d.28 the plan ladder rows checked
322
+ - [x] 2d.29 the self review of the integration
323
+ - [x] 2d.30 the integration checkpoint
324
+
325
+ ### phase 2e — the app declarations (50, reconciled)
326
+
327
+ (the rebase onto main dropped the group e files: the parallel wave
328
+ #240 landed the family declaration seat — sandboxmodality.ts with the
329
+ join resolver — while this wave worked, and the no-duplication law
330
+ keeps the main branch's seat. the fifty rows below record the work
331
+ this wave did before the reconciliation; the debonair widening and
332
+ the per-app seats live on only in the wave history.)
333
+
334
+ - [x] 2e.01 argan: the modality declaration surface
335
+ - [x] 2e.02 argan: the declaration test
336
+ - [x] 2e.03 cadria: the modality declaration surface
337
+ - [x] 2e.04 cadria: the declaration test
338
+ - [x] 2e.05 cobaia: the modality declaration surface
339
+ - [x] 2e.06 cobaia: the declaration test
340
+ - [x] 2e.07 debonair: the wider vocabulary (the ninety ids ride the worker seat)
341
+ - [x] 2e.08 debonair: the declaration test update
342
+ - [x] 2e.09 devthink: the modality declaration surface
343
+ - [x] 2e.10 devthink: the declaration test
344
+ - [x] 2e.11 forge: the modality declaration surface
345
+ - [x] 2e.12 forge: the declaration test
346
+ - [x] 2e.13 foundry: the modality declaration surface
347
+ - [x] 2e.14 foundry: the declaration test
348
+ - [x] 2e.15 getry: the modality declaration surface
349
+ - [x] 2e.16 getry: the declaration test
350
+ - [x] 2e.17 stealthhead: the modality declaration surface
351
+ - [x] 2e.18 stealthhead: the declaration test
352
+ - [x] 2e.19 vault: the modality declaration surface
353
+ - [x] 2e.20 vault: the declaration test
354
+ - [x] 2e.21–2e.50: per-app verification rows (battery green, biome zero, the declaration law, the env seat, the family seam, the docs row, the honest summary — one row per app, ten apps)
355
+
356
+ ### phase 3 — the verification (15)
357
+
358
+ - [x] 3.1 the saddle battery green
359
+ - [x] 3.2 the devthink battery green
360
+ - [x] 3.3 the debonair battery green
361
+ - [x] 3.4 the getry battery green
362
+ - [x] 3.5 the forge battery green
363
+ - [x] 3.6 the foundry battery green
364
+ - [x] 3.7 the vault battery green
365
+ - [x] 3.8 the argan battery green
366
+ - [x] 3.9 the cadria battery green
367
+ - [x] 3.10 the cobaia battery green
368
+ - [x] 3.11 the stealthhead battery green
369
+ - [x] 3.12 the biome check of every touched file
370
+ - [x] 3.13 the build check
371
+ - [x] 3.14 the live proof (the lanes report through the api)
372
+ - [x] 3.15 the total count: every battery green, zero regression
373
+
374
+ ### phase 4 — the pull request (8)
375
+
376
+ - [x] 4.1 the commit with the family identity
377
+ - [x] 4.2 the branch push
378
+ - [x] 4.3 the pull request body (the law voice)
379
+ - [x] 4.4 the ci watch
380
+ - [x] 4.5 the flake law (rerun or admin when a check flakes)
381
+ - [x] 4.6 the squash merge keeping only main
382
+ - [x] 4.7 the branch delete
383
+ - [x] 4.8 the worklog and the ladder close
384
+
385
+ ## the honest state map (the wave answered)
386
+
387
+ - planned 57 → 0
388
+ - live 30 → 81 (30 + 51 wired)
389
+ - host 3 → 9 (3 + 6 heavyweight probes)
390
+ - total stays 90 (the plan count the owner charged)
391
+ - merged: pr #241 squashed as 538683c3, the branch deleted, only main
File without changes
File without changes
File without changes
File without changes
package/docs/release.md CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  # Saddle 1.8.13
2
2
 
3
- Saddle 1.8.13 carries the active code and release-facing manifests forward from 1.8.12. The previous [1.8.12 release notes](releasenotes-1.8.12.md) remain the canonical record for the licensing and artifact baseline. The comparative 1.8.21 research is planning material and is not presented as a shipped feature.
3
+ Saddle 1.8.13 carries the active code and release-facing manifests forward from 1.8.12. The previous [1.8.12 release notes](releasenotes1812.md) remain the canonical record for the licensing and artifact baseline. The comparative 1.8.21 research is planning material and is not presented as a shipped feature.
4
4
 
5
5
  ## Changes
6
6
 
@@ -67,4 +67,4 @@ The queue, structured extraction, browser context, workflow compensation and ret
67
67
 
68
68
  [1]: https://github.com/wenathlan/saddle "Saddle source repository"
69
69
  [2]: https://github.com/wenathlan/saddle/releases "Saddle release archive"
70
- [3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes-1.8.12.md "Saddle 1.8.12 release notes"
70
+ [3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes1812.md "Saddle 1.8.12 release notes"
@@ -64,4 +64,4 @@ Local gates passed before the tag was created. Desktop run `31806235468` complet
64
64
 
65
65
  [1]: https://github.com/wenathlan/saddle "Saddle source repository"
66
66
  [2]: https://github.com/wenathlan/saddle/releases "Saddle release archive"
67
- [3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes-1.8.13.md "Saddle 1.8.13 release notes"
67
+ [3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes1813.md "Saddle 1.8.13 release notes"
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Scope and evidence boundary
4
4
 
5
- This synthesis evaluates the 100 primary repository sources recorded in [repo-research-1.8.16.md](./repo-research-1.8.16.md). It does not copy source code, vendor dependencies, credentials, workflow configuration, service setup, operating assumptions, or claims of the reviewed projects. A candidate that lacked successful primary extraction is retained only as a pending source and is not used as implementation evidence.
5
+ This synthesis evaluates the 100 primary repository sources recorded in [reporesearch1816.md](./reporesearch1816.md). It does not copy source code, vendor dependencies, credentials, workflow configuration, service setup, operating assumptions, or claims of the reviewed projects. A candidate that lacked successful primary extraction is retained only as a pending source and is not used as implementation evidence.
6
6
 
7
7
  The current baseline is Saddle 1.8.15. It already has deterministic storage pools and budgets, working-set planning, archive inspection, transform cache eligibility, provider-chain selection and cancellation plans, declarative delivery/PWA/surface requirements, release asset generation and local checksum verification. The selected 1.8.16 additions must remain additive, TypeScript-first, root-first, dependency-free, serializable and adapter-owned for all privileged or remote effects.
8
8
 
File without changes
File without changes
package/docs/security.md CHANGED
File without changes
File without changes
File without changes
package/docs/sitemap.md CHANGED
File without changes
package/docs/todo.md CHANGED
@@ -696,9 +696,9 @@ The following blocks are the execution order for the complete ecosystem. A block
696
696
 
697
697
  - [x] Read the supplied scope references in full, distinguish verified constraints from aspirational proposals, and preserve both files unchanged.
698
698
  - [x] Map the active 1.8.14 engine, exports, tests, package surfaces and release rules against the realistic 1.8.15 opportunity set.
699
- - [x] Create `docs/todo-1.8.15.md` with more than 400 individually checkable research, contract, implementation, test, documentation, validation and release steps.
699
+ - [x] Create `docs/todo1815.md` with more than 400 individually checkable research, contract, implementation, test, documentation, validation and release steps.
700
700
  - [ ] Define a public-repository research rubric and category quota for the 1.8.16 comparative analysis, targeting 100–300 relevant repositories without treating any external implementation as a copy source.
701
- - [x] Create `docs/todo-1.8.16.md` with 600–900 individually checkable steps covering repository research, evidence capture, gap selection, implementation, tests, documentation, release and post-release verification.
701
+ - [x] Create `docs/todo1816.md` with 600–900 individually checkable steps covering repository research, evidence capture, gap selection, implementation, tests, documentation, release and post-release verification.
702
702
  - [x] Review both versioned plans for architectural constraints, security, feasibility, feature ownership and release-gate dependencies before beginning implementation.
703
703
 
704
704
  ### Authorized execution order
@@ -470,7 +470,7 @@
470
470
  - [ ] Verify all active version manifests remain at 1.8.14 until implementation and release notes are ready.
471
471
  - [ ] Bump all active version manifests to 1.8.15 only after the release candidate is validated.
472
472
  - [ ] Update the iOS build number to 1008015 only as part of the validated version bump.
473
- - [ ] Create docs/releasenotes-1.8.15.md from verified claims and the real generated artifact inventory.
473
+ - [ ] Create docs/releasenotes1815.md from verified claims and the real generated artifact inventory.
474
474
  - [ ] Update changelog.md with concise, evidence-backed 1.8.15 entries.
475
475
  - [ ] Update docs/artifactavailability.md using only post-build and post-release evidence.
476
476
  - [ ] Create a commit authored as iakadion after the full local gate passes.
@@ -541,7 +541,7 @@
541
541
  - [x] Derive the 1.8.16 verification check for release evidence only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability. Completed by deterministic acceptance, insufficiency, mismatch, and readiness tests in `tests/engine.test.ts`.
542
542
  - [ ] Derive the 1.8.16 workflow test for release evidence only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability.
543
543
  - [x] Derive the 1.8.16 failure policy for release evidence only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability. Completed by ordered `rejected` and `insufficient` reason codes without positive assurance claims.
544
- - [x] Derive the 1.8.16 documentation for release evidence only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability. Completed in `docs/enginearchitecture.md` and `docs/repo-synthesis-1.8.16.md`.
544
+ - [x] Derive the 1.8.16 documentation for release evidence only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability. Completed in `docs/enginearchitecture.md` and `docs/reposynthesis1816.md`.
545
545
  - [ ] Derive the 1.8.16 contract for cross-runtime compatibility only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability.
546
546
  - [ ] Derive the 1.8.16 capability matrix for cross-runtime compatibility only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability.
547
547
  - [ ] Derive the 1.8.16 import graph audit for cross-runtime compatibility only after comparative evidence identifies a concrete gap that does not duplicate an existing Saddle capability.
@@ -626,15 +626,15 @@
626
626
 
627
627
  ## 8. Documentation, compatibility, and release execution
628
628
 
629
- - [ ] Update docs/repo-research-1.8.16.md with the complete selected repository inventory and source evidence.
629
+ - [ ] Update docs/reporesearch1816.md with the complete selected repository inventory and source evidence.
630
630
  - [ ] Update docs/repo-analysis-1.8.16.json with structured metadata, classification, source paths, and implementation disposition for every analyzed repository.
631
- - [ ] Update docs/repo-synthesis-1.8.16.md with feature-gap rankings, accepted patterns, rejected patterns, and implementation rationale.
631
+ - [ ] Update docs/reposynthesis1816.md with feature-gap rankings, accepted patterns, rejected patterns, and implementation rationale.
632
632
  - [ ] Update docs/gapmatrix.md only after comparing the implemented result against the final 1.8.16 code and tests.
633
633
  - [ ] Update README claims only when a corresponding capability is public, tested, documented, and not caller-owned or speculative.
634
634
  - [ ] Update package exports only for stable, explicitly documented additive contracts.
635
635
  - [ ] Update type declarations and package-import tests for every export-map change.
636
636
  - [ ] Update changelog.md from verified completed work rather than the original research hypothesis.
637
- - [x] Create docs/releasenotes-1.8.16.md only after artifact inventory, signing status, workflows, and registry results are known. The final release record lists 38 attached assets and the manual Android fallback state.
637
+ - [x] Create docs/releasenotes1816.md only after artifact inventory, signing status, workflows, and registry results are known. The final release record lists 38 attached assets and the manual Android fallback state.
638
638
  - [x] Update docs/artifactavailability.md only from generated and remotely verified release evidence. The 1.8.15 and 1.8.16 matrices use published release inventories.
639
639
  - [x] Run npm test, legacy tests, web typecheck, web build, formatcheck, package dry-run, high-severity audit, and flat-native validation on the final candidate. The candidate passed 136 active and 69 legacy tests with all required gates.
640
640
  - [x] Review CI workflows for tag-derived versioning, no hardcoded release version, no exposed secrets, and no unverified publish claim. Tag-triggered registry and asset workflows completed with explicit signing-state boundaries.
@@ -670,7 +670,7 @@
670
670
  - [x] Compare requested operating-system and architecture combinations against Docker Buildx, OCI image-index, Node runtime, and runner support.
671
671
  - [x] Distinguish publishable Linux OCI variants from Windows container variants that require a compatible Windows base image and Windows runner.
672
672
  - [x] Avoid claiming an `unknown` platform as a runnable operating-system or architecture target.
673
- - [x] Select a supported 1.8.17 Linux multi-architecture matrix and record rejected or deferred combinations with their technical reason in `docs/containerplatforms-1.8.17.md`.
673
+ - [x] Select a supported 1.8.17 Linux multi-architecture matrix and record rejected or deferred combinations with their technical reason in `docs/containerplatforms1817.md`.
674
674
  - [x] Review the current container workflow, image base, tags, OCI labels, post-push pull, label verification, and smoke test before modifying it.
675
675
  - [x] Extend the container workflow only for platform combinations that can build and execute the packaged Saddle runtime: `linux/amd64`, `linux/arm64`, and `linux/ppc64le`.
676
676
  - [x] Keep release-tag version derivation, registry credentials, permissions, and the container-first documentation order intact.
File without changes
File without changes
File without changes
package/docs/usage.md CHANGED
File without changes
package/docs/viability.md CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes