mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-10-02 08:35:15 +08:00
chore(policy): slice-12 UI freeze — blocking/advisory lane split + the created dev doc (OPR.0.5.0.12)
FR-1 (A1-amended): test:workspaces enumerates the blocking set readably (daemon + cli + tui); NEW advisory test:ui runs packages/ui vitest at will. lint/build/build:package/test/test:repo byte-untouched — UI typecheck and the shipped UI dist stay blocking. FR-2: docs/reference/developing.md created — gates/lanes table, the no-UI- sync norm verbatim (hooks mirrors unmaintained; a test:ui failure = moved API contract signal, not a broken gate), the wording rule (experimental / maintenance mode / best-effort / CLI primary — never 'deprecated'; zero 'deprecated' hits grep-proven). FR-3: the diff is EXACTLY two files (root package.json + the new doc); no doctor/bundling/ui.enabled/build-package/starter-skill changes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
ef5d5d7179
commit
908c571654
@@ -0,0 +1,39 @@
|
||||
# Developing OpenRig — gates and lanes
|
||||
|
||||
This is the contributor-facing statement of which checks BLOCK a change and which are
|
||||
advisory. There is no external CI at this tip: the root `package.json` script chain IS
|
||||
the gate, and the release checklists invoke it.
|
||||
|
||||
## Blocking gates (must pass before a candidate moves)
|
||||
|
||||
| Gate | Command | Covers |
|
||||
|---|---|---|
|
||||
| Typecheck | `npm run lint` | daemon + **ui** + cli + tui tsconfigs — UI typecheck STAYS blocking |
|
||||
| Build | `npm run build` | all workspaces — the UI dist ships in the package, so its build STAYS blocking |
|
||||
| Repo scripts | `npm run test:repo` | script self-tests, docs guard, skill mirror check |
|
||||
| Unit tests | `npm run test:workspaces` | `packages/daemon` + `packages/cli` + `packages/tui` |
|
||||
|
||||
`npm test` runs `test:repo` and `test:workspaces` — the blocking set is readable in the
|
||||
script itself.
|
||||
|
||||
## Advisory lane
|
||||
|
||||
| Lane | Command | Meaning |
|
||||
|---|---|---|
|
||||
| UI unit tests | `npm run test:ui` | runs `packages/ui` vitest at will; NOT part of `npm test` |
|
||||
|
||||
## The norm (web-UI freeze at 0.5.0)
|
||||
|
||||
Daemon API changes no longer require UI sync or UI verification; the contract mirrors
|
||||
under `packages/ui/src/hooks/` are no longer proactively maintained; a new `test:ui`
|
||||
failure signals a moved API contract, not a broken gate.
|
||||
|
||||
Browser/interaction testing of the web UI is not a contributor gate. (The packaged
|
||||
starter-rig agent skills that exercise the UI are product content for user rigs, not
|
||||
part of this repo's gates.)
|
||||
|
||||
## Wording rule
|
||||
|
||||
The web UI is **experimental**, in **maintenance mode**, supported **best-effort**;
|
||||
**the CLI is primary**. There is no scheduled removal and PRs are welcome. Do not
|
||||
describe the UI with stronger end-of-life language than this section uses.
|
||||
+2
-1
@@ -14,7 +14,8 @@
|
||||
"build": "npm run build --workspaces",
|
||||
"test": "npm run test:repo && npm run test:workspaces",
|
||||
"test:repo": "node --test scripts/*.test.mjs && node scripts/check-docs-guard.mjs && node scripts/mirror-skills.mjs --check",
|
||||
"test:workspaces": "npm run test --workspaces",
|
||||
"test:workspaces": "npm run test -w packages/daemon -w packages/cli -w packages/tui",
|
||||
"test:ui": "npm run test -w packages/ui",
|
||||
"lint": "tsc --noEmit --project packages/daemon/tsconfig.json && tsc --noEmit --project packages/ui/tsconfig.json && tsc --noEmit --project packages/cli/tsconfig.json && tsc --noEmit --project packages/tui/tsconfig.json",
|
||||
"build:package": "bash scripts/build-package.sh",
|
||||
"test:tui-package": "node scripts/test-tui-package.mjs",
|
||||
|
||||
Reference in New Issue
Block a user