@clossys/launcher 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/README.md +1324 -60
  2. package/contracts/conversation-contract.md +2 -2
  3. package/contracts/product-ci-workflow.yml +74 -0
  4. package/contracts/repository-inventory.json +53 -0
  5. package/dist/admission-fixture.d.ts +168 -0
  6. package/dist/admission-fixture.d.ts.map +1 -0
  7. package/dist/admission-fixture.js +453 -0
  8. package/dist/admission-fixture.js.map +1 -0
  9. package/dist/admission.d.ts +124 -0
  10. package/dist/admission.d.ts.map +1 -0
  11. package/dist/admission.js +799 -0
  12. package/dist/admission.js.map +1 -0
  13. package/dist/agents-guide.d.ts +9 -0
  14. package/dist/agents-guide.d.ts.map +1 -0
  15. package/dist/agents-guide.js +26 -0
  16. package/dist/agents-guide.js.map +1 -0
  17. package/dist/apply-command-options.check.d.ts +12 -0
  18. package/dist/apply-command-options.check.d.ts.map +1 -0
  19. package/dist/apply-command-options.check.js +20 -0
  20. package/dist/apply-command-options.check.js.map +1 -0
  21. package/dist/apply-plan-cli.d.ts +39 -1
  22. package/dist/apply-plan-cli.d.ts.map +1 -1
  23. package/dist/apply-plan-cli.js +432 -15
  24. package/dist/apply-plan-cli.js.map +1 -1
  25. package/dist/apply-plan.d.ts +46 -59
  26. package/dist/apply-plan.d.ts.map +1 -1
  27. package/dist/apply-plan.js +112 -97
  28. package/dist/apply-plan.js.map +1 -1
  29. package/dist/apply-step-fixture.d.ts +87 -0
  30. package/dist/apply-step-fixture.d.ts.map +1 -0
  31. package/dist/apply-step-fixture.js +199 -0
  32. package/dist/apply-step-fixture.js.map +1 -0
  33. package/dist/apply-store.d.ts +93 -0
  34. package/dist/apply-store.d.ts.map +1 -0
  35. package/dist/apply-store.js +625 -0
  36. package/dist/apply-store.js.map +1 -0
  37. package/dist/approval-sheet.d.ts +21 -0
  38. package/dist/approval-sheet.d.ts.map +1 -0
  39. package/dist/approval-sheet.js +157 -0
  40. package/dist/approval-sheet.js.map +1 -0
  41. package/dist/body-command.d.ts +42 -0
  42. package/dist/body-command.d.ts.map +1 -0
  43. package/dist/body-command.js +143 -0
  44. package/dist/body-command.js.map +1 -0
  45. package/dist/change-set-contract.d.ts +381 -0
  46. package/dist/change-set-contract.d.ts.map +1 -0
  47. package/dist/change-set-contract.js +738 -0
  48. package/dist/change-set-contract.js.map +1 -0
  49. package/dist/change-set-digest.d.ts +28 -0
  50. package/dist/change-set-digest.d.ts.map +1 -0
  51. package/dist/change-set-digest.js +65 -0
  52. package/dist/change-set-digest.js.map +1 -0
  53. package/dist/check-cli.d.ts.map +1 -1
  54. package/dist/check-cli.js +14 -3
  55. package/dist/check-cli.js.map +1 -1
  56. package/dist/cli.d.ts +17 -6
  57. package/dist/cli.d.ts.map +1 -1
  58. package/dist/cli.js +84 -23
  59. package/dist/cli.js.map +1 -1
  60. package/dist/core.d.ts +79 -22
  61. package/dist/core.d.ts.map +1 -1
  62. package/dist/core.js +843 -268
  63. package/dist/core.js.map +1 -1
  64. package/dist/dry-materialize.d.ts +63 -0
  65. package/dist/dry-materialize.d.ts.map +1 -0
  66. package/dist/dry-materialize.js +330 -0
  67. package/dist/dry-materialize.js.map +1 -0
  68. package/dist/generated/contract-schema.generated.d.ts +97 -0
  69. package/dist/generated/contract-schema.generated.d.ts.map +1 -0
  70. package/dist/generated/contract-schema.generated.js +496 -0
  71. package/dist/generated/contract-schema.generated.js.map +1 -0
  72. package/dist/generated/package-scope.generated.d.ts +6 -0
  73. package/dist/generated/package-scope.generated.d.ts.map +1 -0
  74. package/dist/generated/package-scope.generated.js +10 -0
  75. package/dist/generated/package-scope.generated.js.map +1 -0
  76. package/dist/generated/plan-contracts.generated.d.ts +3 -0
  77. package/dist/generated/plan-contracts.generated.d.ts.map +1 -0
  78. package/dist/generated/plan-contracts.generated.js +2840 -0
  79. package/dist/generated/plan-contracts.generated.js.map +1 -0
  80. package/dist/host.d.ts.map +1 -1
  81. package/dist/host.js +11 -0
  82. package/dist/host.js.map +1 -1
  83. package/dist/identity.d.ts +15 -0
  84. package/dist/identity.d.ts.map +1 -0
  85. package/dist/identity.js +48 -0
  86. package/dist/identity.js.map +1 -0
  87. package/dist/index.d.ts +34 -5
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +19 -2
  90. package/dist/index.js.map +1 -1
  91. package/dist/inventory-adoption.d.ts +24 -5
  92. package/dist/inventory-adoption.d.ts.map +1 -1
  93. package/dist/inventory-adoption.js +70 -25
  94. package/dist/inventory-adoption.js.map +1 -1
  95. package/dist/inventory-choice.d.ts +40 -0
  96. package/dist/inventory-choice.d.ts.map +1 -0
  97. package/dist/inventory-choice.js +156 -0
  98. package/dist/inventory-choice.js.map +1 -0
  99. package/dist/inventory-contract.d.ts +89 -0
  100. package/dist/inventory-contract.d.ts.map +1 -0
  101. package/dist/inventory-contract.js +121 -0
  102. package/dist/inventory-contract.js.map +1 -0
  103. package/dist/key-editor.d.ts +30 -0
  104. package/dist/key-editor.d.ts.map +1 -0
  105. package/dist/key-editor.js +445 -0
  106. package/dist/key-editor.js.map +1 -0
  107. package/dist/ledger-contract.d.ts +187 -0
  108. package/dist/ledger-contract.d.ts.map +1 -0
  109. package/dist/ledger-contract.js +532 -0
  110. package/dist/ledger-contract.js.map +1 -0
  111. package/dist/ledger-trust.d.ts +90 -0
  112. package/dist/ledger-trust.d.ts.map +1 -0
  113. package/dist/ledger-trust.js +198 -0
  114. package/dist/ledger-trust.js.map +1 -0
  115. package/dist/lockfile-invariants.d.ts +48 -0
  116. package/dist/lockfile-invariants.d.ts.map +1 -0
  117. package/dist/lockfile-invariants.js +375 -0
  118. package/dist/lockfile-invariants.js.map +1 -0
  119. package/dist/lockfile-readers.d.ts +72 -0
  120. package/dist/lockfile-readers.d.ts.map +1 -0
  121. package/dist/lockfile-readers.js +713 -0
  122. package/dist/lockfile-readers.js.map +1 -0
  123. package/dist/lockfile-regen.d.ts +106 -0
  124. package/dist/lockfile-regen.d.ts.map +1 -0
  125. package/dist/lockfile-regen.js +760 -0
  126. package/dist/lockfile-regen.js.map +1 -0
  127. package/dist/lockfile-tool-env.d.ts +29 -0
  128. package/dist/lockfile-tool-env.d.ts.map +1 -0
  129. package/dist/lockfile-tool-env.js +111 -0
  130. package/dist/lockfile-tool-env.js.map +1 -0
  131. package/dist/materialize.d.ts +113 -0
  132. package/dist/materialize.d.ts.map +1 -0
  133. package/dist/materialize.js +840 -0
  134. package/dist/materialize.js.map +1 -0
  135. package/dist/observe-repository.d.ts +90 -0
  136. package/dist/observe-repository.d.ts.map +1 -0
  137. package/dist/observe-repository.js +1367 -0
  138. package/dist/observe-repository.js.map +1 -0
  139. package/dist/plan-bundle-setup-fixture.d.ts +68 -0
  140. package/dist/plan-bundle-setup-fixture.d.ts.map +1 -0
  141. package/dist/plan-bundle-setup-fixture.js +167 -0
  142. package/dist/plan-bundle-setup-fixture.js.map +1 -0
  143. package/dist/plan-bundle.d.ts +250 -0
  144. package/dist/plan-bundle.d.ts.map +1 -0
  145. package/dist/plan-bundle.js +827 -0
  146. package/dist/plan-bundle.js.map +1 -0
  147. package/dist/plan-command.d.ts +29 -0
  148. package/dist/plan-command.d.ts.map +1 -0
  149. package/dist/plan-command.js +493 -0
  150. package/dist/plan-command.js.map +1 -0
  151. package/dist/plan-contract.d.ts +153 -0
  152. package/dist/plan-contract.d.ts.map +1 -0
  153. package/dist/plan-contract.js +61 -0
  154. package/dist/plan-contract.js.map +1 -0
  155. package/dist/plan-digest.d.ts +25 -0
  156. package/dist/plan-digest.d.ts.map +1 -0
  157. package/dist/plan-digest.js +106 -0
  158. package/dist/plan-digest.js.map +1 -0
  159. package/dist/plan-rules.d.ts +23 -0
  160. package/dist/plan-rules.d.ts.map +1 -0
  161. package/dist/plan-rules.js +177 -0
  162. package/dist/plan-rules.js.map +1 -0
  163. package/dist/planned-bundle.d.ts +20 -0
  164. package/dist/planned-bundle.d.ts.map +1 -0
  165. package/dist/planned-bundle.js +191 -0
  166. package/dist/planned-bundle.js.map +1 -0
  167. package/dist/product-repository.d.ts +4 -0
  168. package/dist/product-repository.d.ts.map +1 -1
  169. package/dist/product-repository.js +9 -1
  170. package/dist/product-repository.js.map +1 -1
  171. package/dist/provenance-gate.d.ts +48 -0
  172. package/dist/provenance-gate.d.ts.map +1 -0
  173. package/dist/provenance-gate.js +324 -0
  174. package/dist/provenance-gate.js.map +1 -0
  175. package/dist/pull-request-body.d.ts +45 -0
  176. package/dist/pull-request-body.d.ts.map +1 -0
  177. package/dist/pull-request-body.js +232 -0
  178. package/dist/pull-request-body.js.map +1 -0
  179. package/dist/registry-snapshot.d.ts +141 -0
  180. package/dist/registry-snapshot.d.ts.map +1 -0
  181. package/dist/registry-snapshot.js +483 -0
  182. package/dist/registry-snapshot.js.map +1 -0
  183. package/dist/release-age-edit.d.ts +52 -0
  184. package/dist/release-age-edit.d.ts.map +1 -0
  185. package/dist/release-age-edit.js +413 -0
  186. package/dist/release-age-edit.js.map +1 -0
  187. package/dist/root-entries.d.ts +36 -0
  188. package/dist/root-entries.d.ts.map +1 -0
  189. package/dist/root-entries.js +80 -0
  190. package/dist/root-entries.js.map +1 -0
  191. package/dist/setup-template-scripts.d.ts +34 -0
  192. package/dist/setup-template-scripts.d.ts.map +1 -0
  193. package/dist/setup-template-scripts.js +557 -0
  194. package/dist/setup-template-scripts.js.map +1 -0
  195. package/dist/setup-templates.d.ts +54 -0
  196. package/dist/setup-templates.d.ts.map +1 -0
  197. package/dist/setup-templates.js +427 -0
  198. package/dist/setup-templates.js.map +1 -0
  199. package/dist/skills.d.ts +34 -1
  200. package/dist/skills.d.ts.map +1 -1
  201. package/dist/skills.js +129 -17
  202. package/dist/skills.js.map +1 -1
  203. package/dist/status.d.ts +63 -0
  204. package/dist/status.d.ts.map +1 -0
  205. package/dist/status.js +539 -0
  206. package/dist/status.js.map +1 -0
  207. package/dist/types.d.ts +151 -13
  208. package/dist/types.d.ts.map +1 -1
  209. package/package.json +4 -4
  210. package/skeleton/README.md +14 -9
  211. package/skeleton/package.json +2 -1
  212. package/skill/SKILL.md +23 -7
  213. package/skill-catalogue/advisor/SKILL.md +59 -6
  214. package/skill-catalogue/architect/SKILL.md +2 -2
  215. package/skill-catalogue/bouncer/SKILL.md +2 -2
  216. package/skill-catalogue/builder/SKILL.md +2 -2
  217. package/skill-catalogue/butler/SKILL.md +2 -2
  218. package/skill-catalogue/controller/SKILL.md +2 -2
  219. package/skill-catalogue/customer/SKILL.md +2 -2
  220. package/skill-catalogue/designer/SKILL.md +4 -2
  221. package/skill-catalogue/giver/SKILL.md +2 -2
  222. package/skill-catalogue/influencer/SKILL.md +2 -2
  223. package/skill-catalogue/inspector/SKILL.md +2 -2
  224. package/skill-catalogue/integrator/SKILL.md +2 -2
  225. package/skill-catalogue/keeper/SKILL.md +2 -2
  226. package/skill-catalogue/launcher/SKILL.md +23 -7
  227. package/skill-catalogue/locksmith/SKILL.md +2 -2
  228. package/skill-catalogue/messenger/SKILL.md +2 -2
  229. package/skill-catalogue/observer/SKILL.md +2 -2
  230. package/skill-catalogue/publisher/SKILL.md +2 -2
  231. package/skill-catalogue/starter/SKILL.md +3 -2
  232. package/skill-catalogue/strategist/SKILL.md +12 -4
  233. package/skill-catalogue/writer/SKILL.md +2 -2
  234. package/src/admission-fixture.ts +572 -0
  235. package/src/admission.ts +816 -0
  236. package/src/agents-guide.ts +29 -0
  237. package/src/apply-command-options.check.ts +27 -0
  238. package/src/apply-plan-cli.ts +454 -14
  239. package/src/apply-plan.ts +112 -124
  240. package/src/apply-step-fixture.ts +236 -0
  241. package/src/apply-store.ts +584 -0
  242. package/src/approval-sheet.ts +164 -0
  243. package/src/body-command.ts +162 -0
  244. package/src/change-set-contract.ts +937 -0
  245. package/src/change-set-digest.ts +70 -0
  246. package/src/check-cli.ts +14 -3
  247. package/src/cli.ts +90 -22
  248. package/src/core.ts +973 -275
  249. package/src/dry-materialize.ts +353 -0
  250. package/src/generated/contract-schema.generated.ts +520 -0
  251. package/src/generated/package-scope.generated.ts +10 -0
  252. package/src/generated/plan-contracts.generated.ts +2840 -0
  253. package/src/host.ts +10 -0
  254. package/src/identity.ts +51 -0
  255. package/src/index.ts +72 -3
  256. package/src/inventory-adoption.ts +107 -29
  257. package/src/inventory-choice.ts +172 -0
  258. package/src/inventory-contract.ts +166 -0
  259. package/src/key-editor.ts +446 -0
  260. package/src/ledger-contract.ts +637 -0
  261. package/src/ledger-trust.ts +267 -0
  262. package/src/lockfile-invariants.ts +421 -0
  263. package/src/lockfile-readers.ts +749 -0
  264. package/src/lockfile-regen.ts +851 -0
  265. package/src/lockfile-tool-env.ts +131 -0
  266. package/src/materialize.ts +886 -0
  267. package/src/observe-repository.ts +1365 -0
  268. package/src/plan-bundle-setup-fixture.ts +200 -0
  269. package/src/plan-bundle.ts +964 -0
  270. package/src/plan-command.ts +509 -0
  271. package/src/plan-contract.ts +179 -0
  272. package/src/plan-digest.ts +102 -0
  273. package/src/plan-rules.ts +188 -0
  274. package/src/planned-bundle.ts +211 -0
  275. package/src/product-repository.ts +10 -1
  276. package/src/provenance-gate.ts +352 -0
  277. package/src/pull-request-body.ts +261 -0
  278. package/src/registry-snapshot.ts +534 -0
  279. package/src/release-age-edit.ts +430 -0
  280. package/src/root-entries.ts +81 -0
  281. package/src/setup-template-scripts.ts +571 -0
  282. package/src/setup-templates.ts +471 -0
  283. package/src/skills.ts +161 -18
  284. package/src/status.ts +557 -0
  285. package/src/types.ts +148 -13
@@ -12,7 +12,7 @@ You materialize and reconcile machine, platform, pipeline, and deployment state.
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -23,7 +23,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
23
23
 
24
24
  ## When this package is not installed
25
25
 
26
- You are here as a person in this repo the same way you are in every other inventoried repo.
26
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
27
27
 
28
28
  - Intro and quick questions are always in scope.
29
29
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You admit inbound person requests, confirm intent, and keep standing instruction
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -24,7 +24,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
24
24
 
25
25
  ## When this package is not installed
26
26
 
27
- You are here as a person in this repo the same way you are in every other inventoried repo.
27
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
28
28
 
29
29
  - Intro and quick questions are always in scope.
30
30
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You own operating-rule grammar, identity, lifecycle, and content binding. You do
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Running the loop
18
18
 
@@ -31,7 +31,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
31
31
 
32
32
  ## When this package is not installed
33
33
 
34
- You are here as a person in this repo the same way you are in every other inventoried repo.
34
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
35
35
 
36
36
  - Intro and quick questions are always in scope.
37
37
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -54,7 +54,7 @@ A keep inhabits the shipped surface, not the code. Required inputs:
54
54
 
55
55
  ## Foundry voices
56
56
 
57
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
57
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
58
58
 
59
59
  ## Operating wave
60
60
 
@@ -75,7 +75,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
75
75
 
76
76
  ## When this package is not installed
77
77
 
78
- You are here as a person in this repo the same way you are in every other inventoried repo.
78
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
79
79
 
80
80
  - Intro and quick questions are always in scope.
81
81
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You own the greyscale token contract this package ships and maintain the consume
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Operating wave
18
18
 
@@ -45,13 +45,15 @@ Marketing chapters after the fold: `MarketingChapter`, not `SectionHeader`. Hero
45
45
 
46
46
  Do not invent a type pairing during the walk that proves 3 — cite or author the brand-type record from `templates/brand-type.template.json` and run `designer-type-check`.
47
47
 
48
+ Multi-application product: one `brand/brand.css` overlay, one `brand/designer.css` entry (`theme.css`, the overlay, then `utilities.css`), and one `@clossys/designer` dependency at the root. Every app's document root must set `data-brand-bound`; without it the overlay silently does not apply. `designer-brand-check` fails a second stylesheet under `apps/` that binds `--color-*`.
49
+
48
50
  Overlay brand coverage is not every stylesheet the public surface loads — run `designer-brand-check --also` on each extra CSS file.
49
51
 
50
52
  Summarize gate results in human language; keep machine kinds for tooling, not as the default reply.
51
53
 
52
54
  ## When this package is not installed
53
55
 
54
- You are here as a person in this repo the same way you are in every other inventoried repo.
56
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
55
57
 
56
58
  - Intro and quick questions are always in scope.
57
59
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You discharge semantic requests and obligations, document refusal grounds, and p
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -24,7 +24,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
24
24
 
25
25
  ## When this package is not installed
26
26
 
27
- You are here as a person in this repo the same way you are in every other inventoried repo.
27
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
28
28
 
29
29
  - Intro and quick questions are always in scope.
30
30
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You operate channel experiments and bounded engagement; you do not define strate
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -24,7 +24,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
24
24
 
25
25
  ## When this package is not installed
26
26
 
27
- You are here as a person in this repo the same way you are in every other inventoried repo.
27
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
28
28
 
29
29
  - Intro and quick questions are always in scope.
30
30
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You assess caller-supplied rules and evidence pre-landing. You do not author ope
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -23,7 +23,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
23
23
 
24
24
  ## When this package is not installed
25
25
 
26
- You are here as a person in this repo the same way you are in every other inventoried repo.
26
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
27
27
 
28
28
  - Intro and quick questions are always in scope.
29
29
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You reconcile entitlement against installed inventory. You do not maintain a con
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -23,7 +23,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
23
23
 
24
24
  ## When this package is not installed
25
25
 
26
- You are here as a person in this repo the same way you are in every other inventoried repo.
26
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
27
27
 
28
28
  - Intro and quick questions are always in scope.
29
29
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You judge attribution, visibility, correction routes, retention, and disposal co
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -24,7 +24,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
24
24
 
25
25
  ## When this package is not installed
26
26
 
27
- You are here as a person in this repo the same way you are in every other inventoried repo.
27
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
28
28
 
29
29
  - Intro and quick questions are always in scope.
30
30
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,30 +12,46 @@ You coordinate where Foundry packages are pinned and inventoried. You do not dum
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Hub setup
18
18
 
19
- - You can talk about hub setup from any inventoried repo; creating, appointing, resuming, and health are still your job.
19
+ - You can talk about hub setup from the hub or any repo the team is set up in; creating, appointing, resuming, and health are still your job.
20
20
  - On a blank machine with no hub yet, `npx @clossys/launcher` runs once from the hub directory or an empty folder; only then are skills composed on the hub.
21
- - After bootstrap, resume from the hub refreshes voices everywhere sibling clones sit beside it.
22
- - Health reports scan dependency buckets for `@clossys-advisor` and other pins; stale pins degrade the report without pretending closure.
21
+ - After bootstrap, resume from the hub refreshes the voices in the hub. A launcher run writes nothing into a product repository; once it is staffed in an approved plan, it receives its voices with that plan's setup pull request.
22
+ - Appointing needs the repositories the hub covers. The client chooses them on `@clossys-advisor`'s repository card, and `launcher --repositories <id>,<id>` writes the inventory; nobody hand-writes `clossys/.state/inventory.json` (the generated hub path does not ship in this package). When the hub's inventory already lists different repositories, Launcher refuses and names what would change; run again with `--replace-inventory` only after the client approves that replacement.
23
+ - Health reports scan dependency buckets for the hub's two engine pins, `@clossys/advisor` and `@clossys/integrator`, and for other `@clossys/*` pins; stale pins degrade the report without pretending closure.
23
24
  - You never rewrite the lockfile or pour the whole catalogue into package.json.
25
+ - When a run changes an engine pin in the hub's package.json, tell the founder what changed, as the report names it, then that the next step is the hub's package manager install and a commit of package.json together with its lockfile.
26
+
27
+ ## Apply an approved plan
28
+
29
+ Once the client has approved a plan, the staffed repositories are set up and then filled in by pull requests. Launcher computes, materializes and verifies each change set; you branch, commit, push and open the pull request with the client's own access. Launcher never pushes, opens a pull request, files an issue or merges; you do that with the client's own access. Work one staffed repository at a time, and only repositories the plan staffs: an inventoried repository the plan does not staff is never read, cloned or written.
30
+
31
+ 1. **Verify.** Before any commit, run `launcher-apply-plan verify --repo <id>` and stop unless it exits 0. Report the refusal token it prints and change nothing.
32
+ 2. **Task record.** File one task-record issue in the target repository, labelled from that repository's own task-record configuration, and keep its number; the pull request is opened with exactly the `launcher-apply-plan body --repo <id> --task-record <n>` output, unedited.
33
+ 3. **Body.** Run `launcher-apply-plan body --repo <id> --task-record <n>`, adding `--supersedes <n>` once for each older pull request of the same repository this one replaces. Keep its standard output as the pull request body, byte for byte: it records the body's hash, and `status` compares the opened pull request against it.
34
+ 4. **Commit.** Commit the materialized change on the set's own branch, which is `clossys/apply-` followed by the first 12 hex digits of the change set's digest.
35
+ 5. **Push.** Commit and push only the set's `clossys/apply-` branch, never the default branch, never force-push, one pull request per staffed repository.
36
+ 6. **Open.** Open the pull request against the default branch with the set's title and the body from step 3.
37
+ 7. **Status.** Run `launcher-apply-plan status --repo <id>` and continue only on `proposed`; on `superseded`, use a new branch, pass `--supersedes <n>` to `body`, open the new pull request, close the old pull request, and run `status` again, which must say `proposed`; on any other state, stop and report. It exits 0 for `proposed` and `applied`, 1 for `diverged` and 2 otherwise.
38
+ 8. **Report.** Never merge or enable auto-merge. Report ready only when `status` is `proposed` and `Clossys adoption decision` is green; the setup pull request merges before the apply pull request opens.
24
39
 
25
40
  ## When this package is installed
26
41
 
27
42
  If `node_modules/@clossys/launcher` is present (or this package's bins are on PATH), use the exact pin in the tree. Read `package.json` `bin` for the real command names.
28
43
  - Assessment CLI: `launcher`
29
44
  - Also available: `launcher-check`
45
+ - Applying an approved plan: `launcher-apply-plan` (`verify`, `body`, `status`), used as in "Apply an approved plan"
30
46
 
31
47
  Summarize gate results in human language; keep machine kinds for tooling, not as the default reply.
32
48
 
33
49
  ## When this package is not installed
34
50
 
35
- You are here as a person in this repo the same way you are in every other inventoried repo.
51
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
36
52
 
37
- - Intro and quick questions are always in scope — including hub setup from any inventoried repo.
53
+ - Intro and quick questions are always in scope — including hub setup from the hub or any repo the team is set up in.
38
54
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
39
- - `npx @clossys/launcher` bootstrap still happens once from the hub or an empty directory; after that, resume from the hub refreshes voices everywhere sibling clones sit. You do not dump the catalogue.
55
+ - `npx @clossys/launcher` bootstrap still happens once from the hub or an empty directory; after that, resume from the hub refreshes the voices in the hub, and a product repository receives its voices only once it is staffed in an approved plan, with that plan's setup pull request. You do not dump the catalogue.
40
56
  - Never say "I don't exist here," "open the hub to find me," or "this skill is missing from this folder."
41
57
  - Never imply they should npm-install the whole catalogue.
@@ -12,7 +12,7 @@ You steward key custody, distribution, rotation, and revocation contracts. You d
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -23,7 +23,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
23
23
 
24
24
  ## When this package is not installed
25
25
 
26
- You are here as a person in this repo the same way you are in every other inventoried repo.
26
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
27
27
 
28
28
  - Intro and quick questions are always in scope.
29
29
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You dispatch retry-safe transport and normalize delivery-status evidence. You do
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -24,7 +24,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
24
24
 
25
25
  ## When this package is not installed
26
26
 
27
- You are here as a person in this repo the same way you are in every other inventoried repo.
27
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
28
28
 
29
29
  - Intro and quick questions are always in scope.
30
30
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You measure telemetry coverage, outcomes, and gate efficacy. You do not judge th
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## When this package is installed
18
18
 
@@ -23,7 +23,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
23
23
 
24
24
  ## When this package is not installed
25
25
 
26
- You are here as a person in this repo the same way you are in every other inventoried repo.
26
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
27
27
 
28
28
  - Intro and quick questions are always in scope.
29
29
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You plan the pack first and seal it last (#1204). You author the in-tree `Sectio
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Operating wave
18
18
 
@@ -50,7 +50,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
50
50
 
51
51
  ## When this package is not installed
52
52
 
53
- You are here as a person in this repo the same way you are in every other inventoried repo.
53
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
54
54
 
55
55
  - Intro and quick questions are always in scope.
56
56
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,13 +12,14 @@ You join pull-request evidence, GitHub Actions facts, fixed install receipts, Ad
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Trusted-base gate
18
18
 
19
19
  - Explain `foundation` versus `activation`: foundation pins exact package identities and exits without claiming activation; activation returns success only when every join, install receipt, snapshot file, Advisor result, and target CLI result is satisfied.
20
20
  - The protected request declares exact package names and versions — never a shell command string or arbitrary paths from the host.
21
21
  - You do not create GitHub repos; the consumer keeps its own thin workflow and policy.
22
+ - Say plainly what a green run proves: `decide` proves the protected base's packages, so a pull request that changes a pin is proved only on the next pull request after it merges. `prove-head` (npm only) proves that pull request's own install, not its Advisor or target behaviour. `admit` compares the protected base ledger with the pull-request ledger by canonical bytes: exit 0 when they match or the head is the admitted next generation, exit 1 on a mismatch, exit 2 when the head ledger is absent or unreadable.
22
23
 
23
24
  ## When this package is installed
24
25
 
@@ -29,7 +30,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
29
30
 
30
31
  ## When this package is not installed
31
32
 
32
- You are here as a person in this repo the same way you are in every other inventoried repo.
33
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
33
34
 
34
35
  - Intro and quick questions are always in scope.
35
36
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You maintain evidence-backed strategy records and brand derivation — essence,
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Operating wave
18
18
 
@@ -31,9 +31,9 @@ Done is exceptional (5) as defined in PRE-AUTH-QUALITY (the brief that ships wit
31
31
 
32
32
  If `node_modules/@clossys/strategist` is present (or this package's bins are on PATH), use the exact pin in the tree. Read `package.json` `bin` for the real command names.
33
33
  - Assessment CLI: `strategist-rate-check`
34
- - Additional gate CLI: `strategist-check`
34
+ - Additional gate CLI: `strategist-check` (including `brand-facts` and `wont-claim`)
35
35
 
36
- `strategist-check brand-coverage` reporting every brandable slot owned is necessary, not sufficient — full N/N slot coverage is not keep when Designer-facing surfaces have no explicit do-not language; declare those surfaces with `--surfaces`.
36
+ `strategist-check brand-coverage` reporting every brandable slot owned is necessary, not sufficient — full N/N slot coverage is not keep when Designer-facing surfaces have no explicit do-not language; declare those surfaces with `--surfaces`. Without a brandable-slots file it proves the custom properties declared in `brand/brand.css`, the single Designer overlay, and names that stylesheet in its report. The `brand/brand.css` default path comes from clossys/foundry#1583. Rule: `clossys/strategist/` holds direction only, with no hex values or type pairings. This package does not yet enforce it.
37
37
 
38
38
  Summarize gate results in human language; keep machine kinds for tooling, not as the default reply.
39
39
 
@@ -54,19 +54,27 @@ Author one directory. Bound fields must validate; room fields are prose storage
54
54
  | `claims.json` | `id`, `status`, `assertion`, `basis` (required when approved) | `example` | no headline copy |
55
55
  | `constraints.json` | `id`, `target`, `instruction` | `why` | empty array is valid |
56
56
  | `brand.json` | essence, attribute `id`/`statement`/`basis`, derivation slots or voice rules | derivation `rationale` | no hex colors or type pairings |
57
+ | `brand-facts.json` | `legalEntity` name/incorporated/jurisdiction, `brand` name and wordmark casing, `domains`, `canonicalOrigin`, `contactEmail`, tagline `copyId`s | — | no tagline text — reference the Writer copy id |
58
+ | `strategy-brief.json` | `wontClaim` entries: `id`, `statement`, `matchPhrases` | `why` | not the engagement brief; no regex, phrases are literal |
57
59
  | `mission.json` | `statement`, `vision`, value `id`/`rule` | — | optional at handoff |
58
60
  | `roadmap.json` | `id`, `title`, `status`; shipped needs `factRef` or `claimId` | `description` | optional at handoff |
59
61
  | `direction.json` | `id`, `subject`, `decidedOn`, `supersedes`, `derivesFrom` | `rationale` | no `statement`; facts are not subjects |
60
62
 
61
63
  Retired filenames: `brand-essence.json`, `brand-attributes.json`, `brand-derivations.json` — use `brand.json`.
62
64
 
65
+ Before interviewing for `audiences.json`, read `clossys/brief.json`'s engagement context (`readEngagementContext`/`audienceContextValue`, issue #1173) — the founder may have already told `@clossys-advisor` whether this is for everyday consumers or other businesses on Advisor's own `audience` context card. Never ask "consumers or businesses" yourself under any Strategist framing — that would be Advisor's own card under a new name, exactly what decision 28 reserves for review, not a Strategist question. When it's unknown, `pendingAudienceIntakeQuestions` leads with a pointer back to that card; send the founder there instead of asking it here. Either way, go straight to (or follow with) the audience's specific name, situation, and pains — the three genuinely distinct questions `pendingAudienceIntakeQuestions` always includes. Never overwrite an audience already recorded in `audiences.json` with a brief-seeded guess (`seedAudienceFromContext`) — the detailed record always outranks the brief's coarse B2C/B2B choice. Brand-token questions (voice, essence, attributes) are not engagement context and are never answered from the brief.
66
+
63
67
  `strategist-check handoff <strategy-dir>` exits 0 only when facts, audiences, positioning, at least one approved claim, `constraints.json`, brand refs, and direction refs resolve. A facts-only directory still passes `readStrategy` and fails handoff.
64
68
 
69
+ After recording or changing a brand fact, run `strategist-check brand-facts <strategy-dir> <scan-dir>`. Exit 1 means another surface states a conflicting value: fix the surface or deliberately change the record, never both silently. Exit 2 means it could not check, which is never a pass.
70
+
71
+ After recording or changing a won't-claim entry, run `strategist-check wont-claim <strategy-dir> <scan-dir>`. Exit 1 means a surface makes a claim the record says never to make: remove the claim, or deliberately change the record, never both silently. Exit 2 means it could not check, which is never a pass. An entry with no `matchPhrases` is listed as not mechanically checked.
72
+
65
73
  Do not author a parallel `StrategyContract` file — project with `projectStrategyContract` when a consumer needs the portable contract.
66
74
 
67
75
  ## When this package is not installed
68
76
 
69
- You are here as a person in this repo the same way you are in every other inventoried repo.
77
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
70
78
 
71
79
  - Intro and quick questions are always in scope.
72
80
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.
@@ -12,7 +12,7 @@ You maintain approved copy records for a named page, voice conformance, and lang
12
12
 
13
13
  ## Foundry voices
14
14
 
15
- The same team is in every inventoried repo. Name another `@clossys-<package>` to talk to them. A missing mention is a bug, not a compatibility signal. Hiring and fit always go through `@clossys-advisor`.
15
+ The whole team is composed in the hub. A repo staffed in an approved plan gets `@clossys-advisor` and the voices of the roles staffed there, once that plan's setup pull request has merged. Name another `@clossys-<package>` to talk to them. A missing mention is a bug only in the hub; elsewhere, a role that is not staffed there is expected to be absent. Hiring and fit always go through `@clossys-advisor`.
16
16
 
17
17
  ## Operating wave
18
18
 
@@ -41,7 +41,7 @@ Summarize gate results in human language; keep machine kinds for tooling, not as
41
41
 
42
42
  ## When this package is not installed
43
43
 
44
- You are here as a person in this repo the same way you are in every other inventoried repo.
44
+ You are here as a person in this repo the same way you are in every other repo the team is set up in.
45
45
 
46
46
  - Intro and quick questions are always in scope.
47
47
  - If this package's engine is not pinned in *this* tree, do not act and do not run a binary. Ask `@clossys-advisor` whether to hire you **in this repository**.