@m2-ai/lattice-cli 0.0.0-stage → 0.8.7

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 (743) hide show
  1. package/DISCLOSURE +1 -0
  2. package/README.md +118 -2
  3. package/bundles/expo-mobile/.agents/skills/lattice-feature-handoff/SKILL.md +31 -0
  4. package/bundles/expo-mobile/.agents/skills/lattice-release-manager/SKILL.md +29 -0
  5. package/bundles/expo-mobile/.agents/skills/lattice-verify/SKILL.md +27 -0
  6. package/bundles/expo-mobile/.claude/agents/lattice-feature-agent.md +10 -0
  7. package/bundles/expo-mobile/.claude/agents/lattice-release-manager.md +9 -0
  8. package/bundles/expo-mobile/.claude/hooks/README.md +9 -0
  9. package/bundles/expo-mobile/.claude/hooks/pre-commit-verify.mjs +10 -0
  10. package/bundles/expo-mobile/.claude/hooks/pre-tool-use.mjs +51 -0
  11. package/bundles/expo-mobile/.claude/rules/lattice-core.md +20 -0
  12. package/bundles/expo-mobile/.claude/settings.json +38 -0
  13. package/bundles/expo-mobile/.claude/skills/lattice-verify/SKILL.md +27 -0
  14. package/bundles/expo-mobile/.codex/agents/lattice-feature-agent.toml +9 -0
  15. package/bundles/expo-mobile/.codex/agents/lattice-release-manager.toml +9 -0
  16. package/bundles/expo-mobile/.cursor/mcp.json +34 -0
  17. package/bundles/expo-mobile/.cursor/rules/lattice-core.mdc +35 -0
  18. package/bundles/expo-mobile/.cursor/rules.md +94 -0
  19. package/bundles/expo-mobile/.env.example +19 -0
  20. package/bundles/expo-mobile/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  21. package/bundles/expo-mobile/.github/agents/lattice-feature-agent.agent.md +7 -0
  22. package/bundles/expo-mobile/.github/agents/lattice-release-manager.agent.md +7 -0
  23. package/bundles/expo-mobile/.github/copilot-instructions.md +37 -0
  24. package/bundles/expo-mobile/.github/instructions/lattice-core.instructions.md +11 -0
  25. package/bundles/expo-mobile/.github/workflows/ci.yml +26 -0
  26. package/bundles/expo-mobile/.gitmessage +24 -0
  27. package/bundles/expo-mobile/.lattice/config.json +9 -0
  28. package/bundles/expo-mobile/.lattice/dependency-security.json +91 -0
  29. package/bundles/expo-mobile/.lattice/prompts/01-feature.md +36 -0
  30. package/bundles/expo-mobile/.lattice/prompts/02-bugfix.md +32 -0
  31. package/bundles/expo-mobile/.lattice/prompts/03-refactor.md +30 -0
  32. package/bundles/expo-mobile/.lattice/prompts/04-test.md +31 -0
  33. package/bundles/expo-mobile/.lattice/prompts/05-polish.md +38 -0
  34. package/bundles/expo-mobile/.lattice/prompts/06-security.md +32 -0
  35. package/bundles/expo-mobile/.lattice/release-workflow.json +55 -0
  36. package/bundles/expo-mobile/.lattice/schemas/feature-handoff.schema.json +264 -0
  37. package/bundles/expo-mobile/.lattice/templates/feature-handoff.json +52 -0
  38. package/bundles/expo-mobile/.mcp.json +35 -0
  39. package/bundles/expo-mobile/AGENTS.md +58 -0
  40. package/bundles/expo-mobile/CLAUDE.md +75 -0
  41. package/bundles/expo-mobile/PROJECT_GUIDE.md +299 -0
  42. package/bundles/expo-mobile/README.md +39 -0
  43. package/bundles/expo-mobile/__tests__/home.test.tsx +22 -0
  44. package/bundles/expo-mobile/app/_layout.tsx +20 -0
  45. package/bundles/expo-mobile/app/index.tsx +72 -0
  46. package/bundles/expo-mobile/app.json +33 -0
  47. package/bundles/expo-mobile/components/ui/Button.tsx +75 -0
  48. package/bundles/expo-mobile/components/ui/Input.tsx +50 -0
  49. package/bundles/expo-mobile/components/ui/index.ts +2 -0
  50. package/bundles/expo-mobile/docs/LATTICE_RELEASE_WORKFLOW.md +53 -0
  51. package/bundles/expo-mobile/docs/rules/codex.md +62 -0
  52. package/bundles/expo-mobile/eslint.config.js +7 -0
  53. package/bundles/expo-mobile/lib/supabase/client.ts +22 -0
  54. package/bundles/expo-mobile/lib/supabase/realtime.ts +10 -0
  55. package/bundles/expo-mobile/lib/supabase/storage.ts +6 -0
  56. package/bundles/expo-mobile/package.json +65 -0
  57. package/bundles/expo-mobile/plugins/with-lattice-commons-io.cjs +42 -0
  58. package/bundles/expo-mobile/prompts/01-feature-implementation.md +48 -0
  59. package/bundles/expo-mobile/prompts/02-bug-fix.md +43 -0
  60. package/bundles/expo-mobile/prompts/03-safe-refactor.md +38 -0
  61. package/bundles/expo-mobile/prompts/04-test-first.md +41 -0
  62. package/bundles/expo-mobile/prompts/05-ui-polish.md +44 -0
  63. package/bundles/expo-mobile/prompts/06-security-review.md +39 -0
  64. package/bundles/expo-mobile/prompts/quality.md +143 -0
  65. package/bundles/expo-mobile/supabase/migrations/001_initial_schema.sql +66 -0
  66. package/bundles/expo-mobile/tsconfig.json +21 -0
  67. package/bundles/expo-mobile/types/database.types.ts +76 -0
  68. package/bundles/expo-mobile/vendor/m2ai-braces-3.0.3-m2ai.1.tar +0 -0
  69. package/bundles/expo-supabase/.agents/skills/lattice-feature-handoff/SKILL.md +31 -0
  70. package/bundles/expo-supabase/.agents/skills/lattice-release-manager/SKILL.md +29 -0
  71. package/bundles/expo-supabase/.agents/skills/lattice-verify/SKILL.md +27 -0
  72. package/bundles/expo-supabase/.claude/agents/lattice-feature-agent.md +10 -0
  73. package/bundles/expo-supabase/.claude/agents/lattice-release-manager.md +9 -0
  74. package/bundles/expo-supabase/.claude/hooks/README.md +9 -0
  75. package/bundles/expo-supabase/.claude/hooks/pre-commit-verify.mjs +10 -0
  76. package/bundles/expo-supabase/.claude/hooks/pre-tool-use.mjs +51 -0
  77. package/bundles/expo-supabase/.claude/rules/lattice-core.md +20 -0
  78. package/bundles/expo-supabase/.claude/settings.json +38 -0
  79. package/bundles/expo-supabase/.claude/skills/lattice-verify/SKILL.md +27 -0
  80. package/bundles/expo-supabase/.codex/agents/lattice-feature-agent.toml +9 -0
  81. package/bundles/expo-supabase/.codex/agents/lattice-release-manager.toml +9 -0
  82. package/bundles/expo-supabase/.cursor/mcp.json +34 -0
  83. package/bundles/expo-supabase/.cursor/rules/lattice-core.mdc +35 -0
  84. package/bundles/expo-supabase/.cursor/rules.md +94 -0
  85. package/bundles/expo-supabase/.env.example +12 -0
  86. package/bundles/expo-supabase/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  87. package/bundles/expo-supabase/.github/agents/lattice-feature-agent.agent.md +7 -0
  88. package/bundles/expo-supabase/.github/agents/lattice-release-manager.agent.md +7 -0
  89. package/bundles/expo-supabase/.github/copilot-instructions.md +37 -0
  90. package/bundles/expo-supabase/.github/instructions/lattice-core.instructions.md +11 -0
  91. package/bundles/expo-supabase/.github/workflows/ci.yml +26 -0
  92. package/bundles/expo-supabase/.gitmessage +24 -0
  93. package/bundles/expo-supabase/.lattice/config.json +9 -0
  94. package/bundles/expo-supabase/.lattice/dependency-security.json +91 -0
  95. package/bundles/expo-supabase/.lattice/prompts/01-feature.md +36 -0
  96. package/bundles/expo-supabase/.lattice/prompts/02-bugfix.md +32 -0
  97. package/bundles/expo-supabase/.lattice/prompts/03-refactor.md +30 -0
  98. package/bundles/expo-supabase/.lattice/prompts/04-test.md +31 -0
  99. package/bundles/expo-supabase/.lattice/prompts/05-polish.md +38 -0
  100. package/bundles/expo-supabase/.lattice/prompts/06-security.md +32 -0
  101. package/bundles/expo-supabase/.lattice/release-workflow.json +55 -0
  102. package/bundles/expo-supabase/.lattice/schemas/feature-handoff.schema.json +264 -0
  103. package/bundles/expo-supabase/.lattice/templates/feature-handoff.json +52 -0
  104. package/bundles/expo-supabase/.mcp.json +35 -0
  105. package/bundles/expo-supabase/AGENTS.md +58 -0
  106. package/bundles/expo-supabase/CLAUDE.md +75 -0
  107. package/bundles/expo-supabase/PROJECT_GUIDE.md +201 -0
  108. package/bundles/expo-supabase/README.md +38 -0
  109. package/bundles/expo-supabase/__tests__/home.test.tsx +22 -0
  110. package/bundles/expo-supabase/app/_layout.tsx +14 -0
  111. package/bundles/expo-supabase/app/index.tsx +72 -0
  112. package/bundles/expo-supabase/app.json +33 -0
  113. package/bundles/expo-supabase/components/ui/Button.tsx +75 -0
  114. package/bundles/expo-supabase/components/ui/Input.tsx +50 -0
  115. package/bundles/expo-supabase/components/ui/index.ts +2 -0
  116. package/bundles/expo-supabase/docs/LATTICE_RELEASE_WORKFLOW.md +53 -0
  117. package/bundles/expo-supabase/docs/rules/codex.md +62 -0
  118. package/bundles/expo-supabase/eslint.config.js +7 -0
  119. package/bundles/expo-supabase/lib/supabase/client.ts +22 -0
  120. package/bundles/expo-supabase/lib/supabase/realtime.ts +10 -0
  121. package/bundles/expo-supabase/lib/supabase/storage.ts +6 -0
  122. package/bundles/expo-supabase/package.json +60 -0
  123. package/bundles/expo-supabase/plugins/with-lattice-commons-io.cjs +42 -0
  124. package/bundles/expo-supabase/prompts/01-feature-implementation.md +8 -0
  125. package/bundles/expo-supabase/prompts/02-bug-fix.md +9 -0
  126. package/bundles/expo-supabase/prompts/03-safe-refactor.md +8 -0
  127. package/bundles/expo-supabase/prompts/04-test-first.md +7 -0
  128. package/bundles/expo-supabase/prompts/05-ui-polish.md +7 -0
  129. package/bundles/expo-supabase/prompts/06-security-review.md +7 -0
  130. package/bundles/expo-supabase/prompts/quality.md +143 -0
  131. package/bundles/expo-supabase/supabase/migrations/001_initial_schema.sql +66 -0
  132. package/bundles/expo-supabase/tsconfig.json +21 -0
  133. package/bundles/expo-supabase/types/database.types.ts +76 -0
  134. package/bundles/expo-supabase/vendor/m2ai-braces-3.0.3-m2ai.1.tar +0 -0
  135. package/bundles/nextjs-landing/.agents/skills/lattice-feature-handoff/SKILL.md +31 -0
  136. package/bundles/nextjs-landing/.agents/skills/lattice-release-manager/SKILL.md +29 -0
  137. package/bundles/nextjs-landing/.agents/skills/lattice-verify/SKILL.md +27 -0
  138. package/bundles/nextjs-landing/.claude/agents/lattice-feature-agent.md +10 -0
  139. package/bundles/nextjs-landing/.claude/agents/lattice-release-manager.md +9 -0
  140. package/bundles/nextjs-landing/.claude/hooks/README.md +9 -0
  141. package/bundles/nextjs-landing/.claude/hooks/pre-commit-verify.mjs +10 -0
  142. package/bundles/nextjs-landing/.claude/hooks/pre-tool-use.mjs +51 -0
  143. package/bundles/nextjs-landing/.claude/rules/lattice-core.md +20 -0
  144. package/bundles/nextjs-landing/.claude/settings.json +38 -0
  145. package/bundles/nextjs-landing/.claude/skills/lattice-verify/SKILL.md +27 -0
  146. package/bundles/nextjs-landing/.codex/agents/lattice-feature-agent.toml +9 -0
  147. package/bundles/nextjs-landing/.codex/agents/lattice-release-manager.toml +9 -0
  148. package/bundles/nextjs-landing/.cursor/mcp.json +34 -0
  149. package/bundles/nextjs-landing/.cursor/rules/lattice-core.mdc +35 -0
  150. package/bundles/nextjs-landing/.cursor/rules.md +95 -0
  151. package/bundles/nextjs-landing/.env.example +24 -0
  152. package/bundles/nextjs-landing/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  153. package/bundles/nextjs-landing/.github/agents/lattice-feature-agent.agent.md +7 -0
  154. package/bundles/nextjs-landing/.github/agents/lattice-release-manager.agent.md +7 -0
  155. package/bundles/nextjs-landing/.github/copilot-instructions.md +37 -0
  156. package/bundles/nextjs-landing/.github/instructions/lattice-core.instructions.md +11 -0
  157. package/bundles/nextjs-landing/.github/workflows/ci.yml +26 -0
  158. package/bundles/nextjs-landing/.gitmessage +24 -0
  159. package/bundles/nextjs-landing/.lattice/config.json +9 -0
  160. package/bundles/nextjs-landing/.lattice/dependency-security.json +46 -0
  161. package/bundles/nextjs-landing/.lattice/prompts/01-feature.md +36 -0
  162. package/bundles/nextjs-landing/.lattice/prompts/02-bugfix.md +32 -0
  163. package/bundles/nextjs-landing/.lattice/prompts/03-refactor.md +30 -0
  164. package/bundles/nextjs-landing/.lattice/prompts/04-test.md +31 -0
  165. package/bundles/nextjs-landing/.lattice/prompts/05-polish.md +38 -0
  166. package/bundles/nextjs-landing/.lattice/prompts/06-security.md +32 -0
  167. package/bundles/nextjs-landing/.lattice/release-workflow.json +55 -0
  168. package/bundles/nextjs-landing/.lattice/schemas/feature-handoff.schema.json +264 -0
  169. package/bundles/nextjs-landing/.lattice/templates/feature-handoff.json +52 -0
  170. package/bundles/nextjs-landing/.mcp.json +35 -0
  171. package/bundles/nextjs-landing/AGENTS.md +58 -0
  172. package/bundles/nextjs-landing/CLAUDE.md +76 -0
  173. package/bundles/nextjs-landing/PROJECT_GUIDE.md +216 -0
  174. package/bundles/nextjs-landing/README.md +39 -0
  175. package/bundles/nextjs-landing/app/api/example/[id]/route.ts +34 -0
  176. package/bundles/nextjs-landing/app/api/example/route.ts +24 -0
  177. package/bundles/nextjs-landing/app/api/health/route.ts +8 -0
  178. package/bundles/nextjs-landing/app/global-error.tsx +17 -0
  179. package/bundles/nextjs-landing/app/globals.css +55 -0
  180. package/bundles/nextjs-landing/app/layout.tsx +22 -0
  181. package/bundles/nextjs-landing/app/page.tsx +42 -0
  182. package/bundles/nextjs-landing/components/ui/button.tsx +39 -0
  183. package/bundles/nextjs-landing/components/ui/card.tsx +53 -0
  184. package/bundles/nextjs-landing/components/ui/index.ts +4 -0
  185. package/bundles/nextjs-landing/components/ui/input.tsx +23 -0
  186. package/bundles/nextjs-landing/components/ui/spinner.tsx +22 -0
  187. package/bundles/nextjs-landing/docs/LATTICE_RELEASE_WORKFLOW.md +53 -0
  188. package/bundles/nextjs-landing/docs/rules/codex.md +62 -0
  189. package/bundles/nextjs-landing/eslint.config.mjs +16 -0
  190. package/bundles/nextjs-landing/instrumentation-client.ts +30 -0
  191. package/bundles/nextjs-landing/instrumentation.ts +12 -0
  192. package/bundles/nextjs-landing/jest.config.mjs +16 -0
  193. package/bundles/nextjs-landing/jest.setup.js +1 -0
  194. package/bundles/nextjs-landing/lib/utils.ts +6 -0
  195. package/bundles/nextjs-landing/next-env.d.ts +5 -0
  196. package/bundles/nextjs-landing/next.config.ts +15 -0
  197. package/bundles/nextjs-landing/package.json +48 -0
  198. package/bundles/nextjs-landing/postcss.config.mjs +7 -0
  199. package/bundles/nextjs-landing/prompts/01-feature-implementation.md +9 -0
  200. package/bundles/nextjs-landing/prompts/02-bug-fix.md +10 -0
  201. package/bundles/nextjs-landing/prompts/03-safe-refactor.md +8 -0
  202. package/bundles/nextjs-landing/prompts/04-test-first.md +8 -0
  203. package/bundles/nextjs-landing/prompts/05-ui-polish.md +8 -0
  204. package/bundles/nextjs-landing/prompts/06-security-review.md +7 -0
  205. package/bundles/nextjs-landing/prompts/quality.md +269 -0
  206. package/bundles/nextjs-landing/sentry.edge.config.ts +15 -0
  207. package/bundles/nextjs-landing/sentry.server.config.ts +15 -0
  208. package/bundles/nextjs-landing/tsconfig.json +42 -0
  209. package/bundles/nextjs-landing/vendor/m2ai-braces-3.0.3-m2ai.1.tar +0 -0
  210. package/bundles/nextjs-saas/.agents/skills/lattice-feature-handoff/SKILL.md +31 -0
  211. package/bundles/nextjs-saas/.agents/skills/lattice-release-manager/SKILL.md +29 -0
  212. package/bundles/nextjs-saas/.agents/skills/lattice-verify/SKILL.md +27 -0
  213. package/bundles/nextjs-saas/.claude/agents/lattice-feature-agent.md +10 -0
  214. package/bundles/nextjs-saas/.claude/agents/lattice-release-manager.md +9 -0
  215. package/bundles/nextjs-saas/.claude/hooks/README.md +9 -0
  216. package/bundles/nextjs-saas/.claude/hooks/pre-commit-verify.mjs +10 -0
  217. package/bundles/nextjs-saas/.claude/hooks/pre-tool-use.mjs +51 -0
  218. package/bundles/nextjs-saas/.claude/rules/lattice-core.md +20 -0
  219. package/bundles/nextjs-saas/.claude/settings.json +38 -0
  220. package/bundles/nextjs-saas/.claude/skills/lattice-verify/SKILL.md +27 -0
  221. package/bundles/nextjs-saas/.codex/agents/lattice-feature-agent.toml +9 -0
  222. package/bundles/nextjs-saas/.codex/agents/lattice-release-manager.toml +9 -0
  223. package/bundles/nextjs-saas/.cursor/mcp.json +34 -0
  224. package/bundles/nextjs-saas/.cursor/rules/lattice-core.mdc +35 -0
  225. package/bundles/nextjs-saas/.cursor/rules.md +95 -0
  226. package/bundles/nextjs-saas/.env.example +48 -0
  227. package/bundles/nextjs-saas/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  228. package/bundles/nextjs-saas/.github/agents/lattice-feature-agent.agent.md +7 -0
  229. package/bundles/nextjs-saas/.github/agents/lattice-release-manager.agent.md +7 -0
  230. package/bundles/nextjs-saas/.github/copilot-instructions.md +37 -0
  231. package/bundles/nextjs-saas/.github/instructions/lattice-core.instructions.md +11 -0
  232. package/bundles/nextjs-saas/.github/workflows/ci.yml +26 -0
  233. package/bundles/nextjs-saas/.gitmessage +24 -0
  234. package/bundles/nextjs-saas/.lattice/config.json +9 -0
  235. package/bundles/nextjs-saas/.lattice/dependency-security.json +46 -0
  236. package/bundles/nextjs-saas/.lattice/prompts/01-feature.md +36 -0
  237. package/bundles/nextjs-saas/.lattice/prompts/02-bugfix.md +32 -0
  238. package/bundles/nextjs-saas/.lattice/prompts/03-refactor.md +30 -0
  239. package/bundles/nextjs-saas/.lattice/prompts/04-test.md +31 -0
  240. package/bundles/nextjs-saas/.lattice/prompts/05-polish.md +38 -0
  241. package/bundles/nextjs-saas/.lattice/prompts/06-security.md +32 -0
  242. package/bundles/nextjs-saas/.lattice/prompts/quality.md +269 -0
  243. package/bundles/nextjs-saas/.lattice/release-workflow.json +55 -0
  244. package/bundles/nextjs-saas/.lattice/schemas/feature-handoff.schema.json +264 -0
  245. package/bundles/nextjs-saas/.lattice/templates/feature-handoff.json +52 -0
  246. package/bundles/nextjs-saas/.mcp.json +35 -0
  247. package/bundles/nextjs-saas/AGENTS.md +58 -0
  248. package/bundles/nextjs-saas/CLAUDE.md +76 -0
  249. package/bundles/nextjs-saas/PROJECT_GUIDE.md +279 -0
  250. package/bundles/nextjs-saas/README.md +42 -0
  251. package/bundles/nextjs-saas/app/(auth)/forgot-password/page.tsx +101 -0
  252. package/bundles/nextjs-saas/app/(auth)/layout.tsx +7 -0
  253. package/bundles/nextjs-saas/app/(auth)/login/page.tsx +108 -0
  254. package/bundles/nextjs-saas/app/(auth)/reset-password/page.tsx +135 -0
  255. package/bundles/nextjs-saas/app/(auth)/signup/page.tsx +144 -0
  256. package/bundles/nextjs-saas/app/(dashboard)/dashboard/page.tsx +80 -0
  257. package/bundles/nextjs-saas/app/(dashboard)/layout.tsx +49 -0
  258. package/bundles/nextjs-saas/app/api/billing/checkout/route.ts +47 -0
  259. package/bundles/nextjs-saas/app/api/billing/portal/route.ts +29 -0
  260. package/bundles/nextjs-saas/app/api/example/[id]/route.ts +93 -0
  261. package/bundles/nextjs-saas/app/api/example/route.ts +61 -0
  262. package/bundles/nextjs-saas/app/api/health/route.ts +8 -0
  263. package/bundles/nextjs-saas/app/api/stripe/webhook/route.ts +57 -0
  264. package/bundles/nextjs-saas/app/api/user/route.ts +49 -0
  265. package/bundles/nextjs-saas/app/auth/callback/route.ts +16 -0
  266. package/bundles/nextjs-saas/app/auth/signout/route.ts +10 -0
  267. package/bundles/nextjs-saas/app/global-error.tsx +17 -0
  268. package/bundles/nextjs-saas/app/globals.css +55 -0
  269. package/bundles/nextjs-saas/app/layout.tsx +22 -0
  270. package/bundles/nextjs-saas/app/page.tsx +84 -0
  271. package/bundles/nextjs-saas/components/ui/button.tsx +39 -0
  272. package/bundles/nextjs-saas/components/ui/card.tsx +53 -0
  273. package/bundles/nextjs-saas/components/ui/index.ts +4 -0
  274. package/bundles/nextjs-saas/components/ui/input.tsx +23 -0
  275. package/bundles/nextjs-saas/components/ui/spinner.tsx +22 -0
  276. package/bundles/nextjs-saas/docs/LATTICE_RELEASE_WORKFLOW.md +53 -0
  277. package/bundles/nextjs-saas/docs/rules/codex.md +62 -0
  278. package/bundles/nextjs-saas/eslint.config.mjs +16 -0
  279. package/bundles/nextjs-saas/instrumentation-client.ts +30 -0
  280. package/bundles/nextjs-saas/instrumentation.ts +12 -0
  281. package/bundles/nextjs-saas/jest.config.mjs +16 -0
  282. package/bundles/nextjs-saas/jest.setup.js +1 -0
  283. package/bundles/nextjs-saas/lib/auth/password-recovery.ts +94 -0
  284. package/bundles/nextjs-saas/lib/stripe.ts +10 -0
  285. package/bundles/nextjs-saas/lib/supabase/admin.ts +14 -0
  286. package/bundles/nextjs-saas/lib/supabase/client.ts +8 -0
  287. package/bundles/nextjs-saas/lib/supabase/server.ts +27 -0
  288. package/bundles/nextjs-saas/lib/utils.ts +6 -0
  289. package/bundles/nextjs-saas/next-env.d.ts +5 -0
  290. package/bundles/nextjs-saas/next.config.ts +15 -0
  291. package/bundles/nextjs-saas/package.json +50 -0
  292. package/bundles/nextjs-saas/postcss.config.mjs +7 -0
  293. package/bundles/nextjs-saas/prompts/01-feature-implementation.md +92 -0
  294. package/bundles/nextjs-saas/prompts/02-bug-fix.md +78 -0
  295. package/bundles/nextjs-saas/prompts/03-safe-refactor.md +82 -0
  296. package/bundles/nextjs-saas/prompts/04-test-first.md +80 -0
  297. package/bundles/nextjs-saas/prompts/05-ui-polish.md +82 -0
  298. package/bundles/nextjs-saas/prompts/06-security-review.md +74 -0
  299. package/bundles/nextjs-saas/proxy.ts +61 -0
  300. package/bundles/nextjs-saas/sentry.edge.config.ts +15 -0
  301. package/bundles/nextjs-saas/sentry.server.config.ts +15 -0
  302. package/bundles/nextjs-saas/supabase/migrations/001_initial_schema.sql +66 -0
  303. package/bundles/nextjs-saas/supabase/migrations/002_billing.sql +17 -0
  304. package/bundles/nextjs-saas/tsconfig.json +42 -0
  305. package/bundles/nextjs-saas/types/database.types.ts +76 -0
  306. package/bundles/nextjs-saas/vendor/m2ai-braces-3.0.3-m2ai.1.tar +0 -0
  307. package/bundles/nextjs-trpc/.agents/skills/lattice-feature-handoff/SKILL.md +31 -0
  308. package/bundles/nextjs-trpc/.agents/skills/lattice-release-manager/SKILL.md +29 -0
  309. package/bundles/nextjs-trpc/.agents/skills/lattice-verify/SKILL.md +27 -0
  310. package/bundles/nextjs-trpc/.claude/agents/lattice-feature-agent.md +10 -0
  311. package/bundles/nextjs-trpc/.claude/agents/lattice-release-manager.md +9 -0
  312. package/bundles/nextjs-trpc/.claude/hooks/README.md +9 -0
  313. package/bundles/nextjs-trpc/.claude/hooks/pre-commit-verify.mjs +10 -0
  314. package/bundles/nextjs-trpc/.claude/hooks/pre-tool-use.mjs +51 -0
  315. package/bundles/nextjs-trpc/.claude/rules/lattice-core.md +20 -0
  316. package/bundles/nextjs-trpc/.claude/settings.json +38 -0
  317. package/bundles/nextjs-trpc/.claude/skills/lattice-verify/SKILL.md +27 -0
  318. package/bundles/nextjs-trpc/.codex/agents/lattice-feature-agent.toml +9 -0
  319. package/bundles/nextjs-trpc/.codex/agents/lattice-release-manager.toml +9 -0
  320. package/bundles/nextjs-trpc/.cursor/mcp.json +34 -0
  321. package/bundles/nextjs-trpc/.cursor/rules/lattice-core.mdc +35 -0
  322. package/bundles/nextjs-trpc/.cursor/rules.md +95 -0
  323. package/bundles/nextjs-trpc/.env.example +21 -0
  324. package/bundles/nextjs-trpc/.github/PULL_REQUEST_TEMPLATE.md +42 -0
  325. package/bundles/nextjs-trpc/.github/agents/lattice-feature-agent.agent.md +7 -0
  326. package/bundles/nextjs-trpc/.github/agents/lattice-release-manager.agent.md +7 -0
  327. package/bundles/nextjs-trpc/.github/copilot-instructions.md +37 -0
  328. package/bundles/nextjs-trpc/.github/instructions/lattice-core.instructions.md +11 -0
  329. package/bundles/nextjs-trpc/.github/workflows/ci.yml +26 -0
  330. package/bundles/nextjs-trpc/.gitmessage +24 -0
  331. package/bundles/nextjs-trpc/.lattice/config.json +9 -0
  332. package/bundles/nextjs-trpc/.lattice/dependency-security.json +46 -0
  333. package/bundles/nextjs-trpc/.lattice/prompts/01-feature.md +36 -0
  334. package/bundles/nextjs-trpc/.lattice/prompts/02-bugfix.md +32 -0
  335. package/bundles/nextjs-trpc/.lattice/prompts/03-refactor.md +30 -0
  336. package/bundles/nextjs-trpc/.lattice/prompts/04-test.md +31 -0
  337. package/bundles/nextjs-trpc/.lattice/prompts/05-polish.md +38 -0
  338. package/bundles/nextjs-trpc/.lattice/prompts/06-security.md +32 -0
  339. package/bundles/nextjs-trpc/.lattice/release-workflow.json +55 -0
  340. package/bundles/nextjs-trpc/.lattice/schemas/feature-handoff.schema.json +264 -0
  341. package/bundles/nextjs-trpc/.lattice/templates/feature-handoff.json +52 -0
  342. package/bundles/nextjs-trpc/.mcp.json +35 -0
  343. package/bundles/nextjs-trpc/AGENTS.md +58 -0
  344. package/bundles/nextjs-trpc/CLAUDE.md +76 -0
  345. package/bundles/nextjs-trpc/PROJECT_GUIDE.md +187 -0
  346. package/bundles/nextjs-trpc/README.md +49 -0
  347. package/bundles/nextjs-trpc/app/api/trpc/[trpc]/route.ts +12 -0
  348. package/bundles/nextjs-trpc/app/global-error.tsx +17 -0
  349. package/bundles/nextjs-trpc/app/globals.css +55 -0
  350. package/bundles/nextjs-trpc/app/layout.tsx +19 -0
  351. package/bundles/nextjs-trpc/app/page.tsx +16 -0
  352. package/bundles/nextjs-trpc/app/providers.tsx +24 -0
  353. package/bundles/nextjs-trpc/components/ui/button.tsx +39 -0
  354. package/bundles/nextjs-trpc/components/ui/card.tsx +53 -0
  355. package/bundles/nextjs-trpc/components/ui/index.ts +4 -0
  356. package/bundles/nextjs-trpc/components/ui/input.tsx +23 -0
  357. package/bundles/nextjs-trpc/components/ui/spinner.tsx +22 -0
  358. package/bundles/nextjs-trpc/components/user-list.tsx +17 -0
  359. package/bundles/nextjs-trpc/docs/LATTICE_RELEASE_WORKFLOW.md +53 -0
  360. package/bundles/nextjs-trpc/docs/rules/codex.md +62 -0
  361. package/bundles/nextjs-trpc/eslint.config.mjs +16 -0
  362. package/bundles/nextjs-trpc/instrumentation-client.ts +20 -0
  363. package/bundles/nextjs-trpc/instrumentation.ts +12 -0
  364. package/bundles/nextjs-trpc/jest.config.mjs +16 -0
  365. package/bundles/nextjs-trpc/jest.setup.js +1 -0
  366. package/bundles/nextjs-trpc/lib/db.ts +17 -0
  367. package/bundles/nextjs-trpc/lib/trpc/react.tsx +7 -0
  368. package/bundles/nextjs-trpc/lib/utils.ts +6 -0
  369. package/bundles/nextjs-trpc/next-env.d.ts +5 -0
  370. package/bundles/nextjs-trpc/next.config.ts +15 -0
  371. package/bundles/nextjs-trpc/package.json +62 -0
  372. package/bundles/nextjs-trpc/postcss.config.mjs +7 -0
  373. package/bundles/nextjs-trpc/prisma/schema.prisma +41 -0
  374. package/bundles/nextjs-trpc/prisma.config.ts +10 -0
  375. package/bundles/nextjs-trpc/prompts/01-feature-implementation.md +9 -0
  376. package/bundles/nextjs-trpc/prompts/02-bug-fix.md +9 -0
  377. package/bundles/nextjs-trpc/prompts/03-safe-refactor.md +8 -0
  378. package/bundles/nextjs-trpc/prompts/04-test-first.md +8 -0
  379. package/bundles/nextjs-trpc/prompts/05-ui-polish.md +7 -0
  380. package/bundles/nextjs-trpc/prompts/06-security-review.md +7 -0
  381. package/bundles/nextjs-trpc/prompts/quality.md +269 -0
  382. package/bundles/nextjs-trpc/sentry.edge.config.ts +15 -0
  383. package/bundles/nextjs-trpc/sentry.server.config.ts +15 -0
  384. package/bundles/nextjs-trpc/server/routers/_app.test.ts +60 -0
  385. package/bundles/nextjs-trpc/server/routers/_app.ts +25 -0
  386. package/bundles/nextjs-trpc/server/trpc.ts +12 -0
  387. package/bundles/nextjs-trpc/tsconfig.json +42 -0
  388. package/bundles/nextjs-trpc/vendor/m2ai-braces-3.0.3-m2ai.1.tar +0 -0
  389. package/dist/agent-install-session.d.ts +17 -0
  390. package/dist/agent-install-session.d.ts.map +1 -0
  391. package/dist/agent-install-session.js +106 -0
  392. package/dist/agent-install-session.js.map +1 -0
  393. package/dist/agent-install-session.test.d.ts +2 -0
  394. package/dist/agent-install-session.test.d.ts.map +1 -0
  395. package/dist/agent-install-session.test.js +62 -0
  396. package/dist/agent-install-session.test.js.map +1 -0
  397. package/dist/agent-install.d.ts +41 -0
  398. package/dist/agent-install.d.ts.map +1 -0
  399. package/dist/agent-install.js +42 -0
  400. package/dist/agent-install.js.map +1 -0
  401. package/dist/agent-install.test.d.ts +2 -0
  402. package/dist/agent-install.test.d.ts.map +1 -0
  403. package/dist/agent-install.test.js +58 -0
  404. package/dist/agent-install.test.js.map +1 -0
  405. package/dist/apply-merge.test.d.ts +2 -0
  406. package/dist/apply-merge.test.d.ts.map +1 -0
  407. package/dist/apply-merge.test.js +123 -0
  408. package/dist/apply-merge.test.js.map +1 -0
  409. package/dist/bundle-download.d.ts +23 -0
  410. package/dist/bundle-download.d.ts.map +1 -0
  411. package/dist/bundle-download.js +180 -0
  412. package/dist/bundle-download.js.map +1 -0
  413. package/dist/bundle-download.test.d.ts +2 -0
  414. package/dist/bundle-download.test.d.ts.map +1 -0
  415. package/dist/bundle-download.test.js +200 -0
  416. package/dist/bundle-download.test.js.map +1 -0
  417. package/dist/bundle-rollback.test.d.ts +2 -0
  418. package/dist/bundle-rollback.test.d.ts.map +1 -0
  419. package/dist/bundle-rollback.test.js +127 -0
  420. package/dist/bundle-rollback.test.js.map +1 -0
  421. package/dist/bundle-scaffold.test.d.ts +2 -0
  422. package/dist/bundle-scaffold.test.d.ts.map +1 -0
  423. package/dist/bundle-scaffold.test.js +105 -0
  424. package/dist/bundle-scaffold.test.js.map +1 -0
  425. package/dist/commands.d.ts +132 -0
  426. package/dist/commands.d.ts.map +1 -0
  427. package/dist/commands.js +2012 -0
  428. package/dist/commands.js.map +1 -0
  429. package/dist/credential-store.d.ts +27 -0
  430. package/dist/credential-store.d.ts.map +1 -0
  431. package/dist/credential-store.js +48 -0
  432. package/dist/credential-store.js.map +1 -0
  433. package/dist/credential-store.test.d.ts +2 -0
  434. package/dist/credential-store.test.d.ts.map +1 -0
  435. package/dist/credential-store.test.js +80 -0
  436. package/dist/credential-store.test.js.map +1 -0
  437. package/dist/delivered-project-files.d.ts +31 -0
  438. package/dist/delivered-project-files.d.ts.map +1 -0
  439. package/dist/delivered-project-files.js +158 -0
  440. package/dist/delivered-project-files.js.map +1 -0
  441. package/dist/delivered-project-files.test.d.ts +2 -0
  442. package/dist/delivered-project-files.test.d.ts.map +1 -0
  443. package/dist/delivered-project-files.test.js +107 -0
  444. package/dist/delivered-project-files.test.js.map +1 -0
  445. package/dist/doctor-agents.test.d.ts +2 -0
  446. package/dist/doctor-agents.test.d.ts.map +1 -0
  447. package/dist/doctor-agents.test.js +65 -0
  448. package/dist/doctor-agents.test.js.map +1 -0
  449. package/dist/hermes-install.d.ts +102 -0
  450. package/dist/hermes-install.d.ts.map +1 -0
  451. package/dist/hermes-install.js +641 -0
  452. package/dist/hermes-install.js.map +1 -0
  453. package/dist/hermes-install.test.d.ts +2 -0
  454. package/dist/hermes-install.test.d.ts.map +1 -0
  455. package/dist/hermes-install.test.js +866 -0
  456. package/dist/hermes-install.test.js.map +1 -0
  457. package/dist/index.d.ts +115 -0
  458. package/dist/index.d.ts.map +1 -0
  459. package/dist/index.js +5311 -0
  460. package/dist/index.js.map +1 -0
  461. package/dist/openclaw-install.d.ts +67 -0
  462. package/dist/openclaw-install.d.ts.map +1 -0
  463. package/dist/openclaw-install.js +358 -0
  464. package/dist/openclaw-install.js.map +1 -0
  465. package/dist/openclaw-install.test.d.ts +2 -0
  466. package/dist/openclaw-install.test.d.ts.map +1 -0
  467. package/dist/openclaw-install.test.js +296 -0
  468. package/dist/openclaw-install.test.js.map +1 -0
  469. package/dist/password-recovery-bundle.test.d.ts +2 -0
  470. package/dist/password-recovery-bundle.test.d.ts.map +1 -0
  471. package/dist/password-recovery-bundle.test.js +132 -0
  472. package/dist/password-recovery-bundle.test.js.map +1 -0
  473. package/dist/project-bundle-env.d.ts +19 -0
  474. package/dist/project-bundle-env.d.ts.map +1 -0
  475. package/dist/project-bundle-env.js +111 -0
  476. package/dist/project-bundle-env.js.map +1 -0
  477. package/dist/project-bundle-env.test.d.ts +2 -0
  478. package/dist/project-bundle-env.test.d.ts.map +1 -0
  479. package/dist/project-bundle-env.test.js +93 -0
  480. package/dist/project-bundle-env.test.js.map +1 -0
  481. package/dist/project-path-confinement.test.d.ts +2 -0
  482. package/dist/project-path-confinement.test.d.ts.map +1 -0
  483. package/dist/project-path-confinement.test.js +222 -0
  484. package/dist/project-path-confinement.test.js.map +1 -0
  485. package/dist/security/api.d.ts +18 -0
  486. package/dist/security/api.d.ts.map +1 -0
  487. package/dist/security/api.js +238 -0
  488. package/dist/security/api.js.map +1 -0
  489. package/dist/security/api.test.d.ts +2 -0
  490. package/dist/security/api.test.d.ts.map +1 -0
  491. package/dist/security/api.test.js +220 -0
  492. package/dist/security/api.test.js.map +1 -0
  493. package/dist/security/artifact.d.ts +10 -0
  494. package/dist/security/artifact.d.ts.map +1 -0
  495. package/dist/security/artifact.js +283 -0
  496. package/dist/security/artifact.js.map +1 -0
  497. package/dist/security/artifact.test.d.ts +2 -0
  498. package/dist/security/artifact.test.d.ts.map +1 -0
  499. package/dist/security/artifact.test.js +229 -0
  500. package/dist/security/artifact.test.js.map +1 -0
  501. package/dist/security/commands.d.ts +42 -0
  502. package/dist/security/commands.d.ts.map +1 -0
  503. package/dist/security/commands.js +825 -0
  504. package/dist/security/commands.js.map +1 -0
  505. package/dist/security/commands.test.d.ts +2 -0
  506. package/dist/security/commands.test.d.ts.map +1 -0
  507. package/dist/security/commands.test.js +1051 -0
  508. package/dist/security/commands.test.js.map +1 -0
  509. package/dist/security/connection.d.ts +19 -0
  510. package/dist/security/connection.d.ts.map +1 -0
  511. package/dist/security/connection.js +145 -0
  512. package/dist/security/connection.js.map +1 -0
  513. package/dist/security/connection.test.d.ts +2 -0
  514. package/dist/security/connection.test.d.ts.map +1 -0
  515. package/dist/security/connection.test.js +62 -0
  516. package/dist/security/connection.test.js.map +1 -0
  517. package/dist/security/index-routing.test.d.ts +2 -0
  518. package/dist/security/index-routing.test.d.ts.map +1 -0
  519. package/dist/security/index-routing.test.js +169 -0
  520. package/dist/security/index-routing.test.js.map +1 -0
  521. package/dist/security/journal.d.ts +26 -0
  522. package/dist/security/journal.d.ts.map +1 -0
  523. package/dist/security/journal.js +441 -0
  524. package/dist/security/journal.js.map +1 -0
  525. package/dist/security/journal.test.d.ts +2 -0
  526. package/dist/security/journal.test.d.ts.map +1 -0
  527. package/dist/security/journal.test.js +226 -0
  528. package/dist/security/journal.test.js.map +1 -0
  529. package/dist/security/package-verifier.d.ts +15 -0
  530. package/dist/security/package-verifier.d.ts.map +1 -0
  531. package/dist/security/package-verifier.js +65 -0
  532. package/dist/security/package-verifier.js.map +1 -0
  533. package/dist/security/package-verifier.test.d.ts +2 -0
  534. package/dist/security/package-verifier.test.d.ts.map +1 -0
  535. package/dist/security/package-verifier.test.js +57 -0
  536. package/dist/security/package-verifier.test.js.map +1 -0
  537. package/dist/security/runtime.d.ts +43 -0
  538. package/dist/security/runtime.d.ts.map +1 -0
  539. package/dist/security/runtime.js +81 -0
  540. package/dist/security/runtime.js.map +1 -0
  541. package/dist/security/runtime.test.d.ts +2 -0
  542. package/dist/security/runtime.test.d.ts.map +1 -0
  543. package/dist/security/runtime.test.js +88 -0
  544. package/dist/security/runtime.test.js.map +1 -0
  545. package/dist/security/types.d.ts +169 -0
  546. package/dist/security/types.d.ts.map +1 -0
  547. package/dist/security/types.js +3 -0
  548. package/dist/security/types.js.map +1 -0
  549. package/dist/security-runtime/LICENSE +202 -0
  550. package/dist/security-runtime/NOTICE +16 -0
  551. package/dist/security-runtime/artifact-manifest.json +960 -0
  552. package/dist/security-runtime/bin/vsg.mjs +5 -0
  553. package/dist/security-runtime/lattice-catalog.json +176585 -0
  554. package/dist/security-runtime/lattice-runtime.mjs +90 -0
  555. package/dist/security-runtime/licensing/candidates/apache-source-license-evidence.json +478 -0
  556. package/dist/security-runtime/licensing/candidates/betterleaks-generic-api-key.json +76 -0
  557. package/dist/security-runtime/licensing/candidates/betterleaks-jwt.json +74 -0
  558. package/dist/security-runtime/licensing/candidates/blackberry-additional-source-declaration-evidence.json +276 -0
  559. package/dist/security-runtime/licensing/candidates/blackberry-source-declaration-evidence.json +369 -0
  560. package/dist/security-runtime/licensing/candidates/cado-source-declaration-evidence.json +283 -0
  561. package/dist/security-runtime/licensing/candidates/commercial-rule-candidate.json +280 -0
  562. package/dist/security-runtime/licensing/candidates/commercial-runtime-release.json +389 -0
  563. package/dist/security-runtime/licensing/candidates/data-feed-evidence.json +259 -0
  564. package/dist/security-runtime/licensing/candidates/gitlab-sast-rule-identities.json +178 -0
  565. package/dist/security-runtime/licensing/candidates/gitlab-sast-source-evidence.json +1824 -0
  566. package/dist/security-runtime/licensing/candidates/gitlab-sast-source-notice-bundle.json +45 -0
  567. package/dist/security-runtime/licensing/candidates/malpedia-source-license-evidence.json +41 -0
  568. package/dist/security-runtime/licensing/candidates/rule-license-evidence.json +376 -0
  569. package/dist/security-runtime/licensing/candidates/runner-image-composition.json +1500 -0
  570. package/dist/security-runtime/licensing/candidates/selected-runtime-coverage.json +91 -0
  571. package/dist/security-runtime/licensing/candidates/yara-forge-20260927.json +58502 -0
  572. package/dist/security-runtime/licensing/commercial-components.json +379 -0
  573. package/dist/security-runtime/licensing/notices/betterleaks-1.9.0-MIT.txt +21 -0
  574. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/28a9529c7d0bb4dc51f4bf5c116a3d16ef247a052f7591466768ddf563fd1cf5.txt +428 -0
  575. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/33acf42afdd03163d75fe856cb431e70710e0b5deede3362e6d1c4697cfe1c6a.txt +28 -0
  576. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986.txt +674 -0
  577. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/4fecb8fcaf80fd9a6315bca5225ee43377015b46a0459c2925495be885cab19a.txt +21 -0
  578. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/811515f8723aa4007de2fbb75a364127fdec51cda534b87a7ea8f2fef2f96dd7.txt +24 -0
  579. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/814442c3987a2c0411171ad8ad43118e8c08f85c9c5d1dcdecc9787c7ca8689b.txt +664 -0
  580. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/8a959b2413d0c83ca1b3ce9153076c649abf2e4bbfebbb493fb24c2074a1eb8a.txt +38 -0
  581. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/995182e185856186fbbe49f150409ae026aa4cda7e94f83c6ed737cbb77fa9c7.txt +23 -0
  582. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/9b8e1305e46d1dd4011b6ed933c9f6223e08c9c4625001c5fd75a34fa930f616.txt +202 -0
  583. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/a01f1a28424bfe7f49a23d339a01847cfa9ace3864d5e7295051772a4bae2271.txt +38 -0
  584. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/a5681bf9b05db14d86776930017c647ad9e6e56ff6bbcfdf21e5848288dfaf1b.txt +165 -0
  585. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/a5b8bd9ae96c630bbf229d61c5c5def20274e00be39abfd2fab4d7879ceab462.txt +24 -0
  586. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/ada32b3747ce108d5e8bab7918af94abbd03f2fe2a46304f74c6333bbfd914ed.txt +8 -0
  587. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4.txt +201 -0
  588. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/c738ae413cf561f174e34f6961f8ca458aae2369a73640dda6234c629b98bcc4.txt +2732 -0
  589. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/ce41c9a2c986277f7f9ab146a2195c1888a5d8da062e22d7c9c88666bb7c38cd.txt +17 -0
  590. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/d5f4c36a0528e01cfdd9e4fc60879201d3af49b41c520200643d321fe53da5f9.txt +17 -0
  591. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/e08c368ccd455f85c7fb9e04830e730f26e9dbb5c0f77bc88e09a5b0cb37df5b.txt +38 -0
  592. package/dist/security-runtime/licensing/notices/candidate-sources/sha256/e9efb2f7daf11bb6379c06c16b870dddcecc4a10f8704bb8aad807529c8b3c97.txt +8 -0
  593. package/dist/security-runtime/licensing/notices/gitleaks-generic-origin-782f3104-MIT.txt +21 -0
  594. package/dist/security-runtime/package.json +17 -0
  595. package/dist/security-runtime/playbook/README.md +76 -0
  596. package/dist/security-runtime/playbook/access-control.md +56 -0
  597. package/dist/security-runtime/playbook/ai-features.md +53 -0
  598. package/dist/security-runtime/playbook/desktop-python.md +59 -0
  599. package/dist/security-runtime/playbook/input-handling.md +59 -0
  600. package/dist/security-runtime/playbook/mobile-expo.md +59 -0
  601. package/dist/security-runtime/playbook/payments.md +53 -0
  602. package/dist/security-runtime/playbook/privacy-account-recovery.md +59 -0
  603. package/dist/security-runtime/playbook/secrets-config.md +47 -0
  604. package/dist/security-runtime/playbook/supabase.md +48 -0
  605. package/dist/security-runtime/playbook/supply-chain.md +62 -0
  606. package/dist/security-runtime/playbook/webhooks-integrations.md +52 -0
  607. package/dist/security-runtime/rules/vsg-ai-key-in-client.yaml +41 -0
  608. package/dist/security-runtime/rules/vsg-ai-output-raw-html.yaml +35 -0
  609. package/dist/security-runtime/rules/vsg-angular-sanitizer-bypass.yaml +23 -0
  610. package/dist/security-runtime/rules/vsg-expo-token-in-asyncstorage.yaml +22 -0
  611. package/dist/security-runtime/rules/vsg-flask-public-bind.yaml +32 -0
  612. package/dist/security-runtime/rules/vsg-nextjs-action-write-no-auth.yaml +144 -0
  613. package/dist/security-runtime/rules/vsg-nextjs-inline-action-write-no-auth.yaml +161 -0
  614. package/dist/security-runtime/rules/vsg-nextjs-route-write-no-auth.yaml +193 -0
  615. package/dist/security-runtime/rules/vsg-nosql-where-injection.yaml +36 -0
  616. package/dist/security-runtime/rules/vsg-python-pickle-load.yaml +26 -0
  617. package/dist/security-runtime/rules/vsg-python-requests-verify-false.yaml +34 -0
  618. package/dist/security-runtime/rules/vsg-python-subprocess-shell.yaml +23 -0
  619. package/dist/security-runtime/rules/vsg-stripe-client-price.yaml +51 -0
  620. package/dist/security-runtime/rules/vsg-stripe-webhook-no-signature.yaml +31 -0
  621. package/dist/security-runtime/rules/vsg-stripe-webhook-pages-no-signature.yaml +51 -0
  622. package/dist/security-runtime/rules/vsg-supabase-service-role-in-client.yaml +27 -0
  623. package/dist/security-runtime/rules/vsg-supabase-service-role-public-env.yaml +24 -0
  624. package/dist/security-runtime/rules/vsg-xml-external-entities.yaml +19 -0
  625. package/dist/security-runtime/src/agent/brief.mjs +95 -0
  626. package/dist/security-runtime/src/agent/discover.mjs +108 -0
  627. package/dist/security-runtime/src/agent/exec.mjs +64 -0
  628. package/dist/security-runtime/src/agent/ingest.mjs +213 -0
  629. package/dist/security-runtime/src/agent/report.mjs +94 -0
  630. package/dist/security-runtime/src/agent/schema.mjs +62 -0
  631. package/dist/security-runtime/src/agent/tokenize.mjs +38 -0
  632. package/dist/security-runtime/src/checks/README.md +8 -0
  633. package/dist/security-runtime/src/checks/_lib/gitfiles.mjs +35 -0
  634. package/dist/security-runtime/src/checks/_lib/lockfiles.mjs +135 -0
  635. package/dist/security-runtime/src/checks/_lib/osv.mjs +6 -0
  636. package/dist/security-runtime/src/checks/_lib/secrets.mjs +381 -0
  637. package/dist/security-runtime/src/checks/_lib/targets.mjs +79 -0
  638. package/dist/security-runtime/src/checks/agent-review/index.mjs +52 -0
  639. package/dist/security-runtime/src/checks/agent-surface/config.mjs +223 -0
  640. package/dist/security-runtime/src/checks/agent-surface/index.mjs +113 -0
  641. package/dist/security-runtime/src/checks/agent-surface/instructions.mjs +87 -0
  642. package/dist/security-runtime/src/checks/agent-surface/patterns.mjs +68 -0
  643. package/dist/security-runtime/src/checks/agent-surface/unicode.mjs +88 -0
  644. package/dist/security-runtime/src/checks/code/auth-helpers.mjs +659 -0
  645. package/dist/security-runtime/src/checks/code/index.mjs +617 -0
  646. package/dist/security-runtime/src/checks/code/opengrep-container.mjs +85 -0
  647. package/dist/security-runtime/src/checks/code/opengrep-runner.mjs +86 -0
  648. package/dist/security-runtime/src/checks/code/selected-opengrep-runner.mjs +112 -0
  649. package/dist/security-runtime/src/checks/dep-change/guarddog.mjs +142 -0
  650. package/dist/security-runtime/src/checks/dep-change/index.mjs +316 -0
  651. package/dist/security-runtime/src/checks/dep-change/registries.mjs +199 -0
  652. package/dist/security-runtime/src/checks/deps-vuln/index.mjs +305 -0
  653. package/dist/security-runtime/src/checks/desktop-config/index.mjs +112 -0
  654. package/dist/security-runtime/src/checks/dns-mail/index.mjs +71 -0
  655. package/dist/security-runtime/src/checks/iac/index.mjs +83 -0
  656. package/dist/security-runtime/src/checks/install-posture/index.mjs +123 -0
  657. package/dist/security-runtime/src/checks/licenses/index.mjs +143 -0
  658. package/dist/security-runtime/src/checks/live-basic/index.mjs +77 -0
  659. package/dist/security-runtime/src/checks/live-js-secrets/index.mjs +100 -0
  660. package/dist/security-runtime/src/checks/malware/clamav.mjs +17 -0
  661. package/dist/security-runtime/src/checks/malware/defender.mjs +43 -0
  662. package/dist/security-runtime/src/checks/malware/index.mjs +186 -0
  663. package/dist/security-runtime/src/checks/malware/targets.mjs +147 -0
  664. package/dist/security-runtime/src/checks/malware/yara-runner.mjs +201 -0
  665. package/dist/security-runtime/src/checks/malware/yara.mjs +124 -0
  666. package/dist/security-runtime/src/checks/mobile-config/index.mjs +173 -0
  667. package/dist/security-runtime/src/checks/mobile-config/mobsf.mjs +105 -0
  668. package/dist/security-runtime/src/checks/posture/index.mjs +133 -0
  669. package/dist/security-runtime/src/checks/project-scripts/index.mjs +187 -0
  670. package/dist/security-runtime/src/checks/sbom/index.mjs +98 -0
  671. package/dist/security-runtime/src/checks/secrets-build/index.mjs +63 -0
  672. package/dist/security-runtime/src/checks/secrets-history/index.mjs +112 -0
  673. package/dist/security-runtime/src/checks/secrets-tree/env.mjs +120 -0
  674. package/dist/security-runtime/src/checks/secrets-tree/index.mjs +73 -0
  675. package/dist/security-runtime/src/checks/supabase-static/index.mjs +240 -0
  676. package/dist/security-runtime/src/checks/supabase-static/sql.mjs +557 -0
  677. package/dist/security-runtime/src/checks/workflows/index.mjs +93 -0
  678. package/dist/security-runtime/src/cli/deep.mjs +13 -0
  679. package/dist/security-runtime/src/cli/doctor.mjs +82 -0
  680. package/dist/security-runtime/src/cli/index.mjs +60 -0
  681. package/dist/security-runtime/src/cli/live-common.mjs +27 -0
  682. package/dist/security-runtime/src/cli/parse.mjs +56 -0
  683. package/dist/security-runtime/src/cli/portfolio.mjs +34 -0
  684. package/dist/security-runtime/src/cli/release.mjs +28 -0
  685. package/dist/security-runtime/src/cli/report.mjs +18 -0
  686. package/dist/security-runtime/src/cli/run-common.mjs +54 -0
  687. package/dist/security-runtime/src/cli/scan.mjs +12 -0
  688. package/dist/security-runtime/src/cli/setup.mjs +59 -0
  689. package/dist/security-runtime/src/cli/url.mjs +38 -0
  690. package/dist/security-runtime/src/core/accept.mjs +141 -0
  691. package/dist/security-runtime/src/core/archive.mjs +114 -0
  692. package/dist/security-runtime/src/core/base-ref.mjs +43 -0
  693. package/dist/security-runtime/src/core/checks.mjs +39 -0
  694. package/dist/security-runtime/src/core/detect.mjs +90 -0
  695. package/dist/security-runtime/src/core/errors.mjs +5 -0
  696. package/dist/security-runtime/src/core/fetch.mjs +139 -0
  697. package/dist/security-runtime/src/core/findings.mjs +177 -0
  698. package/dist/security-runtime/src/core/gate.mjs +131 -0
  699. package/dist/security-runtime/src/core/installer.mjs +255 -0
  700. package/dist/security-runtime/src/core/lock.mjs +38 -0
  701. package/dist/security-runtime/src/core/nested.mjs +107 -0
  702. package/dist/security-runtime/src/core/paths.mjs +20 -0
  703. package/dist/security-runtime/src/core/pipeline.mjs +196 -0
  704. package/dist/security-runtime/src/core/registry.mjs +81 -0
  705. package/dist/security-runtime/src/core/report.mjs +128 -0
  706. package/dist/security-runtime/src/core/runner.mjs +86 -0
  707. package/dist/security-runtime/src/core/sarif.mjs +141 -0
  708. package/dist/security-runtime/src/lattice/artifact.mjs +1201 -0
  709. package/dist/security-runtime/src/lattice/execution.mjs +45 -0
  710. package/dist/security-runtime/src/lattice/export.mjs +215 -0
  711. package/dist/security-runtime/src/lattice/provenance.mjs +70 -0
  712. package/dist/security-runtime/src/lattice/runtime.mjs +158 -0
  713. package/dist/security-runtime/src/lattice/selected-runtime.mjs +189 -0
  714. package/dist/security-runtime/src/lattice/source-acquirer.mjs +51 -0
  715. package/dist/security-runtime/src/lattice/source-fetcher.mjs +88 -0
  716. package/dist/security-runtime/src/lattice/transport.mjs +232 -0
  717. package/dist/security-runtime/src/live/analyze.mjs +101 -0
  718. package/dist/security-runtime/src/live/exposure.mjs +79 -0
  719. package/dist/security-runtime/src/live/secrets.mjs +31 -0
  720. package/dist/security-runtime/src/live/session.mjs +98 -0
  721. package/dist/security-runtime/src/live/targets.mjs +81 -0
  722. package/dist/security-runtime/src/portfolio/index.mjs +116 -0
  723. package/dist/security-runtime/tools/registry/betterleaks.json +29 -0
  724. package/dist/security-runtime/tools/registry/guarddog.json +9 -0
  725. package/dist/security-runtime/tools/registry/mobsf.json +10 -0
  726. package/dist/security-runtime/tools/registry/opengrep.json +28 -0
  727. package/dist/security-runtime/tools/registry/osv-scanner.json +14 -0
  728. package/dist/security-runtime/tools/registry/semgrep-rules.json +21 -0
  729. package/dist/security-runtime/tools/registry/trivy.json +30 -0
  730. package/dist/security-runtime/tools/registry/yara-forge-exclusions.json +14 -0
  731. package/dist/security-runtime/tools/registry/yara-forge.json +22 -0
  732. package/dist/security-runtime/tools/registry/yara-runner.json +10 -0
  733. package/dist/security-runtime/tools/registry/yara-x.json +24 -0
  734. package/dist/security-runtime/tools/registry/zizmor.json +30 -0
  735. package/dist/spinner.d.ts +16 -0
  736. package/dist/spinner.d.ts.map +1 -0
  737. package/dist/spinner.js +72 -0
  738. package/dist/spinner.js.map +1 -0
  739. package/dist/verify.test.d.ts +2 -0
  740. package/dist/verify.test.d.ts.map +1 -0
  741. package/dist/verify.test.js +98 -0
  742. package/dist/verify.test.js.map +1 -0
  743. package/package.json +73 -4
@@ -0,0 +1,389 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "status": "owner-approved-commercial-runtime-release",
4
+ "decidedOn": "2026-10-21",
5
+ "owner": "M2 AI, LLC",
6
+ "formationJurisdiction": "Texas",
7
+ "reviewProfile": {
8
+ "existingOpenSourcePolicy": false,
9
+ "designatedLegalReviewer": false,
10
+ "decisionAuthority": "Owner-directed product release decision",
11
+ "legalAdviceClaimed": false
12
+ },
13
+ "approvedSource": {
14
+ "algorithm": "sha256-path-nul-bytes-nul",
15
+ "sha256": "41dd2b641622af8a635c967181b84d4c76df027da7dbb40915eaa8d4b0e83379",
16
+ "files": 182
17
+ },
18
+ "authorization": {
19
+ "source": "Richard directed the release work to resolve the licensing, selected-rule runtime, coverage and hosted-publication gates, while prohibiting spending and checkout activation.",
20
+ "publicDomainAssumptions": false,
21
+ "checkoutApproved": false,
22
+ "paidPublicationApproved": false,
23
+ "commercialRuntimeExecutionApproved": true,
24
+ "protectedHostedValidationApproved": true
25
+ },
26
+ "runtimeBoundary": {
27
+ "rulePayloadDistributionByM2": false,
28
+ "sourceAcquisition": "Customer-side runtime fetches immutable upstream source files or archive bytes directly, verifies every selected hash, executes in disposable Linux volumes and removes those volumes after use.",
29
+ "reportData": "Only sanitized finding identities, coverage, source identity, policy inputs and hash-bound author/license credits may be published.",
30
+ "forbiddenData": [
31
+ "repository contents",
32
+ "source snippets",
33
+ "raw scanner logs",
34
+ "secret values",
35
+ "agent-review narratives",
36
+ "raw selected-rule payloads"
37
+ ],
38
+ "fallback": {
39
+ "restrictedSemgrepRules": false,
40
+ "mixedYaraForgePack": false,
41
+ "callerYaraRules": false
42
+ }
43
+ },
44
+ "selectedSources": {
45
+ "sast": {
46
+ "sourceCommit": "53bf5cf6df3c51b6c02110f5a638b5e6213666cd",
47
+ "ruleFiles": 161,
48
+ "licenses": {
49
+ "MIT": 79,
50
+ "LGPL-3.0": 82
51
+ },
52
+ "execution": "Unmodified files are fetched from the immutable upstream commit; license text, source URL and replacement boundary are preserved."
53
+ },
54
+ "yara": {
55
+ "archiveVersion": "20260927",
56
+ "archiveSha256": "16180800cc2f077638d2e13a33bd68609d0b6eedd1fbfdbae6d5d4a1c53f826f",
57
+ "selectedRules": 4536,
58
+ "heldRules": 574,
59
+ "selectionDigest": "33aa825b1f9c843e7129f26b5b57e85d6121562cdeb577e40aef9360601585f6",
60
+ "execution": "The immutable upstream aggregate is fetched directly by the customer-side runtime; selected blocks are verified and compiled transiently, and held rules are excluded before execution."
61
+ }
62
+ },
63
+ "licenseComplianceDecision": {
64
+ "basis": "Use the exact upstream license declarations bound to the selected source identities and hashes. No unresolved source is relabeled as public domain.",
65
+ "obligations": [
66
+ {
67
+ "license": "MIT",
68
+ "satisfiedBy": "Preserve the exact license text and source credit for the unchanged selected sources."
69
+ },
70
+ {
71
+ "license": "LGPL-3.0",
72
+ "satisfiedBy": "Fetch unchanged sources separately, preserve the license and corresponding-source references, and keep the selected files independently replaceable."
73
+ },
74
+ {
75
+ "license": "BSD-2-Clause",
76
+ "satisfiedBy": "Preserve the source-specific copyright and license text in the hash-bound catalog."
77
+ },
78
+ {
79
+ "license": "Detection Rule License 1.1",
80
+ "satisfiedBy": "Preserve author identity in every match message plus the rule source and exact license reference in the report credit catalog."
81
+ },
82
+ {
83
+ "license": "Apache-2.0",
84
+ "satisfiedBy": "Preserve original-author source identity, the Apache legalcode and the selected rule's author credit."
85
+ },
86
+ {
87
+ "license": "CC-BY-SA-4.0",
88
+ "satisfiedBy": "Use the upstream aggregate without distributing rule payloads; preserve author, source, license and declaration credits for matches. Any future distribution of adapted rule payloads requires a new review."
89
+ }
90
+ ],
91
+ "nonBlockingLimits": [
92
+ "This is M2 AI, LLC's product release decision and is not a claim of legal advice.",
93
+ "Rule payload redistribution, scanner-pin changes, new source selections and checkout activation require a new exact review.",
94
+ "The public website and downloadable reports must keep the source/license credits attached to findings."
95
+ ]
96
+ },
97
+ "evidence": [
98
+ {
99
+ "path": "licensing/candidates/commercial-rule-candidate.json",
100
+ "sha256": "2b305facf86c308dee3131dbc9854abf5291e29546d4fd641bace4bb1b920a9c"
101
+ },
102
+ {
103
+ "path": "licensing/candidates/gitlab-sast-source-notice-bundle.json",
104
+ "sha256": "95494e6442be48932743220de45124fb51dc578eddb8d72174f1038c6a2e4011"
105
+ },
106
+ {
107
+ "path": "licensing/candidates/selected-runtime-coverage.json",
108
+ "sha256": "92daa13869cd402c64da9d2e6e6fd6198ffd58587d4d2080804c821514f46a2d"
109
+ },
110
+ {
111
+ "path": "licensing/candidates/rule-license-evidence.json",
112
+ "sha256": "436466392799976cd3dd7788e3f28700b9c7828ac0586adc2979c57c7f239572"
113
+ },
114
+ {
115
+ "path": "licensing/candidates/runner-image-composition.json",
116
+ "sha256": "2bbb1193ab1e1a92a68f90e0e5fef1759da4030990392c819a4eb05d31fdeddd"
117
+ },
118
+ {
119
+ "path": "licensing/candidates/data-feed-evidence.json",
120
+ "sha256": "014af19a07a02e36063bdb140fcea627d09ef8c7bc90ea12c365bd3736a91042"
121
+ }
122
+ ],
123
+ "coverageDecision": {
124
+ "sastBoundedCoveragePassed": true,
125
+ "yaraSelectedPackExecutionPassed": true,
126
+ "cleanControlsPassed": true,
127
+ "coverageEquivalenceClaimed": false,
128
+ "approvedForCommercialRuntime": true
129
+ },
130
+ "releaseEligibility": {
131
+ "status": "approved",
132
+ "closedGates": [
133
+ "commercial_component_rights_not_cleared",
134
+ "third_party_attribution_catalog_incomplete",
135
+ "replacement_rule_coverage_not_approved",
136
+ "artifact_release_approval_missing"
137
+ ],
138
+ "checkoutEnabled": false,
139
+ "paidPublicationEnabled": false
140
+ },
141
+ "maintenanceReview": {
142
+ "reviewedOn": "2026-10-22",
143
+ "reviewType": "engineering-maintenance-under-existing-owner-fix-and-release-authority",
144
+ "authority": "Richard authorized remaining runtime/artifact repairs and rebuilding under the new account. Root records only reviewed engineering maintenance; no new rights, sources, pins, policy or release activation.",
145
+ "predecessorRecordSha256": "555a3860ba03454e67812d9d41fb3971b5ad04355775afd7958e58cb1782d32c",
146
+ "previousApprovedSource": {
147
+ "algorithm": "sha256-path-nul-bytes-nul",
148
+ "sha256": "0c0361926e3bb85bfee6d4f8cba2f9a1e55a2a16564631fb2427918af25e89ce",
149
+ "files": 200
150
+ },
151
+ "reviewedSourceCommit": "4ae5225c060310ee9960bdb5449ca9032882b653",
152
+ "changedDistributedSource": [
153
+ "src/checks/code/auth-helpers.mjs",
154
+ "src/lattice/artifact.mjs"
155
+ ],
156
+ "removedNonRuntimeTestSpecimens": [
157
+ "rules/vsg-ai-key-in-client.ts",
158
+ "rules/vsg-ai-output-raw-html.tsx",
159
+ "rules/vsg-angular-sanitizer-bypass.ts",
160
+ "rules/vsg-expo-token-in-asyncstorage.ts",
161
+ "rules/vsg-flask-public-bind.py",
162
+ "rules/vsg-nextjs-action-write-no-auth.ts",
163
+ "rules/vsg-nextjs-inline-action-write-no-auth.ts",
164
+ "rules/vsg-nextjs-route-write-no-auth.ts",
165
+ "rules/vsg-nosql-where-injection.js",
166
+ "rules/vsg-python-pickle-load.py",
167
+ "rules/vsg-python-requests-verify-false.py",
168
+ "rules/vsg-python-subprocess-shell.py",
169
+ "rules/vsg-stripe-client-price.ts",
170
+ "rules/vsg-stripe-webhook-no-signature.ts",
171
+ "rules/vsg-stripe-webhook-pages-no-signature.ts",
172
+ "rules/vsg-supabase-service-role-in-client.tsx",
173
+ "rules/vsg-supabase-service-role-public-env.ts",
174
+ "rules/vsg-xml-external-entities.ts"
175
+ ],
176
+ "scope": "Preserve auth-helper behavior with a parser-compatible comparison. Remove 18 unused Opengrep QA source programs only from generated runtime artifacts, reject their reintroduction, and hash the actual packaged rule inventory. Keep all 18 YAML files/19 rule IDs and every maintained QA specimen byte-identical; no detector or selected third-party rule changes.",
177
+ "sourceBinding": {
178
+ "baselineArtifactSourceCommit": "44c3cef0c3380999d54bf1148ceff9660510fe28",
179
+ "baselineArtifactManifestSha256": "cf0d9616e4fe6518775fa53f919c0a916d95282eb02c5840684b2f6a071d2287",
180
+ "requiredSourceFiles": 182,
181
+ "rawGitBlobVerified": 182,
182
+ "unchangedRuntimeYamlFiles": 18,
183
+ "unchangedRuntimeRuleIds": 19,
184
+ "unchangedMaintainedSpecimenFiles": 18,
185
+ "sourceMaterialFileCountChangedFrom": 200,
186
+ "rulesDigestChangesDueToInventory": true
187
+ },
188
+ "verification": {
189
+ "fullWindowsTests": 529,
190
+ "passed": 501,
191
+ "failed": 0,
192
+ "explicitSkips": 28,
193
+ "actualQa013RuleTest": "PASS in full suite, not skipped",
194
+ "realPinnedAuthAndParserTests": 4,
195
+ "realPinnedAuthAndParserPassed": 4,
196
+ "publicSourceDelivery": "pending actual staged/published tarball readback",
197
+ "selfScanReleaseGate": "open; prior 44c3cef BLOCKED report and parser gap retain their identity"
198
+ },
199
+ "rightsDecisionChanged": false,
200
+ "scannerPinsChanged": false,
201
+ "frozenSelectionsChanged": false,
202
+ "policyChanged": false,
203
+ "publicDomainAssumptions": false,
204
+ "checkoutActivationApprovedByThisRecord": false,
205
+ "productionDeploymentApprovedByThisRecord": false,
206
+ "artifactBuilt": false
207
+ },
208
+ "maintenanceReviewHistory": [
209
+ {
210
+ "recordSha256": "8231adf4464d181868176664e2e8986485fd06524909d98d532f96f0e81217ec",
211
+ "review": {
212
+ "reviewedOn": "2026-10-22",
213
+ "reviewType": "engineering-maintenance-under-existing-owner-fix-and-release-authority",
214
+ "authority": "Richard requested that the runner/report defects be fixed, confirmed and simplified, following his authorization to complete and release Lattice Security. This records the orchestrator technical review; it does not claim a new legal opinion or owner review of new third-party rights.",
215
+ "previousApprovalRecordSha256": "0ee3cbc8aad2fe77433c2274bac3b41aadd4ce2c5a56a95dce165aaebd1e4415",
216
+ "previousApprovedSource": {
217
+ "algorithm": "sha256-path-nul-bytes-nul",
218
+ "sha256": "aea6eb60629637a238ffc9d6a2aea97cfb48dce5dd143539ddb9c226cd017fb0",
219
+ "files": 200
220
+ },
221
+ "reviewedSourceCommit": "54ad7daee693ae6a44c09f35d6781fce68c2887f",
222
+ "changedDistributedSource": [
223
+ "src/lattice/artifact.mjs",
224
+ "src/lattice/runtime.mjs"
225
+ ],
226
+ "scope": "Add source-bound metadata for 84 finite VSG-owned built-in identities and preserve submitted YARA aliases in the presentation DTO. Unknown external identities remain refused. The local, unshipped website integration must abort an unpresentable publication without consuming a completed-check unit and disclose limits before purchase; Production behavior for this integration is not yet verified.",
227
+ "verification": {
228
+ "independentRootLatticeAndGateTests": 44,
229
+ "workerFullPassed": 481,
230
+ "workerExplicitSkips": 27,
231
+ "failed": 0
232
+ },
233
+ "rightsDecisionChanged": false,
234
+ "scannerPinsChanged": false,
235
+ "frozenSelectionsChanged": false,
236
+ "policyChanged": false,
237
+ "publicDomainAssumptions": false,
238
+ "checkoutActivationApprovedByThisRecord": false,
239
+ "productionDeploymentApprovedByThisRecord": false
240
+ }
241
+ },
242
+ {
243
+ "recordSha256": "95c78a2ea032af8c600945c675ac5e72d4871b8117a2d206bfdda66b503a004a",
244
+ "review": {
245
+ "reviewedOn": "2026-10-22",
246
+ "reviewType": "engineering-maintenance-under-existing-owner-fix-and-release-authority",
247
+ "authority": "Richard authorized the bounded Lattice Security repair and release work. This records source-bound technical maintenance under that existing authority; it is not a new rights decision, legal opinion, or approval of additional third-party sources.",
248
+ "predecessorRecordSha256": "8231adf4464d181868176664e2e8986485fd06524909d98d532f96f0e81217ec",
249
+ "previousApprovedSource": {
250
+ "algorithm": "sha256-path-nul-bytes-nul",
251
+ "sha256": "a15232e406815300af8c641f65a5f02e0b56518cfcf0e1bba31bbc856ebb462f",
252
+ "files": 200
253
+ },
254
+ "reviewedSourceCommit": "57136ba3058413c0c2e337f7cab17450270e381d",
255
+ "changedDistributedSource": [
256
+ "src/agent/brief.mjs",
257
+ "src/agent/schema.mjs",
258
+ "src/lattice/artifact.mjs"
259
+ ],
260
+ "scope": "Add source-bound static VSG-owned catalog metadata for the exact 11 canonical agent-review area IDs. Bind provenance to the declared schema and actual normalizer, enforce the finite area contract, and remove the brief instruction to use an unsupported ID. Customer-agent narratives remain local and are not exported. Unknown, legacy, raw-template, and dynamic external IDs receive no generic trusted presentation and remain fail-closed. Preserve all prior 84 builtin catalog records and all scanner pins, selections, rights decisions, evidence, policy, report identity, and release flags.",
261
+ "sourceBinding": {
262
+ "baselineArtifactSourceCommit": "35ec6fae34096484d111867ccae1faee9e2f9781",
263
+ "baselineArtifactManifestSha256": "4b2b5cc3c99cd7bd8e47e11debf3d4de89980b8d41d61dd18875466834b471ab",
264
+ "requiredSourceFiles": 200,
265
+ "rawGitBlobVerified": 200,
266
+ "changedRequiredSourceFiles": [
267
+ "src/agent/brief.mjs",
268
+ "src/agent/schema.mjs",
269
+ "src/lattice/artifact.mjs"
270
+ ]
271
+ },
272
+ "verification": {
273
+ "rootIndependentFocusedTestsPassed": 39,
274
+ "workerFullSuiteTotal": 509,
275
+ "workerFullSuitePassed": 482,
276
+ "workerExplicitSkips": 27,
277
+ "workerFullSuiteFailed": 0
278
+ },
279
+ "rightsDecisionChanged": false,
280
+ "scannerPinsChanged": false,
281
+ "frozenSelectionsChanged": false,
282
+ "policyChanged": false,
283
+ "publicDomainAssumptions": false,
284
+ "checkoutActivationApprovedByThisRecord": false,
285
+ "productionDeploymentApprovedByThisRecord": false,
286
+ "artifactBuilt": false
287
+ }
288
+ },
289
+ {
290
+ "recordSha256": "93da623c963c9d1e68634e061343e113a3fedd00d50813ec8cb030dc85080b6f",
291
+ "review": {
292
+ "reviewedOn": "2026-10-22",
293
+ "reviewType": "engineering-maintenance-under-existing-owner-fix-and-release-authority",
294
+ "authority": "Richard authorized the remaining Lattice Security fixes and release work. This records root technical maintenance under that existing authority; it does not approve new rights, sources, scanner pins, policy, or release activation.",
295
+ "predecessorRecordSha256": "95c78a2ea032af8c600945c675ac5e72d4871b8117a2d206bfdda66b503a004a",
296
+ "previousApprovedSource": {
297
+ "algorithm": "sha256-path-nul-bytes-nul",
298
+ "sha256": "c5b275913a51fcdd2bbf9b0b79e3174e2e8569bcde65490cc7b13ab1ffa9c62c",
299
+ "files": 200
300
+ },
301
+ "reviewedSourceCommit": "80bbf77ad4045b53b479994156c142c56016046c",
302
+ "changedDistributedSource": [
303
+ "src/checks/agent-surface/instructions.mjs",
304
+ "src/lattice/artifact.mjs"
305
+ ],
306
+ "scope": "Preserve instruction comment matching while repairing the pinned Opengrep parser gap. Add a strict optional exact stable public npm tarball URL for the original VSG credit, preserving default Git credit and immutable Git provenance. Public archive delivery remains pending until registry readback; no generic catalog mapping or caller execution bypass is introduced.",
307
+ "sourceBinding": {
308
+ "baselineArtifactSourceCommit": "bfcbc785ceb1c17ee3ce0a7707e5e18891979241",
309
+ "baselineArtifactManifestSha256": "5fddd51915c4a4370c571c8f266ab358c55d0609572711ef752720dc1d34d147",
310
+ "requiredSourceFiles": 200,
311
+ "rawGitBlobVerified": 200,
312
+ "changedRequiredSourceFiles": [
313
+ "src/checks/agent-surface/instructions.mjs",
314
+ "src/lattice/artifact.mjs"
315
+ ]
316
+ },
317
+ "verification": {
318
+ "rootFullSuiteTotal": 512,
319
+ "rootFullSuitePassed": 485,
320
+ "rootExplicitSkips": 27,
321
+ "rootFullSuiteFailed": 0,
322
+ "pinnedLinuxParserDiagnostic": "no diagnostics after exact source repair",
323
+ "earlierConcurrentLocalOriginFailure": "retained; root cause unknown; five focused reruns and serial full suite passed",
324
+ "selfScanReleaseGate": "open; earlier blocked audit not relabeled"
325
+ },
326
+ "rightsDecisionChanged": false,
327
+ "scannerPinsChanged": false,
328
+ "frozenSelectionsChanged": false,
329
+ "policyChanged": false,
330
+ "publicDomainAssumptions": false,
331
+ "checkoutActivationApprovedByThisRecord": false,
332
+ "productionDeploymentApprovedByThisRecord": false,
333
+ "artifactBuilt": false
334
+ }
335
+ },
336
+ {
337
+ "recordSha256": "555a3860ba03454e67812d9d41fb3971b5ad04355775afd7958e58cb1782d32c",
338
+ "review": {
339
+ "reviewedOn": "2026-10-22",
340
+ "reviewType": "engineering-maintenance-under-existing-owner-fix-and-release-authority",
341
+ "authority": "Richard authorized remaining Lattice Security repairs and rebuilding under the new npm account. Root reviewed this bounded engineering maintenance; no new rights, scanner sources/pins, selections, policy, checkout or Production activation are granted.",
342
+ "predecessorRecordSha256": "93da623c963c9d1e68634e061343e113a3fedd00d50813ec8cb030dc85080b6f",
343
+ "previousApprovedSource": {
344
+ "algorithm": "sha256-path-nul-bytes-nul",
345
+ "sha256": "53fbb1400d9c921502b00b8622a8478f3d0793dd0e4984d133e64c6a83082b1f",
346
+ "files": 200
347
+ },
348
+ "reviewedSourceCommit": "8e6acd64b1eef1bf62a85b328f7b784a3adcb03a",
349
+ "changedDistributedSource": [
350
+ "src/checks/code/auth-helpers.mjs",
351
+ "src/checks/code/index.mjs",
352
+ "src/lattice/artifact.mjs"
353
+ ],
354
+ "scope": "Repair automatic auth-helper suppression so ignored identity/RPC wrappers remain findings, supported checked results and proved fail-closed guards are recognized, and only resolved Next redirect/React cache bindings carry termination proof. Extend the original-source URL input to the exact new @m2-ai/lattice-cli stable tarball while retaining the old canonical URL and Git provenance.",
355
+ "sourceBinding": {
356
+ "baselineArtifactSourceCommit": "bd9e52384884aa7354751df6493537d90205c270",
357
+ "baselineArtifactManifestSha256": "ea7ce637afba940d6e455537364659203215f61f271f5d124db5396b7bbdd9be",
358
+ "requiredSourceFiles": 200,
359
+ "rawGitBlobVerified": 200,
360
+ "changedRequiredSourceFiles": [
361
+ "src/checks/code/auth-helpers.mjs",
362
+ "src/checks/code/index.mjs",
363
+ "src/lattice/artifact.mjs"
364
+ ]
365
+ },
366
+ "verification": {
367
+ "fullWindowsTests": 526,
368
+ "passed": 499,
369
+ "failed": 0,
370
+ "explicitSkips": 27,
371
+ "realPinnedOpengrepTests": 3,
372
+ "realPinnedOpengrepPassed": 3,
373
+ "independentAuthControls": 17,
374
+ "originalScannerFalsePositiveFailurePreserved": true,
375
+ "publicSourceDelivery": "pending actual staged/published tarball readback",
376
+ "selfScanReleaseGate": "open; prior blocked identities preserved"
377
+ },
378
+ "rightsDecisionChanged": false,
379
+ "scannerPinsChanged": false,
380
+ "frozenSelectionsChanged": false,
381
+ "policyChanged": false,
382
+ "publicDomainAssumptions": false,
383
+ "checkoutActivationApprovedByThisRecord": false,
384
+ "productionDeploymentApprovedByThisRecord": false,
385
+ "artifactBuilt": false
386
+ }
387
+ }
388
+ ]
389
+ }
@@ -0,0 +1,259 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "status": "dated-engineering-evidence-not-commercial-or-legal-clearance",
4
+ "collectedOn": "2026-10-20",
5
+ "sourceCommitAtCollection": "7ea433a3f08d30a0736592ef124b817defd844e8",
6
+ "sourceFiles": [
7
+ {
8
+ "path": "src/checks/dep-change/registries.mjs",
9
+ "sha256": "97392f1f272bab6f529577028e479ae08f91d0781a496cdbbe84a58f66c681a8"
10
+ },
11
+ {
12
+ "path": "src/checks/deps-vuln/index.mjs",
13
+ "sha256": "7411d2d1e07805ec8f931f700763c2af1d6dd140f29bf0dcefe67ebd88432710"
14
+ },
15
+ {
16
+ "path": "src/checks/licenses/index.mjs",
17
+ "sha256": "1e30b7715df064c5d7945ae7fc3f8da18dfb544f0b579d0c5a54c150afef155e"
18
+ },
19
+ {
20
+ "path": "src/checks/posture/index.mjs",
21
+ "sha256": "519123cbe911997a1b5c4b9adc68beb1fe4252a0216f15ffa2cfb4d27de8b0ec"
22
+ },
23
+ {
24
+ "path": "src/checks/sbom/index.mjs",
25
+ "sha256": "df437f21e9851a0e7ffb5709c2dd7f7884e1a08436c977ed6d0a0e2f1a4fd7d3"
26
+ }
27
+ ],
28
+ "providers": [
29
+ {
30
+ "id": "osv",
31
+ "endpoint": "api.osv.dev via pinned OSV-Scanner",
32
+ "codeReferences": [
33
+ "src/checks/deps-vuln/index.mjs",
34
+ "src/checks/sbom/index.mjs"
35
+ ],
36
+ "evidence": [
37
+ {
38
+ "id": "osv-data-sources",
39
+ "url": "https://google.github.io/osv.dev/data/",
40
+ "finalUrl": "https://google.github.io/osv.dev/data/",
41
+ "retrievedAt": "2026-10-21T02:30:46.167384+00:00",
42
+ "contentType": "text/html; charset=utf-8",
43
+ "bytes": 25628,
44
+ "sha256": "721845a558bd9b2cb8a1ae58a4971dc7e9f02f6d9b1e5fd4dc9646cbe40ce05e"
45
+ }
46
+ ],
47
+ "observed": "OSV aggregates multiple upstream vulnerability databases. Its data-source page identifies CC-BY-4.0 for GitHub, PyPI and Go advisory databases; this does not license every upstream record under one blanket license.",
48
+ "remaining": [
49
+ "Map every included advisory to its upstream data source/license, preserve required attribution and modification information in local/cloud/download output.",
50
+ "Do not substitute the OSV-Scanner Apache code license for vulnerability-data rights."
51
+ ]
52
+ },
53
+ {
54
+ "id": "cisa-kev",
55
+ "endpoint": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
56
+ "codeReferences": [
57
+ "src/checks/deps-vuln/index.mjs"
58
+ ],
59
+ "evidence": [
60
+ {
61
+ "id": "cisa-kev-readme",
62
+ "url": "https://raw.githubusercontent.com/cisagov/kev-data/main/README.md",
63
+ "finalUrl": "https://raw.githubusercontent.com/cisagov/kev-data/main/README.md",
64
+ "retrievedAt": "2026-10-21T02:30:46.255491+00:00",
65
+ "contentType": "text/plain; charset=utf-8",
66
+ "bytes": 3318,
67
+ "sha256": "7d18e1fc40185acc90128fcceb18f016e010c8d0cf4125c3311c9381cbafcfe2"
68
+ },
69
+ {
70
+ "id": "cisa-kev-license",
71
+ "url": "https://raw.githubusercontent.com/cisagov/kev-data/main/LICENSE",
72
+ "finalUrl": "https://raw.githubusercontent.com/cisagov/kev-data/main/LICENSE",
73
+ "retrievedAt": "2026-10-21T02:30:46.300090+00:00",
74
+ "contentType": "text/plain; charset=utf-8",
75
+ "bytes": 7469,
76
+ "sha256": "8dfcf2d0cba33bede386eb470daf2ac08caf6540fc2516baab10dd546f90938a"
77
+ },
78
+ {
79
+ "id": "cisa-kev-canonical-license",
80
+ "url": "https://www.cisa.gov/sites/default/files/licenses/kev/license.txt",
81
+ "finalUrl": "https://www.cisa.gov/sites/default/files/licenses/kev/license.txt",
82
+ "retrievedAt": "2026-10-21T02:30:47.024862+00:00",
83
+ "contentType": "text/plain; charset=UTF-8",
84
+ "bytes": 7592,
85
+ "sha256": "b0067899536bce972ba5116151e51e10fac9b1e066a8993e2193a9eb9a1791af"
86
+ }
87
+ ],
88
+ "observed": "The official KEV license identifies CC0-1.0 for database information and separately preserves third-party linked-site terms and CISA/DHS identity restrictions.",
89
+ "remaining": [
90
+ "Retain CISA KEV source and dataset timestamp; do not imply endorsement or treat linked third-party content as CC0."
91
+ ]
92
+ },
93
+ {
94
+ "id": "first-epss",
95
+ "endpoint": "https://api.first.org/data/v1/epss",
96
+ "codeReferences": [
97
+ "src/checks/deps-vuln/index.mjs"
98
+ ],
99
+ "evidence": [
100
+ {
101
+ "id": "first-epss-faq",
102
+ "url": "https://www.first.org/epss/faq",
103
+ "finalUrl": "https://www.first.org/epss/faq",
104
+ "retrievedAt": "2026-10-21T02:30:46.315518+00:00",
105
+ "contentType": "text/html; charset=UTF-8",
106
+ "bytes": 48135,
107
+ "sha256": "c6af04048da89c8fa0ec34f571c0388914692a707c4d11353989ff8872a3dcd4"
108
+ },
109
+ {
110
+ "id": "first-epss-data",
111
+ "url": "https://www.first.org/epss/data.html",
112
+ "finalUrl": "https://www.first.org/epss/data.html",
113
+ "retrievedAt": "2026-10-21T02:30:46.327498+00:00",
114
+ "contentType": "text/html; charset=UTF-8",
115
+ "bytes": 27713,
116
+ "sha256": "014e5c95974576d5200dd1a6a31fe184d299f661f66ea21d54ea1aac3dd37b22"
117
+ },
118
+ {
119
+ "id": "first-services-terms-current",
120
+ "url": "https://www.first.org/about/policies/terms",
121
+ "finalUrl": "https://www.first.org/about/policies/terms",
122
+ "retrievedAt": "2026-10-21T02:30:46.695505+00:00",
123
+ "contentType": "text/html; charset=UTF-8",
124
+ "bytes": 39550,
125
+ "sha256": "bb3bcc8e1d2a3e47d24f5766cfb125faf27924673265c8c99d3c3d62b4fcc12f"
126
+ }
127
+ ],
128
+ "observed": "The EPSS FAQ describes freely published scores and requested product/publication attribution. The data page distinguishes small-batch API lookup from bulk downloads. FIRST services terms contain purpose and notice conditions.",
129
+ "remaining": [
130
+ "Provide FIRST/EPSS attribution and score/model/date provenance where scores are displayed or exported.",
131
+ "Confirm the exact hosted-report use against FIRST services terms; do not infer a blanket open-data license from free access.",
132
+ "Preserve bounded lookup usage; do not use the lookup API to mirror the entire dataset."
133
+ ]
134
+ },
135
+ {
136
+ "id": "npm",
137
+ "endpoint": [
138
+ "https://registry.npmjs.org/",
139
+ "https://api.npmjs.org/downloads/point/last-week/"
140
+ ],
141
+ "codeReferences": [
142
+ "src/checks/dep-change/registries.mjs"
143
+ ],
144
+ "evidence": [
145
+ {
146
+ "id": "npm-open-source-terms",
147
+ "url": "https://docs.npmjs.com/policies/open-source-terms/",
148
+ "finalUrl": "https://docs.npmjs.com/policies/open-source-terms/",
149
+ "retrievedAt": "2026-10-21T02:30:48.130646+00:00",
150
+ "contentType": "text/html; charset=utf-8",
151
+ "bytes": 568197,
152
+ "sha256": "b9feaa589d23a7f18d38453148e30fd56224efff1be3c0ef35f99f5c27df4920"
153
+ }
154
+ ],
155
+ "observed": "npm service terms distinguish service access, publisher-owned content and package-specific license metadata. Publisher metadata is not a rights warranty.",
156
+ "remaining": [
157
+ "Bind used fields and source dates; retain any package-specific license obligations and follow service/rate terms.",
158
+ "Do not apply the npm CLI license to registry package contents or all metadata."
159
+ ]
160
+ },
161
+ {
162
+ "id": "pypi",
163
+ "endpoint": [
164
+ "https://pypi.org/pypi/<name>/json",
165
+ "https://pypi.org/pypi/<name>/<version>/json"
166
+ ],
167
+ "codeReferences": [
168
+ "src/checks/dep-change/registries.mjs"
169
+ ],
170
+ "evidence": [
171
+ {
172
+ "id": "pypi-terms",
173
+ "url": "https://policies.python.org/pypi.org/Terms-of-Service/",
174
+ "finalUrl": "https://policies.python.org/pypi.org/Terms-of-Service/",
175
+ "retrievedAt": "2026-10-21T02:30:48.177674+00:00",
176
+ "contentType": "text/html; charset=utf-8",
177
+ "bytes": 87275,
178
+ "sha256": "07015a42a9f6284ff660d66fdb1c145b218b86e281e952249abfbc900e519a24"
179
+ }
180
+ ],
181
+ "observed": "PyPI terms have an API section covering abuse, access limits and token sharing. The Warehouse software license is separate from uploaded package content.",
182
+ "remaining": [
183
+ "Follow PyPI service/API conditions and package-specific rights; preserve used-field provenance.",
184
+ "Do not infer upload rights from the Warehouse Apache license or the policy text license."
185
+ ]
186
+ },
187
+ {
188
+ "id": "github",
189
+ "endpoint": "https://api.github.com (posture); GitHub advisory records indirectly via OSV",
190
+ "codeReferences": [
191
+ "src/checks/posture/index.mjs",
192
+ "src/checks/deps-vuln/index.mjs"
193
+ ],
194
+ "evidence": [
195
+ {
196
+ "id": "github-api-terms",
197
+ "url": "https://docs.github.com/en/site-policy/github-terms/github-terms-of-service",
198
+ "finalUrl": "https://docs.github.com/en/site-policy/github-terms/github-terms-of-service",
199
+ "retrievedAt": "2026-10-21T02:30:48.330879+00:00",
200
+ "contentType": "text/html; charset=utf-8",
201
+ "bytes": 366804,
202
+ "sha256": "b6812b712397d759ac755f234401b3476bc5013591ba1900d195fc189752cdae"
203
+ },
204
+ {
205
+ "id": "github-advisory-license",
206
+ "url": "https://raw.githubusercontent.com/github/advisory-database/main/LICENSE.md",
207
+ "finalUrl": "https://raw.githubusercontent.com/github/advisory-database/main/LICENSE.md",
208
+ "retrievedAt": "2026-10-21T02:30:48.372978+00:00",
209
+ "contentType": "text/plain; charset=utf-8",
210
+ "bytes": 18656,
211
+ "sha256": "9e5f1b3c610b9c2da5c313bf81d577a7d1acec686bdb0384edefa6df0f90cd94"
212
+ }
213
+ ],
214
+ "observed": "GitHub advisory data carries a CC-BY-4.0 license; API access has separate service terms. Repository posture content and advisory data are distinct.",
215
+ "remaining": [
216
+ "Keep advisory source/license/credit and change notices in output. Follow API limits and preserve token confidentiality.",
217
+ "Do not treat advisory-data licensing as a license for all GitHub repository or API content."
218
+ ]
219
+ },
220
+ {
221
+ "id": "deps-dev",
222
+ "endpoint": "deps.dev through pinned OSV-Scanner license lookup",
223
+ "codeReferences": [
224
+ "src/checks/licenses/index.mjs"
225
+ ],
226
+ "evidence": [
227
+ {
228
+ "id": "deps-dev-readme",
229
+ "url": "https://raw.githubusercontent.com/google/deps.dev/main/README.md",
230
+ "finalUrl": "https://raw.githubusercontent.com/google/deps.dev/main/README.md",
231
+ "retrievedAt": "2026-10-21T02:30:48.383689+00:00",
232
+ "contentType": "text/plain; charset=utf-8",
233
+ "bytes": 5404,
234
+ "sha256": "75750ac0d9888fb9bd5d949fb2d349b97c598d9bdc377c4f276d30fb0bc459b3"
235
+ },
236
+ {
237
+ "id": "google-api-terms",
238
+ "url": "https://developers.google.com/terms",
239
+ "finalUrl": "https://developers.google.com/terms",
240
+ "retrievedAt": "2026-10-21T02:30:48.392962+00:00",
241
+ "contentType": "text/html; charset=utf-8",
242
+ "bytes": 71359,
243
+ "sha256": "a99f5243589b4ea3d9b7c13bed20d981cd91a7f2118e78c36d1b3b46ab89b4ac"
244
+ }
245
+ ],
246
+ "observed": "deps.dev identifies CC-BY-4.0 for its generated data, references original terms for aggregated sources, permits client caching and applies Google API terms.",
247
+ "remaining": [
248
+ "Preserve generated-data attribution and aggregated-source provenance in output.",
249
+ "Verify downstream use against Google API and original data-source terms; API access is not universal content clearance."
250
+ ]
251
+ }
252
+ ],
253
+ "releaseBoundary": [
254
+ "This record captures primary-source terms evidence; it does not implement missing output credits or approve rights.",
255
+ "Full dated snapshots are retained in the task evidence directory; this record binds their URL, byte count and SHA256.",
256
+ "No feed endpoint, runtime, policy, approval, scanner pin or checkout/publication flag was changed.",
257
+ "Qualified review remains necessary for unresolved license interpretation; no company policy or designated reviewer was invented."
258
+ ]
259
+ }