@wenathlan/saddle 2.0.151 → 2.0.152
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/README.md +3 -3
- package/biome.jsonc +12 -5
- package/dist/App.d.ts +3 -0
- package/dist/App.js +50 -0
- package/dist/Sol/Sol.d.ts +3 -0
- package/dist/Sol/Sol.js +46 -0
- package/dist/Sol/agentbrowser/agentbrowser.d.ts +9 -0
- package/dist/Sol/agentbrowser/agentbrowser.js +121 -0
- package/dist/Sol/architecture/architecture.d.ts +9 -0
- package/dist/Sol/architecture/architecture.js +93 -0
- package/dist/Sol/compute/compute.d.ts +9 -0
- package/dist/Sol/compute/compute.js +22 -0
- package/dist/Sol/console/console.d.ts +15 -0
- package/dist/Sol/console/console.js +292 -0
- package/dist/Sol/dashboard/dashboard.d.ts +10 -0
- package/dist/Sol/dashboard/dashboard.js +181 -0
- package/dist/Sol/docs/docs.d.ts +9 -0
- package/dist/Sol/docs/docs.js +28 -0
- package/dist/Sol/home/home.d.ts +35 -0
- package/dist/Sol/home/home.js +239 -0
- package/dist/Sol/integrations/integrations.d.ts +9 -0
- package/dist/Sol/integrations/integrations.js +83 -0
- package/dist/Sol/intro/intro.d.ts +7 -0
- package/dist/Sol/intro/intro.js +102 -0
- package/dist/Sol/login/login.d.ts +16 -0
- package/dist/Sol/login/login.js +49 -0
- package/dist/Sol/notfound/notfound.d.ts +9 -0
- package/dist/Sol/notfound/notfound.js +15 -0
- package/dist/Sol/onboarding/onboarding.d.ts +25 -0
- package/dist/Sol/onboarding/onboarding.js +60 -0
- package/dist/Sol/playground/playground.d.ts +9 -0
- package/dist/Sol/playground/playground.js +127 -0
- package/dist/Sol/register/register.d.ts +16 -0
- package/dist/Sol/register/register.js +193 -0
- package/dist/Sol/shell/Shell.d.ts +124 -0
- package/dist/Sol/shell/Shell.js +335 -0
- package/dist/Sol/wingets/ComputeBootladder.d.ts +6 -0
- package/dist/Sol/wingets/ComputeBootladder.js +71 -0
- package/dist/Sol/wingets/ComputeModalitycatalog.d.ts +7 -0
- package/dist/Sol/wingets/ComputeModalitycatalog.js +71 -0
- package/dist/Sol/wingets/ConsoleApibadge.d.ts +7 -0
- package/dist/Sol/wingets/ConsoleApibadge.js +5 -0
- package/dist/Sol/wingets/ConsoleEdgelaw.d.ts +6 -0
- package/dist/Sol/wingets/ConsoleEdgelaw.js +36 -0
- package/dist/Sol/wingets/ConsoleEventstimeline.d.ts +19 -0
- package/dist/Sol/wingets/ConsoleEventstimeline.js +12 -0
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.d.ts +8 -0
- package/dist/Sol/wingets/ConsoleSnapshotcontrols.js +8 -0
- package/dist/Sol/wingets/ConsoleSpecpanel.d.ts +21 -0
- package/dist/Sol/wingets/ConsoleSpecpanel.js +75 -0
- package/dist/Sol/wingets/ConsoleTerminal.d.ts +22 -0
- package/dist/Sol/wingets/ConsoleTerminal.js +77 -0
- package/dist/Sol/wingets/DashboardAccountpanel.d.ts +18 -0
- package/dist/Sol/wingets/DashboardAccountpanel.js +65 -0
- package/dist/Sol/wingets/DashboardAdminpanel.d.ts +6 -0
- package/dist/Sol/wingets/DashboardAdminpanel.js +90 -0
- package/dist/Sol/wingets/DashboardAuditlog.d.ts +8 -0
- package/dist/Sol/wingets/DashboardAuditlog.js +50 -0
- package/dist/Sol/wingets/DashboardCreatesandboxform.d.ts +10 -0
- package/dist/Sol/wingets/DashboardCreatesandboxform.js +71 -0
- package/dist/Sol/wingets/DashboardEventstimeline.d.ts +8 -0
- package/dist/Sol/wingets/DashboardEventstimeline.js +83 -0
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.d.ts +8 -0
- package/dist/Sol/wingets/DashboardGlobalsandboxestable.js +57 -0
- package/dist/Sol/wingets/DashboardMeshnodestable.d.ts +8 -0
- package/dist/Sol/wingets/DashboardMeshnodestable.js +103 -0
- package/dist/Sol/wingets/DashboardSandboxlist.d.ts +10 -0
- package/dist/Sol/wingets/DashboardSandboxlist.js +163 -0
- package/dist/Sol/wingets/DashboardUserstable.d.ts +8 -0
- package/dist/Sol/wingets/DashboardUserstable.js +78 -0
- package/dist/Sol/wingets/HomeEntrygate.d.ts +23 -0
- package/dist/Sol/wingets/HomeEntrygate.js +73 -0
- package/dist/Sol/wingets/HomeMetricstrip.d.ts +9 -0
- package/dist/Sol/wingets/HomeMetricstrip.js +4 -0
- package/dist/Sol/wingets/HomeRuntimediagram.d.ts +1 -0
- package/dist/Sol/wingets/HomeRuntimediagram.js +22 -0
- package/dist/Sol/wingets/LoginForm.d.ts +19 -0
- package/dist/Sol/wingets/LoginForm.js +141 -0
- package/dist/Sol/wingets/RegisterPasswordconfirm.d.ts +13 -0
- package/dist/Sol/wingets/RegisterPasswordconfirm.js +16 -0
- package/dist/Sol/wingets/RegisterPasswordmeter.d.ts +19 -0
- package/dist/Sol/wingets/RegisterPasswordmeter.js +65 -0
- package/dist/Sol/wingets/RegisterUsernamerules.d.ts +11 -0
- package/dist/Sol/wingets/RegisterUsernamerules.js +16 -0
- package/dist/Sol/wingets/index.d.ts +39 -0
- package/dist/Sol/wingets/index.js +39 -0
- package/dist/alternatives.d.ts +508 -0
- package/dist/alternatives.js +950 -0
- package/dist/api.d.ts +154 -0
- package/dist/api.js +174 -0
- package/dist/auth.d.ts +268 -0
- package/dist/auth.js +476 -0
- package/dist/automation.d.ts +425 -0
- package/dist/automation.js +566 -0
- package/dist/browser.d.ts +561 -0
- package/dist/browser.js +1058 -0
- package/dist/capacitor.config.d.ts +45 -0
- package/dist/capacitor.config.js +48 -0
- package/dist/catalog.d.ts +43 -0
- package/dist/catalog.js +44 -0
- package/dist/cli.d.ts +16 -0
- package/dist/cli.js +168 -0
- package/dist/communication.d.ts +181 -0
- package/dist/communication.js +376 -0
- package/dist/compute.d.ts +1160 -0
- package/dist/compute.js +2272 -0
- package/dist/dashboardlib.d.ts +58 -0
- package/dist/dashboardlib.js +161 -0
- package/dist/db.d.ts +569 -0
- package/dist/db.js +1080 -0
- package/dist/distribution.d.ts +528 -0
- package/dist/distribution.js +810 -0
- package/dist/drizzle.config.d.ts +20 -0
- package/dist/drizzle.config.js +18 -0
- package/dist/edgelandes.d.ts +70 -0
- package/dist/edgelandes.host.d.ts +26 -0
- package/dist/edgelandes.host.js +1089 -0
- package/dist/edgelandes.inproc.d.ts +27 -0
- package/dist/edgelandes.inproc.js +952 -0
- package/dist/edgelandes.js +1133 -0
- package/dist/edgelandes.ninety.d.ts +31 -0
- package/dist/edgelandes.ninety.js +174 -0
- package/dist/edgelandes.virtual.d.ts +25 -0
- package/dist/edgelandes.virtual.js +629 -0
- package/dist/edgeplane.d.ts +114 -0
- package/dist/edgeplane.js +305 -0
- package/dist/examplelocaljob.d.ts +1 -0
- package/{docs/example-localjob.ts → dist/examplelocaljob.js} +0 -1
- package/dist/execution.d.ts +529 -0
- package/dist/execution.js +760 -0
- package/dist/family.d.ts +16 -0
- package/dist/family.js +42 -0
- package/dist/familyurl.d.ts +21 -0
- package/dist/familyurl.js +24 -0
- package/dist/format.d.ts +18 -0
- package/dist/format.js +59 -0
- package/dist/foundation.d.ts +172 -0
- package/dist/foundation.js +312 -0
- package/dist/index.d.ts +735 -0
- package/dist/index.js +1020 -0
- package/dist/integration.d.ts +235 -0
- package/dist/integration.js +228 -0
- package/dist/intelligence.d.ts +93 -0
- package/dist/intelligence.js +144 -0
- package/dist/isolation.d.ts +128 -0
- package/dist/isolation.js +95 -0
- package/dist/labels.d.ts +665 -0
- package/dist/labels.js +751 -0
- package/dist/localauth.d.ts +127 -0
- package/dist/localauth.js +413 -0
- package/dist/media.d.ts +343 -0
- package/dist/media.js +985 -0
- package/dist/mesh.d.ts +177 -0
- package/dist/mesh.js +468 -0
- package/dist/modalityregistry.d.ts +109 -0
- package/dist/modalityregistry.js +1386 -0
- package/dist/modes.d.ts +358 -0
- package/dist/modes.js +133 -0
- package/dist/onboardingstate.d.ts +79 -0
- package/dist/onboardingstate.js +282 -0
- package/dist/orchestrator.d.ts +1338 -0
- package/dist/orchestrator.js +4310 -0
- package/dist/packager/targetcli.js +4 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.js +14 -0
- package/dist/performance.d.ts +415 -0
- package/dist/performance.js +826 -0
- package/dist/quantum.d.ts +809 -0
- package/dist/quantum.js +2072 -0
- package/dist/render.d.ts +380 -0
- package/dist/render.js +1072 -0
- package/dist/runall.d.ts +2 -0
- package/dist/runall.js +39 -0
- package/dist/runtimeprobe.d.ts +4 -0
- package/dist/runtimeprobe.js +8 -0
- package/dist/sandbox.d.ts +355 -0
- package/dist/sandbox.js +1721 -0
- package/dist/sandboxenvprofile.d.ts +29 -0
- package/dist/sandboxenvprofile.js +89 -0
- package/dist/sandboxprofile.d.ts +137 -0
- package/dist/sandboxprofile.js +241 -0
- package/dist/sandboxqueue.d.ts +108 -0
- package/dist/sandboxqueue.js +201 -0
- package/dist/sandboxquota.d.ts +121 -0
- package/dist/sandboxquota.js +236 -0
- package/dist/scheduler.d.ts +595 -0
- package/dist/scheduler.js +1258 -0
- package/dist/scriptlanes.d.ts +182 -0
- package/dist/scriptlanes.js +660 -0
- package/dist/scripts.buildengine.d.ts +1 -0
- package/dist/scripts.buildengine.js +39 -0
- package/dist/scripts.securitygate.d.ts +1 -0
- package/dist/scripts.securitygate.js +68 -0
- package/dist/scripts.validateflatnative.d.ts +1 -0
- package/dist/scripts.validateflatnative.js +72 -0
- package/dist/security.d.ts +500 -0
- package/dist/security.js +1169 -0
- package/dist/seedcatalog.d.ts +13 -0
- package/dist/seedcatalog.js +46 -0
- package/dist/server.d.ts +20 -0
- package/dist/server.js +53 -0
- package/dist/speccatalog.d.ts +31 -0
- package/dist/speccatalog.js +163 -0
- package/dist/tiers.d.ts +1001 -0
- package/dist/tiers.js +2169 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +5 -0
- package/dist/vaulthandoff.d.ts +141 -0
- package/dist/vaulthandoff.js +444 -0
- package/dist/virtual.d.ts +640 -0
- package/dist/virtual.js +1284 -0
- package/dist/virtualcpu.d.ts +315 -0
- package/dist/virtualcpu.js +1180 -0
- package/dist/virtualgpu.d.ts +344 -0
- package/dist/virtualgpu.js +1000 -0
- package/dist/virtualization.d.ts +606 -0
- package/dist/virtualization.js +1186 -0
- package/dist/virtualmemory.d.ts +817 -0
- package/dist/virtualmemory.js +1795 -0
- package/dist/vite.config.d.ts +3 -0
- package/dist/vite.config.js +43 -0
- package/dist/vitest.config.d.ts +2 -0
- package/dist/vitest.config.js +25 -0
- package/dist/webserver.d.ts +166 -0
- package/dist/webserver.js +2226 -0
- package/dist/workloadlaw.d.ts +133 -0
- package/dist/workloadlaw.js +193 -0
- package/docs/artifactavailability.md +2 -2
- package/docs/{containerplatforms-2.1.0.md → containerplatforms.2.1.0.md} +1 -1
- package/docs/{documentmap-1.8.12.md → documentmap.1.8.12.md} +1 -1
- package/docs/ninety.modalities.md +108 -0
- package/docs/planning.ninety.md +391 -0
- package/docs/{releasenotes-1.8.13.md → releasenotes.1.8.13.md} +2 -2
- package/docs/{releasenotes-1.8.14.md → releasenotes.1.8.14.md} +1 -1
- package/docs/{repo-synthesis-1.8.16.md → repo.synthesis.1.8.16.md} +1 -1
- package/docs/{todo-1.8.15.md → todo.1.8.15.md} +1 -1
- package/docs/{todo-1.8.16.md → todo.1.8.16.md} +5 -5
- package/docs/todo.md +2 -2
- package/docs/workloadlaw.md +104 -0
- package/index.ts +1 -1
- package/manifest.json +1 -1
- package/modalityregistry.ts +1371 -34
- package/orchestrator.ts +1 -1
- package/package.json +73 -33
- package/docs/CONVERSA.txt +0 -1523
- package/docs/architecture-1.8.19.png +0 -0
- package/docs/assets/architecture.svg +0 -45
- package/docs/assets/saddle-browser-trace.webp +0 -0
- package/docs/assets/saddle-hero-bridge.webp +0 -0
- package/docs/assets/saddle-mark.webp +0 -0
- package/docs/assets/saddle-runtime-map.webp +0 -0
- package/docs/assets/saddlemark.svg +0 -13
- package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
- /package/docs/{architecture-1.8.19.md → architecture.1.8.19.md} +0 -0
- /package/docs/{architecture-1.8.19.mmd → architecture.1.8.19.mmd} +0 -0
- /package/docs/{artifactresearch-1.8.9.md → artifactresearch.1.8.9.md} +0 -0
- /package/docs/{batches-1816-1820.md → batches.1816.to.1820.md} +0 -0
- /package/docs/{brancharchive-2026-08-18.md → brancharchive.2026.08.18.md} +0 -0
- /package/docs/{containerplatforms-1.8.17.md → containerplatforms.1.8.17.md} +0 -0
- /package/docs/{e2ugh-engine.md → e2ugh.engine.md} +0 -0
- /package/docs/{flatbuildresearch-1.8.11.md → flatbuildresearch.1.8.11.md} +0 -0
- /package/docs/{licenseaudit-1.8.12.md → licenseaudit.1.8.12.md} +0 -0
- /package/docs/{mobileconversionresearch-1.8.10.md → mobileconversionresearch.1.8.10.md} +0 -0
- /package/docs/{native-wrappers.md → native.wrappers.md} +0 -0
- /package/docs/{nativeidentityresearch-1.8.11.md → nativeidentityresearch.1.8.11.md} +0 -0
- /package/docs/{releasenotes-1.8.12.md → releasenotes.1.8.12.md} +0 -0
- /package/docs/{releasenotes-1.8.15.md → releasenotes.1.8.15.md} +0 -0
- /package/docs/{releasenotes-1.8.16.md → releasenotes.1.8.16.md} +0 -0
- /package/docs/{releasenotes-1.8.17.md → releasenotes.1.8.17.md} +0 -0
- /package/docs/{releasenotes-1.8.18.md → releasenotes.1.8.18.md} +0 -0
- /package/docs/{releasenotes-1.8.19.md → releasenotes.1.8.19.md} +0 -0
- /package/docs/{reorganization-1.8.8.md → reorganization.1.8.8.md} +0 -0
- /package/docs/{reorganization-1.8.9.md → reorganization.1.8.9.md} +0 -0
- /package/docs/{repo-analysis-1.8.21.json → repo.analysis.1.8.21.json} +0 -0
- /package/docs/{repo-candidates-1.8.21.jsonl → repo.candidates.1.8.21.jsonl} +0 -0
- /package/docs/{repo-research-1.8.16.md → repo.research.1.8.16.md} +0 -0
- /package/docs/{repo-research-1.8.21.md → repo.research.1.8.21.md} +0 -0
- /package/docs/{repo-selected-1.8.21.json → repo.selected.1.8.21.json} +0 -0
- /package/docs/{repo-synthesis-1.8.21.md → repo.synthesis.1.8.21.md} +0 -0
- /package/docs/{research-1.8.18-isolation.md → research.1.8.18.isolation.md} +0 -0
- /package/docs/{research-1.8.19-virtual-browser.md → research.1.8.19.virtual.browser.md} +0 -0
- /package/docs/{scanningresearch-1.8.11.md → scanningresearch.1.8.11.md} +0 -0
- /package/docs/{securityaudit-1.8.7.md → securityaudit.1.8.7.md} +0 -0
- /package/docs/{securityreferences-1.8.11.md → securityreferences.1.8.11.md} +0 -0
- /package/docs/{securityresearch-1.8.11.md → securityresearch.1.8.11.md} +0 -0
- /package/docs/{signingresearch-1.8.12.md → signingresearch.1.8.12.md} +0 -0
- /package/docs/{tauri-glib-risk-1.8.11.md → tauri.glib.risk.1.8.11.md} +0 -0
- /package/docs/{todo-1.8.18.md → todo.1.8.18.md} +0 -0
- /package/docs/{todo-1.8.19.md → todo.1.8.19.md} +0 -0
- /package/docs/{toolchainresearch-1.8.9.md → toolchainresearch.1.8.9.md} +0 -0
- /package/docs/{web-duplicatecleanup.md → web.duplicatecleanup.md} +0 -0
- /package/docs/{web-ideas.md → web.ideas.md} +0 -0
- /package/docs/{workflowimprovements-2026-08-19.md → workflowimprovements.2026.08.19.md} +0 -0
|
@@ -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 — edgelandes.host.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 — edgelandes.inproc.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 — edgelandes.virtual.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 edgelandes.host.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 edgelandes.inproc.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 edgelandes.virtual.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
|
|
@@ -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
|
|
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.
|
|
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
|
|
70
|
+
[3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes.1.8.12.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
|
|
67
|
+
[3]: https://github.com/wenathlan/saddle/blob/main/docs/releasenotes.1.8.13.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
|
|
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.
|
|
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
|
|
|
@@ -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
|
|
473
|
+
- [ ] Create docs/releasenotes.1.8.15.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
|
|
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`.
|
|
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
|
|
629
|
+
- [ ] Update docs/repo.research.1.8.16.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
|
|
631
|
+
- [ ] Update docs/repo.synthesis.1.8.16.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
|
|
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.
|
|
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
|
|
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`.
|
|
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.
|
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
|
|
699
|
+
- [x] Create `docs/todo.1.8.15.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
|
|
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.
|
|
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
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# the workload law — the family lane catalog and the join of record
|
|
2
|
+
|
|
3
|
+
> wave WL1 — the answer to the owner's charge: the system and every step
|
|
4
|
+
> of it ride the saddle, the visitor browser, gpu, cpu and storage are
|
|
5
|
+
> never touched, and the ninety modality modalities of the engine answer
|
|
6
|
+
> the family's work over the internet.
|
|
7
|
+
|
|
8
|
+
## the law
|
|
9
|
+
|
|
10
|
+
The engine already carried the nuclear modality law since wave SV1
|
|
11
|
+
(`modalityregistry.ts`): the workload never chooses a modality by name —
|
|
12
|
+
the join resolver reads the demand (isolation, gpu, network, boot budget)
|
|
13
|
+
and answers the modality set that satisfies it, so the person chooses
|
|
14
|
+
none and the platform resolves the join of all. Until this wave the law
|
|
15
|
+
was a declared spine without a caller: the registry was a catalog and a
|
|
16
|
+
report, no lane of any app ever asked the join a question, and the
|
|
17
|
+
debonair worker seat named modality ids by hand without a resolver behind
|
|
18
|
+
them.
|
|
19
|
+
|
|
20
|
+
The workload law (`workloadlaw.ts`) makes the nuclear law executable for
|
|
21
|
+
the whole family:
|
|
22
|
+
|
|
23
|
+
1. **The catalog** — `FAMILYLANES` carries one row per heavy workload
|
|
24
|
+
lane of every official app of the monorepo: the app that owns the
|
|
25
|
+
lane, the lane id, the role sentence, the demand (gpu, network,
|
|
26
|
+
isolation depth, boot budget) and the honest today (`engine-lane` when
|
|
27
|
+
the heavy pass already runs on a server-side engine surface,
|
|
28
|
+
`app-lane` when it still walks inside the app surface). The analysis
|
|
29
|
+
wave (A1) mapped all thirty-six lanes from the real modules of the
|
|
30
|
+
eleven apps.
|
|
31
|
+
2. **The join** — `lanejoin` rides the registry's `resolvejoin` for each
|
|
32
|
+
row's demand and answers the ordered candidate set with the honest
|
|
33
|
+
verdict: `dispatchable` (at least one live modality satisfies the
|
|
34
|
+
demand), `planned-only` (only planned records answer — the gpu lanes
|
|
35
|
+
ride here today and say so) or `unresolved` (a calibration defect the
|
|
36
|
+
battery refuses).
|
|
37
|
+
3. **The census** — `workloadreport` folds the per-app joins into the
|
|
38
|
+
family work order: the dispatchable count, the planned-only wait, the
|
|
39
|
+
app-lane migration list (the lanes whose heavy pass still walks the
|
|
40
|
+
app surface — the next waves' honest backlog), nothing hardcoded.
|
|
41
|
+
|
|
42
|
+
Every row carries a demand and never a modality id — the candidates are
|
|
43
|
+
computed from the registry of record, so a modality that turns live
|
|
44
|
+
tomorrow answers the same lane without this file moving.
|
|
45
|
+
|
|
46
|
+
## the family mirrors
|
|
47
|
+
|
|
48
|
+
Each app of the family carries `sandboxmodality.ts` — the mirror of its
|
|
49
|
+
own rows in the engine catalog, plus the deploy's opt-in seat:
|
|
50
|
+
|
|
51
|
+
- `WORKLOADLANES` — the mirrored lane rows (the lockstep string contract:
|
|
52
|
+
mirrored, not imported, because the published saddle envelope does not
|
|
53
|
+
carry the workload law yet and the family law bars relative paths
|
|
54
|
+
across apps — the same discipline the devthink modalities vendor
|
|
55
|
+
rides).
|
|
56
|
+
- `<APP>_SANDBOX_LANE` — the deploy's seat: `local` (the default, the
|
|
57
|
+
deploy's own process), `join` (the platform resolves every lane through
|
|
58
|
+
the engine's join resolver), or a pinned modality id (named by the
|
|
59
|
+
deploy, validated by the platform's join at dispatch — the app module
|
|
60
|
+
never judges engine vocabulary, so the mirror cannot drift when the
|
|
61
|
+
registry grows).
|
|
62
|
+
- The debonair keeps its worker seat (`DEBONAIR_WORKER_MODALITY`) beside
|
|
63
|
+
the family seat — the two coexist honestly: the worker seat pins the
|
|
64
|
+
worker process, the lane seat declares the lanes to the platform.
|
|
65
|
+
|
|
66
|
+
Every app battery pins its mirror against the engine catalog through the
|
|
67
|
+
vitest bridge (`@wenathlan/saddle/workloadlaw` → the monorepo source),
|
|
68
|
+
comparing lane, role, demand and today row by row — the vendor can never
|
|
69
|
+
drift in silence. The bridge retires when the published envelope carries
|
|
70
|
+
the built workload law.
|
|
71
|
+
|
|
72
|
+
## the api surface
|
|
73
|
+
|
|
74
|
+
The self-hosted web console (`webserver.ts`) answers the law over the
|
|
75
|
+
`/api/v1` contract:
|
|
76
|
+
|
|
77
|
+
- `GET /edge/workloads` — the family census: the workload report, the
|
|
78
|
+
probed lane table of the edge plane and the app list, one round trip.
|
|
79
|
+
- `GET /edge/join?app=&lane=` — the nuclear law as a lookup: the workload
|
|
80
|
+
names its app and lane, the resolver answers the ordered candidate set
|
|
81
|
+
with the honest verdict. A 404 answers an unknown app or lane (the
|
|
82
|
+
honest refusal, never a silent empty join).
|
|
83
|
+
|
|
84
|
+
## the honest first census
|
|
85
|
+
|
|
86
|
+
The first reading of the law over the current registry (30 live, 3 host,
|
|
87
|
+
57 planned modalities):
|
|
88
|
+
|
|
89
|
+
- thirty-five of the thirty-six lanes resolve dispatchable — at least
|
|
90
|
+
one live modality satisfies every demand except the gpu wait;
|
|
91
|
+
- `stealthhead/world-bake` answers planned-only — every gpu record of the
|
|
92
|
+
registry is planned today, and the lane says so instead of pretending
|
|
93
|
+
(the first gpu modality that turns live answers it without any file
|
|
94
|
+
moving);
|
|
95
|
+
- sixteen lanes still walk the app surface (`app-lane`) — the seeded
|
|
96
|
+
rehearsals of forge and foundry, the browser fallbacks of argan's
|
|
97
|
+
catalog, the decode lane of cadria, the simulation walks of
|
|
98
|
+
stealthhead: the honest migration list the next waves work through,
|
|
99
|
+
lane by lane, each one a deploy that seats `join` and a platform that
|
|
100
|
+
dispatches through the edge plane.
|
|
101
|
+
|
|
102
|
+
The lane table, the join and the census are the wiring truth of this
|
|
103
|
+
law: a lane that does not ride the saddle says so, a lane that can ride
|
|
104
|
+
tomorrow is named, and nothing pretends.
|
package/index.ts
CHANGED
package/manifest.json
CHANGED