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.
39 lines
1.3 KiB
JSON
39 lines
1.3 KiB
JSON
{
|
|
"chief": { "template": "chief-of-staff", "sha256": "b98473a67e7d765074ad5a94085a2236905e159085036831602799f42f51fb2f" },
|
|
"hires": {
|
|
"ideas-1": {
|
|
"definition": "ideas",
|
|
"flagged": [
|
|
{"field":"authority.withinRole","value":"library.write","reasons":["above-chief"]},
|
|
{"field":"credentials.gitea","value":"write:repository","reasons":["above-chief"]}
|
|
],
|
|
"credentialLines": [
|
|
{"service":"gitea","scope":"read:user"},
|
|
{"service":"gitea","scope":"write:repository"}
|
|
]
|
|
},
|
|
"proofreader-1": {
|
|
"definition": "proofreader",
|
|
"flagged": [
|
|
{"field":"authority.withinRole","value":"library.write","reasons":["above-chief"]},
|
|
{"field":"credentials.gitea","value":"write:repository","reasons":["above-chief"]}
|
|
],
|
|
"credentialLines": [
|
|
{"service":"gitea","scope":"read:user"},
|
|
{"service":"gitea","scope":"write:repository"}
|
|
]
|
|
},
|
|
"continuity-1": {
|
|
"definition": "continuity",
|
|
"flagged": [
|
|
{"field":"authority.withinRole","value":"library.write","reasons":["above-chief"]},
|
|
{"field":"credentials.gitea","value":"write:repository","reasons":["above-chief"]}
|
|
],
|
|
"credentialLines": [
|
|
{"service":"gitea","scope":"read:user"},
|
|
{"service":"gitea","scope":"write:repository"}
|
|
]
|
|
}
|
|
}
|
|
}
|