create-substrat 0.8.3 → 0.8.4

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/index.js CHANGED
@@ -36,11 +36,11 @@ const TEMPLATE = join(HERE, 'template');
36
36
  // The runtime packages release together off one version line (the changesets `fixed`
37
37
  // group), so one constant is right for all of them. Engines do NOT share a line —
38
38
  // each versions on its own, so one pin per engine, deliberately.
39
- const SUBSTRAT = '^0.94.0';
40
- const ENGINE_WORKORDER = '^0.10.2';
41
- const ENGINE_INVOICING = '^0.9.10';
42
- const BOUNDARY_LINT = '^0.2.1';
43
- const DEV_ISSUER = '^0.1.8';
39
+ const SUBSTRAT = '^0.95.0';
40
+ const ENGINE_WORKORDER = '^0.10.3';
41
+ const ENGINE_INVOICING = '^0.9.11';
42
+ const BOUNDARY_LINT = '^0.3.0';
43
+ const DEV_ISSUER = '^0.1.9';
44
44
 
45
45
  const DOCS = 'https://substrat.net';
46
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-substrat",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "Scaffold a Substrat vertical — `npm create substrat <dir>`.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -108,7 +108,14 @@ consumers). Rules 1–5 are enforced mechanically by `boundary-lint`.
108
108
  handler that runs outside the transaction. An integration is never impossible because
109
109
  of this rule — it has an answer.
110
110
  3. **Never write `_substrat_*` tables.** Reads are fine (timelines are projections);
111
- writes forge the audit spine.
111
+ writes forge the audit spine. Do the read with `readTimeline` / `readHistory` from
112
+ `@substrat-run/kernel` rather than a `SELECT` of your own: both take an `EntityRef`,
113
+ page like a list read, and decode the envelope for you. `readHistory` also returns the
114
+ payload, the authorization chain (which checks the operation passed, and under which
115
+ grant), the impersonation stamp and the PII class. On the first three, a `null` is a
116
+ *fact* rather than data you failed to fetch — the payload was erased, the row predates
117
+ authorization recording, nobody was impersonating — so render it as that. Neither
118
+ helper checks a permission; you do, before you call it.
112
119
  4. **Another module's tables are private.** Never `SELECT` from `workorder_*` etc. — use
113
120
  the engine's exported in-scope functions. This is the rule with no runtime equivalent:
114
121
  the shortcut *works* and silently welds you to an engine's private schema forever. Need