@oddington/cli 0.1.35 → 0.1.37

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 (3) hide show
  1. package/README.md +42 -13
  2. package/dist/os.js +184 -184
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -147,10 +147,13 @@ step IDs when available, or `authority_unavailable` / `execution_unavailable`
147
147
  without steps. Customer-owned module augmentation supplies the property types;
148
148
  it grants no authority.
149
149
 
150
- Local readiness requires the mapped `routines/<routine>/run.ts` and owning
151
- `routines/package.json` inside this worktree, Node native TypeScript stripping,
152
- `"type": "module"`, a satisfied npm `engines.node` range, and an installed
153
- `@oddington/sdk` that resolves without import. The assessment never imports
150
+ Local readiness requires the mapped `routines/<routine>/run.ts` inside this
151
+ worktree. Modern routines also require their private ESM package manifest,
152
+ the shared frozen Bun workspace lock, Bun 1.3.14, compatible Node, the exact
153
+ root authoring SDK 0.1.17 and the selected installed runtime graph. Launch uses
154
+ the same OS-owned executable-unit builder as deployment. Legacy routines keep
155
+ their existing module-root, Node TypeScript stripping and SDK requirements
156
+ until a selected manifest explicitly cuts them over. The assessment never imports
154
157
  routine code, runs package scripts, installs dependencies or accepts browser
155
158
  path/runtime overrides. Missing code still permits app launch. Availability
156
159
  is fresh assessment, not a reservation or guarantee of later execution.
@@ -402,6 +405,23 @@ builds and checks definitions, then activates only a compatible ready version;
402
405
  a failure preserves the current active version. Deployment never invokes
403
406
  business code or creates installation authority.
404
407
 
408
+ Modern layout uses one Bun workspace and lock under `routines/`, shared authoring
409
+ tools at its root, and a private ESM manifest per selected routine. For example,
410
+ dependency-free Ghost still has `routines/ghost/package.json`:
411
+
412
+ ```json
413
+ { "name": "ghost", "private": true, "type": "module" }
414
+ ```
415
+
416
+ Include `ghost` in the root workspace membership and keep one frozen
417
+ `routines/bun.lock`. OS packages only Ghost's reachable source, declared assets
418
+ and frozen runtime graph; unrelated tooling and untouched legacy routines do
419
+ not enlarge or invalidate it. The empty graph needs no customer dependency
420
+ installation during deployment. Supported runtime packages are frozen registry
421
+ imports; customer scripts, build hooks, aliases and SDK replacement are refused.
422
+ See [frozen source admission](src/routine-deployment-source.md) for the bounded
423
+ import and dependency contract.
424
+
405
425
  The command reports phases, bounded diagnostics, the opaque version, source
406
426
  summary, runtime profile/features and capability names. Closing the CLI stops
407
427
  inspection while accepted OS work continues. Repeat the identical command to
@@ -541,21 +561,30 @@ with the searched version. Missing/incomplete search data fails retryably with
541
561
  provider connections retain their normal network and authority requirements;
542
562
  local execution may contact OS or providers.
543
563
 
544
- Local execution requires native Node TypeScript stripping, a module
545
- `routines/package.json`, a matching `engines.node`, and an installed SDK.
546
- Before inspection, OS pins reachable ESM/CommonJS modules, runtime packages,
547
- governing package metadata and literal `new URL` assets, up to 20,000 files /
548
- 256 MiB. Unrelated routines, historical output, unused dependencies, caches and
549
- logs are excluded. Reachable symlinks, native addons, computed loaders/assets
550
- and unsupported exports refuse; execution never uses changing checkout code.
564
+ For modern local execution, install the workspace separately with Bun 1.3.14.
565
+ Keep `@oddington/sdk` exactly 0.1.17 in root `devDependencies`, compatible Node,
566
+ the selected private ESM manifest and the shared frozen lock. OS verifies only
567
+ the selected installed graph, stages its confined bytes and builds the same
568
+ executable unit used by deployment, preserving declared assets and SDK ownership.
569
+ Missing build tools, incompatible SDK, invalid metadata or stale/unavailable
570
+ packages report unavailable before business work. Local Python dependency
571
+ provisioning is unsupported. Launch never repairs the workspace or falls back
572
+ from a broken modern manifest to legacy execution.
573
+
574
+ Routines without a selected package manifest retain the existing legacy path:
575
+ native Node TypeScript stripping, a module `routines/package.json`, a matching
576
+ `engines.node`, and an installed SDK. A workspace root alone does not cut over
577
+ other routines or `_runtime`. Both paths freeze reachable source before
578
+ inspection, up to 20,000 files / 256 MiB. Unrelated routines, historical output,
579
+ unused dependencies, caches and logs are excluded. Reachable symlinks, native
580
+ addons and computed loaders/assets refuse; execution never uses changing checkout code.
551
581
  No dependency installation or package script runs. Run state is bounded to
552
582
  64 MiB; reports and redacted output each retain at most 10 MiB. Launcher ownership
553
583
  renews every 20 seconds with a 90-second lease; execution retains the existing
554
584
  15-minute capability bound.
555
585
 
556
586
  `routine prepare`, `run --local`, executable/argv selection, routine workspace,
557
- name and working-root flags, and publish `--run` are retired. Remote execution,
558
- deployment and schedules are unavailable in this release. `os run --connection`
587
+ name and working-root flags, and publish `--run` are retired. `os run --connection`
559
588
  remains the separate ad hoc command; app children still publish immediately.
560
589
 
561
590
  `changes.delete(record)` captures the selected `$ref` and `$version`. A mixed