@orkestrel/scaffold 0.0.38 → 0.0.39

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.
@@ -643,9 +643,14 @@ either publishes packages nobody needed to publish or leaves a consumer pinned t
643
643
  downstream of it re-pins, re-runs its gates, bumps, and republishes, in layer order.
644
644
  - A **development** `devDependencies` bump reaches nobody. Re-pin it, prove the gates still green,
645
645
  and commit to `main`. Do not bump the version and do not publish.
646
- - A development bump that forces a change to `src` or `app` is no longer a development bump. The
647
- published types or runtime moved, so that package bumps and publishes on its own account, and
648
- its own dependents follow the runtime rule above.
646
+ - A development bump that moves the published artifact is no longer a development bump. Prove the
647
+ direction with the build, not the diff of sources: rebuild after the re-pin and compare `dist/`
648
+ against the published tarball. Compare material content only — exclude sourcemaps and ignore
649
+ whitespace-only differences; a superfluous diff (formatting, blank lines, map noise) moves
650
+ nothing and obliges nothing. A material diff — tokens, declarations, logic — means the published
651
+ surface moved — a forced `src` or `app` edit and a toolchain-changed emit both surface here — so
652
+ that package bumps and publishes on its own account, and its own dependents follow the runtime
653
+ rule above.
649
654
 
650
655
  Every package is `0.0.x`, where a caret pins one exact release. A dependent therefore sees a new
651
656
  version only after it re-pins and republishes, so the fleet publishes in topological layer order
@@ -718,6 +723,10 @@ flag is what stops the gate chain running a second time inside the five minutes.
718
723
  prompt to answer: kill it by process id and mint a fresh flow.
719
724
  - Run the login and every publish under `script -qfc '<command>' <log>`. npm offers the approval only
720
725
  when it sees a TTY; without one it fails `EOTP` with no way to answer.
726
+ - Git Bash on Windows ships no `script` binary, so the upload step there is operator-driven: prepare
727
+ the layer, prove the gates, surface the exact `npm publish` command, and the operator runs it in a
728
+ real terminal. Everything before and after the upload — bumps, re-pins, gates, registry reads —
729
+ stays with the Orchestrator. The fifo stdin law still binds on that host.
721
730
  - Expect two approvals. `npmjs.com/login/cli/<id>` authenticates the session; `npmjs.com/auth/cli/<id>`
722
731
  authorizes the publish and opens the five-minute window. Tell the user both are coming, or the
723
732
  second link reads as the first having failed.
@@ -754,6 +763,11 @@ flag is what stops the gate chain running a second time inside the five minutes.
754
763
  - Read the result from the registry, not from an exit code: a piped `npm publish` reports the exit
755
764
  status of the pipeline, and a CDN read straight after a publish can still serve the previous
756
765
  version.
766
+ - A first publish creates the packument and can serve 404 for minutes after success. For a package
767
+ with no prior version treat 404 as pending, not failed, and re-read on an interval before
768
+ reporting either way. A bump serving the old version is CDN lag, same rule.
769
+ - Rule on a pack-time manifest-rewriting warning by fetching the registry's copy of the manifest,
770
+ never by the warning's own text.
757
771
  - Re-read the registry before telling the user a package failed. A chain still running, a retry that
758
772
  landed, and CDN lag all produce a failure reading that the registry contradicts, and a false
759
773
  failure report costs a needless approval and a needless republish.
@@ -36,47 +36,49 @@ so network-controlled descriptions never enter agent instruction context.
36
36
 
37
37
  | Package | Version | Layer | Runtime dependencies |
38
38
  | ----------------------- | -------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
39
- | `@orkestrel/abort` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
39
+ | `@orkestrel/abort` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
40
40
  | `@orkestrel/agent` | `0.0.15` | L5 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/queue` `^0.0.8`, `@orkestrel/timeout` `^0.0.6`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/workflow` `^0.0.11`, `@orkestrel/workspace` `^0.0.4` |
41
- | `@orkestrel/brief` | `0.0.1` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/interpret` `^0.0.8`, `@orkestrel/reason` `^0.0.5` |
41
+ | `@orkestrel/brief` | `0.0.2` | L4 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/interpret` `^0.0.9`, `@orkestrel/reason` `^0.0.6` |
42
42
  | `@orkestrel/browser` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/html` `^0.0.3`, `@orkestrel/websocket` `^0.0.8` |
43
- | `@orkestrel/budget` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
44
- | `@orkestrel/console` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
45
- | `@orkestrel/contract` | `0.0.11` | L0 | |
46
- | `@orkestrel/csv` | `0.0.3` | L1 | `@orkestrel/contract` `^0.0.11` |
47
- | `@orkestrel/database` | `0.0.9` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/indexeddb` `^0.0.7`, `@orkestrel/sqlite` `^0.0.7` |
48
- | `@orkestrel/emitter` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
43
+ | `@orkestrel/budget` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
44
+ | `@orkestrel/console` | `0.0.8` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
45
+ | `@orkestrel/contract` | `0.0.12` | L0 | |
46
+ | `@orkestrel/csv` | `0.0.4` | L1 | `@orkestrel/contract` `^0.0.12` |
47
+ | `@orkestrel/database` | `0.0.10` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7`, `@orkestrel/indexeddb` `^0.0.8`, `@orkestrel/sqlite` `^0.0.8` |
48
+ | `@orkestrel/emitter` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
49
+ | `@orkestrel/form` | `0.0.2` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
49
50
  | `@orkestrel/guide` | `0.0.11` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/markdown` `^0.0.8` |
50
- | `@orkestrel/html` | `0.0.3` | L1 | `@orkestrel/contract` `^0.0.11` |
51
- | `@orkestrel/indexeddb` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.11` |
52
- | `@orkestrel/interpret` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5`, `@orkestrel/template` `^0.0.3` |
53
- | `@orkestrel/markdown` | `0.0.8` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/html` `^0.0.3` |
51
+ | `@orkestrel/html` | `0.0.4` | L1 | `@orkestrel/contract` `^0.0.12` |
52
+ | `@orkestrel/indexeddb` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.12` |
53
+ | `@orkestrel/interpret` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6`, `@orkestrel/template` `^0.0.3` |
54
+ | `@orkestrel/markdown` | `0.0.9` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/html` `^0.0.4` |
54
55
  | `@orkestrel/mcp` | `0.0.15` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/sse` `^0.0.5`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/websocket` `^0.0.8` |
55
- | `@orkestrel/middleware` | `0.0.12` | L2 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/timeout` `^0.0.6` |
56
- | `@orkestrel/msg` | `0.0.6` | L0 | |
57
- | `@orkestrel/ndjson` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
56
+ | `@orkestrel/middleware` | `0.0.13` | L2 | `@orkestrel/abort` `^0.0.7`, `@orkestrel/budget` `^0.0.7`, `@orkestrel/contract` `^0.0.12`, `@orkestrel/timeout` `^0.0.7` |
57
+ | `@orkestrel/msg` | `0.0.7` | L0 | |
58
+ | `@orkestrel/ndjson` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
58
59
  | `@orkestrel/ollama` | `0.0.9` | L6 | `@orkestrel/agent` `^0.0.15`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/ndjson` `^0.0.6`, `@orkestrel/timeout` `^0.0.6`, `@orkestrel/tool` `^0.0.10` |
59
- | `@orkestrel/pool` | `0.0.7` | L2 | `@orkestrel/emitter` `^0.0.6` |
60
- | `@orkestrel/program` | `0.0.7` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/qualifier` `^0.0.8`, `@orkestrel/rater` `^0.0.9`, `@orkestrel/reason` `^0.0.5` |
61
- | `@orkestrel/qualifier` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5` |
60
+ | `@orkestrel/pool` | `0.0.8` | L2 | `@orkestrel/emitter` `^0.0.7` |
61
+ | `@orkestrel/program` | `0.0.8` | L4 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/qualifier` `^0.0.9`, `@orkestrel/rater` `^0.0.10`, `@orkestrel/reason` `^0.0.6` |
62
+ | `@orkestrel/qualifier` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6` |
62
63
  | `@orkestrel/queue` | `0.0.8` | L3 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/timeout` `^0.0.6` |
63
- | `@orkestrel/rater` | `0.0.9` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.5` |
64
- | `@orkestrel/reason` | `0.0.5` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
64
+ | `@orkestrel/rater` | `0.0.10` | L3 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/reason` `^0.0.6` |
65
+ | `@orkestrel/reason` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
65
66
  | `@orkestrel/relation` | `0.0.8` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6` |
66
- | `@orkestrel/router` | `0.0.9` | L2 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
67
- | `@orkestrel/scaffold` | `0.0.37` | L3 | `@orkestrel/console` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/markdown` `^0.0.8`, `@orkestrel/template` `^0.0.3` |
68
- | `@orkestrel/sea` | `0.0.6` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
67
+ | `@orkestrel/router` | `0.0.10` | L2 | `@orkestrel/abort` `^0.0.7`, `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
68
+ | `@orkestrel/scaffold` | `0.0.38` | L3 | `@orkestrel/console` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/markdown` `^0.0.8`, `@orkestrel/template` `^0.0.3` |
69
+ | `@orkestrel/sea` | `0.0.7` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
69
70
  | `@orkestrel/server` | `0.0.12` | L3 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/router` `^0.0.9`, `@orkestrel/timeout` `^0.0.6` |
70
- | `@orkestrel/sqlite` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.11` |
71
+ | `@orkestrel/sqlite` | `0.0.8` | L1 | `@orkestrel/contract` `^0.0.12` |
71
72
  | `@orkestrel/sse` | `0.0.5` | L0 | |
72
73
  | `@orkestrel/supervisor` | `0.0.1` | L5 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/workflow` `^0.0.12` |
73
- | `@orkestrel/template` | `0.0.3` | L2 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/emitter` `^0.0.6` |
74
- | `@orkestrel/terminal` | `0.0.8` | L3 | `@orkestrel/console` `^0.0.7`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/sse` `^0.0.5` |
75
- | `@orkestrel/test` | `0.0.3` | L0 | |
76
- | `@orkestrel/timeout` | `0.0.6` | L1 | `@orkestrel/contract` `^0.0.11` |
77
- | `@orkestrel/tool` | `0.0.10` | L1 | `@orkestrel/contract` `^0.0.11` |
74
+ | `@orkestrel/table` | `0.0.2` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
75
+ | `@orkestrel/template` | `0.0.4` | L2 | `@orkestrel/contract` `^0.0.12`, `@orkestrel/emitter` `^0.0.7` |
76
+ | `@orkestrel/terminal` | `0.0.9` | L3 | `@orkestrel/console` `^0.0.7`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.9`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/form` `^0.0.1`, `@orkestrel/sse` `^0.0.5` |
77
+ | `@orkestrel/test` | `0.0.6` | L0 | |
78
+ | `@orkestrel/timeout` | `0.0.7` | L1 | `@orkestrel/contract` `^0.0.12` |
79
+ | `@orkestrel/tool` | `0.0.11` | L1 | `@orkestrel/contract` `^0.0.12` |
78
80
  | `@orkestrel/toolbox` | `0.0.6` | L6 | `@orkestrel/agent` `^0.0.15`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/relation` `^0.0.8`, `@orkestrel/server` `^0.0.12`, `@orkestrel/terminal` `^0.0.7`, `@orkestrel/tool` `^0.0.10`, `@orkestrel/workflow` `^0.0.11`, `@orkestrel/workspace` `^0.0.4` |
79
- | `@orkestrel/websocket` | `0.0.8` | L2 | `@orkestrel/emitter` `^0.0.6` |
81
+ | `@orkestrel/websocket` | `0.0.9` | L2 | `@orkestrel/emitter` `^0.0.7` |
80
82
  | `@orkestrel/worker` | `0.0.7` | L4 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/pool` `^0.0.7`, `@orkestrel/queue` `^0.0.8` |
81
83
  | `@orkestrel/workflow` | `0.0.12` | L4 | `@orkestrel/abort` `^0.0.6`, `@orkestrel/budget` `^0.0.6`, `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6`, `@orkestrel/queue` `^0.0.8`, `@orkestrel/timeout` `^0.0.6` |
82
84
  | `@orkestrel/workspace` | `0.0.4` | L3 | `@orkestrel/contract` `^0.0.11`, `@orkestrel/database` `^0.0.8`, `@orkestrel/emitter` `^0.0.6` |
@@ -99,9 +101,11 @@ pin names an older version runs that older version, whatever the registry holds.
99
101
 
100
102
  A **development** bump obliges nothing. A `devDependencies` range reaches no consumer of
101
103
  the published package, so re-pin it, prove the gates still green, and stop. Never report a
102
- development bump as a cascade. It becomes one only if it forces a change to `src` or
103
- `app`, because then the published types or runtime moved and the package bumps on that
104
- account rather than on the dependency's.
104
+ development bump as a cascade. It becomes one only when the rebuilt `dist/` differs
105
+ materially from the published artifact after the re-pin sourcemaps excluded,
106
+ whitespace-only differences ignored meaning the published surface moved, through a
107
+ forced `src`/`app` edit or a changed toolchain emit, and the package then bumps on that
108
+ account rather than on the dependency's. A superfluous diff obliges nothing.
105
109
 
106
110
  The `Layer` column above is the publish round, derived from the runtime edges in the same
107
111
  row. `L0` depends on nothing else in the fleet and publishes first; each later layer
@@ -304,9 +304,9 @@ var DEFAULT_VERSION = "0.0.1";
304
304
  var DEFAULT_ENGINES = `>=${MINIMUM_NODE_VERSION}`;
305
305
  /** The tooling versions scaffold and every generated workspace share. */
306
306
  var BASE_DEV_DEPENDENCIES = Object.freeze({
307
- "@orkestrel/guide": "^0.0.11",
308
- "@orkestrel/scaffold": "^0.0.38",
309
- "@orkestrel/test": "^0.0.5",
307
+ "@orkestrel/guide": "^0.0.12",
308
+ "@orkestrel/scaffold": "^0.0.39",
309
+ "@orkestrel/test": "^0.0.6",
310
310
  "@types/node": "^26.2.0",
311
311
  oxfmt: "^0.62.0",
312
312
  oxlint: "^1.77.0",
@@ -325,11 +325,11 @@ var SOURCE_BROWSER_DEV_DEPENDENCIES = Object.freeze({
325
325
  playwright: "^1.62.1"
326
326
  });
327
327
  /** The development dependency every private `app` environment adds. */
328
- var APP_DEV_DEPENDENCIES = Object.freeze({ "@orkestrel/contract": "^0.0.11" });
328
+ var APP_DEV_DEPENDENCIES = Object.freeze({ "@orkestrel/contract": "^0.0.12" });
329
329
  /** The development dependencies a private Vue browser application adds. */
330
330
  var APP_BROWSER_DEV_DEPENDENCIES = Object.freeze({
331
331
  ...SOURCE_BROWSER_DEV_DEPENDENCIES,
332
- "@orkestrel/html": "^0.0.3",
332
+ "@orkestrel/html": "^0.0.4",
333
333
  "@vitejs/plugin-vue": "^6.0.8",
334
334
  vue: "^3.5.40",
335
335
  "vue-tsc": "^3.3.7"
@@ -347,10 +347,10 @@ var APP_BROWSER_DEV_DEPENDENCIES = Object.freeze({
347
347
  var SHOWCASE_DEV_DEPENDENCIES = Object.freeze({ "vite-plugin-singlefile": "^2.3.3" });
348
348
  /** The development dependencies a private server application adds. */
349
349
  var APP_SERVER_DEV_DEPENDENCIES = Object.freeze({
350
- "@orkestrel/emitter": "^0.0.6",
351
- "@orkestrel/middleware": "^0.0.10",
352
- "@orkestrel/router": "^0.0.9",
353
- "@orkestrel/server": "^0.0.11"
350
+ "@orkestrel/emitter": "^0.0.7",
351
+ "@orkestrel/middleware": "^0.0.13",
352
+ "@orkestrel/router": "^0.0.10",
353
+ "@orkestrel/server": "^0.0.13"
354
354
  });
355
355
  //#endregion
356
356
  //#region src/core/templates.ts