create-substrat 0.8.5 → 0.8.6
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 +5 -5
- package/package.json +1 -1
- package/template/AGENTS.md +15 -0
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.
|
|
40
|
-
const ENGINE_WORKORDER = '^0.10.
|
|
41
|
-
const ENGINE_INVOICING = '^0.9.
|
|
42
|
-
const BOUNDARY_LINT = '^0.
|
|
43
|
-
const DEV_ISSUER = '^0.1.
|
|
39
|
+
const SUBSTRAT = '^0.98.0';
|
|
40
|
+
const ENGINE_WORKORDER = '^0.10.6';
|
|
41
|
+
const ENGINE_INVOICING = '^0.9.14';
|
|
42
|
+
const BOUNDARY_LINT = '^0.4.0';
|
|
43
|
+
const DEV_ISSUER = '^0.1.13';
|
|
44
44
|
|
|
45
45
|
const DOCS = 'https://substrat.net';
|
|
46
46
|
|
package/package.json
CHANGED
package/template/AGENTS.md
CHANGED
|
@@ -223,6 +223,21 @@ vertical done, boot the server and drive the real flow over HTTP as two personas
|
|
|
223
223
|
should succeed and one who should be denied — and confirm the denial arrives as a denial
|
|
224
224
|
(not a generic error).
|
|
225
225
|
|
|
226
|
+
## When it breaks — symptom → fix
|
|
227
|
+
|
|
228
|
+
Six failures that have each cost someone a day. What makes them expensive is that none of
|
|
229
|
+
them names its own cause: the symptom points somewhere other than the fix, so an agent
|
|
230
|
+
debugging from first principles walks away from the answer.
|
|
231
|
+
|
|
232
|
+
| Symptom | Fix |
|
|
233
|
+
|---|---|
|
|
234
|
+
| `expected a Zod schema` at runtime, pointing nowhere useful | Two copies of Zod. Never add `zod` to `package.json` — import `z` from `@substrat-run/contracts`, so the schema you build and the one the host validates with are the same class. |
|
|
235
|
+
| Killing the dev server kills unrelated ones too | `pkill -f 'tsx src/server.ts'` matches every Substrat project running on the machine, not just yours. Kill by port instead: `kill $(lsof -ti :<port>)`. |
|
|
236
|
+
| Green locally, red in CI, with nothing in the diff that explains it | A warm build output hides it. Delete `dist`, reinstall from the lockfile (`--frozen-lockfile`), and re-run the gates before believing a local green. |
|
|
237
|
+
| Green test suite, broken app | The scenario calls operations directly and never reaches `server.ts`, its routes, or the principal picker. Boot the server and drive the flow over HTTP as two personas — one who should succeed and one who should be denied. |
|
|
238
|
+
| Permission denied after you widened a role | Roles are projected into a scope when that scope is provisioned, from `ROLES` in `src/provision.ts`. An existing scope keeps the projection it was born with — re-provision it (or re-seed onto a fresh data directory), then present the permission diff below. |
|
|
239
|
+
| `pnpm install` dies compiling `better-sqlite3` | Take `better-sqlite3` out of `pnpm.onlyBuiltDependencies`. Since 13.x it ships prebuilt binaries and no install script, but it still ships a `binding.gyp` — so an allowlist entry makes pnpm run a `node-gyp rebuild` that nothing here needs. |
|
|
240
|
+
|
|
226
241
|
## Two human checkpoints — you may never self-approve
|
|
227
242
|
|
|
228
243
|
Present these and stop:
|