@@ -48,6 +48,15 @@ pnpm typecheck # turbo typecheck — per-package `tsc --noEmit`; tsup/vit
4848pnpm docs:dev # docs site
4949```
5050
51+ ** No formatter of record — ` pnpm lint ` is the only style authority** (eslint, ` eslint.config.mjs ` ). Prettier is
52+ deliberately absent: no ` .prettierrc* ` , no ` format ` script, nothing invokes or installs it. ⛔ Never
53+ ` prettier --write ` a file you touch — its double-quote default against this single-quoted codebase rewrites ** every
54+ string literal** , burying a one-line fix in a whole-file reformat. Its ` --check ` verdict is no second opinion on your
55+ edit either: it warns on pristine ` main ` content for that same default, while the SAME bytes at an out-of-repo path
56+ (a ` /tmp ` copy) come back ` All matched files use Prettier code style! ` — a pass over ZERO files (` --file-info ` there
57+ says ` "ignored": true ` , and deliberately mangled bytes green identically). ` npx prettier --find-config-path AGENTS.md `
58+ answers ` [error] Can not find configure file ` at both paths — the honest one (measured 2026-09-01, prettier 3.8.1).
59+
5160** ⛔ Push a WIP commit before every step that takes minutes** — a build, a full test run, a
5261gate sweep, an ablation. Not because you are about to wait: because you are about to stop
5362being the only copy. The cost rises with how well you are working — a hard card defers
@@ -671,8 +680,6 @@ skills/ # 🤖 Domain skill definitions
671680content/docs/ # 📝 Docs content
672681```
673682
674- Studio UI: ` ../objectui ` (sibling repo).
675-
676683---
677684
678685## Protocol Domains (` packages/spec/src/ ` )
@@ -1090,10 +1097,8 @@ next restart rejected its predecessor's data.
10901097
10911098** It has teeth** : ` pnpm check:startup-registry-verdict ` walks the AST for that
10921099three-part shape and fails on it; accepted exceptions live in the shrink-only,
1093- hand-edited ` scripts/startup-registry-verdict.baseline.json ` . Like its durability
1094- sibling it is deliberately narrow and under-matches on purpose rather than risk a false
1095- positive — it cannot discover a new seam, only stop known ones from regressing. Found a
1096- new open registry? Add it to ` OPEN_CAPABILITY_REGISTRIES ` in the same PR that fixes it.
1100+ hand-edited ` scripts/startup-registry-verdict.baseline.json ` . Found a new open
1101+ registry? Add it to ` OPEN_CAPABILITY_REGISTRIES ` in the same PR that fixes it.
10971102
10981103---
10991104
@@ -1144,13 +1149,8 @@ new open registry? Add it to `OPEN_CAPABILITY_REGISTRIES` in the same PR that fi
11441149 bump's ` sdui:manifest ` second half included — see the Frontend section). Pre-merge check for any removal or rename
11451150 of an exported surface: does the pinned sibling import what you are removing? ` git grep ` it in ` ../objectui ` at the
11461151 pinned SHA before merging.
1147- 5 . ** Added or removed a ` packages/spec ` export? Run ` pnpm --filter @objectstack/spec gen:api-surface ` and commit the
1148- result.** The ` TypeScript Type Check ` job diffs spec's built export surface against ` api-surface/ ` (one shard per
1149- entry point); a new export makes the snapshot stale and turns the job red. It reads the ** built ` dist `
1150- declarations** , so ` OS_SKIP_DTS=1 ` — the flag you reach for to make local builds fast — skips exactly the
1151- artifact the gate inspects, and the check passes locally while failing in CI. Same shape for the other
1152- generated-artifact gates in that job (` check:docs ` , ` check:skill-refs ` , ` check:react-blocks ` ), which read ` src/ ` and
1153- so do reproduce locally.
1152+ 5 . ** Touched ` packages/spec ` ? Regenerate and commit its artifacts before pushing** — § * Touched ` packages/spec ` *
1153+ above is the authority; note ` OS_SKIP_DTS=1 ` greens ` check:api-surface ` locally and reds it in CI.
115411546 . Update ` CHANGELOG.md ` / ` ROADMAP.md ` if user-facing or architectural.
115511557 . ** Delete temporary artifacts** — screenshots, traces, scratch logs, ` .playwright-mcp/ ` , throwaway ` tmp*.ts ` , ad-hoc
11561156 scripts. Repo must look identical to before, minus intended changes.
0 commit comments