@wenathlan/saddle 2.0.155 → 2.0.159

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 CHANGED
@@ -30,8 +30,8 @@ domain modules land beside the saddle domains:
30
30
  | `scheduler.ts`, `compute.ts`, `performance.ts` | job queues, batch compute and benchmark planning |
31
31
  | `media.ts`, `render.ts`, `quantum.ts`, `tiers.ts` | media pipeline, GPU registry, quantum simulation, tier policy |
32
32
  | `security.ts`, `alternatives.ts` | hardening gates and the alternative-stack catalog |
33
- | `index.html`, `App.tsx`, `Sol/` | the single SPA shell and the Sol theme (one tsx app with one stylesheet per theme) |
34
- | `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.155 grand-merge envelope (`node server.ts`; the api answers its version at `/api/v1/health`) and the browser-pure engine port |
33
+ | `index.html`, `App.tsx`, `sol/` | the single SPA shell and the Sol theme (one tsx app with one stylesheet per theme) |
34
+ | `server.ts`, `sandbox.ts` | the zero-dependency self-hosted API of the 2.0.156 grand-merge envelope (`node server.ts`; the api answers its version at `/api/v1/health`) and the browser-pure engine port |
35
35
  | `vercel.json`, `netlify.toml` | the platform deploy adapters beside the surface they publish (the caddy ghost stays out of the tree) |
36
36
  | `specs/*` package exports | processors, gpus, cores, boards and the qemu/mttg/passage/docker envelopes |
37
37
 
@@ -282,7 +282,7 @@ intelligence.ts, modes.ts
282
282
  the saddle domain routing barrel files (bot, browser, delivery, integrations, profiles)
283
283
  server.ts, webserver.ts, api.ts, cli.ts
284
284
  the self-hosted api surfaces, the web console and the stable cli
285
- Sol/ the Sol theme — the platform's web surface (one tsx app, one stylesheet per theme)
285
+ sol/ the Sol theme — the platform's web surface (one tsx app, one stylesheet per theme)
286
286
  specs processors.json, gpus.json, cores.json, boards.json and the qemu/mttg/passage/docker/vm envelopes
287
287
  tests/ deterministic engine and extension coverage
288
288
  docs/ architecture, API, security, release and registry notes
package/biome.jsonc CHANGED
@@ -23,9 +23,9 @@
23
23
  "!**/docs",
24
24
  "!**/tests/tmp",
25
25
  "!**/tests/code",
26
- "!**/Sol/dist",
27
- "!**/Sol/.vite",
28
- "!**/Sol/node_modules",
26
+ "!**/sol/dist",
27
+ "!**/sol/.vite",
28
+ "!**/sol/node_modules",
29
29
  "!**/coverage",
30
30
  "!**/android",
31
31
  "!**/releasecheck",
@@ -1,76 +1,39 @@
1
- # Saddle 1.8.19 architecture organization
1
+ # architecture 1819
2
2
 
3
- ## Objective
4
-
5
- This reorganization preserves every existing capability while making ownership and dependency direction easier to inspect. The root entry point remains a thin universal router. Public contracts remain additive and stable. Existing package subpaths remain compatible. Generated `dist/` output remains untracked.
6
-
7
- > A domain groups correlated behavior, contracts and tests. It is not a claim that unrelated code is removed or that an infrastructure adapter is activated.
8
-
9
- ## Twenty correlated domains
10
-
11
- | ID | Domain | Current ownership | Allowed direction |
12
- | --- | --- | --- | --- |
13
- | 01 | Public surface | `index.ts`, `library/` | Re-exports domain façades only. |
14
- | 02 | Foundation | `core/` | Defines errors, identifiers, hashing, events and serializable nouns. |
15
- | 03 | Isolation policy | `isolation/`, API policy helpers | Evaluates approval, denial, handoff and receipt boundaries. |
16
- | 04 | Execution planning | `runtime/`, `runners/` | Plans and observes work through caller-owned adapters. |
17
- | 05 | Memory planning | `memory/` | Defines internal working-set, targets, transforms and bounded plans. |
18
- | 06 | Storage planning | `storage/` | Defines adapter-owned content, cache, chunk and synchronization contracts. |
19
- | 07 | Persistence | `persistence/` | Defines optional schema, migration and provider-neutral persistence adapters. |
20
- | 08 | Browser | `browser/`, `extension/` | Defines browser, virtual-browser, extension and session contracts without user-profile access. |
21
- | 09 | Acquisition | `scrape/`, `captcha/` | Defines request, crawl, extract, proxy and challenge contracts. |
22
- | 10 | Communication | `api/` | Defines authenticated envelopes, transports, rate policy and event serialization. |
23
- | 11 | External adapters | `adapters/` | Defines replaceable forge, socket, app and MCP adapters. |
24
- | 12 | Automation | `automation/`, `surfaces/` | Defines automation manifests, permissions, triggers and surface requirements. |
25
- | 13 | Intelligence | `ai/` | Defines token, chunk, retrieval, provenance and metric contracts. |
26
- | 14 | Binary handling | `binary/` | Defines archive, build and transformation plans without execution. |
27
- | 15 | Distribution | `packager/`, `release/` | Defines package, artifact, delivery, readiness and evidence contracts; filesystem-backed asset verification remains an explicit subpath. |
28
- | 16 | Modes | `modes/`, `server/` | Defines target modes, surface profiles and host-neutral service/deployment adapters; the Node server remains an explicit subpath only. |
29
- | 17 | Commands | `cli/` | Defines command parsing, presentation and command-level integration. |
30
- | 18 | Web application | `web/` | Defines static routes, UI components, visual assets and build boundaries. |
31
- | 19 | Native modes | `desktop/`, `android/`, `ios/`, `extension/` | Defines platform packaging metadata and calls library contracts. |
32
- | 20 | Quality and operations | `tests/`, `.github/`, `docs/` | Defines deterministic evidence, build checks, release operations and architecture records. |
33
-
34
- ## Dependency flow
35
-
36
- ![Rendered organization diagram](architecture-1.8.19.png)
3
+ The architecture flowchart of the saddle engine layers (mermaid source, formerly architecture1819.mmd):
37
4
 
38
5
  ```mermaid
39
6
  flowchart TD
40
- public[Public surface] --> foundation[Foundation]
41
- public --> policy[Isolation policy]
42
- public --> execution[Execution planning]
43
- public --> memory[Memory planning]
44
- public --> storage[Storage planning]
45
- public --> browser[Browser]
46
- public --> acquisition[Acquisition]
47
- public --> communication[Communication]
48
- public --> automation[Automation]
49
- public --> intelligence[Intelligence]
50
- public --> binary[Binary handling]
51
- public --> distribution[Distribution]
52
- public --> modes[Modes]
7
+ public[01 Public surface] --> foundation[02 Foundation]
8
+ public --> policy[03 Isolation policy]
9
+ public --> execution[04 Execution]
10
+ public --> memory[05 Memory]
11
+ public --> storage[06 Storage]
12
+ public --> persistence[07 Persistence]
13
+ public --> browser[08 Browser]
14
+ public --> acquisition[09 Acquisition]
15
+ public --> communication[10 Communication]
16
+ public --> integration[11 External adapters]
17
+ public --> automation[12 Automation]
18
+ public --> intelligence[13 Intelligence]
19
+ public --> binary[14 Binary]
20
+ public --> distribution[15 Distribution]
21
+ public --> modes[16 Modes]
22
+ public --> commands[17 Commands]
23
+ public --> web[18 Web application]
24
+ public --> native[19 Native modes]
25
+ public --> quality[20 Quality operations]
53
26
  foundation --> policy
54
27
  policy --> execution
55
- memory --> storage
56
- storage --> persistence[Persistence]
28
+ memory --> storage --> persistence
57
29
  acquisition --> browser
58
- automation --> communication
59
- execution --> adapters[External adapters]
60
- browser --> adapters
61
- communication --> adapters
62
- binary --> distribution
63
- modes --> surfaces[Commands, web and native modes]
64
- distribution --> operations[Quality and operations]
65
- surfaces --> operations
30
+ automation --> communication --> integration
31
+ execution --> integration
32
+ browser --> integration
33
+ binary --> distribution --> quality
34
+ modes --> commands
35
+ modes --> web
36
+ modes --> native
37
+ web --> quality
38
+ native --> quality
66
39
  ```
67
-
68
- The root may import only domain façades. Each façade may import its owned modules and lower-level contracts. Runtime, browser, storage, binary and remote-provider behavior remain adapter-owned: no domain may add implicit host, filesystem, browser-profile, network or provider effects.
69
-
70
- ## Compatibility rules
71
-
72
- Existing module paths referenced by package exports remain valid. A module may be moved only after a compatibility shim or an equivalent export is in place, all relative imports are updated, and the package dry-run includes the expected output. Native mode metadata, workflow paths, CLI command paths and static web routing are release boundaries and therefore move only with corresponding validation.
73
-
74
- ## Implementation order
75
-
76
- The first reorganization block groups the public root exports behind domain façades. The second groups adjacent library modules where no package subpath or native workflow depends on their exact location. The final block aligns tests and documentation with the same 20 domains. Each block must pass the engine build, active tests, legacy tests, formatting, package inspection, web checks and native-flat validation before the next block begins.
@@ -0,0 +1,5 @@
1
+ # saddle features
2
+
3
+ ## Dependencies
4
+
5
+ - synchronized dependency union — the eleven family apps share one dependency tree: identical `dependencies`, `devDependencies` and `peerDependencies` (same keys, same versions, nothing removed, highest semver wins on conflicts) and one `engines` catalog with node as maestro and the V 0.5.2 seat as catalog annotation (@family wave/depssync).
package/index.ts CHANGED
@@ -21,7 +21,7 @@ import { randomInt, randomUUID } from 'node:crypto';
21
21
  import { EventEmitter } from 'node:events';
22
22
  import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
23
23
  import { join } from 'node:path';
24
- import type { migprofileid } from './virtualmemory.ts';
24
+ import type { migprofileid } from './virtual.ts';
25
25
 
26
26
  /* ------------------------------------------------------------------ */
27
27
  /* Section 1: reference versions */
@@ -1446,18 +1446,12 @@ export {
1446
1446
  tmpfsrecipe,
1447
1447
  zramrecipe,
1448
1448
  } from './tiers.ts';
1449
- /** Re-exports the virtual processor bank and cpuinfo generators. */
1450
- export * from './virtualcpu.ts';
1451
- /** Re-exports the gpu passthrough surface (vfio, rom dump, vgpu data). */
1452
- export * from './virtualgpu.ts';
1453
- /** Re-exports the virtualization surface (qemu turbo argv, passage,
1454
- * mttg cgroups, mttg grid, checkpoint and restore, virtualizationcore
1455
- * bridge). */
1456
- export * from './virtualization.ts';
1457
- /** Re-exports the MIG profile union declared by the memory module. */
1458
- export type { migprofileid } from './virtualmemory.ts';
1459
- /** Re-exports the memory tier catalog and virtual memory manager. */
1460
- export * from './virtualmemory.ts';
1449
+ /* the virtual family fold (the edgelandes law, wave/virtualfold): the
1450
+ * four arm modules — virtualcpu.ts, virtualgpu.ts, virtualization.ts and
1451
+ * virtualmemory.ts — retired into the one keyword file virtual.ts, so
1452
+ * their star re-exports retire with them: the `export * from
1453
+ * './virtual.ts'` of the routing barrel below carries every one of their
1454
+ * names (plus the MIG profile type union) through the single seat. */
1461
1455
 
1462
1456
  /* ── Section 2: the saddle domain routing barrel ── */
1463
1457