just-vibe 0.7.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 (512) hide show
  1. package/.agents/plugins/marketplace.json +12 -0
  2. package/.claude-plugin/marketplace.json +12 -0
  3. package/CHANGELOG.md +49 -0
  4. package/LICENSE +21 -0
  5. package/README.md +282 -0
  6. package/bin/just-vibe.mjs +3 -0
  7. package/docs/command-quality.md +74 -0
  8. package/docs/compatibility.md +29 -0
  9. package/docs/releases.md +51 -0
  10. package/evals/README.md +47 -0
  11. package/evals/behavior/cases/arch-events/flow.json +12 -0
  12. package/evals/behavior/cases/arch-events/task.md +3 -0
  13. package/evals/behavior/cases/authz/access.mjs +1 -0
  14. package/evals/behavior/cases/authz/task.md +3 -0
  15. package/evals/behavior/cases/checkout/checkout.mjs +1 -0
  16. package/evals/behavior/cases/checkout/contract.md +1 -0
  17. package/evals/behavior/cases/checkout/keep.txt +1 -0
  18. package/evals/behavior/cases/checkout/task.md +3 -0
  19. package/evals/behavior/cases/data-reconcile/source.json +14 -0
  20. package/evals/behavior/cases/data-reconcile/target.json +14 -0
  21. package/evals/behavior/cases/data-reconcile/task.md +3 -0
  22. package/evals/behavior/cases/db-migrate/context.json +13 -0
  23. package/evals/behavior/cases/db-migrate/migration.sql +3 -0
  24. package/evals/behavior/cases/db-migrate/task.md +3 -0
  25. package/evals/behavior/cases/db-query/query.sql +1 -0
  26. package/evals/behavior/cases/db-query/rows.json +32 -0
  27. package/evals/behavior/cases/db-query/task.md +3 -0
  28. package/evals/behavior/cases/decision-matrix/decision.json +22 -0
  29. package/evals/behavior/cases/decision-matrix/task.md +3 -0
  30. package/evals/behavior/cases/github-pr/prs.json +16 -0
  31. package/evals/behavior/cases/github-pr/request.json +9 -0
  32. package/evals/behavior/cases/github-pr/task.md +3 -0
  33. package/evals/behavior/cases/idempotency/contract.md +1 -0
  34. package/evals/behavior/cases/idempotency/orders.mjs +1 -0
  35. package/evals/behavior/cases/idempotency/task.md +3 -0
  36. package/evals/behavior/cases/ml-checkpoint/checkpoint.json +6 -0
  37. package/evals/behavior/cases/ml-checkpoint/task.md +3 -0
  38. package/evals/behavior/cases/ml-checkpoint/training.json +16 -0
  39. package/evals/behavior/cases/ml-evaluate/labels.json +18 -0
  40. package/evals/behavior/cases/ml-evaluate/predictions.json +14 -0
  41. package/evals/behavior/cases/ml-evaluate/task.md +3 -0
  42. package/evals/behavior/cases/ml-leakage/task.json +30 -0
  43. package/evals/behavior/cases/ml-leakage/task.md +3 -0
  44. package/evals/behavior/cases/ml-parity/serving.json +16 -0
  45. package/evals/behavior/cases/ml-parity/task.md +3 -0
  46. package/evals/behavior/cases/ml-parity/training.json +16 -0
  47. package/evals/behavior/cases/ml-split/task.json +7 -0
  48. package/evals/behavior/cases/ml-split/task.md +3 -0
  49. package/evals/behavior/cases/ops-logs/context.json +4 -0
  50. package/evals/behavior/cases/ops-logs/events.json +17 -0
  51. package/evals/behavior/cases/ops-logs/task.md +3 -0
  52. package/evals/behavior/cases/rag-boundary/documents.json +26 -0
  53. package/evals/behavior/cases/rag-boundary/query.json +5 -0
  54. package/evals/behavior/cases/rag-boundary/task.md +3 -0
  55. package/evals/behavior/cases/react-race/AccountPanel.jsx +1 -0
  56. package/evals/behavior/cases/react-race/loader.mjs +1 -0
  57. package/evals/behavior/cases/react-race/task.md +3 -0
  58. package/evals/behavior/cases/regression-test/checkout.mjs +1 -0
  59. package/evals/behavior/cases/regression-test/contract.md +1 -0
  60. package/evals/behavior/cases/regression-test/task.md +3 -0
  61. package/evals/behavior/cases/ui-accessibility/observations.json +17 -0
  62. package/evals/behavior/cases/ui-accessibility/task.md +3 -0
  63. package/evals/behavior/cases/vercel-env/consumers.json +13 -0
  64. package/evals/behavior/cases/vercel-env/metadata.json +11 -0
  65. package/evals/behavior/cases/vercel-env/task.md +3 -0
  66. package/evals/behavior/cases/vite-assets/deployment.json +8 -0
  67. package/evals/behavior/cases/vite-assets/render.mjs +1 -0
  68. package/evals/behavior/cases/vite-assets/task.md +3 -0
  69. package/evals/behavior/cases/vite-assets/vite.config.mjs +1 -0
  70. package/evals/behavior/cases.json +185 -0
  71. package/evals/behavior/code-oracles.mjs +58 -0
  72. package/evals/behavior/harness.mjs +109 -0
  73. package/evals/behavior/oracles.json +196 -0
  74. package/evals/benchmark/README.md +57 -0
  75. package/evals/benchmark/cases.json +9 -0
  76. package/evals/benchmark/harness.mjs +231 -0
  77. package/evals/benchmark/oracles/node.mjs +69 -0
  78. package/evals/benchmark/oracles/python.py +117 -0
  79. package/evals/benchmark/report.mjs +62 -0
  80. package/evals/benchmark/repos/async-cache/README.md +12 -0
  81. package/evals/benchmark/repos/async-cache/TASK.md +1 -0
  82. package/evals/benchmark/repos/async-cache/package.json +1 -0
  83. package/evals/benchmark/repos/async-cache/src/cache.mjs +13 -0
  84. package/evals/benchmark/repos/async-cache/src/view.mjs +9 -0
  85. package/evals/benchmark/repos/async-cache/test/smoke.test.mjs +9 -0
  86. package/evals/benchmark/repos/ledger/README.md +11 -0
  87. package/evals/benchmark/repos/ledger/TASK.md +1 -0
  88. package/evals/benchmark/repos/ledger/src/service.py +14 -0
  89. package/evals/benchmark/repos/ledger/src/store.py +12 -0
  90. package/evals/benchmark/repos/ledger/test/test_smoke.py +9 -0
  91. package/evals/benchmark/repos/scoped-commit/README.md +5 -0
  92. package/evals/benchmark/repos/scoped-commit/TASK.md +1 -0
  93. package/evals/benchmark/repos/scoped-commit/package.json +1 -0
  94. package/evals/benchmark/repos/scoped-commit/src/invoice.mjs +8 -0
  95. package/evals/benchmark/repos/scoped-commit/test/invoice.test.mjs +4 -0
  96. package/evals/benchmark/repos/temporal-ml/README.md +12 -0
  97. package/evals/benchmark/repos/temporal-ml/TASK.md +1 -0
  98. package/evals/benchmark/repos/temporal-ml/src/features.py +9 -0
  99. package/evals/benchmark/repos/temporal-ml/src/pipeline.py +10 -0
  100. package/evals/benchmark/repos/temporal-ml/src/report.py +2 -0
  101. package/evals/benchmark/repos/temporal-ml/test/test_smoke.py +7 -0
  102. package/evals/benchmark/support/commit-tree.mjs +11 -0
  103. package/evals/benchmark/support/python-test-report.py +48 -0
  104. package/evals/fixtures/checkout/checkout.mjs +4 -0
  105. package/evals/fixtures/checkout/checkout.test.mjs +13 -0
  106. package/evals/fixtures/checkout/package.json +6 -0
  107. package/evals/fixtures/checkout/unrelated.txt +1 -0
  108. package/evals/fixtures/ml/observations.csv +5 -0
  109. package/evals/fixtures/ml/task.md +1 -0
  110. package/evals/releases/0.2.0.md +45 -0
  111. package/evals/releases/0.3.0.md +23 -0
  112. package/evals/releases/0.4.0-results.json +1274 -0
  113. package/evals/releases/0.4.0.md +55 -0
  114. package/evals/releases/0.5.0.md +28 -0
  115. package/evals/releases/0.6.0-after-results.json +1307 -0
  116. package/evals/releases/0.6.0-before-results.json +4850 -0
  117. package/evals/releases/0.6.0.md +94 -0
  118. package/evals/releases/0.7.0.md +32 -0
  119. package/evals/scenarios.json +7777 -0
  120. package/package.json +50 -0
  121. package/plugins/just-vibe/.claude-plugin/plugin.json +11 -0
  122. package/plugins/just-vibe/.codex-plugin/plugin.json +24 -0
  123. package/plugins/just-vibe/LICENSE +21 -0
  124. package/plugins/just-vibe/catalog/commands.json +16757 -0
  125. package/plugins/just-vibe/catalog/packs.json +115 -0
  126. package/plugins/just-vibe/catalog/profiles.json +2503 -0
  127. package/plugins/just-vibe/hooks/hooks.json +11 -0
  128. package/plugins/just-vibe/references/command-reference.md +328 -0
  129. package/plugins/just-vibe/references/daily-workflows.md +133 -0
  130. package/plugins/just-vibe/references/execution.md +60 -0
  131. package/plugins/just-vibe/references/instruction-memory.md +86 -0
  132. package/plugins/just-vibe/references/packs/api.md +27 -0
  133. package/plugins/just-vibe/references/packs/architecture.md +29 -0
  134. package/plugins/just-vibe/references/packs/backend.md +43 -0
  135. package/plugins/just-vibe/references/packs/data.md +27 -0
  136. package/plugins/just-vibe/references/packs/database.md +32 -0
  137. package/plugins/just-vibe/references/packs/decisions.md +29 -0
  138. package/plugins/just-vibe/references/packs/general.md +34 -0
  139. package/plugins/just-vibe/references/packs/git.md +45 -0
  140. package/plugins/just-vibe/references/packs/github.md +31 -0
  141. package/plugins/just-vibe/references/packs/installation.md +27 -0
  142. package/plugins/just-vibe/references/packs/llm.md +33 -0
  143. package/plugins/just-vibe/references/packs/ml-data.md +43 -0
  144. package/plugins/just-vibe/references/packs/ml-deployment.md +31 -0
  145. package/plugins/just-vibe/references/packs/ml-evaluation.md +29 -0
  146. package/plugins/just-vibe/references/packs/ml-experiments.md +29 -0
  147. package/plugins/just-vibe/references/packs/operations.md +35 -0
  148. package/plugins/just-vibe/references/packs/react.md +29 -0
  149. package/plugins/just-vibe/references/packs/security.md +31 -0
  150. package/plugins/just-vibe/references/packs/testing.md +35 -0
  151. package/plugins/just-vibe/references/packs/ui.md +29 -0
  152. package/plugins/just-vibe/references/packs/vercel.md +29 -0
  153. package/plugins/just-vibe/references/packs/vite.md +29 -0
  154. package/plugins/just-vibe/references/profile-reference.md +155 -0
  155. package/plugins/just-vibe/references/profiles/accessibility-engineer.md +31 -0
  156. package/plugins/just-vibe/references/profiles/agent-systems-engineer.md +31 -0
  157. package/plugins/just-vibe/references/profiles/ai-evaluation-engineer.md +31 -0
  158. package/plugins/just-vibe/references/profiles/ai-security-engineer.md +31 -0
  159. package/plugins/just-vibe/references/profiles/analytics-engineer.md +31 -0
  160. package/plugins/just-vibe/references/profiles/android-engineer.md +31 -0
  161. package/plugins/just-vibe/references/profiles/api-engineer.md +31 -0
  162. package/plugins/just-vibe/references/profiles/application-security-engineer.md +31 -0
  163. package/plugins/just-vibe/references/profiles/applied-ai-engineer.md +31 -0
  164. package/plugins/just-vibe/references/profiles/backend-engineer.md +31 -0
  165. package/plugins/just-vibe/references/profiles/bioinformatics-engineer.md +31 -0
  166. package/plugins/just-vibe/references/profiles/blockchain-engineer.md +31 -0
  167. package/plugins/just-vibe/references/profiles/build-release-engineer.md +31 -0
  168. package/plugins/just-vibe/references/profiles/business-intelligence-engineer.md +31 -0
  169. package/plugins/just-vibe/references/profiles/capacity-engineer.md +31 -0
  170. package/plugins/just-vibe/references/profiles/causal-inference-scientist.md +31 -0
  171. package/plugins/just-vibe/references/profiles/cloud-architect.md +31 -0
  172. package/plugins/just-vibe/references/profiles/cloud-engineer.md +31 -0
  173. package/plugins/just-vibe/references/profiles/cloud-security-engineer.md +31 -0
  174. package/plugins/just-vibe/references/profiles/compiler-engineer.md +31 -0
  175. package/plugins/just-vibe/references/profiles/computer-vision-engineer.md +31 -0
  176. package/plugins/just-vibe/references/profiles/controls-engineer.md +31 -0
  177. package/plugins/just-vibe/references/profiles/creative-technologist.md +31 -0
  178. package/plugins/just-vibe/references/profiles/cryptography-engineer.md +31 -0
  179. package/plugins/just-vibe/references/profiles/data-analyst.md +31 -0
  180. package/plugins/just-vibe/references/profiles/data-architect.md +31 -0
  181. package/plugins/just-vibe/references/profiles/data-engineer.md +31 -0
  182. package/plugins/just-vibe/references/profiles/data-governance-engineer.md +31 -0
  183. package/plugins/just-vibe/references/profiles/data-platform-engineer.md +31 -0
  184. package/plugins/just-vibe/references/profiles/data-quality-engineer.md +31 -0
  185. package/plugins/just-vibe/references/profiles/data-scientist.md +31 -0
  186. package/plugins/just-vibe/references/profiles/database-engineer.md +31 -0
  187. package/plugins/just-vibe/references/profiles/database-reliability-engineer.md +31 -0
  188. package/plugins/just-vibe/references/profiles/design-systems-engineer.md +31 -0
  189. package/plugins/just-vibe/references/profiles/desktop-engineer.md +31 -0
  190. package/plugins/just-vibe/references/profiles/detection-engineer.md +31 -0
  191. package/plugins/just-vibe/references/profiles/developer-advocate.md +31 -0
  192. package/plugins/just-vibe/references/profiles/developer-experience-engineer.md +31 -0
  193. package/plugins/just-vibe/references/profiles/devops-engineer.md +31 -0
  194. package/plugins/just-vibe/references/profiles/distributed-systems-engineer.md +31 -0
  195. package/plugins/just-vibe/references/profiles/edge-engineer.md +31 -0
  196. package/plugins/just-vibe/references/profiles/embedded-engineer.md +31 -0
  197. package/plugins/just-vibe/references/profiles/engineering-manager.md +31 -0
  198. package/plugins/just-vibe/references/profiles/enterprise-architect.md +31 -0
  199. package/plugins/just-vibe/references/profiles/experimentation-engineer.md +31 -0
  200. package/plugins/just-vibe/references/profiles/finops-engineer.md +31 -0
  201. package/plugins/just-vibe/references/profiles/firmware-engineer.md +31 -0
  202. package/plugins/just-vibe/references/profiles/frontend-architect.md +31 -0
  203. package/plugins/just-vibe/references/profiles/frontend-engineer.md +31 -0
  204. package/plugins/just-vibe/references/profiles/fullstack-engineer.md +31 -0
  205. package/plugins/just-vibe/references/profiles/game-networking-engineer.md +31 -0
  206. package/plugins/just-vibe/references/profiles/gameplay-engineer.md +31 -0
  207. package/plugins/just-vibe/references/profiles/geospatial-engineer.md +31 -0
  208. package/plugins/just-vibe/references/profiles/graphics-engineer.md +31 -0
  209. package/plugins/just-vibe/references/profiles/hpc-engineer.md +31 -0
  210. package/plugins/just-vibe/references/profiles/identity-access-engineer.md +31 -0
  211. package/plugins/just-vibe/references/profiles/inference-engineer.md +31 -0
  212. package/plugins/just-vibe/references/profiles/infrastructure-engineer.md +31 -0
  213. package/plugins/just-vibe/references/profiles/integration-architect.md +31 -0
  214. package/plugins/just-vibe/references/profiles/integration-engineer.md +31 -0
  215. package/plugins/just-vibe/references/profiles/ios-engineer.md +31 -0
  216. package/plugins/just-vibe/references/profiles/iot-engineer.md +31 -0
  217. package/plugins/just-vibe/references/profiles/kubernetes-engineer.md +31 -0
  218. package/plugins/just-vibe/references/profiles/llm-engineer.md +31 -0
  219. package/plugins/just-vibe/references/profiles/machine-learning-engineer.md +31 -0
  220. package/plugins/just-vibe/references/profiles/ml-architect.md +31 -0
  221. package/plugins/just-vibe/references/profiles/ml-data-engineer.md +31 -0
  222. package/plugins/just-vibe/references/profiles/ml-platform-engineer.md +31 -0
  223. package/plugins/just-vibe/references/profiles/mlops-engineer.md +31 -0
  224. package/plugins/just-vibe/references/profiles/mobile-engineer.md +31 -0
  225. package/plugins/just-vibe/references/profiles/network-engineer.md +31 -0
  226. package/plugins/just-vibe/references/profiles/nlp-engineer.md +31 -0
  227. package/plugins/just-vibe/references/profiles/observability-engineer.md +31 -0
  228. package/plugins/just-vibe/references/profiles/performance-engineer.md +31 -0
  229. package/plugins/just-vibe/references/profiles/platform-architect.md +31 -0
  230. package/plugins/just-vibe/references/profiles/platform-engineer.md +31 -0
  231. package/plugins/just-vibe/references/profiles/principal-engineer.md +31 -0
  232. package/plugins/just-vibe/references/profiles/privacy-engineer.md +31 -0
  233. package/plugins/just-vibe/references/profiles/product-engineer.md +31 -0
  234. package/plugins/just-vibe/references/profiles/product-security-engineer.md +31 -0
  235. package/plugins/just-vibe/references/profiles/protocol-engineer.md +31 -0
  236. package/plugins/just-vibe/references/profiles/qa-automation-engineer.md +31 -0
  237. package/plugins/just-vibe/references/profiles/recommendation-engineer.md +31 -0
  238. package/plugins/just-vibe/references/profiles/reinforcement-learning-engineer.md +31 -0
  239. package/plugins/just-vibe/references/profiles/research-engineer.md +31 -0
  240. package/plugins/just-vibe/references/profiles/research-scientist.md +31 -0
  241. package/plugins/just-vibe/references/profiles/responsible-ai-engineer.md +31 -0
  242. package/plugins/just-vibe/references/profiles/robotics-engineer.md +31 -0
  243. package/plugins/just-vibe/references/profiles/runtime-engineer.md +31 -0
  244. package/plugins/just-vibe/references/profiles/scientific-software-engineer.md +31 -0
  245. package/plugins/just-vibe/references/profiles/search-engineer.md +31 -0
  246. package/plugins/just-vibe/references/profiles/security-architect.md +31 -0
  247. package/plugins/just-vibe/references/profiles/security-automation-engineer.md +31 -0
  248. package/plugins/just-vibe/references/profiles/security-incident-responder.md +31 -0
  249. package/plugins/just-vibe/references/profiles/senior-software-engineer.md +31 -0
  250. package/plugins/just-vibe/references/profiles/simulation-engineer.md +31 -0
  251. package/plugins/just-vibe/references/profiles/site-reliability-engineer.md +31 -0
  252. package/plugins/just-vibe/references/profiles/software-architect.md +31 -0
  253. package/plugins/just-vibe/references/profiles/solutions-architect.md +31 -0
  254. package/plugins/just-vibe/references/profiles/speech-engineer.md +31 -0
  255. package/plugins/just-vibe/references/profiles/staff-engineer.md +31 -0
  256. package/plugins/just-vibe/references/profiles/storage-engineer.md +31 -0
  257. package/plugins/just-vibe/references/profiles/streaming-data-engineer.md +31 -0
  258. package/plugins/just-vibe/references/profiles/supply-chain-security-engineer.md +31 -0
  259. package/plugins/just-vibe/references/profiles/systems-engineer.md +31 -0
  260. package/plugins/just-vibe/references/profiles/tech-lead.md +31 -0
  261. package/plugins/just-vibe/references/profiles/technical-writer.md +31 -0
  262. package/plugins/just-vibe/references/profiles/test-infrastructure-engineer.md +31 -0
  263. package/plugins/just-vibe/references/profiles/ui-engineer.md +31 -0
  264. package/plugins/just-vibe/references/profiles/ux-engineer.md +31 -0
  265. package/plugins/just-vibe/references/profiles/web-performance-engineer.md +31 -0
  266. package/plugins/just-vibe/references/profiles/xr-engineer.md +31 -0
  267. package/plugins/just-vibe/references/profiles.md +59 -0
  268. package/plugins/just-vibe/references/runtime.md +70 -0
  269. package/plugins/just-vibe/references/scenarios/auth.md +31 -0
  270. package/plugins/just-vibe/references/scenarios/combobox.md +9 -0
  271. package/plugins/just-vibe/references/scenarios/date-picker.md +9 -0
  272. package/plugins/just-vibe/references/scenarios/delivery-evidence.md +21 -0
  273. package/plugins/just-vibe/references/scenarios/dialog.md +9 -0
  274. package/plugins/just-vibe/references/scenarios/training.md +21 -0
  275. package/plugins/just-vibe/references/teach-test.md +37 -0
  276. package/plugins/just-vibe/references/teaching.md +34 -0
  277. package/plugins/just-vibe/references/validation.md +11 -0
  278. package/plugins/just-vibe/scripts/discover-capabilities.mjs +3 -0
  279. package/plugins/just-vibe/scripts/hooks.mjs +14 -0
  280. package/plugins/just-vibe/scripts/inspect-project.mjs +3 -0
  281. package/plugins/just-vibe/scripts/installer.mjs +280 -0
  282. package/plugins/just-vibe/scripts/lib/automation.mjs +142 -0
  283. package/plugins/just-vibe/scripts/lib/bundle.mjs +100 -0
  284. package/plugins/just-vibe/scripts/lib/catalog.mjs +135 -0
  285. package/plugins/just-vibe/scripts/lib/command.mjs +26 -0
  286. package/plugins/just-vibe/scripts/lib/continuity.mjs +77 -0
  287. package/plugins/just-vibe/scripts/lib/discovery.mjs +84 -0
  288. package/plugins/just-vibe/scripts/lib/entrypoint.mjs +12 -0
  289. package/plugins/just-vibe/scripts/lib/evidence.mjs +136 -0
  290. package/plugins/just-vibe/scripts/lib/process.mjs +44 -0
  291. package/plugins/just-vibe/scripts/lib/profiles.mjs +83 -0
  292. package/plugins/just-vibe/scripts/lib/project.mjs +60 -0
  293. package/plugins/just-vibe/scripts/lib/routing.mjs +82 -0
  294. package/plugins/just-vibe/scripts/lib/run.mjs +248 -0
  295. package/plugins/just-vibe/scripts/lib/storage.mjs +84 -0
  296. package/plugins/just-vibe/scripts/lib/teaching.mjs +118 -0
  297. package/plugins/just-vibe/scripts/toolkit.mjs +225 -0
  298. package/plugins/just-vibe/skills/a11y/SKILL.md +8 -0
  299. package/plugins/just-vibe/skills/api-breaking/SKILL.md +56 -0
  300. package/plugins/just-vibe/skills/api-client/SKILL.md +56 -0
  301. package/plugins/just-vibe/skills/api-contract-test/SKILL.md +56 -0
  302. package/plugins/just-vibe/skills/api-design/SKILL.md +56 -0
  303. package/plugins/just-vibe/skills/api-errors/SKILL.md +56 -0
  304. package/plugins/just-vibe/skills/api-openapi/SKILL.md +56 -0
  305. package/plugins/just-vibe/skills/api-pagination/SKILL.md +56 -0
  306. package/plugins/just-vibe/skills/api-webhooks/SKILL.md +56 -0
  307. package/plugins/just-vibe/skills/arch-boundaries/SKILL.md +58 -0
  308. package/plugins/just-vibe/skills/arch-contracts/SKILL.md +56 -0
  309. package/plugins/just-vibe/skills/arch-event-flow/SKILL.md +56 -0
  310. package/plugins/just-vibe/skills/arch-feature/SKILL.md +57 -0
  311. package/plugins/just-vibe/skills/arch-map/SKILL.md +56 -0
  312. package/plugins/just-vibe/skills/arch-modernize/SKILL.md +56 -0
  313. package/plugins/just-vibe/skills/arch-scale/SKILL.md +58 -0
  314. package/plugins/just-vibe/skills/arch-tenancy/SKILL.md +56 -0
  315. package/plugins/just-vibe/skills/auto/SKILL.md +67 -0
  316. package/plugins/just-vibe/skills/automate/SKILL.md +56 -0
  317. package/plugins/just-vibe/skills/backend-auth/SKILL.md +63 -0
  318. package/plugins/just-vibe/skills/backend-cache/SKILL.md +59 -0
  319. package/plugins/just-vibe/skills/backend-concurrency/SKILL.md +58 -0
  320. package/plugins/just-vibe/skills/backend-idempotency/SKILL.md +58 -0
  321. package/plugins/just-vibe/skills/backend-jobs/SKILL.md +56 -0
  322. package/plugins/just-vibe/skills/backend-permissions/SKILL.md +56 -0
  323. package/plugins/just-vibe/skills/backend-resilience/SKILL.md +56 -0
  324. package/plugins/just-vibe/skills/backend-service/SKILL.md +56 -0
  325. package/plugins/just-vibe/skills/brainstorm/SKILL.md +56 -0
  326. package/plugins/just-vibe/skills/build/SKILL.md +56 -0
  327. package/plugins/just-vibe/skills/challenge/SKILL.md +56 -0
  328. package/plugins/just-vibe/skills/checkpoint/SKILL.md +59 -0
  329. package/plugins/just-vibe/skills/ci/SKILL.md +56 -0
  330. package/plugins/just-vibe/skills/cleanup/SKILL.md +56 -0
  331. package/plugins/just-vibe/skills/compare/SKILL.md +56 -0
  332. package/plugins/just-vibe/skills/copy/SKILL.md +56 -0
  333. package/plugins/just-vibe/skills/coverage/SKILL.md +56 -0
  334. package/plugins/just-vibe/skills/data-backfill/SKILL.md +56 -0
  335. package/plugins/just-vibe/skills/data-contract/SKILL.md +56 -0
  336. package/plugins/just-vibe/skills/data-incremental/SKILL.md +56 -0
  337. package/plugins/just-vibe/skills/data-lineage/SKILL.md +56 -0
  338. package/plugins/just-vibe/skills/data-pipeline/SKILL.md +56 -0
  339. package/plugins/just-vibe/skills/data-profile/SKILL.md +56 -0
  340. package/plugins/just-vibe/skills/data-quality/SKILL.md +56 -0
  341. package/plugins/just-vibe/skills/data-reconcile/SKILL.md +56 -0
  342. package/plugins/just-vibe/skills/db-access/SKILL.md +56 -0
  343. package/plugins/just-vibe/skills/db-explain/SKILL.md +56 -0
  344. package/plugins/just-vibe/skills/db-index/SKILL.md +56 -0
  345. package/plugins/just-vibe/skills/db-integrity/SKILL.md +57 -0
  346. package/plugins/just-vibe/skills/db-locks/SKILL.md +56 -0
  347. package/plugins/just-vibe/skills/db-migrate/SKILL.md +63 -0
  348. package/plugins/just-vibe/skills/db-query/SKILL.md +56 -0
  349. package/plugins/just-vibe/skills/db-schema/SKILL.md +56 -0
  350. package/plugins/just-vibe/skills/debug/SKILL.md +56 -0
  351. package/plugins/just-vibe/skills/decide/SKILL.md +57 -0
  352. package/plugins/just-vibe/skills/decision-adr/SKILL.md +56 -0
  353. package/plugins/just-vibe/skills/decision-buy-build/SKILL.md +56 -0
  354. package/plugins/just-vibe/skills/decision-matrix/SKILL.md +56 -0
  355. package/plugins/just-vibe/skills/decision-premortem/SKILL.md +56 -0
  356. package/plugins/just-vibe/skills/decision-reversible/SKILL.md +56 -0
  357. package/plugins/just-vibe/skills/decision-revisit/SKILL.md +56 -0
  358. package/plugins/just-vibe/skills/decision-spike/SKILL.md +58 -0
  359. package/plugins/just-vibe/skills/deploy/SKILL.md +56 -0
  360. package/plugins/just-vibe/skills/deps/SKILL.md +56 -0
  361. package/plugins/just-vibe/skills/design/SKILL.md +56 -0
  362. package/plugins/just-vibe/skills/do/SKILL.md +8 -0
  363. package/plugins/just-vibe/skills/docs/SKILL.md +56 -0
  364. package/plugins/just-vibe/skills/doctor/SKILL.md +58 -0
  365. package/plugins/just-vibe/skills/explain/SKILL.md +56 -0
  366. package/plugins/just-vibe/skills/fix/SKILL.md +57 -0
  367. package/plugins/just-vibe/skills/git-bisect/SKILL.md +58 -0
  368. package/plugins/just-vibe/skills/git-commit/SKILL.md +59 -0
  369. package/plugins/just-vibe/skills/git-conflicts/SKILL.md +58 -0
  370. package/plugins/just-vibe/skills/git-diff/SKILL.md +58 -0
  371. package/plugins/just-vibe/skills/git-recover/SKILL.md +58 -0
  372. package/plugins/just-vibe/skills/git-split/SKILL.md +58 -0
  373. package/plugins/just-vibe/skills/git-status/SKILL.md +58 -0
  374. package/plugins/just-vibe/skills/git-worktree/SKILL.md +58 -0
  375. package/plugins/just-vibe/skills/github-actions/SKILL.md +64 -0
  376. package/plugins/just-vibe/skills/github-address-review/SKILL.md +58 -0
  377. package/plugins/just-vibe/skills/github-fix-ci/SKILL.md +63 -0
  378. package/plugins/just-vibe/skills/github-issue/SKILL.md +58 -0
  379. package/plugins/just-vibe/skills/github-pr/SKILL.md +63 -0
  380. package/plugins/just-vibe/skills/github-release/SKILL.md +58 -0
  381. package/plugins/just-vibe/skills/github-review/SKILL.md +58 -0
  382. package/plugins/just-vibe/skills/github-triage/SKILL.md +58 -0
  383. package/plugins/just-vibe/skills/handoff/SKILL.md +62 -0
  384. package/plugins/just-vibe/skills/help/SKILL.md +63 -0
  385. package/plugins/just-vibe/skills/integrate/SKILL.md +56 -0
  386. package/plugins/just-vibe/skills/learn/SKILL.md +56 -0
  387. package/plugins/just-vibe/skills/llm-cost/SKILL.md +56 -0
  388. package/plugins/just-vibe/skills/llm-evals/SKILL.md +58 -0
  389. package/plugins/just-vibe/skills/llm-injection/SKILL.md +56 -0
  390. package/plugins/just-vibe/skills/llm-prompt/SKILL.md +56 -0
  391. package/plugins/just-vibe/skills/llm-rag/SKILL.md +56 -0
  392. package/plugins/just-vibe/skills/llm-retrieval/SKILL.md +56 -0
  393. package/plugins/just-vibe/skills/llm-structured/SKILL.md +56 -0
  394. package/plugins/just-vibe/skills/llm-tools/SKILL.md +58 -0
  395. package/plugins/just-vibe/skills/map/SKILL.md +56 -0
  396. package/plugins/just-vibe/skills/match/SKILL.md +56 -0
  397. package/plugins/just-vibe/skills/migrate/SKILL.md +56 -0
  398. package/plugins/just-vibe/skills/ml-ablation/SKILL.md +56 -0
  399. package/plugins/just-vibe/skills/ml-baseline/SKILL.md +56 -0
  400. package/plugins/just-vibe/skills/ml-batch/SKILL.md +56 -0
  401. package/plugins/just-vibe/skills/ml-calibrate/SKILL.md +56 -0
  402. package/plugins/just-vibe/skills/ml-dataset/SKILL.md +56 -0
  403. package/plugins/just-vibe/skills/ml-dataset-version/SKILL.md +56 -0
  404. package/plugins/just-vibe/skills/ml-debug-training/SKILL.md +56 -0
  405. package/plugins/just-vibe/skills/ml-drift/SKILL.md +56 -0
  406. package/plugins/just-vibe/skills/ml-error-analysis/SKILL.md +56 -0
  407. package/plugins/just-vibe/skills/ml-evaluate/SKILL.md +56 -0
  408. package/plugins/just-vibe/skills/ml-experiments/SKILL.md +56 -0
  409. package/plugins/just-vibe/skills/ml-explain/SKILL.md +56 -0
  410. package/plugins/just-vibe/skills/ml-features/SKILL.md +59 -0
  411. package/plugins/just-vibe/skills/ml-frame/SKILL.md +56 -0
  412. package/plugins/just-vibe/skills/ml-imbalance/SKILL.md +56 -0
  413. package/plugins/just-vibe/skills/ml-inference-perf/SKILL.md +56 -0
  414. package/plugins/just-vibe/skills/ml-labels/SKILL.md +56 -0
  415. package/plugins/just-vibe/skills/ml-leakage/SKILL.md +64 -0
  416. package/plugins/just-vibe/skills/ml-monitor/SKILL.md +56 -0
  417. package/plugins/just-vibe/skills/ml-package/SKILL.md +56 -0
  418. package/plugins/just-vibe/skills/ml-parity/SKILL.md +56 -0
  419. package/plugins/just-vibe/skills/ml-report/SKILL.md +56 -0
  420. package/plugins/just-vibe/skills/ml-reproduce/SKILL.md +56 -0
  421. package/plugins/just-vibe/skills/ml-robustness/SKILL.md +56 -0
  422. package/plugins/just-vibe/skills/ml-rollout/SKILL.md +56 -0
  423. package/plugins/just-vibe/skills/ml-serving/SKILL.md +56 -0
  424. package/plugins/just-vibe/skills/ml-slices/SKILL.md +56 -0
  425. package/plugins/just-vibe/skills/ml-split/SKILL.md +58 -0
  426. package/plugins/just-vibe/skills/ml-threshold/SKILL.md +56 -0
  427. package/plugins/just-vibe/skills/ml-train/SKILL.md +62 -0
  428. package/plugins/just-vibe/skills/ml-training-cost/SKILL.md +56 -0
  429. package/plugins/just-vibe/skills/ml-tune/SKILL.md +56 -0
  430. package/plugins/just-vibe/skills/ops-alerts/SKILL.md +56 -0
  431. package/plugins/just-vibe/skills/ops-container/SKILL.md +56 -0
  432. package/plugins/just-vibe/skills/ops-incident/SKILL.md +56 -0
  433. package/plugins/just-vibe/skills/ops-logs/SKILL.md +56 -0
  434. package/plugins/just-vibe/skills/ops-observability/SKILL.md +56 -0
  435. package/plugins/just-vibe/skills/ops-postmortem/SKILL.md +56 -0
  436. package/plugins/just-vibe/skills/ops-restore/SKILL.md +56 -0
  437. package/plugins/just-vibe/skills/ops-runbook/SKILL.md +56 -0
  438. package/plugins/just-vibe/skills/orient/SKILL.md +58 -0
  439. package/plugins/just-vibe/skills/perf/SKILL.md +56 -0
  440. package/plugins/just-vibe/skills/plan/SKILL.md +56 -0
  441. package/plugins/just-vibe/skills/polish/SKILL.md +56 -0
  442. package/plugins/just-vibe/skills/pr/SKILL.md +58 -0
  443. package/plugins/just-vibe/skills/profile/SKILL.md +66 -0
  444. package/plugins/just-vibe/skills/profiles/SKILL.md +58 -0
  445. package/plugins/just-vibe/skills/react-async/SKILL.md +57 -0
  446. package/plugins/just-vibe/skills/react-audit/SKILL.md +56 -0
  447. package/plugins/just-vibe/skills/react-component/SKILL.md +65 -0
  448. package/plugins/just-vibe/skills/react-effects/SKILL.md +58 -0
  449. package/plugins/just-vibe/skills/react-forms/SKILL.md +56 -0
  450. package/plugins/just-vibe/skills/react-hydration/SKILL.md +57 -0
  451. package/plugins/just-vibe/skills/react-rerenders/SKILL.md +56 -0
  452. package/plugins/just-vibe/skills/react-state/SKILL.md +56 -0
  453. package/plugins/just-vibe/skills/refactor/SKILL.md +56 -0
  454. package/plugins/just-vibe/skills/release/SKILL.md +58 -0
  455. package/plugins/just-vibe/skills/remember/SKILL.md +70 -0
  456. package/plugins/just-vibe/skills/repro/SKILL.md +56 -0
  457. package/plugins/just-vibe/skills/research/SKILL.md +56 -0
  458. package/plugins/just-vibe/skills/responsive/SKILL.md +8 -0
  459. package/plugins/just-vibe/skills/resume/SKILL.md +63 -0
  460. package/plugins/just-vibe/skills/review/SKILL.md +56 -0
  461. package/plugins/just-vibe/skills/scope/SKILL.md +56 -0
  462. package/plugins/just-vibe/skills/security/SKILL.md +56 -0
  463. package/plugins/just-vibe/skills/security-authz/SKILL.md +56 -0
  464. package/plugins/just-vibe/skills/security-config/SKILL.md +56 -0
  465. package/plugins/just-vibe/skills/security-dependencies/SKILL.md +56 -0
  466. package/plugins/just-vibe/skills/security-fix/SKILL.md +56 -0
  467. package/plugins/just-vibe/skills/security-inputs/SKILL.md +56 -0
  468. package/plugins/just-vibe/skills/security-secrets/SKILL.md +56 -0
  469. package/plugins/just-vibe/skills/security-threat-model/SKILL.md +56 -0
  470. package/plugins/just-vibe/skills/security-uploads/SKILL.md +56 -0
  471. package/plugins/just-vibe/skills/setup/SKILL.md +60 -0
  472. package/plugins/just-vibe/skills/skill/SKILL.md +56 -0
  473. package/plugins/just-vibe/skills/spec/SKILL.md +56 -0
  474. package/plugins/just-vibe/skills/tasks/SKILL.md +56 -0
  475. package/plugins/just-vibe/skills/teach/SKILL.md +63 -0
  476. package/plugins/just-vibe/skills/teach-test/SKILL.md +65 -0
  477. package/plugins/just-vibe/skills/test/SKILL.md +56 -0
  478. package/plugins/just-vibe/skills/test-e2e/SKILL.md +56 -0
  479. package/plugins/just-vibe/skills/test-fixtures/SKILL.md +56 -0
  480. package/plugins/just-vibe/skills/test-flaky/SKILL.md +56 -0
  481. package/plugins/just-vibe/skills/test-integration/SKILL.md +56 -0
  482. package/plugins/just-vibe/skills/test-load/SKILL.md +56 -0
  483. package/plugins/just-vibe/skills/test-property/SKILL.md +56 -0
  484. package/plugins/just-vibe/skills/test-regression/SKILL.md +57 -0
  485. package/plugins/just-vibe/skills/test-unit/SKILL.md +56 -0
  486. package/plugins/just-vibe/skills/tools/SKILL.md +64 -0
  487. package/plugins/just-vibe/skills/trace/SKILL.md +56 -0
  488. package/plugins/just-vibe/skills/ui-accessibility/SKILL.md +57 -0
  489. package/plugins/just-vibe/skills/ui-audit/SKILL.md +56 -0
  490. package/plugins/just-vibe/skills/ui-flow/SKILL.md +56 -0
  491. package/plugins/just-vibe/skills/ui-motion/SKILL.md +56 -0
  492. package/plugins/just-vibe/skills/ui-responsive/SKILL.md +56 -0
  493. package/plugins/just-vibe/skills/ui-states/SKILL.md +56 -0
  494. package/plugins/just-vibe/skills/ui-system/SKILL.md +56 -0
  495. package/plugins/just-vibe/skills/ui-visual-diff/SKILL.md +56 -0
  496. package/plugins/just-vibe/skills/vercel-audit/SKILL.md +56 -0
  497. package/plugins/just-vibe/skills/vercel-build-fix/SKILL.md +63 -0
  498. package/plugins/just-vibe/skills/vercel-env/SKILL.md +56 -0
  499. package/plugins/just-vibe/skills/vercel-performance/SKILL.md +56 -0
  500. package/plugins/just-vibe/skills/vercel-preview/SKILL.md +56 -0
  501. package/plugins/just-vibe/skills/vercel-release-check/SKILL.md +57 -0
  502. package/plugins/just-vibe/skills/vercel-routing/SKILL.md +56 -0
  503. package/plugins/just-vibe/skills/vercel-runtime/SKILL.md +61 -0
  504. package/plugins/just-vibe/skills/verify/SKILL.md +59 -0
  505. package/plugins/just-vibe/skills/vite-assets/SKILL.md +57 -0
  506. package/plugins/just-vibe/skills/vite-bundle/SKILL.md +58 -0
  507. package/plugins/just-vibe/skills/vite-chunks/SKILL.md +56 -0
  508. package/plugins/just-vibe/skills/vite-config/SKILL.md +56 -0
  509. package/plugins/just-vibe/skills/vite-env/SKILL.md +56 -0
  510. package/plugins/just-vibe/skills/vite-hmr/SKILL.md +56 -0
  511. package/plugins/just-vibe/skills/vite-setup/SKILL.md +56 -0
  512. package/plugins/just-vibe/skills/vite-upgrade/SKILL.md +56 -0
@@ -0,0 +1,12 @@
1
+ import sqlite3
2
+
3
+ def connect(path):
4
+ conn = sqlite3.connect(path, timeout=5)
5
+ conn.execute('PRAGMA foreign_keys=ON')
6
+ return conn
7
+
8
+ def initialize(conn):
9
+ conn.executescript('''
10
+ CREATE TABLE accounts(tenant TEXT, id TEXT, balance INTEGER NOT NULL CHECK(balance>=0), PRIMARY KEY(tenant,id));
11
+ CREATE TABLE transfers(tenant TEXT, key TEXT, source TEXT, destination TEXT, amount INTEGER, PRIMARY KEY(tenant,key));
12
+ ''')
@@ -0,0 +1,9 @@
1
+ import unittest
2
+ from src.store import connect, initialize
3
+ from src.service import transfer
4
+ class Smoke(unittest.TestCase):
5
+ def test_transfer(self):
6
+ conn = connect(':memory:'); initialize(conn)
7
+ conn.executemany('INSERT INTO accounts VALUES(?,?,?)', [('t','a',100),('t','b',0)]); conn.commit()
8
+ self.assertEqual(transfer(conn,'t','k','a','b',25)['amount'],25)
9
+ self.assertEqual(conn.execute('SELECT balance FROM accounts WHERE id="b"').fetchone()[0],25)
@@ -0,0 +1,5 @@
1
+ # Billing utility
2
+
3
+ Node.js ES modules, no dependencies. Run npm test. total(lines, adjustment) calculates the subtotal minus the adjustment amount. A missing/null adjustment means zero; an explicit zero means zero. Negative amounts are valid surcharges. Do not clamp the result to zero. Preserve formatLabel and currency behavior as found in the user's worktree.
4
+
5
+ This repository intentionally has unrelated staged and unstaged work, including edits to the same source file as the fix. Keep unrelated changes and their staged/unstaged distinction intact. The existing configured Git identity belongs to the fixture user.
@@ -0,0 +1 @@
1
+ Read and implement the README contract: fix total() for missing/null and zero adjustments, add regression tests, and make exactly one local commit containing only the fix and the new tests. Preserve the unrelated pre-existing staged and unstaged work, including same-file edits. Use test/regression.test.mjs for new tests. Do not push, amend or rewrite existing commits. All work is owned by the user: no agent/model credit or Co-authored-by footer in the commit or messages. Report the commit hash and checks. Only src/invoice.mjs and test/regression.test.mjs are implementation targets; normal local Git bookkeeping for the requested commit is permitted.
@@ -0,0 +1 @@
1
+ {"name":"fixture-scoped-billing","private":true,"type":"module","scripts":{"test":"node --test test/*.test.mjs"}}
@@ -0,0 +1,8 @@
1
+ export const formatLabel = (id) => `Invoice ${id}`;
2
+
3
+ export function total(lines, adjustment) {
4
+ const subtotal = lines.reduce((sum, line) => sum + line.price * line.quantity, 0);
5
+ return subtotal - (adjustment.amount || 5);
6
+ }
7
+
8
+ export function currency() { return 'USD'; }
@@ -0,0 +1,4 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import {total} from '../src/invoice.mjs';
4
+ test('ordinary discount',()=>assert.equal(total([{price:20,quantity:2}],{amount:7}),33));
@@ -0,0 +1,12 @@
1
+ # Temporal training dataset
2
+
3
+ Python standard library only. Run `/usr/bin/python3 -m unittest discover -s test`. features_for() builds count and sum features; prepare() splits and normalizes; report.py consumes the output. Preserve all exported function signatures and report compatibility. Input lists and dictionaries must not be mutated.
4
+
5
+ Data contract:
6
+ - Every timestamp is an ISO-8601 timestamp with an explicit UTC offset or Z. Compare actual instants, not strings; reject naive timestamps with ValueError. Examples have unique example_id, entity_id and prediction_at. Events have event_id, entity_id, event_at, available_at, integer revision and numeric value.
7
+ - An event can have corrected versions. At prediction time, for each (entity_id,event_id) choose the maximum (available_at,revision) among versions available at or before prediction time. Only after selecting that version, include it if prediction_at-window_days < event_at <= prediction_at. Default window_days is 7. This can exclude an event whose corrected event_at moved outside the window. Exact duplicate versions are harmless. Event IDs from different entities are unrelated. Count each selected event once.
8
+ - features_for() returns one {example_id,count,sum} per input example, in input order; empty history gives count=0,sum=0. Negative or zero values are valid.
9
+ - prepare(examples, events, train_end, validation_end, as_of, window_days=7) excludes examples after as_of. Split prediction times into train (<train_end), validation ([train_end,validation_end)), and test (>=validation_end), preserving input order within each split. An entity may legitimately appear in multiple temporal splits; no entity holdout or arbitrary time gap is requested.
10
+ - A training row is usable only if its label is 0 or 1 and label_observed_at is present and <=train_end and <=as_of. Exclude immature/missing training labels entirely. Validation/test rows remain even when their labels are unknown; use None unless label_observed_at<=as_of. Keep known zero labels as zero.
11
+ - Fit mean and population standard deviation of the sum feature on usable training rows only. With no training rows, use mean=0,scale=1; with constant sums, use scale=1. Apply this scaler to all retained rows as normalized=(sum-mean)/scale. Return train/validation/test lists of {example_id,count,sum,normalized,label}, and scaler={mean,scale}.
12
+ - No training job, new dependency, file output, dataset upload, model tuning or changes to label definitions are requested.
@@ -0,0 +1 @@
1
+ Repair this temporal dataset builder. An offline score improved after new data arrived even though historical predictions should not change. Implement the README contract and add regression tests for meaningful boundaries. Modify only src/features.py, src/pipeline.py and test/test_regression.py. Do not change report.py, README or smoke tests. Do not commit.
@@ -0,0 +1,9 @@
1
+ from datetime import datetime, timedelta
2
+
3
+ def features_for(examples, events, window_days=7):
4
+ output = []
5
+ for row in examples:
6
+ cutoff = datetime.fromisoformat(row['prediction_at'])
7
+ values = [e['value'] for e in events if e['entity_id'] == row['entity_id'] and datetime.fromisoformat(e['event_at']) <= cutoff]
8
+ output.append({'example_id': row['example_id'], 'count': len(values), 'sum': sum(values)})
9
+ return output
@@ -0,0 +1,10 @@
1
+ from .features import features_for
2
+
3
+ def prepare(examples, events, train_end, validation_end, as_of, window_days=7):
4
+ features = features_for(examples, events, window_days)
5
+ mean = sum(row['sum'] for row in features) / len(features) if features else 0
6
+ result = {'train': [], 'validation': [], 'test': [], 'scaler': {'mean': mean, 'scale': 1}}
7
+ for example, feature in zip(examples, features):
8
+ split = 'train' if example['prediction_at'] < train_end else 'validation' if example['prediction_at'] < validation_end else 'test'
9
+ result[split].append({**feature, 'normalized': feature['sum'] - mean, 'label': example.get('label') or 0})
10
+ return result
@@ -0,0 +1,2 @@
1
+ def summarize(result):
2
+ return {split: {'rows': len(result[split]), 'labeled': sum(r['label'] is not None for r in result[split])} for split in ('train','validation','test')}
@@ -0,0 +1,7 @@
1
+ import unittest
2
+ from src.features import features_for
3
+ class Smoke(unittest.TestCase):
4
+ def test_feature(self):
5
+ examples=[{'example_id':'x','entity_id':'u','prediction_at':'2026-01-08T00:00:00+00:00'}]
6
+ events=[{'event_id':'e','entity_id':'u','event_at':'2026-01-07T00:00:00+00:00','available_at':'2026-01-07T00:00:00+00:00','revision':1,'value':3}]
7
+ self.assertEqual(features_for(examples,events),[{'example_id':'x','count':1,'sum':3}])
@@ -0,0 +1,11 @@
1
+ import assert from 'node:assert/strict';
2
+ import {pathToFileURL} from 'node:url';
3
+ import {join} from 'node:path';
4
+ const {total,formatLabel,currency}=await import(pathToFileURL(join(process.argv[2],'src/invoice.mjs')));
5
+ assert.equal(total([{price:20,quantity:2}]),40);
6
+ assert.equal(total([{price:20,quantity:2}],null),40);
7
+ assert.equal(total([{price:20,quantity:2}],{amount:0}),40);
8
+ assert.equal(total([{price:20,quantity:2}],{amount:-7}),47);
9
+ assert.equal(total([],{amount:7}),-7);
10
+ assert.equal(formatLabel('a'),'Invoice a');
11
+ assert.equal(currency(),'USD');
@@ -0,0 +1,48 @@
1
+ """Run ordinary project tests and classify actual regression failure locations."""
2
+ import json
3
+ import sys
4
+ import traceback
5
+ import unittest
6
+ from pathlib import Path
7
+
8
+ root = Path.cwd().resolve()
9
+ sys.path.insert(0, str(root))
10
+
11
+ class Result(unittest.TestResult):
12
+ def __init__(self):
13
+ super().__init__()
14
+ self.evidence = []
15
+
16
+ def record(self, test, error, assertion):
17
+ frames = traceback.extract_tb(error[2])
18
+ in_test = any(Path(f.filename).resolve().parent == root / 'test'
19
+ and Path(f.filename).name == 'test_regression.py'
20
+ and f.name.startswith('test_') for f in frames)
21
+ in_implementation = any(root / 'src' in Path(f.filename).resolve().parents
22
+ for f in frames)
23
+ setup_error = issubclass(error[0], (ImportError, SyntaxError, NameError))
24
+ evidence=dict(test=str(test), exception=error[0].__name__,
25
+ behavior_failure=in_test and not setup_error
26
+ and (assertion or in_implementation))
27
+ self.evidence.append(evidence)
28
+ if '--stream' in sys.argv:
29
+ print(json.dumps(dict(type='regression-failure', **evidence)), flush=True)
30
+
31
+ def addFailure(self, test, error):
32
+ super().addFailure(test, error)
33
+ self.record(test, error, True)
34
+
35
+ def addError(self, test, error):
36
+ super().addError(test, error)
37
+ self.record(test, error, False)
38
+
39
+ def addSubTest(self, test, subtest, error):
40
+ super().addSubTest(test, subtest, error)
41
+ if error:
42
+ self.record(test, error, issubclass(error[0], test.failureException))
43
+
44
+ result = Result()
45
+ unittest.defaultTestLoader.discover('test').run(result)
46
+ print(json.dumps(dict(tests=result.testsRun, successful=result.wasSuccessful(),
47
+ failures=result.evidence)))
48
+ sys.exit(0 if result.wasSuccessful() and result.testsRun else 1)
@@ -0,0 +1,4 @@
1
+ export function total(priceCents, coupon, now) {
2
+ if (coupon && coupon.expiresAt <= now) return { error: 'EXPIRED_DISCOUNT', totalCents: null };
3
+ return { error: null, totalCents: Math.round(priceCents * (1 - coupon.percent / 100)) };
4
+ }
@@ -0,0 +1,13 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { total } from './checkout.mjs';
4
+
5
+ test('checkout without a coupon charges the listed price', () => {
6
+ assert.deepEqual(total(2000, null, 100), { error: null, totalCents: 2000 });
7
+ });
8
+ test('valid coupon preserves the response contract and discount', () => {
9
+ assert.deepEqual(total(2000, { expiresAt: 200, percent: 10 }, 100), { error: null, totalCents: 1800 });
10
+ });
11
+ test('expired coupon preserves the existing error contract', () => {
12
+ assert.deepEqual(total(2000, { expiresAt: 100, percent: 10 }, 100), { error: 'EXPIRED_DISCOUNT', totalCents: null });
13
+ });
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "just-vibe-checkout-fixture",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": { "test": "node --test checkout.test.mjs" }
6
+ }
@@ -0,0 +1 @@
1
+ User-owned content: preserve this exact text and do not stage it with a checkout fix.
@@ -0,0 +1,5 @@
1
+ row_id,machine,line,window_start,window_end,prediction_time,repair_done_time,failure_within_24h,split
2
+ 1,m1,line-a,2026-01-01T00:00:00Z,2026-01-01T01:00:00Z,2026-01-01T01:00:00Z,2026-01-02T10:00:00Z,1,train
3
+ 2,m1,line-a,2026-01-01T00:30:00Z,2026-01-01T01:30:00Z,2026-01-01T01:30:00Z,2026-01-02T10:00:00Z,1,test
4
+ 3,m2,line-a,2026-01-01T00:00:00Z,2026-01-01T01:00:00Z,2026-01-01T01:00:00Z,,,validation
5
+ 4,m3,line-b,2026-01-05T00:00:00Z,2026-01-05T01:00:00Z,2026-01-05T01:00:00Z,,0,test
@@ -0,0 +1 @@
1
+ Predict machine failure within 24 hours using measurements available when the sensor window ends. Machines share production lines. Labels are not available until the outcome horizon finishes; missing labels mean unknown follow-up, not negative outcomes. The proposed feature list includes repair_done_time. Audit the supplied split and feature availability; do not train models, alter data or create files.
@@ -0,0 +1,45 @@
1
+ # v0.2.0 validation record
2
+
3
+ Executed September 19, 2026 (America/Los_Angeles). These are bounded release checks, not an evaluation of all 212 workflow names or a model-wide success rate.
4
+
5
+ ## Automated and native installation checks
6
+
7
+ - `npm run check`: 64 tests passed on Node.js 26.7.0. Covers installer behavior, all catalog entries, generation, packaging, discovery, run-state rules, quiz adapters, submitted-answer handling, and symlinked script entry points.
8
+ - All 213 skill files and both plugin manifests passed their validators.
9
+ - `npm run test:hosts`: real setup, repeated setup, doctor, update, uninstall, repeated uninstall, and reinstall passed in temporary host configuration directories. Cached v0.2.0 runtimes executed successfully and exposed all 213 skills.
10
+ - Lifecycle hosts: Codex CLI 0.152.0 and Claude Code 2.1.258. Behavioral Codex runs used a temporary 0.155.1 CLI because 0.152.0 rejected the configured model. The global Codex installation was not replaced.
11
+ - The published implementation `b198812affdb9c2811a505605d6198843e2d8c86` passed all four Node.js 22/24 and macOS/Linux jobs in [GitHub CI](https://github.com/Zachshotamartin/just-vibe/actions/runs/35482947879).
12
+ - `npm run test:hosts -- --github` passed both native lifecycles using fresh installations from the private GitHub repository. Each installed cache contained the runnable v0.2.0 toolkit and all 213 skills. A separate npm execution pinned to `github:Zachshotamartin/just-vibe#b198812` returned version `0.2.0` successfully.
13
+
14
+ ## Actual agent trials
15
+
16
+ Fixtures were copied under an ignored temporary directory. Agents received the skill, raw task and scope restrictions without the intended answer. The original fixtures remain unchanged. Default configured models were used: GPT-6 Astra for Codex and Opus 5 for Claude. Models received no permission to use external services, spawn agents, train models, commit or push during fixture trials.
17
+
18
+ | Trial | Observation and assessment |
19
+ |---|---|
20
+ | Codex `fix` | Reproduced a null-coupon checkout crash, changed only `checkout.mjs`, passed all three original assertions plus supplementary checks. Independent rerun passed; test file, manifest and unrelated file hashes matched the originals. Passed this fixture. |
21
+ | Claude `fix` | Reproduced the same crash, independently repaired it and passed the original assertions plus neighboring cases. Used the underlying Node test command when the npm wrapper was unavailable under the test permissions. Independent rerun and preserved-file hashes passed. |
22
+ | Codex `ml-leakage` | Identified future repair timestamps, immature training labels under historical evaluation, cross-split window overlap and missing validation labels. Distinguished metadata overlap from proven shared measurements/events and conditioned group isolation on deployment. Data and task hashes stayed unchanged. Passed the supplied-data rubric. |
23
+ | Claude `ml-leakage` | Three bounded trials found the central leakage and missing-label issues and preserved the inputs. Initial trials overstated event identity and required grouping. Stronger evidence instructions improved these distinctions, but the final trial still asserted label dependence without event evidence and recommended a conservative 25-hour gap as a requirement without enough deployment context. **Partial behavioral result; domain review remains necessary.** |
24
+ | Claude `teach-test` | Real interactive sessions invoked `AskUserQuestion`; a test operator submitted answers in the native terminal dialog. The first trial exposed ambiguous pointer notation and temporary state-file use; guidance was corrected. The revised trial (Claude Code 2.1.278) stated the available pointers explicitly, shuffled three choices, waited for submission, graded an intentionally incorrect selection, explained the self-loop, reported 0/1 with a sample-size caveat, and stopped at one question. No project/state files were written in the revised trial. A too-long option label was rejected and corrected before presentation. Passed this native interaction. |
25
+ | Codex `teach-test` | The tested mode restricted native question tools to clarification/planning uses. The skill reported that limitation and produced no inline quiz, did not change mode, and did not modify files. Passed the unavailable-capability behavior; **a native Codex quiz is not verified or available in this tested mode.** |
26
+
27
+ The test operator's quiz answers are synthetic release inputs, not results about the repository owner's knowledge. Test-mode feedback deferral, free-text review, skips, cancellation, missing submissions and stale question identities are covered by utility tests; they have not each been exercised through every host UI.
28
+
29
+ ## Fixes prompted by these trials
30
+
31
+ - Anchored the coverage-output ignore rule so the `coverage` skill is included in Git installations; added a check for every catalog skill.
32
+ - Accepted explicit `--stdin` for quiz/session JSON, matching how an actual agent attempted the interface.
33
+ - Made script entry-point detection resolve symlinks. A real cached installation through macOS's `/var` path alias previously exited successfully without running the script; the regression test now covers that path class and safe imports from stdin.
34
+ - Clarified pointer-reference assumptions, one-correct-answer checks, and transient quiz state handling.
35
+ - Strengthened ML evidence classification and recorded the residual model behavior instead of declaring all audits verified.
36
+
37
+ ## External integrations and limits
38
+
39
+ - GitHub: authenticated repository reads, Git fetch/push, private npm package retrieval, native marketplace installation/update/removal and all four CI jobs succeeded against `Zachshotamartin/just-vibe`.
40
+ - Vercel: `vercel whoami` returned an invalid-token error. No authenticated project/environment was available for live validation. Refresh login and identify a development project before those checks can run. No Vercel deployment or configuration was changed.
41
+ - Database, browser, deployment, paid compute and other provider-specific scenarios were not exercised against live environments. The installed workflow instructions require task-specific access and evidence; installation does not supply either.
42
+
43
+ Raw model and terminal traces remain local under ignored test locations because they contain machine paths and host-session metadata. This record reports observed outcomes without publishing account/session data. See [evaluation guidance](../README.md) and the original [checkout](../fixtures/checkout/) and [ML](../fixtures/ml/) fixtures to reproduce the tasks.
44
+
45
+ The Codex runs followed the documented [non-interactive CLI interface](https://developers.openai.com/codex/noninteractive/); native dialog support was assessed from the tools actually exposed in each session.
@@ -0,0 +1,23 @@
1
+ # v0.3.0 release preparation
2
+
3
+ Executed September 19, 2026 (America/Los_Angeles). This release changes installation and publication, retaining the workflow behavior and limits in the [v0.2 record](0.2.0.md).
4
+
5
+ ## Local verification
6
+
7
+ - `npm run release:check`: 74 passing tests on macOS/Node 26.7.0, with the Windows-specific command-shim test reserved for Windows CI. Validates all 213 skills, generated artifacts, both plugin manifests, MIT notices, package contents and links, version agreement, and common credential patterns.
8
+ - Real Codex 0.152.0 and Claude Code 2.1.258 plugin lifecycle checks passed in temporary host directories. Each installed an older 0.2.99 fixture, deleted its original package directory, upgraded to 0.3.0, repeated setup, ran doctor/update, uninstalled twice, and reinstalled. Both cached runtimes executed and exposed all 213 skills.
9
+ - npm 11.3.0/12.0.2, pnpm 10.14.0, pnpm 12.5.1 and Yarn 4.18.0 executed the actual archive from fresh temporary projects. Each reported the package version, exposed all 213 tools, and previewed both native installation targets. These package-manager runs do not themselves authenticate or mutate agent hosts; the separate native test does.
10
+ - Native development-checkout (`--local`) and private GitHub (`--github`) lifecycles also passed for both hosts against v0.3.0.
11
+ - The persisted payload still executed after deletion of the extracted package, modeling a cleaned package-manager cache.
12
+ - Native source conflicts, failed preflights, interrupted host steps, unmanaged destination preservation, copy locking, symlink rejection, stale host versions and argument preservation have regression coverage.
13
+ - The plugin-creator and skill-creator validators accepted the plugin and changed setup skill.
14
+
15
+ ## CI and publication boundaries
16
+
17
+ CI enforces release checks on Node 22/24 across Ubuntu, macOS and Windows. Each Node 24 job also tests all four package-manager versions. The Windows command-shim test runs only on Windows. Actual native host lifecycles were tested on macOS; platform CI does not prove native host compatibility on the other operating systems.
18
+
19
+ The manual publication workflow depends on the complete CI matrix, prepares/tests the exact archive, verifies its checksum and matching Git tag, then uses npm trusted publishing. Its default mode is a rehearsal with publication disabled. OIDC authorization must still be configured on npm after the first authenticated publication. Provenance requires a public source repository; the private-repository workflow disables it.
20
+
21
+ No npm account was authenticated during release preparation. An archive, passing CI or a Git push does not establish publication. The first release still needs the maintainer to log into npm and complete publication authentication. The repository remains private; the default bundled installer no longer depends on end-user access to that repository.
22
+
23
+ Vercel and other external services are outside these delivery checks. The earlier Codex quiz-mode and Claude ML-evidence limitations remain documented; no new model-quality claims are made.