docs(plans): starter packs design, system types removed (#1873) #1949

Merged
jason.woltje merged 5 commits from starter-pack-design into refactor 2026-11-12 21:19:50 +00:00
Owner

Starter packs design (#1873, replaces P1-8). Doc only: docs/plans/2026-11-12_starter-packs-design.md (new) and a superseded line on docs/plans/2026-11-10_system-type-toolsets-design.md, which must not be built.

Jason's ruling (11-12 about 20:05Z): system types become starter packs. A pack is copied into an organization or project once and then belongs to it. Roles limit capability, and the org and project config is the sandbox. Users and their agents import roles and workflows, create workflows, and save their own org and project templates.

  • A pack carries definitions narrowed to the shipped V2 templates, proposed hires, a board style, workflows and a skills list. It grants nothing and never stays switched on. Removing a pack takes nothing away. Re-apply never overwrites, and items the org removed are tombstoned per pack.
  • Hires go through today's hire decisions, raised by the chief. authorizeHire already sends any flagged or credential line to the owner, so packs add no gate.
  • People's pack, board, workflow and template writes are owner only until row 193. Agents holding organization.change write boards and workflows and apply a pack's non-definition half; others get decision-required.
  • Saved templates live at <configDir>/templates/<account>/ as private 0600 files, with path, owner, mode and size checks before the read. Credentials, identities, members, rights and run history are stripped.
  • Nine build slices, SP1 to SP9, each with an owner list, a schema change, acceptance and a test that is red on today's code. No slice edits roles/ or contracts/.

Jason's full send (11-12 about 21:05Z) with answers: Q1 remove the system-type kind outright, no legacy, since the only deployed system is the dragon-lin dev instance and it can be wiped (SP9 drops project_system_types with bus schema step 3v-3w; the converter slice is gone); Q2 yes; Q3 yes, labels and order over the five fixed states.

Reviews, all fresh delegates: design review (Opus) changes 8; security review (codex, before the all-Claude ruling) changes 6; security review (Opus) changes 5; design re-check (Opus) changes 8; second re-check of round 2 (Opus) changes 5. All P1 and P2 findings fixed across three rounds. The Lead reviewed fix round 3 against the re-check and Jason's answers. The doc has no em dashes.

Starter packs design (#1873, replaces P1-8). Doc only: `docs/plans/2026-11-12_starter-packs-design.md` (new) and a superseded line on `docs/plans/2026-11-10_system-type-toolsets-design.md`, which must not be built. Jason's ruling (11-12 about 20:05Z): system types become starter packs. A pack is copied into an organization or project once and then belongs to it. Roles limit capability, and the org and project config is the sandbox. Users and their agents import roles and workflows, create workflows, and save their own org and project templates. - A pack carries definitions narrowed to the shipped V2 templates, proposed hires, a board style, workflows and a skills list. It grants nothing and never stays switched on. Removing a pack takes nothing away. Re-apply never overwrites, and items the org removed are tombstoned per pack. - Hires go through today's hire decisions, raised by the chief. `authorizeHire` already sends any flagged or credential line to the owner, so packs add no gate. - People's pack, board, workflow and template writes are owner only until row 193. Agents holding `organization.change` write boards and workflows and apply a pack's non-definition half; others get `decision-required`. - Saved templates live at `<configDir>/templates/<account>/` as private 0600 files, with path, owner, mode and size checks before the read. Credentials, identities, members, rights and run history are stripped. - Nine build slices, SP1 to SP9, each with an owner list, a schema change, acceptance and a test that is red on today's code. No slice edits `roles/` or `contracts/`. Jason's full send (11-12 about 21:05Z) with answers: Q1 remove the system-type kind outright, no legacy, since the only deployed system is the dragon-lin dev instance and it can be wiped (SP9 drops `project_system_types` with bus schema step 3v-3w; the converter slice is gone); Q2 yes; Q3 yes, labels and order over the five fixed states. Reviews, all fresh delegates: design review (Opus) changes 8; security review (codex, before the all-Claude ruling) changes 6; security review (Opus) changes 5; design re-check (Opus) changes 8; second re-check of round 2 (Opus) changes 5. All P1 and P2 findings fixed across three rounds. The Lead reviewed fix round 3 against the re-check and Jason's answers. The doc has no em dashes.
jason.woltje added 5 commits 2026-11-12 21:19:43 +00:00
Design only, per Jason's 2026-11-12 starter-packs ruling. Inventory of
existing building blocks, pack format, apply and re-apply, customizing
from inside, saved templates, system-type retirement, five shipped
packs, build slices and three open questions.
Design review (8 findings) and security review (6 findings) fixed:
expected flagged lines per proposed hire, applyPack writer op, loader-set
origin, organization.change holders for board and workflow writes,
filtered-view board labels, workflow prompt guidance (inert, no runner),
system-type retired for one release before removal, installed packs
classified as executable PL1 code, saved-template placeholders and
free-text preview, pinned proposals, and removal tombstones.
Each slice names its owned files, the exact KINDS, org file key,
VERB_RIGHTS and CONSOLE_VERBS change it makes, acceptance and a test
that fails before it. No slice edits roles/ or contracts/. Open
questions say which slice each answer changes.
Saved templates: owner-scoped path, file checks before read, provenance
reduced to id and version, agent verbs refuse origin saved. Pack, board
and workflow writes stay owner only until row 193. Board and workflow
verbs, writer path, read paths and owner lists now sit in named slices.
SP5 matches organization.set (decision-required). SP9 red test is red
today. Kind removal moves to a follow-up row; SP10 is the conversion.
jason.woltje merged commit c0a60ed3ae into refactor 2026-11-12 21:19:50 +00:00
Sign in to join this conversation.