@xhulz/nina 0.79.0 → 0.81.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 (274) hide show
  1. package/bin/nina.mjs +3 -0
  2. package/package.json +1 -1
  3. package/releases/0.80.0/core/GAPS.md +125 -0
  4. package/releases/0.80.0/core/answered.json +128 -0
  5. package/releases/0.80.0/core/defaults/tree/.claude/agents/architect.md +1 -0
  6. package/releases/0.80.0/core/defaults/tree/.claude/agents/dba.md +3 -0
  7. package/releases/0.80.0/core/defaults/tree/.claude/agents/devops.md +1 -0
  8. package/releases/0.80.0/core/defaults/tree/.claude/agents/implementer.md +1 -0
  9. package/releases/0.80.0/core/defaults/tree/.claude/agents/integration-tester.md +3 -0
  10. package/releases/0.80.0/core/defaults/tree/.claude/agents/qa.md +7 -0
  11. package/releases/0.80.0/core/defaults/tree/.claude/agents/reviewer.md +3 -0
  12. package/releases/0.80.0/core/defaults/tree/.claude/agents/secops.md +3 -0
  13. package/releases/0.80.0/core/defaults/tree/.claude/agents/solidity-auditor.md +3 -0
  14. package/releases/0.80.0/core/defaults/tree/.claude/agents/solidity-dev.md +3 -0
  15. package/releases/0.80.0/core/tree/.claude/agents/architect.md +140 -0
  16. package/releases/0.80.0/core/tree/.claude/agents/dba.md +123 -0
  17. package/releases/0.80.0/core/tree/.claude/agents/design-reviewer.md +82 -0
  18. package/releases/0.80.0/core/tree/.claude/agents/devops.md +122 -0
  19. package/releases/0.80.0/core/tree/.claude/agents/implementer.md +208 -0
  20. package/releases/0.80.0/core/tree/.claude/agents/integration-tester.md +174 -0
  21. package/releases/0.80.0/core/tree/.claude/agents/planner.md +132 -0
  22. package/releases/0.80.0/core/tree/.claude/agents/qa.md +154 -0
  23. package/releases/0.80.0/core/tree/.claude/agents/reviewer.md +191 -0
  24. package/releases/0.80.0/core/tree/.claude/agents/secops.md +124 -0
  25. package/releases/0.80.0/core/tree/.claude/agents/solidity-auditor.md +130 -0
  26. package/releases/0.80.0/core/tree/.claude/agents/solidity-dev.md +127 -0
  27. package/releases/0.80.0/core/tree/.claude/agents-overview.md +65 -0
  28. package/releases/0.80.0/core/tree/.claude/frontend.md +10 -0
  29. package/releases/0.80.0/core/tree/.claude/graph.md +79 -0
  30. package/releases/0.80.0/core/tree/.claude/patterns.md +256 -0
  31. package/releases/0.80.0/core/tree/.claude/pills/README.md +150 -0
  32. package/releases/0.80.0/core/tree/.claude/pipeline.md +101 -0
  33. package/releases/0.80.0/core/tree/.claude/retrieval.md +103 -0
  34. package/releases/0.80.0/core/tree/.claude/router.md +224 -0
  35. package/releases/0.80.0/core/tree/.claude/templates/integration.md +48 -0
  36. package/releases/0.80.0/core/tree/CLAUDE.md +167 -0
  37. package/releases/0.80.0/core/tree/scripts/cost-watch.mjs +27 -0
  38. package/releases/0.80.0/core/tree/scripts/edit-guard.mjs +24 -0
  39. package/releases/0.80.0/core/tree/scripts/harness-check.mjs +84 -0
  40. package/releases/0.80.0/core/tree/scripts/loop-gate.mjs +19 -0
  41. package/releases/0.80.0/core/vocabulary.json +15 -0
  42. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents/architect.md +5 -0
  43. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents/devops.md +5 -0
  44. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents/reviewer.md +5 -0
  45. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents/solidity-auditor.md +18 -0
  46. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents/solidity-dev.md +16 -0
  47. package/releases/0.80.0/surfaces/blockchain/tree/.claude/agents-overview.md +6 -0
  48. package/releases/0.80.0/surfaces/blockchain/tree/.claude/graph.md +11 -0
  49. package/releases/0.80.0/surfaces/blockchain/tree/.claude/router.md +6 -0
  50. package/releases/0.80.0/surfaces/blockchain/tree/CLAUDE.md +12 -0
  51. package/releases/0.80.0/surfaces/d1/tree/.claude/agents/dba.md +15 -0
  52. package/releases/0.80.0/surfaces/d1/tree/.claude/agents/devops.md +2 -0
  53. package/releases/0.80.0/surfaces/d1/tree/.claude/agents/implementer.md +2 -0
  54. package/releases/0.80.0/surfaces/d1/tree/.claude/patterns.md +8 -0
  55. package/releases/0.80.0/surfaces/d1/tree/CLAUDE.md +2 -0
  56. package/releases/0.80.0/surfaces/db/tree/.claude/agents/architect.md +5 -0
  57. package/releases/0.80.0/surfaces/db/tree/.claude/agents/dba.md +54 -0
  58. package/releases/0.80.0/surfaces/db/tree/.claude/agents/devops.md +5 -0
  59. package/releases/0.80.0/surfaces/db/tree/.claude/agents/implementer.md +2 -0
  60. package/releases/0.80.0/surfaces/db/tree/.claude/agents/integration-tester.md +10 -0
  61. package/releases/0.80.0/surfaces/db/tree/.claude/agents/planner.md +2 -0
  62. package/releases/0.80.0/surfaces/db/tree/.claude/agents/reviewer.md +22 -0
  63. package/releases/0.80.0/surfaces/db/tree/.claude/agents/secops.md +2 -0
  64. package/releases/0.80.0/surfaces/db/tree/.claude/agents-overview.md +5 -0
  65. package/releases/0.80.0/surfaces/db/tree/.claude/graph.md +8 -0
  66. package/releases/0.80.0/surfaces/db/tree/.claude/patterns.md +22 -0
  67. package/releases/0.80.0/surfaces/db/tree/.claude/pipeline.md +13 -0
  68. package/releases/0.80.0/surfaces/db/tree/.claude/retrieval.md +5 -0
  69. package/releases/0.80.0/surfaces/db/tree/.claude/router.md +4 -0
  70. package/releases/0.80.0/surfaces/db/tree/CLAUDE.md +17 -0
  71. package/releases/0.80.0/surfaces/drizzle/tree/.claude/agents/dba.md +9 -0
  72. package/releases/0.80.0/surfaces/drizzle/tree/.claude/agents/devops.md +5 -0
  73. package/releases/0.80.0/surfaces/drizzle/tree/.claude/agents/implementer.md +2 -0
  74. package/releases/0.80.0/surfaces/drizzle/tree/.claude/patterns.md +7 -0
  75. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/architect.md +14 -0
  76. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/dba.md +2 -0
  77. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/devops.md +29 -0
  78. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/implementer.md +14 -0
  79. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/integration-tester.md +11 -0
  80. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/qa.md +3 -0
  81. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/reviewer.md +8 -0
  82. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/agents/secops.md +8 -0
  83. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/patterns.md +17 -0
  84. package/releases/0.80.0/surfaces/edge-cf/tree/.claude/retrieval.md +8 -0
  85. package/releases/0.80.0/surfaces/edge-cf/tree/CLAUDE.md +29 -0
  86. package/releases/0.80.0/surfaces/frontend/tree/.claude/agents/architect.md +20 -0
  87. package/releases/0.80.0/surfaces/frontend/tree/.claude/agents/devops.md +28 -0
  88. package/releases/0.80.0/surfaces/frontend/tree/.claude/agents/implementer.md +25 -0
  89. package/releases/0.80.0/surfaces/frontend/tree/.claude/agents/qa.md +17 -0
  90. package/releases/0.80.0/surfaces/frontend/tree/.claude/agents/reviewer.md +56 -0
  91. package/releases/0.80.0/surfaces/frontend/tree/.claude/patterns.md +8 -0
  92. package/releases/0.80.0/surfaces/frontend/tree/.claude/retrieval.md +2 -0
  93. package/releases/0.80.0/surfaces/frontend/tree/.claude/router.md +14 -0
  94. package/releases/0.80.0/surfaces/frontend/tree/CLAUDE.md +5 -0
  95. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/architect.md +16 -0
  96. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/implementer.md +12 -0
  97. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/integration-tester.md +20 -0
  98. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/planner.md +2 -0
  99. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/reviewer.md +21 -0
  100. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents/secops.md +2 -0
  101. package/releases/0.80.0/surfaces/integrations/tree/.claude/agents-overview.md +8 -0
  102. package/releases/0.80.0/surfaces/integrations/tree/.claude/graph.md +10 -0
  103. package/releases/0.80.0/surfaces/integrations/tree/.claude/patterns.md +38 -0
  104. package/releases/0.80.0/surfaces/integrations/tree/.claude/pipeline.md +16 -0
  105. package/releases/0.80.0/surfaces/integrations/tree/.claude/retrieval.md +16 -0
  106. package/releases/0.80.0/surfaces/integrations/tree/.claude/router.md +6 -0
  107. package/releases/0.80.0/surfaces/integrations/tree/CLAUDE.md +17 -0
  108. package/releases/0.80.0/surfaces/money/tree/.claude/agents/architect.md +12 -0
  109. package/releases/0.80.0/surfaces/money/tree/.claude/agents/dba.md +14 -0
  110. package/releases/0.80.0/surfaces/money/tree/.claude/agents/implementer.md +11 -0
  111. package/releases/0.80.0/surfaces/money/tree/.claude/agents/integration-tester.md +3 -0
  112. package/releases/0.80.0/surfaces/money/tree/.claude/agents/reviewer.md +23 -0
  113. package/releases/0.80.0/surfaces/money/tree/.claude/agents/secops.md +5 -0
  114. package/releases/0.80.0/surfaces/money/tree/.claude/agents/solidity-auditor.md +4 -0
  115. package/releases/0.80.0/surfaces/money/tree/.claude/agents/solidity-dev.md +4 -0
  116. package/releases/0.80.0/surfaces/money/tree/.claude/graph.md +2 -0
  117. package/releases/0.80.0/surfaces/money/tree/.claude/patterns.md +49 -0
  118. package/releases/0.80.0/surfaces/money/tree/.claude/pipeline.md +2 -0
  119. package/releases/0.80.0/surfaces/money/tree/.claude/retrieval.md +2 -0
  120. package/releases/0.80.0/surfaces/money/tree/CLAUDE.md +11 -0
  121. package/releases/0.80.0/surfaces/pii/tree/.claude/agents/dba.md +2 -0
  122. package/releases/0.80.0/surfaces/pii/tree/.claude/agents/devops.md +8 -0
  123. package/releases/0.80.0/surfaces/pii/tree/.claude/agents/reviewer.md +8 -0
  124. package/releases/0.80.0/surfaces/pii/tree/.claude/agents/secops.md +2 -0
  125. package/releases/0.80.0/surfaces/pii/tree/.claude/agents/solidity-auditor.md +5 -0
  126. package/releases/0.80.0/surfaces/pii/tree/CLAUDE.md +5 -0
  127. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/architect.md +2 -0
  128. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/dba.md +42 -0
  129. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/devops.md +11 -0
  130. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/implementer.md +2 -0
  131. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/integration-tester.md +2 -0
  132. package/releases/0.80.0/surfaces/prisma/tree/.claude/agents/reviewer.md +2 -0
  133. package/releases/0.80.0/surfaces/prisma/tree/.claude/patterns.md +15 -0
  134. package/releases/0.80.0/surfaces/prisma/tree/CLAUDE.md +5 -0
  135. package/releases/0.81.0/core/GAPS.md +125 -0
  136. package/releases/0.81.0/core/answered.json +128 -0
  137. package/releases/0.81.0/core/defaults/tree/.claude/agents/architect.md +1 -0
  138. package/releases/0.81.0/core/defaults/tree/.claude/agents/dba.md +3 -0
  139. package/releases/0.81.0/core/defaults/tree/.claude/agents/devops.md +1 -0
  140. package/releases/0.81.0/core/defaults/tree/.claude/agents/implementer.md +1 -0
  141. package/releases/0.81.0/core/defaults/tree/.claude/agents/integration-tester.md +3 -0
  142. package/releases/0.81.0/core/defaults/tree/.claude/agents/qa.md +7 -0
  143. package/releases/0.81.0/core/defaults/tree/.claude/agents/reviewer.md +3 -0
  144. package/releases/0.81.0/core/defaults/tree/.claude/agents/secops.md +3 -0
  145. package/releases/0.81.0/core/defaults/tree/.claude/agents/solidity-auditor.md +3 -0
  146. package/releases/0.81.0/core/defaults/tree/.claude/agents/solidity-dev.md +3 -0
  147. package/releases/0.81.0/core/tiers.json +5 -0
  148. package/releases/0.81.0/core/tree/.claude/agents/architect.md +140 -0
  149. package/releases/0.81.0/core/tree/.claude/agents/dba.md +123 -0
  150. package/releases/0.81.0/core/tree/.claude/agents/design-reviewer.md +82 -0
  151. package/releases/0.81.0/core/tree/.claude/agents/devops.md +122 -0
  152. package/releases/0.81.0/core/tree/.claude/agents/implementer.md +208 -0
  153. package/releases/0.81.0/core/tree/.claude/agents/integration-tester.md +174 -0
  154. package/releases/0.81.0/core/tree/.claude/agents/planner.md +132 -0
  155. package/releases/0.81.0/core/tree/.claude/agents/qa.md +154 -0
  156. package/releases/0.81.0/core/tree/.claude/agents/reviewer.md +191 -0
  157. package/releases/0.81.0/core/tree/.claude/agents/secops.md +124 -0
  158. package/releases/0.81.0/core/tree/.claude/agents/solidity-auditor.md +130 -0
  159. package/releases/0.81.0/core/tree/.claude/agents/solidity-dev.md +127 -0
  160. package/releases/0.81.0/core/tree/.claude/agents-overview.md +65 -0
  161. package/releases/0.81.0/core/tree/.claude/frontend.md +10 -0
  162. package/releases/0.81.0/core/tree/.claude/graph.md +79 -0
  163. package/releases/0.81.0/core/tree/.claude/patterns.md +256 -0
  164. package/releases/0.81.0/core/tree/.claude/pills/README.md +150 -0
  165. package/releases/0.81.0/core/tree/.claude/pipeline.md +101 -0
  166. package/releases/0.81.0/core/tree/.claude/retrieval.md +103 -0
  167. package/releases/0.81.0/core/tree/.claude/router.md +224 -0
  168. package/releases/0.81.0/core/tree/.claude/templates/integration.md +48 -0
  169. package/releases/0.81.0/core/tree/CLAUDE.md +167 -0
  170. package/releases/0.81.0/core/tree/scripts/cost-watch.mjs +27 -0
  171. package/releases/0.81.0/core/tree/scripts/edit-guard.mjs +24 -0
  172. package/releases/0.81.0/core/tree/scripts/harness-check.mjs +84 -0
  173. package/releases/0.81.0/core/tree/scripts/loop-gate.mjs +19 -0
  174. package/releases/0.81.0/core/vocabulary.json +18 -0
  175. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents/architect.md +5 -0
  176. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents/devops.md +5 -0
  177. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents/reviewer.md +5 -0
  178. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents/solidity-auditor.md +18 -0
  179. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents/solidity-dev.md +16 -0
  180. package/releases/0.81.0/surfaces/blockchain/tree/.claude/agents-overview.md +6 -0
  181. package/releases/0.81.0/surfaces/blockchain/tree/.claude/graph.md +11 -0
  182. package/releases/0.81.0/surfaces/blockchain/tree/.claude/router.md +6 -0
  183. package/releases/0.81.0/surfaces/blockchain/tree/CLAUDE.md +12 -0
  184. package/releases/0.81.0/surfaces/d1/tree/.claude/agents/dba.md +15 -0
  185. package/releases/0.81.0/surfaces/d1/tree/.claude/agents/devops.md +2 -0
  186. package/releases/0.81.0/surfaces/d1/tree/.claude/agents/implementer.md +2 -0
  187. package/releases/0.81.0/surfaces/d1/tree/.claude/patterns.md +8 -0
  188. package/releases/0.81.0/surfaces/d1/tree/CLAUDE.md +2 -0
  189. package/releases/0.81.0/surfaces/db/tree/.claude/agents/architect.md +5 -0
  190. package/releases/0.81.0/surfaces/db/tree/.claude/agents/dba.md +54 -0
  191. package/releases/0.81.0/surfaces/db/tree/.claude/agents/devops.md +5 -0
  192. package/releases/0.81.0/surfaces/db/tree/.claude/agents/implementer.md +2 -0
  193. package/releases/0.81.0/surfaces/db/tree/.claude/agents/integration-tester.md +10 -0
  194. package/releases/0.81.0/surfaces/db/tree/.claude/agents/planner.md +2 -0
  195. package/releases/0.81.0/surfaces/db/tree/.claude/agents/reviewer.md +22 -0
  196. package/releases/0.81.0/surfaces/db/tree/.claude/agents/secops.md +2 -0
  197. package/releases/0.81.0/surfaces/db/tree/.claude/agents-overview.md +5 -0
  198. package/releases/0.81.0/surfaces/db/tree/.claude/graph.md +8 -0
  199. package/releases/0.81.0/surfaces/db/tree/.claude/patterns.md +22 -0
  200. package/releases/0.81.0/surfaces/db/tree/.claude/pipeline.md +13 -0
  201. package/releases/0.81.0/surfaces/db/tree/.claude/retrieval.md +5 -0
  202. package/releases/0.81.0/surfaces/db/tree/.claude/router.md +4 -0
  203. package/releases/0.81.0/surfaces/db/tree/CLAUDE.md +17 -0
  204. package/releases/0.81.0/surfaces/drizzle/tree/.claude/agents/dba.md +9 -0
  205. package/releases/0.81.0/surfaces/drizzle/tree/.claude/agents/devops.md +5 -0
  206. package/releases/0.81.0/surfaces/drizzle/tree/.claude/agents/implementer.md +2 -0
  207. package/releases/0.81.0/surfaces/drizzle/tree/.claude/patterns.md +7 -0
  208. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/architect.md +14 -0
  209. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/dba.md +2 -0
  210. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/devops.md +29 -0
  211. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/implementer.md +14 -0
  212. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/integration-tester.md +11 -0
  213. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/qa.md +3 -0
  214. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/reviewer.md +8 -0
  215. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/agents/secops.md +8 -0
  216. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/patterns.md +17 -0
  217. package/releases/0.81.0/surfaces/edge-cf/tree/.claude/retrieval.md +8 -0
  218. package/releases/0.81.0/surfaces/edge-cf/tree/CLAUDE.md +29 -0
  219. package/releases/0.81.0/surfaces/frontend/tree/.claude/agents/architect.md +20 -0
  220. package/releases/0.81.0/surfaces/frontend/tree/.claude/agents/devops.md +28 -0
  221. package/releases/0.81.0/surfaces/frontend/tree/.claude/agents/implementer.md +25 -0
  222. package/releases/0.81.0/surfaces/frontend/tree/.claude/agents/qa.md +17 -0
  223. package/releases/0.81.0/surfaces/frontend/tree/.claude/agents/reviewer.md +56 -0
  224. package/releases/0.81.0/surfaces/frontend/tree/.claude/patterns.md +8 -0
  225. package/releases/0.81.0/surfaces/frontend/tree/.claude/retrieval.md +2 -0
  226. package/releases/0.81.0/surfaces/frontend/tree/.claude/router.md +14 -0
  227. package/releases/0.81.0/surfaces/frontend/tree/CLAUDE.md +5 -0
  228. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/architect.md +16 -0
  229. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/implementer.md +12 -0
  230. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/integration-tester.md +20 -0
  231. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/planner.md +2 -0
  232. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/reviewer.md +21 -0
  233. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents/secops.md +2 -0
  234. package/releases/0.81.0/surfaces/integrations/tree/.claude/agents-overview.md +8 -0
  235. package/releases/0.81.0/surfaces/integrations/tree/.claude/graph.md +10 -0
  236. package/releases/0.81.0/surfaces/integrations/tree/.claude/patterns.md +38 -0
  237. package/releases/0.81.0/surfaces/integrations/tree/.claude/pipeline.md +16 -0
  238. package/releases/0.81.0/surfaces/integrations/tree/.claude/retrieval.md +16 -0
  239. package/releases/0.81.0/surfaces/integrations/tree/.claude/router.md +6 -0
  240. package/releases/0.81.0/surfaces/integrations/tree/CLAUDE.md +17 -0
  241. package/releases/0.81.0/surfaces/money/tree/.claude/agents/architect.md +12 -0
  242. package/releases/0.81.0/surfaces/money/tree/.claude/agents/dba.md +14 -0
  243. package/releases/0.81.0/surfaces/money/tree/.claude/agents/implementer.md +11 -0
  244. package/releases/0.81.0/surfaces/money/tree/.claude/agents/integration-tester.md +3 -0
  245. package/releases/0.81.0/surfaces/money/tree/.claude/agents/reviewer.md +23 -0
  246. package/releases/0.81.0/surfaces/money/tree/.claude/agents/secops.md +5 -0
  247. package/releases/0.81.0/surfaces/money/tree/.claude/agents/solidity-auditor.md +4 -0
  248. package/releases/0.81.0/surfaces/money/tree/.claude/agents/solidity-dev.md +4 -0
  249. package/releases/0.81.0/surfaces/money/tree/.claude/graph.md +2 -0
  250. package/releases/0.81.0/surfaces/money/tree/.claude/patterns.md +49 -0
  251. package/releases/0.81.0/surfaces/money/tree/.claude/pipeline.md +2 -0
  252. package/releases/0.81.0/surfaces/money/tree/.claude/retrieval.md +2 -0
  253. package/releases/0.81.0/surfaces/money/tree/CLAUDE.md +11 -0
  254. package/releases/0.81.0/surfaces/pii/tree/.claude/agents/dba.md +2 -0
  255. package/releases/0.81.0/surfaces/pii/tree/.claude/agents/devops.md +8 -0
  256. package/releases/0.81.0/surfaces/pii/tree/.claude/agents/reviewer.md +8 -0
  257. package/releases/0.81.0/surfaces/pii/tree/.claude/agents/secops.md +2 -0
  258. package/releases/0.81.0/surfaces/pii/tree/.claude/agents/solidity-auditor.md +5 -0
  259. package/releases/0.81.0/surfaces/pii/tree/CLAUDE.md +5 -0
  260. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/architect.md +2 -0
  261. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/dba.md +42 -0
  262. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/devops.md +11 -0
  263. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/implementer.md +2 -0
  264. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/integration-tester.md +2 -0
  265. package/releases/0.81.0/surfaces/prisma/tree/.claude/agents/reviewer.md +2 -0
  266. package/releases/0.81.0/surfaces/prisma/tree/.claude/patterns.md +15 -0
  267. package/releases/0.81.0/surfaces/prisma/tree/CLAUDE.md +5 -0
  268. package/src/commands/check.mjs +4 -2
  269. package/src/commands/compose.mjs +58 -4
  270. package/src/commands/eval.mjs +35 -24
  271. package/src/commands/init.mjs +14 -4
  272. package/src/commands/status.mjs +11 -1
  273. package/src/commands/upgrade.mjs +17 -2
  274. package/src/vocabulary.mjs +76 -2
@@ -23,7 +23,7 @@ import { tidyRetired } from './pills.mjs';
23
23
  import { lacksPackage, missingFragment, missingWiring, shippedScripts } from '../wiring.mjs';
24
24
  import { runSteps } from '../steps.mjs';
25
25
  import { granted } from '../tools.mjs';
26
- import { defaultVocabulary } from '../vocabulary.mjs';
26
+ import { TOOK_OVER, defaultVocabulary, tierProblem, tiers } from '../vocabulary.mjs';
27
27
 
28
28
  /** What stops a move from outside it: Ctrl-C, a `kill`, the terminal closing. */
29
29
  const SIGNALS = ['SIGINT', 'SIGTERM', 'SIGHUP'];
@@ -288,6 +288,14 @@ export async function upgrade(argv, ctx) {
288
288
  );
289
289
  return 1;
290
290
  }
291
+ // A tier the target release lacks would fail the compose that ends the move, after the pin had moved. Not
292
+ // forceable, and said before anything is read: the tier is set back first, or the move goes to a release that has it.
293
+ const tierError = tierProblem(onto.dir, profile.tier, to);
294
+ if (tierError) {
295
+ const way = Object.keys(tiers(onto.dir)).length > 0 ? `set one ${to} has with \`nina compose --tier\`, or take` : 'take';
296
+ console.error(` ${tierError} — ${way} "tier" out of ${HARNESS}/profile.json before the move\n`);
297
+ return 1;
298
+ }
291
299
 
292
300
  const surfaces = profile.surfaces ?? [];
293
301
  const available = (await surfacesIn(onto.dir));
@@ -313,7 +321,7 @@ export async function upgrade(argv, ctx) {
313
321
 
314
322
  const declared = profile.vocabulary ?? {};
315
323
  // A name the new release supplies a default for is not owed: it composes as the default until declared.
316
- const defaultsAfter = defaultVocabulary(onto.dir);
324
+ const defaultsAfter = defaultVocabulary(onto.dir, profile.tier);
317
325
  const waits = (key) => typeof profile.deferred?.[key] === 'string' && profile.deferred[key].trim() !== '';
318
326
  const needed = [...vocabAfter].filter((v) => ((!(v in declared) && !(v in defaultsAfter)) || declared[v] === null) && !waits(v)).sort();
319
327
  const unused = Object.keys(declared).filter((v) => !vocabAfter.has(v)).sort();
@@ -352,6 +360,13 @@ export async function upgrade(argv, ctx) {
352
360
  if (unused.length > 0) {
353
361
  console.log(` · ${unused.length} vocabulary entr(ies) nothing in ${to} references: ${unused.join(', ')}\n`);
354
362
  }
363
+ // Stages that ran on a value this profile declares and, after the move, read a name of their own that it does not.
364
+ const tookOver = Object.entries(TOOK_OVER).filter(([name, was]) => vocabAfter.has(name) && !vocabBefore.has(name) && typeof declared[was] === 'string' && !(name in declared));
365
+ if (tookOver.length > 0) {
366
+ console.log(` · ${tookOver.length} name(s) ${to} reads where it read one this profile declares — each composes as ${to}'s default until declared:`);
367
+ for (const [name, was] of tookOver) console.log(` ${name}, was ${was}: ${defaultsAfter[name] ?? '(no default)'}, where ${was} is ${declared[was]}`);
368
+ console.log('');
369
+ }
355
370
  if (newSlots.length > 0) {
356
371
  console.log(` · ${newSlots.length} new project slot(s) to fill:`);
357
372
  for (const s of newSlots.slice(0, 15)) console.log(` ${s}`);
@@ -27,18 +27,92 @@ export const NAME = /^[A-Z][A-Z0-9_]*$/;
27
27
  /** A placeholder in a text, its name captured. */
28
28
  export const PLACEHOLDER = /\{\{([A-Z][A-Z0-9_]*)\}\}/g;
29
29
 
30
+ /** A name a tier may move: a stage's model or its effort, never a command, a path or a limit. */
31
+ const TIERED = /_(?:MODEL|EFFORT)$/;
32
+
33
+ /**
34
+ * Names that took over stages from another, the new name → the one those stages read before. A project that
35
+ * declared the old name had them on its value; after the move they read the new one, at the release's default
36
+ * until it is declared too, and `upgrade` says so rather than move them in silence.
37
+ */
38
+ export const TOOK_OVER = { ARCHITECT_MODEL: 'DEEP_MODEL', IMMUTABLE_MODEL: 'DEEP_MODEL', IMMUTABLE_EFFORT: 'DEEP_EFFORT' };
39
+
30
40
  /**
31
41
  * The defaults a layer root supplies, name → value. Anything that is not a string under an
32
42
  * upper-case name is ignored rather than trusted: a default reaches every project that pins it.
33
43
  *
44
+ * With a tier, that tier's models and efforts replace the release's own, so every reader of a
45
+ * default — compose, check, init, upgrade — reads the one the project composes. A tier the release
46
+ * does not have moves nothing here; {@link tierProblem} is what says so.
47
+ *
34
48
  * @param {string} layerRoot - A release directory, or the working tree.
49
+ * @param {string} [tier] - The profile's `tier`, when it declares one.
35
50
  * @returns {Record<string, string>}
36
51
  */
37
- export function defaultVocabulary(layerRoot) {
52
+ export function defaultVocabulary(layerRoot, tier) {
53
+ let defaults = {};
38
54
  try {
39
55
  const parsed = JSON.parse(readFileSync(join(layerRoot, 'core', 'vocabulary.json'), 'utf8'));
40
- return Object.fromEntries(Object.entries(parsed).filter(([name, value]) => NAME.test(name) && typeof value === 'string'));
56
+ defaults = Object.fromEntries(Object.entries(parsed).filter(([name, value]) => NAME.test(name) && typeof value === 'string'));
41
57
  } catch {
42
58
  return {};
43
59
  }
60
+ const levels = tiers(layerRoot);
61
+ return tier !== undefined && Object.hasOwn(levels, tier) ? { ...defaults, ...levels[tier] } : defaults;
62
+ }
63
+
64
+ /**
65
+ * The tiers a layer root supplies, level → the models and efforts it moves, from `core/tiers.json`.
66
+ *
67
+ * A tier is a named set of the defaults that decide what each stage runs on, so a project picks how
68
+ * much its pipeline spends in one word rather than five vocabulary values. Only a `_MODEL` or an
69
+ * `_EFFORT` name is taken: a tier that moved a command or a limit would change what a stage does, not
70
+ * what it runs on. A release from before tiers has none.
71
+ *
72
+ * @param {string} layerRoot - A release directory, or the working tree.
73
+ * @returns {Record<string, Record<string, string>>}
74
+ */
75
+ export function tiers(layerRoot) {
76
+ try {
77
+ const parsed = JSON.parse(readFileSync(join(layerRoot, 'core', 'tiers.json'), 'utf8'));
78
+ return Object.fromEntries(
79
+ Object.entries(parsed)
80
+ .filter(([, moves]) => moves !== null && typeof moves === 'object' && !Array.isArray(moves))
81
+ .map(([level, moves]) => [level, Object.fromEntries(Object.entries(moves).filter(([name, value]) => NAME.test(name) && TIERED.test(name) && typeof value === 'string'))]),
82
+ );
83
+ } catch {
84
+ return {};
85
+ }
86
+ }
87
+
88
+ /**
89
+ * Why a tier cannot compose against a release, or null when it can — or when none is declared.
90
+ *
91
+ * @param {string} layerRoot - A release directory, or the working tree.
92
+ * @param {unknown} tier - The profile's `tier`, as written.
93
+ * @param {string} [release] - The release's name, for the message.
94
+ * @returns {string|null}
95
+ */
96
+ export function tierProblem(layerRoot, tier, release = 'this release') {
97
+ if (tier === undefined) return null;
98
+ const levels = Object.keys(tiers(layerRoot));
99
+ if (levels.length === 0) return `tier "${tier}": ${release} has no tiers — they came in 0.81.0`;
100
+ if (typeof tier !== 'string' || !levels.includes(tier)) return `tier "${tier}" is not one ${release} has: ${levels.join(', ')}`;
101
+ return null;
102
+ }
103
+
104
+ /**
105
+ * What each kind of stage runs on, in one line, from the values a project composes with: the architect, the
106
+ * stages that judge (the reviewers, the design-reviewer, secops, devops), and the stages that carry a spec out.
107
+ * A release from before the architect had a model of its own gave it the judges'.
108
+ *
109
+ * @param {Record<string, string>} values - The project's vocabulary over its release's defaults.
110
+ * @returns {string}
111
+ */
112
+ export function modelsLine(values) {
113
+ const at = (model, effort) => `${model ?? '?'} at ${effort ?? '?'}`;
114
+ return (
115
+ `architect ${at(values.ARCHITECT_MODEL ?? values.DEEP_MODEL, values.ARCHITECT_EFFORT)} · ` +
116
+ `reviewers ${at(values.DEEP_MODEL, values.DEEP_EFFORT)} · builders ${at(values.WORK_MODEL, values.WORK_EFFORT)}`
117
+ );
44
118
  }