feat(org): starter pack org file keys and applyPack (SP3, #1873) #1950

Merged
jason.woltje merged 3 commits from sp3 into refactor 2026-11-12 21:37:37 +00:00
3 Commits
Author SHA1 Message Date
jason.woltje 1e65ff3f8b fix(org): applyPack requires the secret check on every write (starter packs SP3 security P2-1)
A board, workflow or pack write without assertClean now refuses
definition-secret-check-required, and the scan covers every key and
string in the plan before the writer reads any of it.
2026-11-12 15:30:07 -06:00
jason.woltje 9cfb5f64fe test(org): a definition a workflow names can still be removed (starter packs SP3 review P2) 2026-11-12 15:30:07 -06:00
jason.woltje 2af12340ae feat(org): packs, board and workflows keys and the applyPack writer op (starter packs SP3)
The organization file gains packs, board and workflows, and each code
project gains board and workflows. The reader checks their shapes and keeps
them on the loaded organization and on projects[id]. A workflow step's roles
are checked for shape only at load; applyPack resolves them at write time
(org definition, V2 template or human). An inline proposed hire keeps its
full role entry beside its {inline, sha256} pin, bounded as a definition
entry is.

applyPack(id, plan, {revision, actor, assertClean}) writes definitions,
board, workflows, project boards and workflows and one packs entry in one
commit. It keeps setDefinition's definition rules, refuses an agent writing
a definition with human-required, and refuses any other plan key.
2026-11-12 15:30:07 -06:00