failproofai 0.0.10 → 0.0.11-beta.10

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 (565) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +9 -1
  3. package/.next/standalone/.next/build-manifest.json +10 -10
  4. package/.next/standalone/.next/prerender-manifest.json +3 -32
  5. package/.next/standalone/.next/required-server-files.json +2 -1
  6. package/.next/standalone/.next/routes-manifest.json +51 -3
  7. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +7 -7
  8. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page.js +6 -6
  10. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  15. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  16. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  17. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  18. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +7 -7
  20. package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +2 -6
  21. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  22. package/.next/standalone/.next/server/app/_not-found/page.js +12 -13
  23. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.rsc +16 -16
  27. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  28. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  29. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  30. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  32. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/api/audit/invite/route/app-paths-manifest.json +3 -0
  34. package/.next/standalone/.next/server/app/api/audit/invite/route/server-reference-manifest.json +4 -0
  35. package/.next/standalone/.next/server/app/api/audit/invite/route.js +7 -0
  36. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -0
  37. package/.next/standalone/.next/server/app/api/audit/invite/route_client-reference-manifest.js +3 -0
  38. package/.next/standalone/.next/server/app/api/audit/run/route/app-paths-manifest.json +3 -0
  39. package/.next/standalone/.next/server/app/api/audit/run/route/build-manifest.json +9 -0
  40. package/.next/standalone/.next/server/app/api/audit/run/route/server-reference-manifest.json +4 -0
  41. package/.next/standalone/.next/server/app/api/audit/run/route.js +8 -0
  42. package/.next/standalone/.next/server/app/api/audit/run/route.js.map +5 -0
  43. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -0
  44. package/.next/standalone/.next/server/app/api/audit/run/route_client-reference-manifest.js +3 -0
  45. package/.next/standalone/.next/server/app/api/audit/status/route/app-paths-manifest.json +3 -0
  46. package/.next/standalone/.next/server/app/api/audit/status/route/build-manifest.json +9 -0
  47. package/.next/standalone/.next/server/app/api/audit/status/route/server-reference-manifest.json +4 -0
  48. package/.next/standalone/.next/server/app/api/audit/status/route.js +6 -0
  49. package/.next/standalone/.next/server/app/api/audit/status/route.js.map +5 -0
  50. package/.next/standalone/.next/server/app/api/audit/status/route.js.nft.json +1 -0
  51. package/.next/standalone/.next/server/app/api/audit/status/route_client-reference-manifest.js +3 -0
  52. package/.next/standalone/.next/server/app/api/auth/login-request/route/app-paths-manifest.json +3 -0
  53. package/.next/standalone/.next/server/app/api/auth/login-request/route/build-manifest.json +9 -0
  54. package/.next/standalone/.next/server/app/api/auth/login-request/route/server-reference-manifest.json +4 -0
  55. package/.next/standalone/.next/server/app/api/auth/login-request/route.js +6 -0
  56. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.map +5 -0
  57. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -0
  58. package/.next/standalone/.next/server/app/api/auth/login-request/route_client-reference-manifest.js +3 -0
  59. package/.next/standalone/.next/server/app/api/auth/login-verify/route/app-paths-manifest.json +3 -0
  60. package/.next/standalone/.next/server/app/api/auth/login-verify/route/build-manifest.json +9 -0
  61. package/.next/standalone/.next/server/app/api/auth/login-verify/route/server-reference-manifest.json +4 -0
  62. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js +7 -0
  63. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.map +5 -0
  64. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -0
  65. package/.next/standalone/.next/server/app/api/auth/login-verify/route_client-reference-manifest.js +3 -0
  66. package/.next/standalone/.next/server/app/api/auth/logout/route/app-paths-manifest.json +3 -0
  67. package/.next/standalone/.next/server/app/api/auth/logout/route/build-manifest.json +9 -0
  68. package/.next/standalone/.next/server/app/api/auth/logout/route/server-reference-manifest.json +4 -0
  69. package/.next/standalone/.next/server/app/api/auth/logout/route.js +7 -0
  70. package/.next/standalone/.next/server/app/api/auth/logout/route.js.map +5 -0
  71. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  72. package/.next/standalone/.next/server/app/api/auth/logout/route_client-reference-manifest.js +3 -0
  73. package/.next/standalone/.next/server/app/api/auth/reminder/route/app-paths-manifest.json +3 -0
  74. package/.next/standalone/.next/server/app/api/auth/reminder/route/build-manifest.json +9 -0
  75. package/.next/standalone/.next/server/app/api/auth/reminder/route/server-reference-manifest.json +4 -0
  76. package/.next/standalone/.next/server/app/api/auth/reminder/route.js +7 -0
  77. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.map +5 -0
  78. package/.next/standalone/.next/server/app/api/auth/reminder/route.js.nft.json +1 -0
  79. package/.next/standalone/.next/server/app/api/auth/reminder/route_client-reference-manifest.js +3 -0
  80. package/.next/standalone/.next/server/app/api/auth/status/route/app-paths-manifest.json +3 -0
  81. package/.next/standalone/.next/server/app/api/auth/status/route/build-manifest.json +9 -0
  82. package/.next/standalone/.next/server/app/api/auth/status/route/server-reference-manifest.json +4 -0
  83. package/.next/standalone/.next/server/app/api/auth/status/route.js +7 -0
  84. package/.next/standalone/.next/server/app/api/auth/status/route.js.map +5 -0
  85. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  86. package/.next/standalone/.next/server/app/api/auth/status/route_client-reference-manifest.js +3 -0
  87. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js +3 -3
  88. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/audit/page/app-paths-manifest.json +3 -0
  90. package/.next/standalone/.next/server/app/audit/page/build-manifest.json +18 -0
  91. package/.next/standalone/.next/server/app/audit/page/next-font-manifest.json +6 -0
  92. package/.next/standalone/.next/server/app/audit/page/react-loadable-manifest.json +1 -0
  93. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +29 -0
  94. package/.next/standalone/.next/server/app/audit/page.js +17 -0
  95. package/.next/standalone/.next/server/app/audit/page.js.map +5 -0
  96. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -0
  97. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +3 -0
  98. package/.next/standalone/.next/server/app/index.html +1 -1
  99. package/.next/standalone/.next/server/app/index.rsc +16 -17
  100. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  101. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -17
  102. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  103. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  104. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -3
  105. package/.next/standalone/.next/server/app/page/build-manifest.json +7 -7
  106. package/.next/standalone/.next/server/app/page/next-font-manifest.json +2 -6
  107. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  108. package/.next/standalone/.next/server/app/page.js +14 -15
  109. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  111. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +7 -7
  112. package/.next/standalone/.next/server/app/policies/page/next-font-manifest.json +2 -6
  113. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  114. package/.next/standalone/.next/server/app/policies/page.js +16 -16
  115. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  117. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +7 -7
  118. package/.next/standalone/.next/server/app/project/[name]/page/next-font-manifest.json +2 -6
  119. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  120. package/.next/standalone/.next/server/app/project/[name]/page.js +16 -17
  121. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +7 -7
  124. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/next-font-manifest.json +2 -6
  125. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  126. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  127. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js +19 -20
  128. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +7 -7
  131. package/.next/standalone/.next/server/app/projects/page/next-font-manifest.json +2 -6
  132. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  133. package/.next/standalone/.next/server/app/projects/page.js +15 -16
  134. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app-paths-manifest.json +9 -1
  137. package/.next/standalone/.next/server/chunks/[externals]__14odj07._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/{[externals]__0z0j--b._.js → [externals]__1nl3dvw._.js} +1 -1
  139. package/.next/standalone/.next/server/chunks/{[externals]__0-p9.k~._.js → [externals]__1s61mel._.js} +1 -1
  140. package/.next/standalone/.next/server/chunks/{[externals]_node_os_06ur78j._.js → [externals]_node_os_0by37l-._.js} +1 -1
  141. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0kjo7d_._.js → [root-of-the-server]__0_0xu5z._.js} +2 -2
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cag8qd._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0z-180.._.js → [root-of-the-server]__0cycwg6._.js} +2 -2
  144. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__08px0ym._.js → [root-of-the-server]__0f7mikp._.js} +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0q-v9z2._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0rv7m0k._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g48iv.._.js → [root-of-the-server]__0sb_5m8._.js} +2 -2
  148. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0j8-xkl._.js → [root-of-the-server]__0xuaoik._.js} +2 -2
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13h8pzr._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17g9wh7._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1_mqemn._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vlhtkc._.js → [root-of-the-server]__1hgv_75._.js} +1 -1
  153. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0wu7fr7._.js → [root-of-the-server]__1jm9fw6._.js} +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1legmza._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__044xt9.._.js → [root-of-the-server]__1m2_4t0._.js} +2 -2
  156. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0yfq1yr._.js → [root-of-the-server]__1mhmdzs._.js} +1 -1
  157. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0zso~62._.js → [root-of-the-server]__1ou2ehh._.js} +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qxztj-._.js +3 -0
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1r1h8v9._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rhmvod._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1uatkiv._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.~nmr9._.js → [root-of-the-server]__1w9zl9-._.js} +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1y6gxxb._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/{_0ebx_lc._.js → _0p53ge1._.js} +2 -2
  165. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_invite_route_actions_0-2n5sy.js +3 -0
  166. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_run_route_actions_1qgp9io.js +3 -0
  167. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_audit_status_route_actions_1f7pjof.js +3 -0
  168. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_login-request_route_actions_1c49co0.js +3 -0
  169. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_login-verify_route_actions_1r3slzk.js +3 -0
  170. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_logout_route_actions_0regwyr.js +3 -0
  171. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_reminder_route_actions_1kjgxf8.js +3 -0
  172. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_status_route_actions_1aho9zu.js +3 -0
  173. package/.next/standalone/.next/server/chunks/{_next-internal_server_app_api_download_[project]_[session]_route_actions_0wb00i-.js → _next-internal_server_app_api_download_[project]_[session]_route_actions_1is7vs7.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_logger_ts_047tt9f._.js → lib_logger_ts_07e65t5._.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/node_modules_0-tu4ot._.js +3 -0
  176. package/.next/standalone/.next/server/chunks/node_modules_0ttxbz7._.js +3 -0
  177. package/.next/standalone/.next/server/chunks/node_modules_1bnh1y0._.js +3 -0
  178. package/.next/standalone/.next/server/chunks/node_modules_1epycqa._.js +3 -0
  179. package/.next/standalone/.next/server/chunks/node_modules_1wpdcgo._.js +3 -0
  180. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_17k9e3w.js +23 -0
  181. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_01r25oi._.js +3 -0
  182. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_09z9-p7._.js +3 -0
  183. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +3 -0
  184. package/.next/standalone/.next/server/chunks/ssr/{[externals]__12dv.x0._.js → [externals]__1_g_b3t._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/{[externals]_node_async_hooks_0v0ln8c._.js → [externals]_node_async_hooks_1gjz99j._.js} +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01tn1ou._.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0808sha._.js +4 -0
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e4-6d8._.js +4 -0
  189. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ehe24g._.js +4 -0
  190. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f62vu9._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g253ve._.js +4 -0
  192. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h12me5._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k65l27._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vxf0_g._.js +4 -0
  195. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11rtg6s._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12mcauo._.js +4 -0
  197. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__14dd6h8._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t5l7a5._.js → [root-of-the-server]__1d8omgc._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__10xgshr._.js → [root-of-the-server]__1dky4g0._.js} +2 -2
  200. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1e-x7j4._.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1fax1sl._.js +19 -0
  202. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1mt35_w._.js +221 -0
  203. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pcxxwg._.js +4 -0
  204. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1usf8v2._.js +3 -0
  205. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1uvfwgr._.js +4 -0
  206. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1w6v_1u._.js +3 -0
  207. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__212nf49._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/{_03d7qyt._.js → _05whahf._.js} +2 -2
  209. package/.next/standalone/.next/server/chunks/ssr/_0il3fl1._.js +3 -0
  210. package/.next/standalone/.next/server/chunks/ssr/_11_p9y8._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/{_0xb8ngh._.js → _1kje4fm._.js} +1 -1
  212. package/.next/standalone/.next/server/chunks/ssr/{_0zx~s__._.js → _1p0-leb._.js} +1 -1
  213. package/.next/standalone/.next/server/chunks/ssr/{app_04qfs8z._.js → app_087bt9w._.js} +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/{app_0uosk1e._.js → app_1fvisnp._.js} +1 -1
  215. package/.next/standalone/.next/server/chunks/ssr/{app_13f0ohr._.js → app_209u41o._.js} +1 -1
  216. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +65 -0
  217. package/.next/standalone/.next/server/chunks/ssr/app_audit_loading_tsx_1j1kc6j._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/ssr/{app_error_tsx_11t4ysq._.js → app_error_tsx_1zds1ns._.js} +1 -1
  219. package/.next/standalone/.next/server/chunks/ssr/{app_global-error_tsx_0m9qisk._.js → app_global-error_tsx_113y3za._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +8 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_error_tsx_0.9-fod._.js → app_project_[name]_error_tsx_1v02_5n._.js} +1 -1
  223. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_loading_tsx_03g9xy0._.js → app_project_[name]_loading_tsx_05-l4uf._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_session_[sessionId]_error_tsx_0ler-mr._.js → app_project_[name]_session_[sessionId]_error_tsx_0-lj3nd._.js} +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/{app_project_[name]_session_[sessionId]_loading_tsx_0c0e3yx._.js → app_project_[name]_session_[sessionId]_loading_tsx_0l4aixs._.js} +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/app_projects_loading_tsx_20-3u8b._.js +3 -0
  227. package/.next/standalone/.next/server/chunks/ssr/{lib_codex-projects_ts_0eosib~._.js → lib_codex-projects_ts_0pqlw37._.js} +1 -1
  228. package/.next/standalone/.next/server/chunks/ssr/{lib_copilot-projects_ts_0r8xkn8._.js → lib_copilot-projects_ts_19wl7tp._.js} +1 -1
  229. package/.next/standalone/.next/server/chunks/ssr/{lib_cursor-projects_ts_0qt1scg._.js → lib_cursor-projects_ts_18-iwyk._.js} +1 -1
  230. package/.next/standalone/.next/server/chunks/ssr/{lib_gemini-projects_ts_0sl~yqr._.js → lib_gemini-projects_ts_1c7bgx-._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/{lib_opencode-projects_ts_0op9gyp._.js → lib_opencode-projects_ts_15bjxkm._.js} +1 -1
  232. package/.next/standalone/.next/server/chunks/ssr/{lib_pi-projects_ts_103tsh1._.js → lib_pi-projects_ts_1wikofb._.js} +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/lib_utils_ts_0az0sfq._.js +3 -0
  234. package/.next/standalone/.next/server/chunks/ssr/node_modules_1ynf7el._.js +3 -0
  235. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_0nye1s3.js +3 -0
  236. package/.next/standalone/.next/server/chunks/ssr/node_modules_html-to-image_es_index_1ao30b1.js +3 -0
  237. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_0rd0oc-._.js → node_modules_next_1a1kch7._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
  239. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_11dij6w._.js → node_modules_next_dist_1d_onnt._.js} +2 -2
  240. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_0inhx6q._.js → node_modules_next_dist_client_components_0wpq8j3._.js} +1 -1
  241. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js → node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js} +1 -1
  242. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js → node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js} +1 -1
  243. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-uvagv.js +4 -0
  244. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03c7gi5.js +4 -0
  245. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09p-8om.js +4 -0
  246. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v-kfiu.js +4 -0
  247. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xrgzyz.js +4 -0
  248. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1806lsc.js +4 -0
  249. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1j6dd-e.js +4 -0
  250. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1sa65r-.js +4 -0
  251. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_11bnuzn._.js +3 -0
  252. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1ezd2jf._.js +5 -0
  253. package/.next/standalone/.next/server/chunks/ssr/src_hooks_1tnuifj._.js +5 -0
  254. package/.next/standalone/.next/server/functions-config-manifest.json +2 -2
  255. package/.next/standalone/.next/server/instrumentation.js +1 -1
  256. package/.next/standalone/.next/server/middleware-build-manifest.js +10 -10
  257. package/.next/standalone/.next/server/middleware.js +2 -2
  258. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  259. package/.next/standalone/.next/server/next-font-manifest.json +2 -21
  260. package/.next/standalone/.next/server/pages/404.html +1 -1
  261. package/.next/standalone/.next/server/pages/500.html +1 -1
  262. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  263. package/.next/standalone/.next/server/server-reference-manifest.json +27 -9
  264. package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_clientMiddlewareManifest.js +2 -2
  265. package/.next/standalone/.next/static/chunks/{0pkl..xgo-qox.js → 02e80j0576qfu.js} +1 -1
  266. package/.next/standalone/.next/static/chunks/{07uz2g0_38qia.js → 03fmihek9n986.js} +1 -1
  267. package/.next/standalone/.next/static/chunks/0f7d7hnbh4djs.js +1 -0
  268. package/.next/standalone/.next/static/chunks/0h7auy7hzjyhw.js +1 -0
  269. package/.next/standalone/.next/static/chunks/0wwt5o04i4zwh.js +1 -0
  270. package/.next/standalone/.next/static/chunks/0zbxssxh53n-3.js +1 -0
  271. package/.next/standalone/.next/static/chunks/13f1kmjea-0md.js +2 -0
  272. package/.next/standalone/.next/static/chunks/13xzda05yw19e.js +1 -0
  273. package/.next/standalone/.next/static/chunks/{150i0n26fnvso.js → 1__i9af9g78vd.js} +1 -1
  274. package/.next/standalone/.next/static/chunks/1uxa5lm6yco79.js +1 -0
  275. package/.next/standalone/.next/static/chunks/20dqelk3xz_ya.css +1 -0
  276. package/.next/standalone/.next/static/chunks/{0j171xiqge4rv.js → 29lzaddhez98q.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/29nrs5xs9c4hx.css +2 -0
  278. package/.next/standalone/.next/static/chunks/{0lt8ko3lw.5yt.js → 2b_e9tyly10lo.js} +1 -1
  279. package/.next/standalone/.next/static/chunks/{0rnqmir4cd5p9.js → 2h0dkzyy0vocp.js} +1 -1
  280. package/.next/standalone/.next/static/chunks/2lp3a3a3_4_9o.js +63 -0
  281. package/.next/standalone/.next/static/chunks/{179yytvmam0ug.js → 2nt_slonrn0rw.js} +1 -1
  282. package/.next/standalone/.next/static/chunks/2plcgtv_tkv9t.js +1 -0
  283. package/.next/standalone/.next/static/chunks/33k2epr1iz8_z.js +6 -0
  284. package/.next/standalone/.next/static/chunks/{0d3shmwh5_nmn.js → 33u59vf_8xpd-.js} +1 -1
  285. package/.next/standalone/.next/static/chunks/3zkg2s2vzxc3d.js +1 -0
  286. package/.next/standalone/.next/static/chunks/{turbopack-05z7a19q43zfq.js → turbopack-3lrm4f20fz89b.js} +1 -1
  287. package/.next/standalone/SECURITY.md +73 -0
  288. package/.next/standalone/app/actions/get-audit-result.ts +35 -0
  289. package/.next/standalone/app/api/audit/_state.ts +79 -0
  290. package/.next/standalone/app/api/audit/invite/route.ts +183 -0
  291. package/.next/standalone/app/api/audit/run/route.ts +103 -0
  292. package/.next/standalone/app/api/audit/status/route.ts +24 -0
  293. package/.next/standalone/app/api/auth/login-request/route.ts +91 -0
  294. package/.next/standalone/app/api/auth/login-verify/route.ts +98 -0
  295. package/.next/standalone/app/api/auth/logout/route.ts +48 -0
  296. package/.next/standalone/app/api/auth/reminder/route.ts +213 -0
  297. package/.next/standalone/app/api/auth/status/route.ts +42 -0
  298. package/.next/standalone/app/audit/_components/audit-dashboard.tsx +397 -0
  299. package/.next/standalone/app/audit/_components/audit-poster.tsx +326 -0
  300. package/.next/standalone/app/audit/_components/audit-progress-strip.tsx +98 -0
  301. package/.next/standalone/app/audit/_components/auth-dialog.tsx +375 -0
  302. package/.next/standalone/app/audit/_components/come-back-better-section.tsx +333 -0
  303. package/.next/standalone/app/audit/_components/empty-state.tsx +152 -0
  304. package/.next/standalone/app/audit/_components/how-to-improve-section.tsx +187 -0
  305. package/.next/standalone/app/audit/_components/invite-dialog.tsx +227 -0
  306. package/.next/standalone/app/audit/_components/quirks-section.tsx +75 -0
  307. package/.next/standalone/app/audit/_components/report-footer.tsx +35 -0
  308. package/.next/standalone/app/audit/_components/rerun-button.tsx +119 -0
  309. package/.next/standalone/app/audit/_components/run-progress.tsx +120 -0
  310. package/.next/standalone/app/audit/_components/share-templates.ts +94 -0
  311. package/.next/standalone/app/audit/_components/sigil.tsx +36 -0
  312. package/.next/standalone/app/audit/_components/strengths-section.tsx +45 -0
  313. package/.next/standalone/app/audit/audit-styles.css +1178 -0
  314. package/.next/standalone/app/audit/loading.tsx +24 -0
  315. package/.next/standalone/app/audit/page.tsx +63 -0
  316. package/.next/standalone/app/components/sessions-list.tsx +77 -80
  317. package/.next/standalone/app/globals.css +754 -139
  318. package/.next/standalone/app/layout.tsx +6 -8
  319. package/.next/standalone/app/policies/hooks-client.tsx +340 -141
  320. package/.next/standalone/app/project/[name]/page.tsx +31 -37
  321. package/.next/standalone/app/projects/loading.tsx +30 -8
  322. package/.next/standalone/app/projects/page.tsx +66 -17
  323. package/.next/standalone/assets/audit/Audit Report.html +22 -0
  324. package/.next/standalone/assets/audit/Show Off Your Agent.html +22 -0
  325. package/.next/standalone/assets/audit/archetypes.jsx +277 -0
  326. package/.next/standalone/assets/audit/assets/fonts/bitcount-prop-single.woff2 +0 -0
  327. package/.next/standalone/assets/audit/audit.jsx +825 -0
  328. package/.next/standalone/assets/audit/poster-styles.css +424 -0
  329. package/.next/standalone/assets/audit/poster.jsx +247 -0
  330. package/.next/standalone/assets/audit/screenshots/poster-optimist.png +0 -0
  331. package/.next/standalone/assets/audit/screenshots/poster-scrolled.png +0 -0
  332. package/.next/standalone/assets/audit/styles.css +1225 -0
  333. package/.next/standalone/assets/audit/tweaks-panel.jsx +425 -0
  334. package/.next/standalone/assets/logos/company/icon.svg +1 -0
  335. package/.next/standalone/assets/logos/company/logo.svg +1 -0
  336. package/.next/standalone/components/navbar.tsx +119 -65
  337. package/.next/standalone/components/reach-developers.tsx +39 -11
  338. package/.next/standalone/lib/atomic-write.ts +67 -0
  339. package/.next/standalone/lib/auth/api-server-client.ts +306 -0
  340. package/.next/standalone/lib/auth/auth-store.ts +250 -0
  341. package/.next/standalone/lib/claude-sessions.ts +181 -0
  342. package/.next/standalone/lib/client-telemetry.ts +2 -0
  343. package/.next/standalone/lib/fetch-with-timeout.ts +59 -0
  344. package/.next/standalone/lib/share-card.ts +144 -0
  345. package/.next/standalone/lib/telemetry.ts +12 -7
  346. package/.next/standalone/node_modules/@next/env/package.json +2 -2
  347. package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +2 -1
  348. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  349. package/.next/standalone/node_modules/next/dist/build/utils.js +2 -1
  350. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +2 -2
  351. package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +8 -2
  352. package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +102 -2
  353. package/.next/standalone/node_modules/next/dist/client/route-params.js +23 -6
  354. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +13 -13
  355. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +13 -13
  356. package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
  357. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +10 -10
  358. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  359. package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +21 -14
  360. package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +62 -9
  361. package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +16 -0
  362. package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +49 -19
  363. package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +8 -20
  364. package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +8 -7
  365. package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +2 -2
  366. package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +2 -1
  367. package/.next/standalone/node_modules/next/dist/server/base-server.js +13 -5
  368. package/.next/standalone/node_modules/next/dist/server/config-schema.js +1 -0
  369. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  370. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  371. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  372. package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +2 -1
  373. package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +22 -2
  374. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  375. package/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
  376. package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
  377. package/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
  378. package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +30 -5
  379. package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +5 -1
  380. package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +7 -0
  381. package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +6 -3
  382. package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +18 -4
  383. package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +3 -1
  384. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  385. package/.next/standalone/node_modules/next/dist/server/next-server.js +1 -1
  386. package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +27 -1
  387. package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +1 -0
  388. package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +11 -1
  389. package/.next/standalone/node_modules/next/dist/server/server-utils.js +19 -2
  390. package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +5 -5
  391. package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
  392. package/.next/standalone/node_modules/next/dist/server/web/adapter.js +4 -1
  393. package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +2 -1
  394. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +4 -3
  395. package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +6 -2
  396. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  397. package/.next/standalone/node_modules/next/dist/{server → shared/lib}/htmlescape.js +15 -0
  398. package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +13 -1
  399. package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +56 -10
  400. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  401. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  402. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  403. package/.next/standalone/node_modules/next/package.json +15 -15
  404. package/.next/standalone/node_modules/react/cjs/react.development.js +1 -1
  405. package/.next/standalone/node_modules/react/cjs/react.production.js +1 -1
  406. package/.next/standalone/node_modules/react/package.json +1 -1
  407. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  408. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  409. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +3 -3
  410. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +3 -3
  411. package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +3 -3
  412. package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +1 -1
  413. package/.next/standalone/node_modules/react-dom/package.json +2 -2
  414. package/.next/standalone/osv-scanner.toml +17 -0
  415. package/.next/standalone/package.json +26 -18
  416. package/.next/standalone/proxy.ts +1 -1
  417. package/.next/standalone/public/audit/fonts/bitcount-prop-single.woff2 +0 -0
  418. package/.next/standalone/public/icon.svg +1 -0
  419. package/.next/standalone/public/logo.svg +1 -0
  420. package/.next/standalone/server.js +1 -1
  421. package/.next/standalone/templates/bitcount-font/README.md +42 -0
  422. package/.next/standalone/templates/bitcount-font/bitcount-prop-single.woff2 +0 -0
  423. package/.next/standalone/templates/bitcount-font/bitcount.css +49 -0
  424. package/.next/standalone/templates/bitcount-font/fonts.ts.example +23 -0
  425. package/README.md +12 -5
  426. package/bin/failproofai.mjs +263 -70
  427. package/dist/cli.mjs +3830 -1617
  428. package/lib/atomic-write.ts +67 -0
  429. package/lib/auth/api-server-client.ts +306 -0
  430. package/lib/auth/auth-store.ts +250 -0
  431. package/lib/claude-sessions.ts +181 -0
  432. package/lib/client-telemetry.ts +2 -0
  433. package/lib/fetch-with-timeout.ts +59 -0
  434. package/lib/share-card.ts +144 -0
  435. package/lib/telemetry.ts +12 -7
  436. package/package.json +26 -18
  437. package/scripts/install-telemetry.mjs +4 -0
  438. package/scripts/launch.ts +2 -2
  439. package/scripts/postinstall.mjs +89 -1
  440. package/src/audit/archetypes.ts +944 -0
  441. package/src/audit/cache.ts +151 -0
  442. package/src/audit/cli-adapters/claude.ts +97 -0
  443. package/src/audit/cli-adapters/codex.ts +56 -0
  444. package/src/audit/cli-adapters/copilot.ts +51 -0
  445. package/src/audit/cli-adapters/cursor.ts +51 -0
  446. package/src/audit/cli-adapters/gemini.ts +51 -0
  447. package/src/audit/cli-adapters/index.ts +70 -0
  448. package/src/audit/cli-adapters/opencode.ts +52 -0
  449. package/src/audit/cli-adapters/pi.ts +51 -0
  450. package/src/audit/cli-adapters/shared.ts +85 -0
  451. package/src/audit/cli.ts +319 -0
  452. package/src/audit/dashboard-cache.ts +158 -0
  453. package/src/audit/detectors/find-from-root.ts +27 -0
  454. package/src/audit/detectors/git-commit-no-verify.ts +22 -0
  455. package/src/audit/detectors/index.ts +33 -0
  456. package/src/audit/detectors/prefer-edit-over-read-cat.ts +31 -0
  457. package/src/audit/detectors/prefer-edit-over-sed-awk.ts +27 -0
  458. package/src/audit/detectors/prefer-write-over-heredoc.ts +36 -0
  459. package/src/audit/detectors/redundant-cd-cwd.ts +28 -0
  460. package/src/audit/detectors/reread-after-edit.ts +58 -0
  461. package/src/audit/detectors/sleep-polling-loop.ts +34 -0
  462. package/src/audit/features.ts +314 -0
  463. package/src/audit/findings.ts +298 -0
  464. package/src/audit/index.ts +387 -0
  465. package/src/audit/open-browser.ts +69 -0
  466. package/src/audit/replay.ts +147 -0
  467. package/src/audit/report.ts +349 -0
  468. package/src/audit/scoring.ts +174 -0
  469. package/src/audit/social-proof.ts +34 -0
  470. package/src/audit/strengths.ts +138 -0
  471. package/src/audit/types.ts +216 -0
  472. package/src/auth/cli.ts +359 -0
  473. package/src/hooks/builtin-policies.ts +81 -2
  474. package/src/hooks/custom-hooks-loader.ts +19 -3
  475. package/src/hooks/first-run-nudge.ts +146 -0
  476. package/src/hooks/handler.ts +21 -102
  477. package/src/hooks/hook-telemetry.ts +2 -2
  478. package/src/hooks/install-prompt.ts +34 -4
  479. package/src/hooks/manager.ts +72 -5
  480. package/src/hooks/policy-evaluator.ts +19 -4
  481. package/src/hooks/policy-registry.ts +21 -1
  482. package/src/hooks/policy-types.ts +9 -0
  483. package/src/hooks/tool-name-canonicalize.ts +65 -0
  484. package/src/posthog-key.ts +9 -0
  485. package/.next/standalone/.next/server/app/icon.png/route/app-paths-manifest.json +0 -3
  486. package/.next/standalone/.next/server/app/icon.png/route.js +0 -7
  487. package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +0 -1
  488. package/.next/standalone/.next/server/app/icon.png.body +0 -0
  489. package/.next/standalone/.next/server/app/icon.png.meta +0 -1
  490. package/.next/standalone/.next/server/chunks/[externals]_next_dist_0sqmaqd._.js +0 -3
  491. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06.arfm._.js +0 -3
  492. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0__i0h0._.js +0 -3
  493. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d_ob4n._.js +0 -3
  494. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fe7_q_._.js +0 -3
  495. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fw.e.h._.js +0 -3
  496. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pxn0e1._.js +0 -3
  497. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xv0jh2._.js +0 -3
  498. package/.next/standalone/.next/server/chunks/_next-internal_server_app_icon_png_route_actions_12.gv.r.js +0 -3
  499. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0bdfoky.js +0 -3
  500. package/.next/standalone/.next/server/chunks/node_modules_posthog-node_dist_entrypoints_index_node_mjs_05pz9._._.js +0 -3
  501. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +0 -3
  502. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02r.cjq._.js +0 -3
  503. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0370~qj._.js +0 -3
  504. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0609ezh._.js +0 -3
  505. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07_-mkc._.js +0 -3
  506. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +0 -19
  507. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_sh2n0._.js +0 -3
  508. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e9o9ri._.js +0 -4
  509. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l6swv1._.js +0 -3
  510. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0logebz._.js +0 -3
  511. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mi5ejy._.js +0 -4
  512. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odijkc._.js +0 -3
  513. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0podumr._.js +0 -4
  514. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rkxer-._.js +0 -3
  515. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rl2kwi._.js +0 -4
  516. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vg0uey._.js +0 -4
  517. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0x5limi._.js +0 -3
  518. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ye1w50._.js +0 -4
  519. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ymlddl._.js +0 -223
  520. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10._f0s._.js +0 -4
  521. package/.next/standalone/.next/server/chunks/ssr/app_0cdqd9w._.js +0 -3
  522. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +0 -3
  523. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +0 -8
  524. package/.next/standalone/.next/server/chunks/ssr/app_projects_loading_tsx_13veom4._.js +0 -3
  525. package/.next/standalone/.next/server/chunks/ssr/lib_utils_ts_068jk73._.js +0 -3
  526. package/.next/standalone/.next/server/chunks/ssr/node_modules_0ttbz1~._.js +0 -3
  527. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_06u0kr8._.js +0 -3
  528. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +0 -6
  529. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0a_7sdg.js +0 -4
  530. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ef3uwk.js +0 -4
  531. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j79~gv.js +0 -4
  532. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pbja1x.js +0 -4
  533. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0r6o0i2.js +0 -4
  534. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_11y81~_.js +0 -4
  535. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12or2kf.js +0 -4
  536. package/.next/standalone/.next/server/chunks/ssr/node_modules_posthog-node_dist_entrypoints_index_node_mjs_0mebn66._.js +0 -3
  537. package/.next/standalone/.next/static/chunks/01q52wg_amm60.js +0 -2
  538. package/.next/standalone/.next/static/chunks/0kqar56yl~41o.js +0 -6
  539. package/.next/standalone/.next/static/chunks/0ml1.ck_5t36i.js +0 -1
  540. package/.next/standalone/.next/static/chunks/0w6fzf.07a24u.js +0 -1
  541. package/.next/standalone/.next/static/chunks/0zig0fh30t6ou.js +0 -1
  542. package/.next/standalone/.next/static/chunks/12l2t63hkyo2q.js +0 -1
  543. package/.next/standalone/.next/static/chunks/12pt~2f.c1sha.js +0 -1
  544. package/.next/standalone/.next/static/chunks/14lii11wmo450.js +0 -4
  545. package/.next/standalone/.next/static/chunks/17rm86uz2nd5a.css +0 -2
  546. package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  547. package/.next/standalone/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  548. package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  549. package/.next/standalone/.next/static/media/icon.0a.gigb3_x5pd.png +0 -0
  550. package/.next/standalone/app/icon.png +0 -0
  551. package/src/auth/login.ts +0 -104
  552. package/src/auth/logout.ts +0 -50
  553. package/src/auth/token-store.ts +0 -64
  554. package/src/relay/daemon.ts +0 -362
  555. package/src/relay/pid.ts +0 -76
  556. package/src/relay/queue.ts +0 -225
  557. /package/.next/standalone/.next/server/app/{icon.png → api/audit/invite}/route/build-manifest.json +0 -0
  558. /package/.next/standalone/.next/server/app/{icon.png → api/audit/invite}/route.js.map +0 -0
  559. /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_buildManifest.js +0 -0
  560. /package/.next/standalone/.next/static/{dAuQps6jUwCz9X1Q5FFOO → DOSSF5hRUtt3-QZEm-ZIk}/_ssgManifest.js +0 -0
  561. /package/.next/standalone/.next/static/chunks/{03~yq9q893hmn.js → 0cz1d0mv5g_q7.js} +0 -0
  562. /package/.next/standalone/.next/static/chunks/{0xbo5nl6w4lka.js → 2wbuxnsvux4di.js} +0 -0
  563. /package/.next/standalone/.next/static/chunks/{0_s0luks5tay-.js → 35fgpd_feci6x.js} +0 -0
  564. /package/.next/standalone/.next/static/chunks/{15fklyav5py5m.js → 3xpjn3cdgm-7m.js} +0 -0
  565. /package/.next/standalone/.next/static/chunks/{17.b3suj8zjjj.js → 4448_qq7bd963.js} +0 -0
@@ -13,7 +13,6 @@ import { notFound } from "next/navigation";
13
13
  import { existsSync } from "fs";
14
14
  import { stat } from "fs/promises";
15
15
  import Link from "next/link";
16
- import { ArrowLeft } from "lucide-react";
17
16
  import { formatDate } from "@/lib/format-date";
18
17
  import SessionsList from "@/app/components/sessions-list";
19
18
 
@@ -115,50 +114,45 @@ export default async function ProjectPage({ params }: ProjectPageProps) {
115
114
  const displayPath = claudeExists && claudeProjectPath ? claudeProjectPath : canonicalRoot;
116
115
 
117
116
  return (
118
- <main className="min-h-screen bg-background">
119
- <div className="container mx-auto p-8">
117
+ <main className="report">
118
+ <section className="section" data-screen-label="project">
120
119
  <Link
121
120
  href="/projects"
122
- className="inline-flex items-center gap-2 text-muted-foreground hover:text-foreground mb-6 transition-colors"
121
+ className="project-page-back"
122
+ aria-label="Back to projects"
123
123
  >
124
- <ArrowLeft className="w-4 h-4" />
125
- <span>Back to Projects</span>
124
+ <span className="arrow">←</span>
125
+ back to projects
126
126
  </Link>
127
127
 
128
- <div className="mb-8">
129
- <h1 className="text-4xl font-bold text-foreground mb-2 break-words break-all">
130
- {canonicalRoot}
131
- </h1>
132
- <div className="space-y-1">
133
- <p className="text-muted-foreground">
134
- <span className="font-medium">Path:</span> {displayPath}
135
- </p>
136
- {lastModifiedFormatted && (
137
- <p className="text-muted-foreground">
138
- <span className="font-medium">Modified:</span> {lastModifiedFormatted}
139
- </p>
140
- )}
141
- </div>
142
- </div>
128
+ <h1 className="project-page-title">{canonicalRoot}</h1>
143
129
 
144
- {/* Sessions Section */}
145
- <div className="bg-card text-card-foreground rounded-lg border border-border p-6 shadow-sm">
146
- <h2 className="text-2xl font-semibold mb-4">Sessions</h2>
147
-
148
- {sessionFiles.length === 0 ? (
149
- <div className="text-center py-8">
150
- <p className="text-muted-foreground mb-2">
151
- No .jsonl files found in this project.
152
- </p>
153
- <p className="text-sm text-muted-foreground">
154
- Session files will appear here once they are created.
155
- </p>
156
- </div>
157
- ) : (
158
- <Suspense><SessionsList files={sessionFiles} projectName={name} /></Suspense>
130
+ <div className="project-page-meta">
131
+ <span className="label">path</span>
132
+ <span className="path">{displayPath}</span>
133
+ {lastModifiedFormatted && (
134
+ <>
135
+ <span className="sep">·</span>
136
+ <span className="label">modified</span>
137
+ {lastModifiedFormatted}
138
+ </>
159
139
  )}
140
+ <span className="sep">·</span>
141
+ <span className="label">sessions</span>
142
+ {sessionFiles.length}
160
143
  </div>
161
- </div>
144
+
145
+ {sessionFiles.length === 0 ? (
146
+ <div className="project-page-empty">
147
+ no .jsonl files found in this project.
148
+ <div className="hint">
149
+ session files will appear here once they are created.
150
+ </div>
151
+ </div>
152
+ ) : (
153
+ <Suspense><SessionsList files={sessionFiles} projectName={name} /></Suspense>
154
+ )}
155
+ </section>
162
156
  </main>
163
157
  );
164
158
  }
@@ -1,17 +1,39 @@
1
- /** Skeleton loading UI for the projects page. */
1
+ /** Skeleton loading UI for the projects page — audit-styled to match
2
+ * the dashed `.panel` chrome of the loaded state. Staggered fade-in on the
3
+ * rows gives the skeleton its own rhythm rather than every bar blinking in
4
+ * lockstep. */
2
5
  export default function ProjectsLoading() {
3
6
  return (
4
- <main className="min-h-screen bg-background">
5
- <div className="container mx-auto p-8">
6
- <div className="bg-card text-card-foreground rounded-lg border border-border p-6 shadow-sm">
7
- <div className="h-8 w-32 bg-muted rounded animate-pulse mb-4" />
8
- <div className="space-y-3">
7
+ <main className="report">
8
+ <section className="section" data-screen-label="projects">
9
+ <div className="section-mast">
10
+ <div className="section-label">
11
+ <span className="glyph">━━</span> projects
12
+ </div>
13
+ <div
14
+ className="section-meta"
15
+ aria-live="polite"
16
+ aria-busy="true"
17
+ >
18
+ <span className="p">●</span> loading…
19
+ </div>
20
+ </div>
21
+ <h2 className="section-h" style={{ textTransform: "none" }}>
22
+ your agent footprint.
23
+ </h2>
24
+ <div className="panel" style={{ padding: 24 }}>
25
+ <div className="bg-muted h-6 w-40 mb-5 animate-pulse" />
26
+ <div className="space-y-2">
9
27
  {Array.from({ length: 8 }).map((_, i) => (
10
- <div key={i} className="h-12 bg-muted/50 rounded animate-pulse" />
28
+ <div
29
+ key={i}
30
+ className="bg-muted/50 h-10 audit-row-enter"
31
+ style={{ ["--row-delay" as string]: `${i * 60}ms` }}
32
+ />
11
33
  ))}
12
34
  </div>
13
35
  </div>
14
- </div>
36
+ </section>
15
37
  </main>
16
38
  );
17
39
  }
@@ -13,27 +13,76 @@ export default async function ProjectsPage() {
13
13
  if (disabled.includes("projects")) notFound();
14
14
 
15
15
  const folders = await getCachedProjectFolders();
16
+ const count = folders.length;
16
17
 
17
18
  return (
18
- <main className="min-h-screen bg-background">
19
- <div className="container mx-auto p-8">
20
- <div className="bg-card text-card-foreground rounded-lg border border-border p-6 shadow-sm">
21
- <h2 className="text-2xl font-semibold mb-4">Projects</h2>
19
+ <main className="report">
20
+ <section className="section" data-screen-label="projects">
21
+ <h2
22
+ style={{
23
+ fontFamily: "var(--font-mono)",
24
+ fontSize: 24,
25
+ fontWeight: 600,
26
+ letterSpacing: "-0.01em",
27
+ color: "var(--ink)",
28
+ margin: "0 0 24px",
29
+ }}
30
+ >
31
+ Projects
32
+ </h2>
22
33
 
23
- {folders.length === 0 ? (
24
- <div className="text-center py-8">
25
- <p className="text-muted-foreground mb-2">
26
- No projects found in the .claude/projects directory.
27
- </p>
28
- <p className="text-sm text-muted-foreground">
29
- Make sure the directory exists and contains project folders.
30
- </p>
34
+ {count === 0 ? (
35
+ <div
36
+ className="panel"
37
+ style={{ textAlign: "center", padding: "56px 32px" }}
38
+ >
39
+ <div aria-hidden="true" style={{ marginBottom: 20 }}>
40
+ <div
41
+ style={{
42
+ display: "inline-grid",
43
+ gridTemplateColumns: "repeat(6, 10px)",
44
+ gridTemplateRows: "repeat(6, 10px)",
45
+ gap: 2,
46
+ padding: 12,
47
+ border: "1px solid var(--line-2)",
48
+ background: "var(--bg)",
49
+ }}
50
+ >
51
+ {Array.from({ length: 36 }).map((_, i) => {
52
+ // a sparse "empty box" glyph
53
+ const on = [0, 5, 30, 35, 7, 10, 25, 28].includes(i);
54
+ return (
55
+ <span
56
+ key={i}
57
+ style={{
58
+ background: on ? "var(--dim)" : "transparent",
59
+ }}
60
+ />
61
+ );
62
+ })}
63
+ </div>
31
64
  </div>
32
- ) : (
33
- <Suspense><ProjectList folders={folders} /></Suspense>
34
- )}
35
- </div>
36
- </div>
65
+ <p style={{ color: "var(--ink-2)", marginBottom: 8 }}>
66
+ No projects found in the <code>.claude/projects</code> directory.
67
+ </p>
68
+ <p
69
+ style={{
70
+ color: "var(--dim)",
71
+ fontSize: 12,
72
+ letterSpacing: "0.05em",
73
+ }}
74
+ >
75
+ Run an agent in any folder and it will show up here.
76
+ </p>
77
+ </div>
78
+ ) : (
79
+ <div className="panel" style={{ padding: 0 }}>
80
+ <Suspense>
81
+ <ProjectList folders={folders} />
82
+ </Suspense>
83
+ </div>
84
+ )}
85
+ </section>
37
86
  </main>
38
87
  );
39
88
  }
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>failproof_ai — audit · blrnow / api-coder</title>
7
+ <link rel="icon" type="image/svg+xml" href="assets/favicon.svg">
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=VT323&display=swap" rel="stylesheet">
11
+ <link rel="stylesheet" href="styles.css">
12
+ <script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
13
+ <script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
14
+ <script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
15
+ </head>
16
+ <body>
17
+ <div id="root"></div>
18
+ <script type="text/babel" src="tweaks-panel.jsx"></script>
19
+ <script type="text/babel" src="archetypes.jsx"></script>
20
+ <script type="text/babel" src="audit.jsx"></script>
21
+ </body>
22
+ </html>
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>failproof_ai — show off your agent</title>
7
+ <link rel="icon" type="image/svg+xml" href="assets/favicon.svg">
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=VT323&display=swap" rel="stylesheet">
11
+ <link rel="stylesheet" href="styles.css">
12
+ <link rel="stylesheet" href="poster-styles.css">
13
+ <script src="https://unpkg.com/react@18.3.1/umd/react.development.js" integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L" crossorigin="anonymous"></script>
14
+ <script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js" integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm" crossorigin="anonymous"></script>
15
+ <script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js" integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y" crossorigin="anonymous"></script>
16
+ </head>
17
+ <body>
18
+ <div id="root"></div>
19
+ <script type="text/babel" src="archetypes.jsx"></script>
20
+ <script type="text/babel" src="poster.jsx"></script>
21
+ </body>
22
+ </html>
@@ -0,0 +1,277 @@
1
+ // ============================================================
2
+ // failproof_ai — audit report: archetype catalog
3
+ // 8 archetypes. Each has its own pixel-sigil and behavioral data.
4
+ // ============================================================
5
+
6
+ // 8x8 pixel sigil grids. legend:
7
+ // . = empty o = ink p = pink g = green d = dim
8
+ // Designed to feel like the brand's pixel-agent vocabulary —
9
+ // chunky, abstract, each glyph reads in <1s.
10
+
11
+ const SIGILS = {
12
+ optimist: [
13
+ "........",
14
+ "...p....",
15
+ "..p.p...",
16
+ ".p...p..",
17
+ "p.....p.",
18
+ "..ooo...",
19
+ "..o.o...",
20
+ ".oo.oo..",
21
+ ],
22
+ cowboy: [
23
+ "..pppp..",
24
+ ".p....p.",
25
+ "p..pp..p",
26
+ "pppppppp",
27
+ "..o..o..",
28
+ "..o..o..",
29
+ ".oo..oo.",
30
+ "........",
31
+ ],
32
+ explorer: [
33
+ "..pppp..",
34
+ ".p.gg.p.",
35
+ "p.g..g.p",
36
+ "p.g..g.p",
37
+ ".p.gg.pp",
38
+ "..pppp.p",
39
+ "........",
40
+ "........",
41
+ ],
42
+ goldfish: [
43
+ "....p...",
44
+ "..oooop.",
45
+ ".ooooopp",
46
+ "ooooooop",
47
+ ".oooooo.",
48
+ "..ooo...",
49
+ ".o...o..",
50
+ "o.....o.",
51
+ ],
52
+ architect: [
53
+ "oooooooo",
54
+ "o......o",
55
+ "o.pppp.o",
56
+ "o.p..p.o",
57
+ "o.p..p.o",
58
+ "o.pppp.o",
59
+ "o......o",
60
+ "oooooooo",
61
+ ],
62
+ precision: [
63
+ "...gg...",
64
+ "...gg...",
65
+ "........",
66
+ "gg...gg.",
67
+ "gg.gg.gg",
68
+ "...gg...",
69
+ "...gg...",
70
+ "........",
71
+ ],
72
+ hammer: [
73
+ "..ooooo.",
74
+ ".oppppo.",
75
+ ".oppppo.",
76
+ "..o..o..",
77
+ "...oo...",
78
+ "...oo...",
79
+ "...oo...",
80
+ "..pppp..",
81
+ ],
82
+ ghost: [
83
+ "..dddd..",
84
+ ".dddddd.",
85
+ "ddpd.pd.",
86
+ "ddddddd.",
87
+ "ddddddd.",
88
+ "ddddddd.",
89
+ "d.d.d.d.",
90
+ ".d...d..",
91
+ ],
92
+ };
93
+
94
+ const ARCHETYPES = {
95
+ optimist: {
96
+ key: "optimist",
97
+ index: "01",
98
+ name: "the optimist",
99
+ tagline: "ships fast. retries with conviction. occasionally forgets it was already there.",
100
+ keywords: ["pace", "conviction", "forgetful"],
101
+ description:
102
+ "moves at pace. doesn't second-guess itself — which is mostly a feature. when something fails, it tries again: same args, same hope. when uncertain about its location, it prepends the directory anyway. just in case. the optimism is earned. this agent gets things done. it just occasionally burns tokens proving it.",
103
+ signature: [
104
+ { arrow: "→", body: "cd /Users/n/blrnow/api &&", comment: " # (already here)" },
105
+ { arrow: "→", body: 'read_file("src/api/router.ts")', err: " → ENOENT × 6" },
106
+ { arrow: "→", body: "retries: 6. diagnosis: 0." },
107
+ ],
108
+ common: "fast-iteration solo projects, early-stage prototypes, builders who ship daily",
109
+ risk: "token waste, retry spirals, stale state assumptions",
110
+ closing: "the optimism is a feature. the waste is not.",
111
+ secondary: "explorer",
112
+ },
113
+ cowboy: {
114
+ key: "cowboy",
115
+ index: "02",
116
+ name: "the cowboy",
117
+ tagline: "asks for forgiveness, not permission. git push --force is a philosophy.",
118
+ keywords: ["bold", "forceful", "ungoverned"],
119
+ description:
120
+ "high output. low ceremony. the cowboy gets code onto main faster than anyone — and your branch protection rules are the only thing standing between this agent and your production database. not reckless. just confident. in a way that requires guardrails.",
121
+ signature: [
122
+ { arrow: "→", body: "git push origin main --force" },
123
+ { arrow: "!", body: "remote: branch protection rule", comment: " # caught it" },
124
+ { arrow: "→", body: "git push origin HEAD:main", err: " # non-fast-forward, again." },
125
+ ],
126
+ common: "solo repos, weekend projects, founders writing their own infra",
127
+ risk: "branch protection bypass, accidental main commits, revert overhead",
128
+ closing: "the pace is real. the risk is too.",
129
+ secondary: "hammer",
130
+ },
131
+ explorer: {
132
+ key: "explorer",
133
+ index: "03",
134
+ name: "the explorer",
135
+ tagline: "technically brilliant. occasionally reads your ~/.aws/credentials while doing it.",
136
+ keywords: ["curious", "thorough", "leaky"],
137
+ description:
138
+ "curious by nature. reads broadly, thinks laterally, sometimes follows a symlink somewhere it wasn't meant to go. this isn't malice — it's thoroughness that hasn't learned boundaries yet. the explorer builds great things. it just occasionally needs someone to close the door to the secrets drawer.",
139
+ signature: [
140
+ { arrow: "→", body: "cat /Users/n/.aws/credentials" },
141
+ { arrow: "→", body: "cat ../other-repo/.env" },
142
+ { arrow: "→", body: "cat ~/.config/openai/key" },
143
+ ],
144
+ common: "multi-project setups, agents with broad file access, complex monorepos",
145
+ risk: "credential exposure, unintended cross-project reads, secrets landing in context",
146
+ closing: "the curiosity stays. the credentials stay private.",
147
+ secondary: "architect",
148
+ },
149
+ goldfish: {
150
+ key: "goldfish",
151
+ index: "04",
152
+ name: "the goldfish",
153
+ tagline: "long sessions, short memory. every turn is a fresh start. some turns are a little too fresh.",
154
+ keywords: ["ambitious", "drifting", "inventive"],
155
+ description:
156
+ "great at long tasks. not great at remembering which long task it's on. past 80% context, the goldfish starts inventing history — citing files it never opened, referencing edits it never made. not lying. just filling gaps with confidence. the longer the session, the more creative the memory.",
157
+ signature: [
158
+ { comment: "# turn 47/52 — ctx 82% full" },
159
+ { comment: '# agent: "as we saw earlier in auth.ts…"' },
160
+ { comment: "# auth.ts was never opened this session." },
161
+ ],
162
+ common: "long-running refactor sessions, complex multi-file tasks, agents without session breaks",
163
+ risk: "context drift, hallucinated prior work, compounding errors in long sessions",
164
+ closing: "the ambition is good. the context budget is not.",
165
+ secondary: "optimist",
166
+ },
167
+ architect: {
168
+ key: "architect",
169
+ index: "05",
170
+ name: "the paranoid architect",
171
+ tagline: "has never shipped a bug it didn't catch first. also hasn't shipped since tuesday.",
172
+ keywords: ["methodical", "safe", "slow"],
173
+ description:
174
+ "methodical. thorough. reads the same file from two different paths, just to be sure. verifies before every write. double-checks the package.json before running anything. the paranoid architect rarely makes mistakes — because it rarely finishes fast enough to make them. your safest agent. your slowest agent.",
175
+ signature: [
176
+ { arrow: "→", body: 'read_file("src/api/router.ts")', comment: " # read 1" },
177
+ { arrow: "→", body: 'read_file("./src/api/router.ts")', comment: " # read 2" },
178
+ { arrow: "→", body: "ls src/api/", comment: " # just confirming" },
179
+ ],
180
+ common: "production systems, high-stakes codebases, builders with strong safety instincts",
181
+ risk: "token overhead, slow sessions, redundant verification loops",
182
+ closing: "safety is a feature. so is finishing.",
183
+ secondary: "precision",
184
+ },
185
+ precision: {
186
+ key: "precision",
187
+ index: "06",
188
+ name: "the precision builder",
189
+ tagline: "in. done. out. your agent doesn't linger.",
190
+ keywords: ["clean", "focused", "minimal"],
191
+ description:
192
+ "minimal footprint. focused calls. gets in, does the work, gets out. the precision builder is what every agent aspires to be — and what most agents aren't yet. few findings don't mean no findings. but it means your agent has found its rhythm. the gap between here and s-tier is smaller than you think.",
193
+ signature: [
194
+ { arrow: "→", body: "clean tool calls. right paths, right args." },
195
+ { arrow: "→", body: "sessions end when the task ends." },
196
+ { arrow: "→", body: "no redundant reads. no retry storms." },
197
+ ],
198
+ common: "mature agents, heavily policy-enforced setups, builders who've iterated for a while",
199
+ risk: "low finding count can mask edge cases that haven't surfaced yet",
200
+ closing: "rare. keep it that way.",
201
+ secondary: "ghost",
202
+ },
203
+ hammer: {
204
+ key: "hammer",
205
+ index: "07",
206
+ name: "the hammer",
207
+ tagline: "when something doesn't work, it tries the exact same thing again. harder.",
208
+ keywords: ["determined", "repetitive", "unbacked"],
209
+ description:
210
+ "determined. possibly to a fault. the hammer's first response to failure is repetition. no diagnosis, no arg change, no backoff. just the same call, six times, under 90 seconds, with conviction. occasionally works. mostly burns tokens and stalls the session. needs a budget more than it needs encouragement.",
211
+ signature: [
212
+ { arrow: "→", body: 'read_file("src/api/router.ts")', err: " → ENOENT" },
213
+ { arrow: "→", body: 'read_file("src/api/router.ts")', err: " → ENOENT" },
214
+ { arrow: "→", body: 'read_file("src/api/router.ts")', err: " → ENOENT" },
215
+ { comment: "# 6× total. file is at src/router.ts." },
216
+ ],
217
+ common: "agents without failure-handling policies, complex directory structures, ambiguous task framing",
218
+ risk: "token spirals, stalled sessions, no diagnostic signal ever surfaces",
219
+ closing: "the conviction is good. the diagnosis is missing.",
220
+ secondary: "optimist",
221
+ },
222
+ ghost: {
223
+ key: "ghost",
224
+ index: "08",
225
+ name: "the ghost",
226
+ tagline: "moves fast, leaves little trace. sometimes leaves a little too little trace.",
227
+ keywords: ["efficient", "quiet", "unverified"],
228
+ description:
229
+ "efficient. clean. doesn't hang around. the ghost completes tasks with minimal overhead — no redundant reads, no retry storms, no boundary drift. the risk is quiet: it doesn't always check that things worked. the build passes. or it looks like it does. the ghost trusts its own output more than it should.",
230
+ signature: [
231
+ { arrow: "→", body: 'write_file("src/api/router.ts")', comment: " # done" },
232
+ { comment: "→ [no read_file to verify]" },
233
+ { comment: "→ [no test run after write]" },
234
+ { comment: "# task complete. # maybe." },
235
+ ],
236
+ common: "fast-moving solo projects, low-constraint CLAUDE.md setups, minimal oversight workflows",
237
+ risk: "silent failures, unverified writes, false completion signals",
238
+ closing: "fast is good. verified-fast is better.",
239
+ secondary: "precision",
240
+ },
241
+ };
242
+
243
+ const ARCHETYPE_ORDER = ["optimist", "cowboy", "explorer", "goldfish", "architect", "precision", "hammer", "ghost"];
244
+
245
+ // Pixel sigil component — renders an 8x8 grid from a SIGILS entry
246
+ function Sigil({ archetypeKey }) {
247
+ // Normalize once so every downstream lookup (SIGILS, ARCHETYPES) hits the
248
+ // same safe key. Previously the SIGILS lookup had a fallback but the index
249
+ // line still indexed ARCHETYPES[archetypeKey] directly, which crashed on
250
+ // an unknown key (TypeError: Cannot read properties of undefined).
251
+ const safeKey = ARCHETYPES[archetypeKey] ? archetypeKey : "optimist";
252
+ const grid = SIGILS[safeKey] || SIGILS.optimist;
253
+ const cells = [];
254
+ for (let y = 0; y < 8; y++) {
255
+ const row = grid[y] || "........";
256
+ for (let x = 0; x < 8; x++) {
257
+ const c = row[x] || ".";
258
+ let cls = "px";
259
+ if (c === "o") cls += " on";
260
+ else if (c === "p") cls += " p";
261
+ else if (c === "g") cls += " g";
262
+ else if (c === "d") cls += " d";
263
+ cells.push(<div key={y * 8 + x} className={cls} />);
264
+ }
265
+ }
266
+ return (
267
+ <div className="sigil-wrap">
268
+ <div className="sigil">{cells}</div>
269
+ <div className="sigil-label">
270
+ <span className="ix">№{ARCHETYPES[safeKey].index}</span>
271
+ sigil
272
+ </div>
273
+ </div>
274
+ );
275
+ }
276
+
277
+ Object.assign(window, { ARCHETYPES, ARCHETYPE_ORDER, SIGILS, Sigil });