Skip to content

Commit bfc73e7

Browse files
chore: version packages (rc)
1 parent 20bc357 commit bfc73e7

153 files changed

Lines changed: 2203 additions & 82 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/pre.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@
222222
"batch-dropped-fields-observability",
223223
"better-auth-1-7-0-rc-2-and-prod-dep-batch",
224224
"better-auth-team-member-count",
225+
"blueprint-summary-operations",
225226
"body-write-lint-message-driver-truth",
226227
"boot-api-merge",
227228
"builtin-node-config-reconciliation",
@@ -254,6 +255,7 @@
254255
"close-the-eight-reports-rest-gaps",
255256
"close-the-final-nine-rest-gaps",
256257
"close-the-nine-metadata-rest-gaps",
258+
"cold-boot-flow-bind-read-decorations",
257259
"connector-authoring-guide",
258260
"connector-descriptors-meet-their-contract",
259261
"console-09c6a177bb4a",
@@ -286,6 +288,7 @@
286288
"date-now-default-utc",
287289
"datetime-canonical-utc-storage",
288290
"datetime-storage-form-memory-mongodb",
291+
"decision-branch-routing-enforced",
289292
"decision-outputs-surface-3447",
290293
"declared-unique-index-not-legacy",
291294
"default-datasource-adopt-seam",
@@ -300,6 +303,7 @@
300303
"dev-plugin-production-hatch-brands",
301304
"dev-plugin-protocol-family-removed",
302305
"dev-plugin-security-stubs-and-prod-guard",
306+
"discovery-cache-queue-job-no-route",
303307
"discovery-data-slot-computed",
304308
"discovery-metadata-slot-computed",
305309
"discovery-remedy-names-a-real-package",
@@ -370,6 +374,7 @@
370374
"flow-error-object-serialization",
371375
"flow-executors-parse-config",
372376
"flow-filter-collapse-and-write-path-tokens",
377+
"flow-function-declared-effect",
373378
"flow-lookup-expand",
374379
"flow-max-retries-single-default",
375380
"flow-nested-region-walk",
@@ -591,6 +596,7 @@
591596
"runtime-domain-extraction-batch3",
592597
"runtime-domain-handler-registry",
593598
"runtime-meta-data-extraction",
599+
"runtime-overlay-not-artifact",
594600
"runtime-packages-extraction",
595601
"runtime-share-links-extraction",
596602
"sandbox-structured-error-passthrough",
@@ -664,10 +670,12 @@
664670
"strictness-ledger-gate",
665671
"strictness-ledger-recursive-coverage",
666672
"strip-read-decorations-on-save",
673+
"summary-index-registry-revision",
667674
"sweep-close-out",
668675
"sys-migration-ledger-platform-infra",
669676
"sys-secret-store-platform-infra",
670677
"sys-view-definition-default-open",
678+
"system-field-name-injected-columns",
671679
"temporal-conformance-matrix",
672680
"temporal-conformance-stall-guard",
673681
"temporal-conformance-token-axis",
@@ -676,6 +684,7 @@
676684
"temporal-hooks-on-contract",
677685
"temporal-storage-form-axis-tests",
678686
"temporal-time-axis",
687+
"tenancy-default-org-fail-closed",
679688
"tender-hats-brush",
680689
"test-core-stall-guard",
681690
"tests-off-memory-driver",
@@ -702,6 +711,7 @@
702711
"unordered-paged-read-determinism",
703712
"update-record-dropped-field-warnings",
704713
"url-field-accepts-relative-urls",
714+
"user-field-implicit-target",
705715
"user-less-run-data-ops-refused",
706716
"user-level-export-axis",
707717
"v17-dissolve-protocol-alias",

examples/app-crm/CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,99 @@
11
# @objectstack/example-crm
22

3+
## 4.0.92-rc.2
4+
5+
### Patch Changes
6+
7+
- 5293114: fix(automation): a decision's three declared ways to route a branch are now one working model (#4414)
8+
9+
A `decision` node advertised three mechanisms for splitting a path and only one
10+
of them did anything. The other two were the ADR-0049 `declared ≠ enforced`
11+
shape, and the pair of them shipped a guard that does not guard in
12+
`examples/app-crm`.
13+
14+
| mechanism | before | now |
15+
| :--------------------------------------------------- | :----------------------------------------------------------------------------------------------------- | :---------------------------------------------------- |
16+
| `edge.condition` | ✅ the only one that worked | unchanged |
17+
| `edge.isDefault` | **zero readers** anywhere but the schema declaration | BPMN default flow, enforced in `traverseNext` |
18+
| `decision.config.conditions[].label``branchLabel` | matched **0** out-edge labels across every example app, then fell back to the full edge set in silence | routes; an unclaimable label is logged, not swallowed |
19+
20+
## What was broken, end to end
21+
22+
`crm_convert_lead_wizard` means "already converted → abort screen; otherwise →
23+
the wizard". It ran **both**: an already-converted lead got
24+
"This lead has already been converted" and then walked straight into the
25+
conversion wizard behind it. Four independent silences stacked up:
26+
27+
1. the decision's first condition was authored `{lead_record.status} ==
28+
'converted'` — braces in a slot declared bare CEL, so it was string-compared
29+
and never true;
30+
2. the second (`'true'`) therefore won, yielding `branchLabel: 'No — proceed'`;
31+
3. no out-edge carried that label (they were `'Yes'` / `'No'`), so traversal
32+
discarded the branch and considered every out-edge;
33+
4. `e3b` was unconditional, so it ran regardless — and the natural fix, marking
34+
it `isDefault: true`, was a dead key.
35+
36+
## The model
37+
38+
`branchLabel` narrows the edge set → `condition` gates each edge → `isDefault`
39+
catches whatever is left. Concretely:
40+
41+
- **`isDefault` is enforced.** A default edge is traversed only when no
42+
conditional sibling of the same source node matched, and it is no longer part
43+
of the unconditional parallel fan-out — that distinction is the whole point of
44+
the marker. Passed over because a real branch won, its target records the same
45+
`skipped` step a closed gate does (#4354).
46+
- **An unclaimable branch label warns.** Traversal still falls back to the full
47+
edge set (a run mid-flight must not die on a metadata error) but says so,
48+
naming the computed branch and the out-edge labels that exist.
49+
- **A decision that declares no `conditions` reports no branch.** It used to
50+
report `'default'` unconditionally — a label no out-edge in the repo ever
51+
carried — which is why every decision node fell back to the full edge set.
52+
The `'default'` sentinel survives for the case it actually describes (declared
53+
conditions, none matched) and is now claimed by the `isDefault` edge as well
54+
as by an edge literally labelled `'default'`.
55+
- **`conditions[].expression` is evaluated as the bare CEL it is declared to
56+
be.** The raw string went to the legacy `{var}` template path, where
57+
`lead.status == 'converted'` cannot resolve and the branch is decided by
58+
string comparison. Unlike `edge.condition` this slot carries no
59+
`ExpressionInput` envelope — the decision descriptor is deliberately
60+
schemaless — so the executor supplies the dialect. A brace-in-CEL predicate
61+
now fails loudly (ADR-0032 §1c) instead of deciding `false`.
62+
63+
## Caught at authoring time too
64+
65+
Four new `os build` / `os validate` warnings, because a wrong route is silent at
66+
run time by nature (Prime Directive #12):
67+
68+
`flow-branch-label-unmatched` (the shipped shape),
69+
`flow-decision-unconditional-branch` (a guarded decision with an unconditional
70+
sibling — the actual hole), `flow-default-edge-with-condition` and
71+
`flow-multiple-default-edges`.
72+
73+
Both of the first two fire on the pre-fix `convert-lead.flow.ts` and are silent
74+
after it.
75+
76+
## The example app
77+
78+
`crm_convert_lead_wizard`'s guard is now a plain exclusive gateway: the
79+
redundant `config.conditions` is gone and `e3b` carries `isDefault: true`. One
80+
mechanism per decision, and exactly one branch runs.
81+
82+
Verified: 11 new engine/executor tests (including the reported repro in both
83+
directions), 12 new linter tests; `@objectstack/service-automation` 577 tests
84+
and `@objectstack/cli` 652 tests green, all three example apps build with no new
85+
findings.
86+
87+
- Updated dependencies [462d9c4]
88+
- Updated dependencies [5b843fb]
89+
- Updated dependencies [5293114]
90+
- Updated dependencies [20bc357]
91+
- Updated dependencies [eb4204b]
92+
- Updated dependencies [04f1182]
93+
- Updated dependencies [ad5fe25]
94+
- @objectstack/spec@17.0.0-rc.2
95+
- @objectstack/runtime@17.0.0-rc.2
96+
397
## 4.0.92-rc.1
498

599
### Patch Changes

examples/app-crm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-crm",
3-
"version": "4.0.92-rc.1",
3+
"version": "4.0.92-rc.2",
44
"description": "Minimal CRM example — a smoke-test workspace that exercises the metadata loading pipeline (objects → views → app → dashboard → hook → flow → seed). For a full-featured enterprise CRM see https://github.com/objectstack-ai/hotcrm.",
55
"license": "Apache-2.0",
66
"private": true,

examples/app-showcase/CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# @objectstack/example-showcase
22

3+
## 0.3.14-rc.2
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [462d9c4]
8+
- Updated dependencies [5b843fb]
9+
- Updated dependencies [5293114]
10+
- Updated dependencies [20bc357]
11+
- Updated dependencies [eb4204b]
12+
- Updated dependencies [04f1182]
13+
- Updated dependencies [ad5fe25]
14+
- @objectstack/spec@17.0.0-rc.2
15+
- @objectstack/runtime@17.0.0-rc.2
16+
- @objectstack/cloud-connection@17.0.0-rc.2
17+
- @objectstack/connector-mcp@17.0.0-rc.2
18+
- @objectstack/connector-openapi@17.0.0-rc.2
19+
- @objectstack/connector-rest@17.0.0-rc.2
20+
- @objectstack/connector-slack@17.0.0-rc.2
21+
- @objectstack/driver-sql@17.0.0-rc.2
22+
- @objectstack/service-datasource@17.0.0-rc.2
23+
324
## 0.3.14-rc.1
425

526
### Patch Changes

examples/app-showcase/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-showcase",
3-
"version": "0.3.14-rc.1",
3+
"version": "0.3.14-rc.2",
44
"description": "Kitchen-sink showcase workspace — exercises every metadata type, every view type, every chart type, and the major end-to-end capability chains (security, automation, analytics). Built for demonstration, debugging, and coverage-driven verification.",
55
"license": "Apache-2.0",
66
"private": true,

examples/app-todo/CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# @objectstack/example-todo
22

3+
## 4.0.92-rc.2
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [462d9c4]
8+
- Updated dependencies [5b843fb]
9+
- Updated dependencies [5293114]
10+
- Updated dependencies [20bc357]
11+
- Updated dependencies [eb4204b]
12+
- Updated dependencies [1ee48bc]
13+
- Updated dependencies [26bb053]
14+
- Updated dependencies [04f1182]
15+
- Updated dependencies [ad5fe25]
16+
- @objectstack/spec@17.0.0-rc.2
17+
- @objectstack/runtime@17.0.0-rc.2
18+
- @objectstack/objectql@17.0.0-rc.2
19+
- @objectstack/client@17.0.0-rc.2
20+
- @objectstack/mcp@17.0.0-rc.2
21+
- @objectstack/metadata@17.0.0-rc.2
22+
- @objectstack/driver-sqlite-wasm@17.0.0-rc.2
23+
- @objectstack/knowledge-memory@17.0.0-rc.2
24+
- @objectstack/service-knowledge@17.0.0-rc.2
25+
326
## 4.0.92-rc.1
427

528
### Patch Changes

examples/app-todo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-todo",
3-
"version": "4.0.92-rc.1",
3+
"version": "4.0.92-rc.2",
44
"description": "Example Todo App using ObjectStack Protocol",
55
"license": "Apache-2.0",
66
"private": true,

examples/embed-objectql/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# @objectstack/example-embed-objectql
22

3+
## 0.0.32-rc.2
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [462d9c4]
8+
- Updated dependencies [5b843fb]
9+
- Updated dependencies [5293114]
10+
- Updated dependencies [20bc357]
11+
- Updated dependencies [eb4204b]
12+
- Updated dependencies [1ee48bc]
13+
- Updated dependencies [26bb053]
14+
- Updated dependencies [04f1182]
15+
- Updated dependencies [ad5fe25]
16+
- @objectstack/spec@17.0.0-rc.2
17+
- @objectstack/objectql@17.0.0-rc.2
18+
- @objectstack/driver-memory@17.0.0-rc.2
19+
320
## 0.0.32-rc.1
421

522
### Patch Changes

examples/embed-objectql/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@objectstack/example-embed-objectql",
3-
"version": "0.0.32-rc.1",
3+
"version": "0.0.32-rc.2",
44
"private": true,
55
"description": "Embed the ObjectQL engine as a plain library via @objectstack/objectql/core — no kernel, no plugins, no metadata protocol (ADR-0076).",
66
"type": "module",

packages/adapters/hono/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# @objectstack/hono
22

3+
## 17.0.0-rc.2
4+
5+
### Patch Changes
6+
7+
- Updated dependencies [20bc357]
8+
- Updated dependencies [eb4204b]
9+
- @objectstack/runtime@17.0.0-rc.2
10+
- @objectstack/plugin-hono-server@17.0.0-rc.2
11+
- @objectstack/types@17.0.0-rc.2
12+
313
## 17.0.0-rc.1
414

515
### Minor Changes

0 commit comments

Comments
 (0)