Starter packs slice SP9 (#1873): the system-type plug-in kind is removed outright. Design: docs/plans/2026-11-12_starter-packs-design.md section 6 and section 8 SP9. Jason's ruling, 2026-11-12 about 21:05Z: "The only deployed system is the dev environment on dragon-lin. It can be wiped and reconfigured. No reason to hold on to legacy for this change." No retired kind, no fence, no conversion step, no new refusal code. A config, manifest or org file that names system-type now gets the existing unknown-kind refusal.
Plugins: system-type leaves KINDS. src/system-types.mjs, the five system-type/* plug-in directories and their tests are deleted. The starter-pack directories and starter-pack.mjs are kept.
Organization: the kind is gone from organization-config, organization and org-rights.
Bus: the system-types.installed and system-types.current verbs, their ops, refusal codes and runtime handlers are removed. The model-provider half of the tester check stays.
Schema 3v to 3w (3v-3w.sql): drops project_system_types with its index, its four guards and its rows (Jason's ruling is the authority for deleting those rows). SCHEMA_VERSION is '3w' and SCHEMA_SHA256 is recomputed. 32 tables, 126 triggers, 5 views. COUNTED in scripts/stack-release.sh, LISTED in stack-release.test.mjs and the 3w test pins moved. A 3v store holding real project_system_types rows migrates to the fresh digest with no table, index, trigger or sqlite_sequence row of that name left. packages/cli/live/budget-supervisor.mjs accepts '3w'; that also fixes a base red there.
CLI: the org system-types and project system-type words and their README text are removed.
WebUI: the system-types route and its write entry, the static assets, the Console page, the settings row, the workspace type chips and their CSS are removed. Browser tests that used the chips as a running-bus sign now check the Identity setting.
Docs: PRD ### System types becomes ### Starter packs; REQ-SYS-1/2 take section 6's text and packages/tasks/requirements.json titles match.
Nothing in roles/ or contracts/. 81 files, +264/-1497.
Acceptance grep (system-type|systemType|system_type|system-types over packages and scripts, and '3v' in tests): 63 and 20 files on BASE, 5 and 2 after, all migrations or the tests that pin them.
Tests: red before recorded in the lane report (an org file with plugins: {"system-type": ["coding"]} and a 3w store with no project_system_types). Lane gate on this head: 792 files, 8655/28, stack-release 237/0, test-config.sh 55/0 and test-task.sh 95/0. The 28 reds are base or environment: 19 stale agents/*/work probe files, 6 in two v1/ tests (no .woodpecker/ at root), 2 CHAT-01 jsonschema, 1 harness claude-session timing (also red on the SP8 tree). Lead check under env -i on this head (497 files: touched tests, importers of every touched src basename, refusal, redact, rename-b, project-runtime and schema tests, without v1 and agents probes): 5542/1 plus 5 environment skips; the 1 fail is CHAT-01.
Reviews (fresh Opus 5.5 delegates): the build review and the security review both approved f1ed3bfd3. The build reviewer ran the acceptance grep and the schema tests themselves. The rebase onto SP8 (0251acdad) conflicted in runtime.mjs, cli org.mjs and webui serve.mjs; SP8's template code was kept and only system-type words were removed. A fresh Opus re-check of the resolution found nothing.
Upgrade note: an org file written before this change that still lists system-type refuses unknown-kind and needs a hand edit; on dragon-lin the ruling allows a wipe.
Follow-ups:
PRD: no version bump in this change. REQ-SYS-1/2 were replaced in place with no amendment note, and the 1.20 history line still says "system type plug-ins". Doc follow-up.
Stale comments: packages/plugins/src/starter-pack.mjs:353 and packages/webui/tests/org-archive-browser.test.mjs:20.
Starter packs slice SP9 (#1873): the `system-type` plug-in kind is removed outright. Design: `docs/plans/2026-11-12_starter-packs-design.md` section 6 and section 8 SP9. Jason's ruling, 2026-11-12 about 21:05Z: "The only deployed system is the dev environment on dragon-lin. It can be wiped and reconfigured. No reason to hold on to legacy for this change." No retired kind, no fence, no conversion step, no new refusal code. A config, manifest or org file that names `system-type` now gets the existing `unknown-kind` refusal.
- Plugins: `system-type` leaves `KINDS`. `src/system-types.mjs`, the five `system-type/*` plug-in directories and their tests are deleted. The starter-pack directories and `starter-pack.mjs` are kept.
- Organization: the kind is gone from organization-config, organization and org-rights.
- Bus: the `system-types.installed` and `system-types.current` verbs, their ops, refusal codes and runtime handlers are removed. The model-provider half of the tester check stays.
- Schema `3v` to `3w` (`3v-3w.sql`): drops `project_system_types` with its index, its four guards and its rows (Jason's ruling is the authority for deleting those rows). `SCHEMA_VERSION` is `'3w'` and `SCHEMA_SHA256` is recomputed. 32 tables, 126 triggers, 5 views. `COUNTED` in `scripts/stack-release.sh`, `LISTED` in stack-release.test.mjs and the 3w test pins moved. A `3v` store holding real `project_system_types` rows migrates to the fresh digest with no table, index, trigger or `sqlite_sequence` row of that name left. `packages/cli/live/budget-supervisor.mjs` accepts `'3w'`; that also fixes a base red there.
- CLI: the `org system-types` and project system-type words and their README text are removed.
- WebUI: the system-types route and its write entry, the static assets, the Console page, the settings row, the workspace type chips and their CSS are removed. Browser tests that used the chips as a running-bus sign now check the Identity setting.
- Docs: PRD `### System types` becomes `### Starter packs`; REQ-SYS-1/2 take section 6's text and `packages/tasks/requirements.json` titles match.
Nothing in `roles/` or `contracts/`. 81 files, +264/-1497.
Acceptance grep (`system-type|systemType|system_type|system-types` over packages and scripts, and `'3v'` in tests): 63 and 20 files on BASE, 5 and 2 after, all migrations or the tests that pin them.
Tests: red before recorded in the lane report (an org file with `plugins: {"system-type": ["coding"]}` and a `3w` store with no `project_system_types`). Lane gate on this head: 792 files, 8655/28, stack-release 237/0, `test-config.sh` 55/0 and `test-task.sh` 95/0. The 28 reds are base or environment: 19 stale `agents/*/work` probe files, 6 in two `v1/` tests (no `.woodpecker/` at root), 2 CHAT-01 jsonschema, 1 harness claude-session timing (also red on the SP8 tree). Lead check under `env -i` on this head (497 files: touched tests, importers of every touched src basename, refusal, redact, rename-b, project-runtime and schema tests, without v1 and agents probes): 5542/1 plus 5 environment skips; the 1 fail is CHAT-01.
Reviews (fresh Opus 5.5 delegates): the build review and the security review both approved f1ed3bfd3. The build reviewer ran the acceptance grep and the schema tests themselves. The rebase onto SP8 (0251acdad) conflicted in runtime.mjs, cli org.mjs and webui serve.mjs; SP8's template code was kept and only system-type words were removed. A fresh Opus re-check of the resolution found nothing.
Upgrade note: an org file written before this change that still lists `system-type` refuses `unknown-kind` and needs a hand edit; on dragon-lin the ruling allows a wipe.
Follow-ups:
- PRD: no version bump in this change. REQ-SYS-1/2 were replaced in place with no amendment note, and the 1.20 history line still says "system type plug-ins". Doc follow-up.
- Stale comments: `packages/plugins/src/starter-pack.mjs:353` and `packages/webui/tests/org-archive-browser.test.mjs:20`.
Jason's 2026-11-12 ruling: the only deployed system is the dev environment on
dragon-lin, so the system-type plug-in kind goes with no retired kind, fence,
conversion or new refusal code.
- plugins: system-type leaves KINDS; system-types.mjs and the five modules are
deleted. An org file naming the kind refuses unknown-kind.
- organization: the plugins.system-type check, systemTypesFence and the
system-types.console right are removed.
- bus: system-types.console, project.system-types[.set], the system-type half
of the tester check, the runtime reads and system-type-not-enabled are
removed. Step 3v-3w drops project_system_types, its index, its four guards
and its rows; SCHEMA_VERSION is 3w (32 tables, 126 triggers, 5 views).
- cli: mosaic org system-types and mosaic project system-types[-set] are
removed; stack-release COUNTED and the budget supervisor's closed list move
to 3w.
- channel: the project.system-types verbs are removed.
- webui: the System types page, route, dashboard row, chips and project
selection are removed.
- docs: REQ-SYS-1/2 now describe starter packs; README system-type text and
the requirements titles follow.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Starter packs slice SP9 (#1873): the
system-typeplug-in kind is removed outright. Design:docs/plans/2026-11-12_starter-packs-design.mdsection 6 and section 8 SP9. Jason's ruling, 2026-11-12 about 21:05Z: "The only deployed system is the dev environment on dragon-lin. It can be wiped and reconfigured. No reason to hold on to legacy for this change." No retired kind, no fence, no conversion step, no new refusal code. A config, manifest or org file that namessystem-typenow gets the existingunknown-kindrefusal.system-typeleavesKINDS.src/system-types.mjs, the fivesystem-type/*plug-in directories and their tests are deleted. The starter-pack directories andstarter-pack.mjsare kept.system-types.installedandsystem-types.currentverbs, their ops, refusal codes and runtime handlers are removed. The model-provider half of the tester check stays.3vto3w(3v-3w.sql): dropsproject_system_typeswith its index, its four guards and its rows (Jason's ruling is the authority for deleting those rows).SCHEMA_VERSIONis'3w'andSCHEMA_SHA256is recomputed. 32 tables, 126 triggers, 5 views.COUNTEDinscripts/stack-release.sh,LISTEDin stack-release.test.mjs and the 3w test pins moved. A3vstore holding realproject_system_typesrows migrates to the fresh digest with no table, index, trigger orsqlite_sequencerow of that name left.packages/cli/live/budget-supervisor.mjsaccepts'3w'; that also fixes a base red there.org system-typesand project system-type words and their README text are removed.### System typesbecomes### Starter packs; REQ-SYS-1/2 take section 6's text andpackages/tasks/requirements.jsontitles match.Nothing in
roles/orcontracts/. 81 files, +264/-1497.Acceptance grep (
system-type|systemType|system_type|system-typesover packages and scripts, and'3v'in tests): 63 and 20 files on BASE, 5 and 2 after, all migrations or the tests that pin them.Tests: red before recorded in the lane report (an org file with
plugins: {"system-type": ["coding"]}and a3wstore with noproject_system_types). Lane gate on this head: 792 files, 8655/28, stack-release 237/0,test-config.sh55/0 andtest-task.sh95/0. The 28 reds are base or environment: 19 staleagents/*/workprobe files, 6 in twov1/tests (no.woodpecker/at root), 2 CHAT-01 jsonschema, 1 harness claude-session timing (also red on the SP8 tree). Lead check underenv -ion this head (497 files: touched tests, importers of every touched src basename, refusal, redact, rename-b, project-runtime and schema tests, without v1 and agents probes): 5542/1 plus 5 environment skips; the 1 fail is CHAT-01.Reviews (fresh Opus 5.5 delegates): the build review and the security review both approved f1ed3bfd3. The build reviewer ran the acceptance grep and the schema tests themselves. The rebase onto SP8 (
0251acdad) conflicted in runtime.mjs, cli org.mjs and webui serve.mjs; SP8's template code was kept and only system-type words were removed. A fresh Opus re-check of the resolution found nothing.Upgrade note: an org file written before this change that still lists
system-typerefusesunknown-kindand needs a hand edit; on dragon-lin the ruling allows a wipe.Follow-ups:
packages/plugins/src/starter-pack.mjs:353andpackages/webui/tests/org-archive-browser.test.mjs:20.