coding, creative-writing, marketing, montage and business-management, each a packVersion 1 document pinning whole V2 templates at today's templateHash. expected-lines.json beside each pack records the flagged and credential lines every proposed hire carries against roles/chief-of-staff.json, as the broker computes them. starter-pack-shipped.test.mjs checks each pack loads through SP1 with origin shipped, matches section 7, and that its lines equal expected-lines.json; a template edit refuses the pack until re-pinned. The SP1 test no longer expects an empty shipped listing.
52 lines
2.6 KiB
JavaScript
52 lines
2.6 KiB
JavaScript
// Shipped starter pack "creative-writing" (#1873 SP2). Design: starter-packs-design section 7.
|
|
// Every definition is a whole V2 template pinned by its templateHash, so a template edit refuses
|
|
// this pack (starter-pack-template-changed) until it is re-pinned. expected-lines.json beside this
|
|
// file holds the lines each proposed hire carries against the chief; the shipped-pack test checks it.
|
|
export const interfaceVersion = 1;
|
|
|
|
export function starterPack() {
|
|
return {
|
|
packVersion: 1,
|
|
id: "creative-writing",
|
|
version: "1.0.0",
|
|
label: "Creative writing",
|
|
description: "Write a book or a series: ideas outlines, you or a companion draft, continuity checks and a proofreader edits.",
|
|
scope: "org",
|
|
definitions: {
|
|
ideas: { template: "ideas", sha256: "bdaf8eb8a97606a52ba653dfae04044c18c3ceca3f90e43073b3136db1e5da95" },
|
|
research: { template: "research", sha256: "6c181f0c0fef4730d9edd8dee3b73ee14cf71cb730d42e32b8fb2bb06b20cbe4" },
|
|
proofreader: { template: "proofreader", sha256: "6df42775fc2185e8ecf0223acaf7fefa7413f7f45bfaded0b0d5b2720d61cca6" },
|
|
"fact-checker": { template: "fact-checker", sha256: "c6e26f27b0b2eb18edf56bd69b9388504652762f7f9bf8e1da02ed4151a4e0ff" },
|
|
continuity: { template: "continuity", sha256: "8ce4abfc894733a12b8cce7d1029178896dc2043971db897554483aeb7467951" },
|
|
companion: { template: "companion", sha256: "4030f46528680ddf038386c42dce4eb66ad7e41d4670694d87b65a44ab2d1f81" },
|
|
},
|
|
hires: [
|
|
{ name: "ideas-1", definition: "ideas", reason: "outlines each chapter" },
|
|
{ name: "proofreader-1", definition: "proofreader", reason: "edits each draft" },
|
|
{ name: "continuity-1", definition: "continuity", reason: "checks each draft against the story so far" },
|
|
],
|
|
board: {
|
|
columns: [
|
|
{ state: "todo", label: "Ideas" },
|
|
{ state: "in-progress", label: "Drafting" },
|
|
{ state: "in-review", label: "Editing" },
|
|
{ state: "blocked", label: "On hold" },
|
|
{ state: "done", label: "Finished" },
|
|
],
|
|
layout: "kanban",
|
|
},
|
|
workflows: {
|
|
chapter: {
|
|
description: "One chapter from outline to edited draft.",
|
|
steps: [
|
|
{ id: "outline", title: "Outline the chapter", roles: ["ideas"], state: "todo" },
|
|
{ id: "draft", title: "Draft the chapter", roles: ["human", "companion"], state: "in-progress" },
|
|
{ id: "continuity", title: "Check continuity", roles: ["continuity"], state: "in-review" },
|
|
{ id: "edit", title: "Edit the draft", roles: ["proofreader"], state: "in-review" },
|
|
],
|
|
},
|
|
},
|
|
skills: ["ms-unslop"],
|
|
};
|
|
}
|