@infinitedusky/indusk-mcp 1.36.0 → 1.36.1

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 (27) hide show
  1. package/admin/.next/BUILD_ID +1 -1
  2. package/admin/.next/build-manifest.json +3 -3
  3. package/admin/.next/fallback-build-manifest.json +3 -3
  4. package/admin/.next/server/app/_global-error.html +1 -1
  5. package/admin/.next/server/app/_global-error.rsc +1 -1
  6. package/admin/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/admin/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/admin/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/admin/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/admin/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/admin/.next/server/chunks/ssr/[root-of-the-server]__0f9b~qs._.js +1 -1
  12. package/admin/.next/server/chunks/ssr/[root-of-the-server]__0f9b~qs._.js.map +1 -1
  13. package/admin/.next/server/middleware-build-manifest.js +3 -3
  14. package/admin/.next/server/pages/500.html +1 -1
  15. package/admin/.next/trace +1 -1
  16. package/admin/.next/trace-build +1 -1
  17. package/dist/bin/commands/init.js +3 -4
  18. package/dist/bin/commands/update.js +1 -15
  19. package/dist/lib/config.d.ts +0 -10
  20. package/dist/lib/eval/findings.d.ts +1 -2
  21. package/dist/lib/eval/findings.js +1 -2
  22. package/dist/lib/eval/prompt-builder.d.ts +4 -3
  23. package/dist/lib/eval/prompt-builder.js +4 -3
  24. package/package.json +2 -2
  25. /package/admin/.next/static/{NhCz5cvfQdZYJkuB2tJCx → q5rN4-2d4PihGGG40ByLW}/_buildManifest.js +0 -0
  26. /package/admin/.next/static/{NhCz5cvfQdZYJkuB2tJCx → q5rN4-2d4PihGGG40ByLW}/_clientMiddlewareManifest.js +0 -0
  27. /package/admin/.next/static/{NhCz5cvfQdZYJkuB2tJCx → q5rN4-2d4PihGGG40ByLW}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- NhCz5cvfQdZYJkuB2tJCx
1
+ q5rN4-2d4PihGGG40ByLW
@@ -7,9 +7,9 @@
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/NhCz5cvfQdZYJkuB2tJCx/_buildManifest.js",
11
- "static/NhCz5cvfQdZYJkuB2tJCx/_ssgManifest.js",
12
- "static/NhCz5cvfQdZYJkuB2tJCx/_clientMiddlewareManifest.js"
10
+ "static/q5rN4-2d4PihGGG40ByLW/_buildManifest.js",
11
+ "static/q5rN4-2d4PihGGG40ByLW/_ssgManifest.js",
12
+ "static/q5rN4-2d4PihGGG40ByLW/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/15r3deq0oc~d..js",
@@ -5,9 +5,9 @@
5
5
  "devFiles": [],
6
6
  "polyfillFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/NhCz5cvfQdZYJkuB2tJCx/_buildManifest.js",
9
- "static/NhCz5cvfQdZYJkuB2tJCx/_ssgManifest.js",
10
- "static/NhCz5cvfQdZYJkuB2tJCx/_clientMiddlewareManifest.js"
8
+ "static/q5rN4-2d4PihGGG40ByLW/_buildManifest.js",
9
+ "static/q5rN4-2d4PihGGG40ByLW/_ssgManifest.js",
10
+ "static/q5rN4-2d4PihGGG40ByLW/_clientMiddlewareManifest.js"
11
11
  ],
12
12
  "rootMainFiles": []
13
13
  }
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/15r3deq0oc~d..js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"NhCz5cvfQdZYJkuB2tJCx\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/15r3deq0oc~d..js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"q5rN4-2d4PihGGG40ByLW\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -6,7 +6,7 @@
6
6
  8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"ViewportBoundary"]
7
7
  a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"MetadataBoundary"]
8
8
  c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"NhCz5cvfQdZYJkuB2tJCx"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"q5rN4-2d4PihGGG40ByLW"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -1,5 +1,5 @@
1
1
  1:"$Sreact.fragment"
2
2
  2:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"OutletBoundary"]
3
3
  3:"$Sreact.suspense"
4
- 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"NhCz5cvfQdZYJkuB2tJCx"}
4
+ 0:{"rsc":["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"q5rN4-2d4PihGGG40ByLW"}
5
5
  4:null
@@ -6,7 +6,7 @@
6
6
  8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"ViewportBoundary"]
7
7
  a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"MetadataBoundary"]
8
8
  c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"default",1]
9
- 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"NhCz5cvfQdZYJkuB2tJCx"}
9
+ 0:{"P":null,"c":["","_global-error"],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]}],[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","html",null,{"id":"__next_error__","children":[["$","head",null,{"children":[["$","title",null,{"children":"500: This page couldn’t load"}],["$","style",null,{"dangerouslySetInnerHTML":{"__html":":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }"}}]]}],["$","body",null,{"children":["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","display":"flex","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"style":{"marginTop":"-32px","maxWidth":"325px","padding":"32px 28px","textAlign":"left"},"children":[["$","svg",null,{"width":"32","height":"32","viewBox":"-0.2 -1.5 32 32","fill":"none","style":{"marginBottom":"24px"},"children":["$","path",null,{"d":"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z","fill":"var(--next-error-title)"}]}],["$","h1",null,{"style":{"fontSize":"24px","fontWeight":500,"letterSpacing":"-0.02em","lineHeight":"32px","margin":"0 0 12px 0","color":"var(--next-error-title)"},"children":"This page couldn’t load"}],["$","p",null,{"style":{"fontSize":"14px","fontWeight":400,"lineHeight":"21px","margin":"0 0 20px 0","color":"var(--next-error-message)"},"children":"A server error occurred. Reload to try again."}],["$","form",null,{"style":{"margin":0},"children":["$","button",null,{"type":"submit","style":{"display":"inline-flex","alignItems":"center","justifyContent":"center","height":"32px","padding":"0 12px","fontSize":"14px","fontWeight":500,"lineHeight":"20px","borderRadius":"6px","cursor":"pointer","color":"var(--next-error-btn-text)","background":"var(--next-error-btn-bg)","border":"var(--next-error-btn-border)"},"children":"Reload"}]}]]}]}]}]]}],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$@7"],["$","$1","h",{"children":[null,["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"q5rN4-2d4PihGGG40ByLW"}
10
10
  d:[]
11
11
  7:"$Wd"
12
12
  9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
@@ -3,4 +3,4 @@
3
3
  3:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
5
  5:I[61299,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","link","0",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","1",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"NhCz5cvfQdZYJkuB2tJCx"}
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","link","0",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","1",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"q5rN4-2d4PihGGG40ByLW"}
@@ -2,4 +2,4 @@
2
2
  2:I[85530,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"default"]
3
3
  3:I[50571,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0yelgl0o38y_u.js"],"default"]
4
4
  4:[]
5
- 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"NhCz5cvfQdZYJkuB2tJCx"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"q5rN4-2d4PihGGG40ByLW"}
@@ -1 +1 @@
1
- 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"NhCz5cvfQdZYJkuB2tJCx"}
1
+ 0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"q5rN4-2d4PihGGG40ByLW"}
@@ -1,3 +1,3 @@
1
- module.exports=[22301,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},68406,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},97568,a=>{"use strict";let b={src:a.i(68406).default,width:256,height:256};a.s(["default",0,b])},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},54779,a=>{"use strict";var b=a.i(44673),c=a.i(23272),d=a.i(20858),e=a.i(64309),f=a.i(57729);function g({scorecards:a,descriptions:c}){let d=[...a].sort((a,b)=>b.timestamp.localeCompare(a.timestamp));return(0,b.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"scorecards-list",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"text-xl font-semibold text-gray-900",children:"Eval Scorecards"}),(0,b.jsxs)("p",{className:"text-sm text-gray-600",children:["Per-commit scores produced by the eval agent on every"," ",(0,b.jsx)("code",{className:"rounded bg-gray-100 px-1 text-xs font-mono",children:"jj describe"}),". This is a self-improvement signal — what worked, what didn't, what the system could improve. Not tied to any single plan."]}),(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["Source: ",(0,b.jsx)("span",{className:"font-mono",children:".indusk/eval/results.log"})," ","across every registered project (",d.length," entries, most recent first)"]})]}),0===d.length?(0,b.jsxs)("p",{className:"text-sm text-gray-500","data-testid":"scorecards-empty",children:["No scorecards yet — run a few"," ",(0,b.jsx)("code",{className:"font-mono",children:"jj describe"})," commands inside Claude Code, and they'll start appearing."]}):(0,b.jsx)("div",{className:"flex flex-col gap-2",children:d.map(a=>(0,b.jsx)(h,{card:a,jjDescription:a.changeId?c?.get(String(a.changeId)):void 0},`${a.timestamp}-${a.changeId??"unknown"}-${a.project??""}`))})]})}function h({card:a,jjDescription:f}){var g;let k,l=a.error?"error":"ok",m=a.summary??a.message,n=f?.split("\n")[0]?.trim()||m||"(no description)",o=Array.isArray(a.questions)?a.questions:[],p=(0,b.jsxs)("span",{className:"flex flex-1 items-center gap-2 truncate",children:[(0,b.jsx)("span",{className:"text-xs text-gray-500 font-mono shrink-0",children:Number.isNaN((k=new Date(g=a.timestamp)).getTime())?g:k.toISOString().replace("T"," ").replace(/\.\d+Z$/,"Z")}),a.project?(0,b.jsx)(d.Badge,{variant:"neutral","data-testid":"scorecard-project-label",className:"shrink-0",children:a.project}):null,(0,b.jsx)("span",{className:"text-xs text-gray-500 font-mono shrink-0",children:(a.changeId??"—").slice(0,8)}),(0,b.jsx)("span",{className:"text-sm text-gray-800 truncate",children:n})]}),q=(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[a.mode?(0,b.jsx)("span",{className:"text-xs text-gray-500",children:String(a.mode)}):null,(0,b.jsx)(d.Badge,{variant:"error"===l?"blocked":"passing",children:"error"===l?"✗ error":"✓ ok"})]});return(0,b.jsx)(e.CollapsibleSection,{title:p,headerRight:q,defaultOpen:!1,children:(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[f&&(0,b.jsxs)("section",{className:"rounded border border-blue-200 bg-blue-50 p-3","data-testid":"scorecard-commit-message",children:[(0,b.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-blue-700",children:"Commit message"}),(0,b.jsx)("pre",{className:"mt-1 text-sm text-gray-800 whitespace-pre-wrap font-sans",children:f})]}),(0,b.jsx)(i,{card:a}),o.length>0&&(0,b.jsx)(j,{questions:o}),0===o.length&&(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["No question results recorded for this scorecard.",a.error?" The eval run errored before producing a structured scorecard — see the message below.":""]}),a.error&&a.message?(0,b.jsx)("pre",{className:"overflow-x-auto rounded bg-red-50 p-3 text-xs font-mono text-red-800 whitespace-pre-wrap",children:String(a.message)}):null,a.error||f||!m?null:(0,b.jsx)(c.Markdown,{children:`**Eval-agent summary:** ${m}`})]})})}function i({card:a}){let c=[["Change",a.changeId?String(a.changeId):void 0],["Timestamp",a.timestamp],["Mode",a.mode?String(a.mode):void 0],["Graphiti writes","number"==typeof a.graphitiWrites?a.graphitiWrites:void 0],["Project group",a.projectGroup?String(a.projectGroup):void 0]];return(0,b.jsx)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-gray-700 sm:grid-cols-3",children:c.filter(([,a])=>void 0!==a&&""!==a).map(([a,c])=>(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("dt",{className:"font-semibold text-gray-500 uppercase tracking-wide",children:a}),(0,b.jsx)("dd",{className:"font-mono break-all",children:String(c)})]},a))})}function j({questions:a}){return(0,b.jsxs)(f.Table,{children:[(0,b.jsx)(f.TableHeader,{children:(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableHead,{children:"Question"}),(0,b.jsx)(f.TableHead,{children:"Answer"}),(0,b.jsx)(f.TableHead,{children:"Severity"}),(0,b.jsx)(f.TableHead,{children:"Finding / Evidence"})]})}),(0,b.jsx)(f.TableBody,{children:a.map(a=>{let c;return(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"font-semibold text-xs text-gray-900",children:a.id??"—"}),a.question&&(0,b.jsx)("span",{className:"text-xs text-gray-600",children:a.question})]})}),(0,b.jsx)(f.TableCell,{children:a.answer??"—"}),(0,b.jsx)(f.TableCell,{children:(0,b.jsx)(d.Badge,{variant:"high"===(c=(a.severity??"").toLowerCase())||"critical"===c||"blocker"===c?"blocked":"medium"===c||"warn"===c||"warning"===c?"writable":"low"===c||"info"===c||"ok"===c?"passing":"neutral",children:a.severity??"—"})}),(0,b.jsx)(f.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[a.finding&&(0,b.jsx)("span",{className:"text-sm text-gray-800",children:a.finding}),a.evidence&&(0,b.jsxs)("span",{className:"text-xs text-gray-500 italic",children:["Evidence: ",a.evidence]})]})})]},a.id??`${a.question}-${a.answer}`)})})]})}var k=a.i(34011),l=a.i(42717),m=a.i(765),n=a.i(74533);async function o({params:a}){let{project:c}=await a,d=(0,m.getProjectPath)(c);if(!d||!(0,m.projectPathExists)(d))return(0,b.jsx)(k.StaleProjectFailurePage,{projectName:c,projectPath:d??void 0});let e=new Date(0),f=new Date(Date.now()+15768e7),h=await (0,l.readEvalScorecards)(d,{from:e,to:f}).catch(()=>[]),i=function(a,b){let c=new Map;for(let d of new Set(b)){let b=function(a,b){if(!b||!/^[a-z0-9]+$/i.test(b))return null;try{let c=(0,n.execFileSync)("jj",["log","-r",b,"--no-graph","-T","description","--ignore-working-copy"],{cwd:a,encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim();if(""!==c)return c}catch{}try{let c=(0,n.execFileSync)("git",["log","-1","--format=%B",b],{cwd:a,encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim();if(""!==c)return c}catch{}return null}(a,d);b&&c.set(d,b)}return c}(d,h.map(a=>a.changeId?String(a.changeId):"").filter(a=>""!==a));return 0===h.length?(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("h1",{className:"text-lg font-semibold text-gray-900",children:["Scorecards — ",c]}),(0,b.jsx)("p",{className:"text-sm text-gray-500",children:"No eval scorecards recorded for this project yet. Commit via `jj describe` to trigger the eval agent."})]}):(0,b.jsx)(g,{scorecards:h,descriptions:i})}a.s(["default",0,o],54779)},99459,a=>{a.n(a.i(54779))}];
1
+ module.exports=[22301,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},68406,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},97568,a=>{"use strict";let b={src:a.i(68406).default,width:256,height:256};a.s(["default",0,b])},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},54779,a=>{"use strict";var b=a.i(44673),c=a.i(23272),d=a.i(20858),e=a.i(64309),f=a.i(57729);function g({scorecards:a,descriptions:c}){let d=[...a].sort((a,b)=>b.timestamp.localeCompare(a.timestamp));return(0,b.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"scorecards-list",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"text-xl font-semibold text-gray-900",children:"Eval Scorecards"}),(0,b.jsxs)("p",{className:"text-sm text-gray-600",children:["Per-commit scores produced by the eval agent on every"," ",(0,b.jsx)("code",{className:"rounded bg-gray-100 px-1 text-xs font-mono",children:"git commit"}),". This is a self-improvement signal — what worked, what didn't, what the system could improve. Not tied to any single plan."]}),(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["Source: ",(0,b.jsx)("span",{className:"font-mono",children:".indusk/eval/results.log"})," ","across every registered project (",d.length," entries, most recent first)"]})]}),0===d.length?(0,b.jsxs)("p",{className:"text-sm text-gray-500","data-testid":"scorecards-empty",children:["No scorecards yet — make a few"," ",(0,b.jsx)("code",{className:"font-mono",children:"git commit"}),"s inside Claude Code, and they'll start appearing."]}):(0,b.jsx)("div",{className:"flex flex-col gap-2",children:d.map(a=>(0,b.jsx)(h,{card:a,commitMessage:a.changeId?c?.get(String(a.changeId)):void 0},`${a.timestamp}-${a.changeId??"unknown"}-${a.project??""}`))})]})}function h({card:a,commitMessage:f}){var g;let k,l=a.error?"error":"ok",m=a.summary??a.message,n=f?.split("\n")[0]?.trim()||m||"(no description)",o=Array.isArray(a.questions)?a.questions:[],p=(0,b.jsxs)("span",{className:"flex flex-1 items-center gap-2 truncate",children:[(0,b.jsx)("span",{className:"text-xs text-gray-500 font-mono shrink-0",children:Number.isNaN((k=new Date(g=a.timestamp)).getTime())?g:k.toISOString().replace("T"," ").replace(/\.\d+Z$/,"Z")}),a.project?(0,b.jsx)(d.Badge,{variant:"neutral","data-testid":"scorecard-project-label",className:"shrink-0",children:a.project}):null,(0,b.jsx)("span",{className:"text-xs text-gray-500 font-mono shrink-0",children:(a.changeId??"—").slice(0,8)}),(0,b.jsx)("span",{className:"text-sm text-gray-800 truncate",children:n})]}),q=(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[a.mode?(0,b.jsx)("span",{className:"text-xs text-gray-500",children:String(a.mode)}):null,(0,b.jsx)(d.Badge,{variant:"error"===l?"blocked":"passing",children:"error"===l?"✗ error":"✓ ok"})]});return(0,b.jsx)(e.CollapsibleSection,{title:p,headerRight:q,defaultOpen:!1,children:(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[f&&(0,b.jsxs)("section",{className:"rounded border border-blue-200 bg-blue-50 p-3","data-testid":"scorecard-commit-message",children:[(0,b.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-blue-700",children:"Commit message"}),(0,b.jsx)("pre",{className:"mt-1 text-sm text-gray-800 whitespace-pre-wrap font-sans",children:f})]}),(0,b.jsx)(i,{card:a}),o.length>0&&(0,b.jsx)(j,{questions:o}),0===o.length&&(0,b.jsxs)("p",{className:"text-xs text-gray-500",children:["No question results recorded for this scorecard.",a.error?" The eval run errored before producing a structured scorecard — see the message below.":""]}),a.error&&a.message?(0,b.jsx)("pre",{className:"overflow-x-auto rounded bg-red-50 p-3 text-xs font-mono text-red-800 whitespace-pre-wrap",children:String(a.message)}):null,a.error||f||!m?null:(0,b.jsx)(c.Markdown,{children:`**Eval-agent summary:** ${m}`})]})})}function i({card:a}){let c=[["Change",a.changeId?String(a.changeId):void 0],["Timestamp",a.timestamp],["Mode",a.mode?String(a.mode):void 0],["Graphiti writes","number"==typeof a.graphitiWrites?a.graphitiWrites:void 0],["Project group",a.projectGroup?String(a.projectGroup):void 0]];return(0,b.jsx)("dl",{className:"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-gray-700 sm:grid-cols-3",children:c.filter(([,a])=>void 0!==a&&""!==a).map(([a,c])=>(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("dt",{className:"font-semibold text-gray-500 uppercase tracking-wide",children:a}),(0,b.jsx)("dd",{className:"font-mono break-all",children:String(c)})]},a))})}function j({questions:a}){return(0,b.jsxs)(f.Table,{children:[(0,b.jsx)(f.TableHeader,{children:(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableHead,{children:"Question"}),(0,b.jsx)(f.TableHead,{children:"Answer"}),(0,b.jsx)(f.TableHead,{children:"Severity"}),(0,b.jsx)(f.TableHead,{children:"Finding / Evidence"})]})}),(0,b.jsx)(f.TableBody,{children:a.map(a=>{let c;return(0,b.jsxs)(f.TableRow,{children:[(0,b.jsx)(f.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("span",{className:"font-semibold text-xs text-gray-900",children:a.id??"—"}),a.question&&(0,b.jsx)("span",{className:"text-xs text-gray-600",children:a.question})]})}),(0,b.jsx)(f.TableCell,{children:a.answer??"—"}),(0,b.jsx)(f.TableCell,{children:(0,b.jsx)(d.Badge,{variant:"high"===(c=(a.severity??"").toLowerCase())||"critical"===c||"blocker"===c?"blocked":"medium"===c||"warn"===c||"warning"===c?"writable":"low"===c||"info"===c||"ok"===c?"passing":"neutral",children:a.severity??"—"})}),(0,b.jsx)(f.TableCell,{children:(0,b.jsxs)("div",{className:"flex flex-col gap-1",children:[a.finding&&(0,b.jsx)("span",{className:"text-sm text-gray-800",children:a.finding}),a.evidence&&(0,b.jsxs)("span",{className:"text-xs text-gray-500 italic",children:["Evidence: ",a.evidence]})]})})]},a.id??`${a.question}-${a.answer}`)})})]})}var k=a.i(34011),l=a.i(42717),m=a.i(765),n=a.i(74533);async function o({params:a}){let{project:c}=await a,d=(0,m.getProjectPath)(c);if(!d||!(0,m.projectPathExists)(d))return(0,b.jsx)(k.StaleProjectFailurePage,{projectName:c,projectPath:d??void 0});let e=new Date(0),f=new Date(Date.now()+15768e7),h=await (0,l.readEvalScorecards)(d,{from:e,to:f}).catch(()=>[]),i=function(a,b){let c=new Map;for(let d of new Set(b)){let b=function(a,b){if(!b||!/^[a-z0-9]+$/i.test(b))return null;try{let c=(0,n.execFileSync)("git",["log","-1","--format=%B",b],{cwd:a,encoding:"utf-8",stdio:["ignore","pipe","ignore"]}).trim();if(""!==c)return c}catch{}return null}(a,d);b&&c.set(d,b)}return c}(d,h.map(a=>a.changeId?String(a.changeId):"").filter(a=>""!==a));return 0===h.length?(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("h1",{className:"text-lg font-semibold text-gray-900",children:["Scorecards — ",c]}),(0,b.jsx)("p",{className:"text-sm text-gray-500",children:"No eval scorecards recorded for this project yet. Make a `git commit` to trigger the eval agent."})]}):(0,b.jsx)(g,{scorecards:h,descriptions:i})}a.s(["default",0,o],54779)},99459,a=>{a.n(a.i(54779))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0f9b~qs._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../node_modules/.pnpm/next%4016.2.4_%40opentelemetry%2Bapi%401.9.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/invariant-error.ts","../../../../../../apps/indusk-admin/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../apps/indusk-admin/src/components/Scorecards.tsx","../../../../../../apps/indusk-admin/src/app/p/%5Bproject%5D/scorecards/page.tsx","../../../../../../apps/indusk-admin/src/lib/vcs.ts"],"sourcesContent":["export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n","import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","import { Markdown } from \"@/components/Markdown\";\nimport { Badge, type BadgeVariant } from \"@/components/ui/Badge\";\nimport { CollapsibleSection } from \"@/components/ui/CollapsibleSection\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/Table\";\nimport type { Scorecard } from \"@/lib/planning-reader\";\n\n/**\n * Scorecard rendering. Used by the global /scorecards page (every scorecard\n * from `.indusk/eval/results.log`, framed as a system-improvement signal,\n * not as plan-specific data).\n *\n * Per the user's framing: scorecards are not relevant to any individual plan\n * — they're a feedback loop on the whole system. The `/scorecards` page is\n * the place where they live; PlanDetail no longer renders them.\n */\n\ninterface ScorecardQuestion {\n id?: string;\n question?: string;\n answer?: string;\n severity?: string;\n evidence?: string;\n finding?: string;\n}\n\nexport interface ScorecardsListProps {\n scorecards: Scorecard[];\n /**\n * Optional commit message per change-or-commit ID. Surfaces the human-\n * authored intent of the commit alongside the LLM-generated summary —\n * the real \"what was being scored\" signal. Resolved by `getCommitMessages`\n * in `src/lib/vcs.ts` (tries jj, falls back to git).\n */\n descriptions?: Map<string, string>;\n}\n\nexport function ScorecardsList({\n scorecards,\n descriptions,\n}: ScorecardsListProps) {\n // Most-recent-first sort (ISO 8601 timestamps sort lexicographically in\n // reverse). Done here so the page-level walker can pass an unsorted\n // union of per-project entries — the list owns the ordering contract.\n const sorted = [...scorecards].sort((a, b) =>\n b.timestamp.localeCompare(a.timestamp),\n );\n return (\n <section className=\"flex flex-col gap-4\" data-testid=\"scorecards-list\">\n <header className=\"flex flex-col gap-1\">\n <h1 className=\"text-xl font-semibold text-gray-900\">Eval Scorecards</h1>\n <p className=\"text-sm text-gray-600\">\n Per-commit scores produced by the eval agent on every{\" \"}\n <code className=\"rounded bg-gray-100 px-1 text-xs font-mono\">\n jj describe\n </code>\n . This is a self-improvement signal — what worked, what didn't, what\n the system could improve. Not tied to any single plan.\n </p>\n <p className=\"text-xs text-gray-500\">\n Source: <span className=\"font-mono\">.indusk/eval/results.log</span>{\" \"}\n across every registered project ({sorted.length} entries, most recent\n first)\n </p>\n </header>\n\n {sorted.length === 0 ? (\n <p className=\"text-sm text-gray-500\" data-testid=\"scorecards-empty\">\n No scorecards yet — run a few{\" \"}\n <code className=\"font-mono\">jj describe</code> commands inside Claude\n Code, and they'll start appearing.\n </p>\n ) : (\n <div className=\"flex flex-col gap-2\">\n {sorted.map((card) => (\n <ScorecardCard\n key={`${card.timestamp}-${card.changeId ?? \"unknown\"}-${card.project ?? \"\"}`}\n card={card}\n jjDescription={\n card.changeId\n ? descriptions?.get(String(card.changeId))\n : undefined\n }\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nfunction ScorecardCard({\n card,\n jjDescription,\n}: {\n card: Scorecard;\n jjDescription?: string;\n}) {\n const status = card.error ? \"error\" : \"ok\";\n const llmSummary =\n (card.summary as string | undefined) ??\n (card.message as string | undefined);\n // Prefer the actual jj describe text when we have it — it's the human-\n // authored intent of the commit being scored. Fall back to the LLM-\n // generated summary, then to a placeholder.\n const headerLine =\n jjDescription?.split(\"\\n\")[0]?.trim() || llmSummary || \"(no description)\";\n const questions = Array.isArray(card.questions)\n ? (card.questions as ScorecardQuestion[])\n : [];\n const titleNode = (\n <span className=\"flex flex-1 items-center gap-2 truncate\">\n <span className=\"text-xs text-gray-500 font-mono shrink-0\">\n {formatTimestamp(card.timestamp)}\n </span>\n {card.project ? (\n <Badge\n variant=\"neutral\"\n data-testid=\"scorecard-project-label\"\n className=\"shrink-0\"\n >\n {card.project}\n </Badge>\n ) : null}\n <span className=\"text-xs text-gray-500 font-mono shrink-0\">\n {(card.changeId ?? \"—\").slice(0, 8)}\n </span>\n <span className=\"text-sm text-gray-800 truncate\">{headerLine}</span>\n </span>\n );\n const headerRight = (\n <span className=\"flex items-center gap-2\">\n {card.mode ? (\n <span className=\"text-xs text-gray-500\">{String(card.mode)}</span>\n ) : null}\n <Badge variant={status === \"error\" ? \"blocked\" : \"passing\"}>\n {status === \"error\" ? \"✗ error\" : \"✓ ok\"}\n </Badge>\n </span>\n );\n return (\n <CollapsibleSection\n title={titleNode}\n headerRight={headerRight}\n defaultOpen={false}\n >\n <div className=\"flex flex-col gap-3\">\n {jjDescription && (\n <section\n className=\"rounded border border-blue-200 bg-blue-50 p-3\"\n data-testid=\"scorecard-commit-message\"\n >\n <h3 className=\"text-xs font-semibold uppercase tracking-wide text-blue-700\">\n Commit message\n </h3>\n <pre className=\"mt-1 text-sm text-gray-800 whitespace-pre-wrap font-sans\">\n {jjDescription}\n </pre>\n </section>\n )}\n <ScorecardMeta card={card} />\n {questions.length > 0 && <ScorecardQuestions questions={questions} />}\n {questions.length === 0 && (\n <p className=\"text-xs text-gray-500\">\n No question results recorded for this scorecard.\n {card.error\n ? \" The eval run errored before producing a structured scorecard — see the message below.\"\n : \"\"}\n </p>\n )}\n {card.error && card.message ? (\n <pre className=\"overflow-x-auto rounded bg-red-50 p-3 text-xs font-mono text-red-800 whitespace-pre-wrap\">\n {String(card.message)}\n </pre>\n ) : null}\n {!card.error && !jjDescription && llmSummary ? (\n // Fallback when we couldn't resolve the commit message — show the\n // LLM-generated summary so the card isn't completely contextless.\n <Markdown>{`**Eval-agent summary:** ${llmSummary}`}</Markdown>\n ) : null}\n </div>\n </CollapsibleSection>\n );\n}\n\nfunction ScorecardMeta({ card }: { card: Scorecard }) {\n const fields: Array<[string, string | number | undefined]> = [\n [\"Change\", card.changeId ? String(card.changeId) : undefined],\n [\"Timestamp\", card.timestamp],\n [\"Mode\", card.mode ? String(card.mode) : undefined],\n [\n \"Graphiti writes\",\n typeof card.graphitiWrites === \"number\" ? card.graphitiWrites : undefined,\n ],\n [\n \"Project group\",\n card.projectGroup ? String(card.projectGroup) : undefined,\n ],\n ];\n return (\n <dl className=\"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-gray-700 sm:grid-cols-3\">\n {fields\n .filter(([, v]) => v !== undefined && v !== \"\")\n .map(([k, v]) => (\n <div key={k} className=\"flex flex-col\">\n <dt className=\"font-semibold text-gray-500 uppercase tracking-wide\">\n {k}\n </dt>\n <dd className=\"font-mono break-all\">{String(v)}</dd>\n </div>\n ))}\n </dl>\n );\n}\n\nfunction ScorecardQuestions({ questions }: { questions: ScorecardQuestion[] }) {\n return (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Question</TableHead>\n <TableHead>Answer</TableHead>\n <TableHead>Severity</TableHead>\n <TableHead>Finding / Evidence</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {questions.map((q) => (\n <TableRow key={q.id ?? `${q.question}-${q.answer}`}>\n <TableCell>\n <div className=\"flex flex-col\">\n <span className=\"font-semibold text-xs text-gray-900\">\n {q.id ?? \"—\"}\n </span>\n {q.question && (\n <span className=\"text-xs text-gray-600\">{q.question}</span>\n )}\n </div>\n </TableCell>\n <TableCell>{q.answer ?? \"—\"}</TableCell>\n <TableCell>\n <Badge variant={severityToBadge(q.severity)}>\n {q.severity ?? \"—\"}\n </Badge>\n </TableCell>\n <TableCell>\n <div className=\"flex flex-col gap-1\">\n {q.finding && (\n <span className=\"text-sm text-gray-800\">{q.finding}</span>\n )}\n {q.evidence && (\n <span className=\"text-xs text-gray-500 italic\">\n Evidence: {q.evidence}\n </span>\n )}\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n}\n\nfunction severityToBadge(severity: string | undefined): BadgeVariant {\n const s = (severity ?? \"\").toLowerCase();\n if (s === \"high\" || s === \"critical\" || s === \"blocker\") return \"blocked\";\n if (s === \"medium\" || s === \"warn\" || s === \"warning\") return \"writable\";\n if (s === \"low\" || s === \"info\" || s === \"ok\") return \"passing\";\n return \"neutral\";\n}\n\nfunction formatTimestamp(ts: string): string {\n const d = new Date(ts);\n if (Number.isNaN(d.getTime())) return ts;\n return d\n .toISOString()\n .replace(\"T\", \" \")\n .replace(/\\.\\d+Z$/, \"Z\");\n}\n","import { ScorecardsList } from \"@/components/Scorecards\";\nimport { StaleProjectFailurePage } from \"@/components/StaleProjectFailurePage\";\nimport { readEvalScorecards } from \"@/lib/planning-reader\";\nimport { getProjectPath, projectPathExists } from \"@/lib/registry-client\";\nimport { getCommitMessages } from \"@/lib/vcs\";\n\ninterface ScorecardsRouteProps {\n params: Promise<{ project: string }>;\n}\n\n/**\n * Per-project scorecards view — reads a single project's\n * `.indusk/eval/results.log` and renders the list. Replaces the Phase 4\n * cross-project `/scorecards` route, which is removed in Phase 6 as part\n * of the project-siloing move.\n *\n * Behavior parallels the per-project layout's stale-path handling: if the\n * project name isn't registered or its path no longer exists on disk,\n * render the same `<StaleProjectFailurePage>` (HTTP 200) that the rest of\n * the `/p/{project}/...` routes use — not a 404 or 500. Unregistered\n * `{project}` inside `/p/[project]/...` is an inherited contract from T11\n * and we keep it here.\n */\nexport default async function PerProjectScorecardsPage({\n params,\n}: ScorecardsRouteProps) {\n const { project } = await params;\n const projectPath = getProjectPath(project);\n\n if (!projectPath || !projectPathExists(projectPath)) {\n return (\n <StaleProjectFailurePage\n projectName={project}\n projectPath={projectPath ?? undefined}\n />\n );\n }\n\n const since = new Date(0);\n const until = new Date(Date.now() + 5 * 365 * 24 * 60 * 60 * 1000);\n\n const scorecards = await readEvalScorecards(projectPath, {\n from: since,\n to: until,\n }).catch(() => []);\n\n const ids = scorecards\n .map((s) => (s.changeId ? String(s.changeId) : \"\"))\n .filter((id) => id !== \"\");\n const messages = getCommitMessages(projectPath, ids);\n\n // Single-project view — deliberately omit the project-name label per row\n // (it'd be redundant noise since every scorecard belongs to {project}).\n // ScorecardsList handles `undefined` / missing `project` fields by not\n // rendering the label.\n if (scorecards.length === 0) {\n // Not an error — just no scorecards yet. Surface a calm empty state.\n return (\n <div className=\"flex flex-col gap-2\">\n <h1 className=\"text-lg font-semibold text-gray-900\">\n Scorecards — {project}\n </h1>\n <p className=\"text-sm text-gray-500\">\n No eval scorecards recorded for this project yet. Commit via `jj\n describe` to trigger the eval agent.\n </p>\n </div>\n );\n }\n\n return <ScorecardsList scorecards={scorecards} descriptions={messages} />;\n}\n","import { execFileSync } from \"node:child_process\";\n\n/**\n * Look up the commit message for a change-or-commit identifier.\n *\n * The eval agent fires on EITHER `jj describe` OR a git commit — both\n * produce a commit-like artifact with a message. The scorecard's\n * `changeId` is whichever the trigger captured. We try jj first (it's\n * the project default in dusk and InDusk-using repos) and fall back to\n * git (for repos where the trigger comes from a git commit instead).\n *\n * Returns `null` when:\n * - neither jj nor git resolves the id\n * - id is empty / non-alphanumeric\n * - both lookups fail (not a vcs repo, id abandoned, etc.)\n *\n * Both calls are read-only — `jj log --ignore-working-copy` doesn't snapshot,\n * and `git log` is always read-only.\n */\nexport function getCommitMessage(\n projectRoot: string,\n id: string,\n): string | null {\n if (!id || !/^[a-z0-9]+$/i.test(id)) return null;\n\n // Try jj first\n try {\n const out = execFileSync(\n \"jj\",\n [\n \"log\",\n \"-r\",\n id,\n \"--no-graph\",\n \"-T\",\n \"description\",\n \"--ignore-working-copy\",\n ],\n {\n cwd: projectRoot,\n encoding: \"utf-8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"],\n },\n );\n const trimmed = out.trim();\n if (trimmed !== \"\") return trimmed;\n } catch {\n // jj missing or id not in jj — fall through to git\n }\n\n // Fall back to git\n try {\n const out = execFileSync(\"git\", [\"log\", \"-1\", \"--format=%B\", id], {\n cwd: projectRoot,\n encoding: \"utf-8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"],\n });\n const trimmed = out.trim();\n if (trimmed !== \"\") return trimmed;\n } catch {\n // git missing or id not in git either\n }\n\n return null;\n}\n\n/**\n * Bulk-resolve commit messages for many ids. Deduplicates by id so the same\n * commit isn't queried twice per render.\n */\nexport function getCommitMessages(\n projectRoot: string,\n ids: string[],\n): Map<string, string> {\n const out = new Map<string, string>();\n for (const id of new Set(ids)) {\n const msg = getCommitMessage(projectRoot, id);\n if (msg) out.set(id, msg);\n }\n return out;\n}\n"],"names":["InvariantError","Error","constructor","message","options","endsWith","name","src","width","height","ScorecardsList","scorecards","descriptions","sorted","sort","a","b","timestamp","localeCompare","className","length","map","card","ScorecardCard","jjDescription","changeId","get","String","undefined","project","status","error","llmSummary","summary","headerLine","split","trim","questions","Array","isArray","titleNode","formatTimestamp","variant","slice","headerRight","mode","title","defaultOpen","ScorecardMeta","ScorecardQuestions","fields","graphitiWrites","projectGroup","filter","v","k","q","id","question","answer","severityToBadge","severity","finding","evidence","s","toLowerCase","ts","d","Date","Number","isNaN","getTime","toISOString","replace"],"mappings":"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","ignoreList":[0]}
1
+ {"version":3,"sources":["../../../../../../node_modules/.pnpm/next%4016.2.4_%40opentelemetry%2Bapi%401.9.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/shared/lib/invariant-error.ts","../../../../../../apps/indusk-admin/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../apps/indusk-admin/src/components/Scorecards.tsx","../../../../../../apps/indusk-admin/src/app/p/%5Bproject%5D/scorecards/page.tsx","../../../../../../apps/indusk-admin/src/lib/vcs.ts"],"sourcesContent":["export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n","import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","import { Markdown } from \"@/components/Markdown\";\nimport { Badge, type BadgeVariant } from \"@/components/ui/Badge\";\nimport { CollapsibleSection } from \"@/components/ui/CollapsibleSection\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/Table\";\nimport type { Scorecard } from \"@/lib/planning-reader\";\n\n/**\n * Scorecard rendering. Used by the global /scorecards page (every scorecard\n * from `.indusk/eval/results.log`, framed as a system-improvement signal,\n * not as plan-specific data).\n *\n * Per the user's framing: scorecards are not relevant to any individual plan\n * — they're a feedback loop on the whole system. The `/scorecards` page is\n * the place where they live; PlanDetail no longer renders them.\n */\n\ninterface ScorecardQuestion {\n id?: string;\n question?: string;\n answer?: string;\n severity?: string;\n evidence?: string;\n finding?: string;\n}\n\nexport interface ScorecardsListProps {\n scorecards: Scorecard[];\n /**\n * Optional commit message per commit ID. Surfaces the human-authored\n * intent of the commit alongside the LLM-generated summary — the real\n * \"what was being scored\" signal. Resolved by `getCommitMessages` in\n * `src/lib/vcs.ts`.\n */\n descriptions?: Map<string, string>;\n}\n\nexport function ScorecardsList({\n scorecards,\n descriptions,\n}: ScorecardsListProps) {\n // Most-recent-first sort (ISO 8601 timestamps sort lexicographically in\n // reverse). Done here so the page-level walker can pass an unsorted\n // union of per-project entries — the list owns the ordering contract.\n const sorted = [...scorecards].sort((a, b) =>\n b.timestamp.localeCompare(a.timestamp),\n );\n return (\n <section className=\"flex flex-col gap-4\" data-testid=\"scorecards-list\">\n <header className=\"flex flex-col gap-1\">\n <h1 className=\"text-xl font-semibold text-gray-900\">Eval Scorecards</h1>\n <p className=\"text-sm text-gray-600\">\n Per-commit scores produced by the eval agent on every{\" \"}\n <code className=\"rounded bg-gray-100 px-1 text-xs font-mono\">\n git commit\n </code>\n . This is a self-improvement signal — what worked, what didn't, what\n the system could improve. Not tied to any single plan.\n </p>\n <p className=\"text-xs text-gray-500\">\n Source: <span className=\"font-mono\">.indusk/eval/results.log</span>{\" \"}\n across every registered project ({sorted.length} entries, most recent\n first)\n </p>\n </header>\n\n {sorted.length === 0 ? (\n <p className=\"text-sm text-gray-500\" data-testid=\"scorecards-empty\">\n No scorecards yet — make a few{\" \"}\n <code className=\"font-mono\">git commit</code>s inside Claude Code, and\n they'll start appearing.\n </p>\n ) : (\n <div className=\"flex flex-col gap-2\">\n {sorted.map((card) => (\n <ScorecardCard\n key={`${card.timestamp}-${card.changeId ?? \"unknown\"}-${card.project ?? \"\"}`}\n card={card}\n commitMessage={\n card.changeId\n ? descriptions?.get(String(card.changeId))\n : undefined\n }\n />\n ))}\n </div>\n )}\n </section>\n );\n}\n\nfunction ScorecardCard({\n card,\n commitMessage,\n}: {\n card: Scorecard;\n commitMessage?: string;\n}) {\n const status = card.error ? \"error\" : \"ok\";\n const llmSummary =\n (card.summary as string | undefined) ??\n (card.message as string | undefined);\n // Prefer the actual commit message when we have it — it's the human-\n // authored intent of the commit being scored. Fall back to the LLM-\n // generated summary, then to a placeholder.\n const headerLine =\n commitMessage?.split(\"\\n\")[0]?.trim() || llmSummary || \"(no description)\";\n const questions = Array.isArray(card.questions)\n ? (card.questions as ScorecardQuestion[])\n : [];\n const titleNode = (\n <span className=\"flex flex-1 items-center gap-2 truncate\">\n <span className=\"text-xs text-gray-500 font-mono shrink-0\">\n {formatTimestamp(card.timestamp)}\n </span>\n {card.project ? (\n <Badge\n variant=\"neutral\"\n data-testid=\"scorecard-project-label\"\n className=\"shrink-0\"\n >\n {card.project}\n </Badge>\n ) : null}\n <span className=\"text-xs text-gray-500 font-mono shrink-0\">\n {(card.changeId ?? \"—\").slice(0, 8)}\n </span>\n <span className=\"text-sm text-gray-800 truncate\">{headerLine}</span>\n </span>\n );\n const headerRight = (\n <span className=\"flex items-center gap-2\">\n {card.mode ? (\n <span className=\"text-xs text-gray-500\">{String(card.mode)}</span>\n ) : null}\n <Badge variant={status === \"error\" ? \"blocked\" : \"passing\"}>\n {status === \"error\" ? \"✗ error\" : \"✓ ok\"}\n </Badge>\n </span>\n );\n return (\n <CollapsibleSection\n title={titleNode}\n headerRight={headerRight}\n defaultOpen={false}\n >\n <div className=\"flex flex-col gap-3\">\n {commitMessage && (\n <section\n className=\"rounded border border-blue-200 bg-blue-50 p-3\"\n data-testid=\"scorecard-commit-message\"\n >\n <h3 className=\"text-xs font-semibold uppercase tracking-wide text-blue-700\">\n Commit message\n </h3>\n <pre className=\"mt-1 text-sm text-gray-800 whitespace-pre-wrap font-sans\">\n {commitMessage}\n </pre>\n </section>\n )}\n <ScorecardMeta card={card} />\n {questions.length > 0 && <ScorecardQuestions questions={questions} />}\n {questions.length === 0 && (\n <p className=\"text-xs text-gray-500\">\n No question results recorded for this scorecard.\n {card.error\n ? \" The eval run errored before producing a structured scorecard — see the message below.\"\n : \"\"}\n </p>\n )}\n {card.error && card.message ? (\n <pre className=\"overflow-x-auto rounded bg-red-50 p-3 text-xs font-mono text-red-800 whitespace-pre-wrap\">\n {String(card.message)}\n </pre>\n ) : null}\n {!card.error && !commitMessage && llmSummary ? (\n // Fallback when we couldn't resolve the commit message — show the\n // LLM-generated summary so the card isn't completely contextless.\n <Markdown>{`**Eval-agent summary:** ${llmSummary}`}</Markdown>\n ) : null}\n </div>\n </CollapsibleSection>\n );\n}\n\nfunction ScorecardMeta({ card }: { card: Scorecard }) {\n const fields: Array<[string, string | number | undefined]> = [\n [\"Change\", card.changeId ? String(card.changeId) : undefined],\n [\"Timestamp\", card.timestamp],\n [\"Mode\", card.mode ? String(card.mode) : undefined],\n [\n \"Graphiti writes\",\n typeof card.graphitiWrites === \"number\" ? card.graphitiWrites : undefined,\n ],\n [\n \"Project group\",\n card.projectGroup ? String(card.projectGroup) : undefined,\n ],\n ];\n return (\n <dl className=\"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-gray-700 sm:grid-cols-3\">\n {fields\n .filter(([, v]) => v !== undefined && v !== \"\")\n .map(([k, v]) => (\n <div key={k} className=\"flex flex-col\">\n <dt className=\"font-semibold text-gray-500 uppercase tracking-wide\">\n {k}\n </dt>\n <dd className=\"font-mono break-all\">{String(v)}</dd>\n </div>\n ))}\n </dl>\n );\n}\n\nfunction ScorecardQuestions({ questions }: { questions: ScorecardQuestion[] }) {\n return (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Question</TableHead>\n <TableHead>Answer</TableHead>\n <TableHead>Severity</TableHead>\n <TableHead>Finding / Evidence</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {questions.map((q) => (\n <TableRow key={q.id ?? `${q.question}-${q.answer}`}>\n <TableCell>\n <div className=\"flex flex-col\">\n <span className=\"font-semibold text-xs text-gray-900\">\n {q.id ?? \"—\"}\n </span>\n {q.question && (\n <span className=\"text-xs text-gray-600\">{q.question}</span>\n )}\n </div>\n </TableCell>\n <TableCell>{q.answer ?? \"—\"}</TableCell>\n <TableCell>\n <Badge variant={severityToBadge(q.severity)}>\n {q.severity ?? \"—\"}\n </Badge>\n </TableCell>\n <TableCell>\n <div className=\"flex flex-col gap-1\">\n {q.finding && (\n <span className=\"text-sm text-gray-800\">{q.finding}</span>\n )}\n {q.evidence && (\n <span className=\"text-xs text-gray-500 italic\">\n Evidence: {q.evidence}\n </span>\n )}\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n}\n\nfunction severityToBadge(severity: string | undefined): BadgeVariant {\n const s = (severity ?? \"\").toLowerCase();\n if (s === \"high\" || s === \"critical\" || s === \"blocker\") return \"blocked\";\n if (s === \"medium\" || s === \"warn\" || s === \"warning\") return \"writable\";\n if (s === \"low\" || s === \"info\" || s === \"ok\") return \"passing\";\n return \"neutral\";\n}\n\nfunction formatTimestamp(ts: string): string {\n const d = new Date(ts);\n if (Number.isNaN(d.getTime())) return ts;\n return d\n .toISOString()\n .replace(\"T\", \" \")\n .replace(/\\.\\d+Z$/, \"Z\");\n}\n","import { ScorecardsList } from \"@/components/Scorecards\";\nimport { StaleProjectFailurePage } from \"@/components/StaleProjectFailurePage\";\nimport { readEvalScorecards } from \"@/lib/planning-reader\";\nimport { getProjectPath, projectPathExists } from \"@/lib/registry-client\";\nimport { getCommitMessages } from \"@/lib/vcs\";\n\ninterface ScorecardsRouteProps {\n params: Promise<{ project: string }>;\n}\n\n/**\n * Per-project scorecards view — reads a single project's\n * `.indusk/eval/results.log` and renders the list. Replaces the Phase 4\n * cross-project `/scorecards` route, which is removed in Phase 6 as part\n * of the project-siloing move.\n *\n * Behavior parallels the per-project layout's stale-path handling: if the\n * project name isn't registered or its path no longer exists on disk,\n * render the same `<StaleProjectFailurePage>` (HTTP 200) that the rest of\n * the `/p/{project}/...` routes use — not a 404 or 500. Unregistered\n * `{project}` inside `/p/[project]/...` is an inherited contract from T11\n * and we keep it here.\n */\nexport default async function PerProjectScorecardsPage({\n params,\n}: ScorecardsRouteProps) {\n const { project } = await params;\n const projectPath = getProjectPath(project);\n\n if (!projectPath || !projectPathExists(projectPath)) {\n return (\n <StaleProjectFailurePage\n projectName={project}\n projectPath={projectPath ?? undefined}\n />\n );\n }\n\n const since = new Date(0);\n const until = new Date(Date.now() + 5 * 365 * 24 * 60 * 60 * 1000);\n\n const scorecards = await readEvalScorecards(projectPath, {\n from: since,\n to: until,\n }).catch(() => []);\n\n const ids = scorecards\n .map((s) => (s.changeId ? String(s.changeId) : \"\"))\n .filter((id) => id !== \"\");\n const messages = getCommitMessages(projectPath, ids);\n\n // Single-project view — deliberately omit the project-name label per row\n // (it'd be redundant noise since every scorecard belongs to {project}).\n // ScorecardsList handles `undefined` / missing `project` fields by not\n // rendering the label.\n if (scorecards.length === 0) {\n // Not an error — just no scorecards yet. Surface a calm empty state.\n return (\n <div className=\"flex flex-col gap-2\">\n <h1 className=\"text-lg font-semibold text-gray-900\">\n Scorecards — {project}\n </h1>\n <p className=\"text-sm text-gray-500\">\n No eval scorecards recorded for this project yet. Make a `git commit`\n to trigger the eval agent.\n </p>\n </div>\n );\n }\n\n return <ScorecardsList scorecards={scorecards} descriptions={messages} />;\n}\n","import { execFileSync } from \"node:child_process\";\n\n/**\n * Look up the commit message for a commit identifier.\n *\n * The eval agent fires on `git commit`, so the scorecard's `changeId` is the\n * commit the trigger captured. Git is the only substrate as of 1.31.0.\n *\n * Returns `null` when:\n * - id is empty / non-alphanumeric\n * - git does not resolve it (not a repo, unknown commit, empty message)\n *\n * The call is read-only — `git log` never mutates.\n */\nexport function getCommitMessage(\n projectRoot: string,\n id: string,\n): string | null {\n if (!id || !/^[a-z0-9]+$/i.test(id)) return null;\n\n try {\n const out = execFileSync(\"git\", [\"log\", \"-1\", \"--format=%B\", id], {\n cwd: projectRoot,\n encoding: \"utf-8\",\n stdio: [\"ignore\", \"pipe\", \"ignore\"],\n });\n const trimmed = out.trim();\n if (trimmed !== \"\") return trimmed;\n } catch {\n // git missing, not a repo, or id unknown\n }\n\n return null;\n}\n\n/**\n * Bulk-resolve commit messages for many ids. Deduplicates by id so the same\n * commit isn't queried twice per render.\n */\nexport function getCommitMessages(\n projectRoot: string,\n ids: string[],\n): Map<string, string> {\n const out = new Map<string, string>();\n for (const id of new Set(ids)) {\n const msg = getCommitMessage(projectRoot, id);\n if (msg) out.set(id, msg);\n }\n return out;\n}\n"],"names":["InvariantError","Error","constructor","message","options","endsWith","name","src","width","height","ScorecardsList","scorecards","descriptions","sorted","sort","a","b","timestamp","localeCompare","className","length","map","card","ScorecardCard","commitMessage","changeId","get","String","undefined","project","status","error","llmSummary","summary","headerLine","split","trim","questions","Array","isArray","titleNode","formatTimestamp","variant","slice","headerRight","mode","title","defaultOpen","ScorecardMeta","ScorecardQuestions","fields","graphitiWrites","projectGroup","filter","v","k","q","id","question","answer","severityToBadge","severity","finding","evidence","s","toLowerCase","ts","d","Date","Number","isNaN","getTime","toISOString","replace"],"mappings":"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","ignoreList":[0]}
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/NhCz5cvfQdZYJkuB2tJCx/_buildManifest.js",
11
- "static/NhCz5cvfQdZYJkuB2tJCx/_ssgManifest.js",
12
- "static/NhCz5cvfQdZYJkuB2tJCx/_clientMiddlewareManifest.js"
10
+ "static/q5rN4-2d4PihGGG40ByLW/_buildManifest.js",
11
+ "static/q5rN4-2d4PihGGG40ByLW/_ssgManifest.js",
12
+ "static/q5rN4-2d4PihGGG40ByLW/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/15r3deq0oc~d..js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/15r3deq0oc~d..js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"NhCz5cvfQdZYJkuB2tJCx\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/15r3deq0oc~d..js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/02p8lah64~lvh.js" async=""></script><script src="/_next/static/chunks/0gomaooulfzoq.js" async=""></script><script src="/_next/static/chunks/turbopack-130jszne6su0h.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0yelgl0o38y_u.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/15r3deq0oc~d..js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[85530,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"q5rN4-2d4PihGGG40ByLW\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[61299,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0yelgl0o38y_u.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
package/admin/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":130,"timestamp":1764934818901,"id":4,"parentId":1,"tags":{},"startTime":1786568714970,"traceId":"a2b20363ee569704"},{"name":"load-custom-routes","duration":211,"timestamp":1764934819085,"id":5,"parentId":1,"tags":{},"startTime":1786568714970,"traceId":"a2b20363ee569704"},{"name":"create-dist-dir","duration":95,"timestamp":1764934819309,"id":6,"parentId":1,"tags":{},"startTime":1786568714970,"traceId":"a2b20363ee569704"},{"name":"clean","duration":35608,"timestamp":1764934819947,"id":7,"parentId":1,"tags":{},"startTime":1786568714971,"traceId":"a2b20363ee569704"},{"name":"discover-routes","duration":3880,"timestamp":1764934862346,"id":8,"parentId":1,"tags":{},"startTime":1786568715013,"traceId":"a2b20363ee569704"},{"name":"create-root-mapping","duration":31,"timestamp":1764934866257,"id":9,"parentId":1,"tags":{},"startTime":1786568715017,"traceId":"a2b20363ee569704"},{"name":"generate-route-types","duration":11792,"timestamp":1764934866950,"id":10,"parentId":1,"tags":{},"startTime":1786568715018,"traceId":"a2b20363ee569704"},{"name":"public-dir-conflict-check","duration":51,"timestamp":1764934878789,"id":11,"parentId":1,"tags":{},"startTime":1786568715029,"traceId":"a2b20363ee569704"},{"name":"generate-routes-manifest","duration":1264,"timestamp":1764934878887,"id":12,"parentId":1,"tags":{},"startTime":1786568715030,"traceId":"a2b20363ee569704"},{"name":"run-turbopack","duration":6120115,"timestamp":1764934881944,"id":14,"parentId":1,"tags":{},"startTime":1786568715033,"traceId":"a2b20363ee569704"},{"name":"turbopack-build-events","duration":53,"timestamp":1764935049886,"id":15,"parentId":1,"tags":{},"startTime":1786568715201,"traceId":"a2b20363ee569704"},{"name":"run-typescript","duration":2391241,"timestamp":1764941074217,"id":16,"parentId":1,"tags":{},"startTime":1786568721225,"traceId":"a2b20363ee569704"},{"name":"generate-required-server-files","duration":1956,"timestamp":1764943466780,"id":18,"parentId":1,"tags":{},"startTime":1786568723617,"traceId":"a2b20363ee569704"},{"name":"check-static-error-page","duration":14915,"timestamp":1764943484041,"id":20,"parentId":19,"tags":{},"startTime":1786568723635,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":177763,"timestamp":1764943505018,"id":30,"parentId":22,"tags":{},"startTime":1786568723656,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":191424,"timestamp":1764943491440,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1786568723642,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":225311,"timestamp":1764943504681,"id":29,"parentId":21,"tags":{},"startTime":1786568723655,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":241352,"timestamp":1764943488677,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1786568723639,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":224974,"timestamp":1764943505099,"id":31,"parentId":23,"tags":{},"startTime":1786568723656,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":235768,"timestamp":1764943494320,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1786568723645,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":228240,"timestamp":1764943511503,"id":32,"parentId":28,"tags":{},"startTime":1786568723662,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":240882,"timestamp":1764943498892,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1786568723650,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":233015,"timestamp":1764943511605,"id":33,"parentId":24,"tags":{},"startTime":1786568723662,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":246153,"timestamp":1764943498514,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1786568723649,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":236210,"timestamp":1764943511703,"id":36,"parentId":27,"tags":{},"startTime":1786568723662,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":249101,"timestamp":1764943498850,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1786568723650,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":249567,"timestamp":1764943511668,"id":35,"parentId":26,"tags":{},"startTime":1786568723662,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":262466,"timestamp":1764943498806,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1786568723649,"traceId":"a2b20363ee569704"},{"name":"is-page-static","duration":255998,"timestamp":1764943511637,"id":34,"parentId":25,"tags":{},"startTime":1786568723662,"traceId":"a2b20363ee569704"},{"name":"check-page","duration":268967,"timestamp":1764943498704,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1786568723649,"traceId":"a2b20363ee569704"},{"name":"static-check","duration":284051,"timestamp":1764943483634,"id":19,"parentId":1,"tags":{},"startTime":1786568723634,"traceId":"a2b20363ee569704"},{"name":"write-routes-manifest","duration":5823,"timestamp":1764943776527,"id":38,"parentId":1,"tags":{},"startTime":1786568723927,"traceId":"a2b20363ee569704"},{"name":"load-dotenv","duration":21,"timestamp":1764943792496,"id":41,"parentId":40,"tags":{},"startTime":1786568723943,"traceId":"a2b20363ee569704"},{"name":"run-export-path-map","duration":393,"timestamp":1764943793937,"id":42,"parentId":40,"tags":{},"startTime":1786568723945,"traceId":"a2b20363ee569704"},{"name":"next-export","duration":217285,"timestamp":1764943791933,"id":40,"parentId":1,"tags":{},"startTime":1786568723943,"traceId":"a2b20363ee569704"},{"name":"move-exported-app-global-error-","duration":3991,"timestamp":1764944009912,"id":43,"parentId":39,"tags":{},"startTime":1786568724161,"traceId":"a2b20363ee569704"},{"name":"static-generation","duration":236277,"timestamp":1764943787517,"id":39,"parentId":1,"tags":{},"startTime":1786568723938,"traceId":"a2b20363ee569704"},{"name":"write-routes-manifest","duration":1136,"timestamp":1764944024116,"id":44,"parentId":1,"tags":{},"startTime":1786568724175,"traceId":"a2b20363ee569704"},{"name":"print-tree-view","duration":2035,"timestamp":1764944037805,"id":45,"parentId":1,"tags":{},"startTime":1786568724188,"traceId":"a2b20363ee569704"},{"name":"write-route-bundle-stats","duration":4986,"timestamp":1764944039855,"id":46,"parentId":1,"tags":{},"startTime":1786568724191,"traceId":"a2b20363ee569704"},{"name":"telemetry-flush","duration":485448,"timestamp":1764944044853,"id":47,"parentId":1,"tags":{},"startTime":1786568724196,"traceId":"a2b20363ee569704"},{"name":"next-build","duration":9820294,"timestamp":1764934710038,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1786568714861,"traceId":"a2b20363ee569704"}]
1
+ [{"name":"generate-buildid","duration":113,"timestamp":2126449473959,"id":4,"parentId":1,"tags":{},"startTime":1786930229473,"traceId":"0665470d008ebbef"},{"name":"load-custom-routes","duration":212,"timestamp":2126449474126,"id":5,"parentId":1,"tags":{},"startTime":1786930229474,"traceId":"0665470d008ebbef"},{"name":"create-dist-dir","duration":89,"timestamp":2126449474352,"id":6,"parentId":1,"tags":{},"startTime":1786930229474,"traceId":"0665470d008ebbef"},{"name":"clean","duration":50588,"timestamp":2126449475095,"id":7,"parentId":1,"tags":{},"startTime":1786930229475,"traceId":"0665470d008ebbef"},{"name":"discover-routes","duration":3728,"timestamp":2126449531101,"id":8,"parentId":1,"tags":{},"startTime":1786930229531,"traceId":"0665470d008ebbef"},{"name":"create-root-mapping","duration":34,"timestamp":2126449534858,"id":9,"parentId":1,"tags":{},"startTime":1786930229534,"traceId":"0665470d008ebbef"},{"name":"generate-route-types","duration":9935,"timestamp":2126449535707,"id":10,"parentId":1,"tags":{},"startTime":1786930229535,"traceId":"0665470d008ebbef"},{"name":"public-dir-conflict-check","duration":42,"timestamp":2126449545680,"id":11,"parentId":1,"tags":{},"startTime":1786930229545,"traceId":"0665470d008ebbef"},{"name":"generate-routes-manifest","duration":1053,"timestamp":2126449545764,"id":12,"parentId":1,"tags":{},"startTime":1786930229545,"traceId":"0665470d008ebbef"},{"name":"run-turbopack","duration":5558764,"timestamp":2126449548701,"id":14,"parentId":1,"tags":{},"startTime":1786930229548,"traceId":"0665470d008ebbef"},{"name":"turbopack-build-events","duration":52,"timestamp":2126449738067,"id":15,"parentId":1,"tags":{},"startTime":1786930229737,"traceId":"0665470d008ebbef"},{"name":"run-typescript","duration":2678919,"timestamp":2126455125861,"id":16,"parentId":1,"tags":{},"startTime":1786930235125,"traceId":"0665470d008ebbef"},{"name":"generate-required-server-files","duration":1177,"timestamp":2126457806886,"id":18,"parentId":1,"tags":{},"startTime":1786930237806,"traceId":"0665470d008ebbef"},{"name":"check-static-error-page","duration":13223,"timestamp":2126457821490,"id":20,"parentId":19,"tags":{},"startTime":1786930237821,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":194213,"timestamp":2126457841783,"id":30,"parentId":22,"tags":{},"startTime":1786930237841,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":205446,"timestamp":2126457830630,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1786930237830,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":223199,"timestamp":2126457841811,"id":31,"parentId":23,"tags":{},"startTime":1786930237841,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":232238,"timestamp":2126457832812,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1786930237832,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":220068,"timestamp":2126457853932,"id":32,"parentId":28,"tags":{},"startTime":1786930237853,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":239358,"timestamp":2126457834670,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1786930237834,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":222262,"timestamp":2126457854017,"id":33,"parentId":24,"tags":{},"startTime":1786930237853,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":242044,"timestamp":2126457834258,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1786930237834,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":240762,"timestamp":2126457841623,"id":29,"parentId":21,"tags":{},"startTime":1786930237841,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":256786,"timestamp":2126457825667,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1786930237825,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":235246,"timestamp":2126457854115,"id":36,"parentId":27,"tags":{},"startTime":1786930237854,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":254871,"timestamp":2126457834547,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1786930237834,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":235422,"timestamp":2126457854047,"id":34,"parentId":25,"tags":{},"startTime":1786930237853,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":255058,"timestamp":2126457834424,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1786930237834,"traceId":"0665470d008ebbef"},{"name":"is-page-static","duration":240903,"timestamp":2126457854084,"id":35,"parentId":26,"tags":{},"startTime":1786930237853,"traceId":"0665470d008ebbef"},{"name":"check-page","duration":260525,"timestamp":2126457834498,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1786930237834,"traceId":"0665470d008ebbef"},{"name":"static-check","duration":273967,"timestamp":2126457821075,"id":19,"parentId":1,"tags":{},"startTime":1786930237820,"traceId":"0665470d008ebbef"},{"name":"write-routes-manifest","duration":369,"timestamp":2126458097425,"id":38,"parentId":1,"tags":{},"startTime":1786930238097,"traceId":"0665470d008ebbef"},{"name":"load-dotenv","duration":19,"timestamp":2126458104442,"id":41,"parentId":40,"tags":{},"startTime":1786930238104,"traceId":"0665470d008ebbef"},{"name":"run-export-path-map","duration":230,"timestamp":2126458105895,"id":42,"parentId":40,"tags":{},"startTime":1786930238105,"traceId":"0665470d008ebbef"},{"name":"next-export","duration":215118,"timestamp":2126458103915,"id":40,"parentId":1,"tags":{},"startTime":1786930238103,"traceId":"0665470d008ebbef"},{"name":"move-exported-app-global-error-","duration":730,"timestamp":2126458319762,"id":43,"parentId":39,"tags":{},"startTime":1786930238319,"traceId":"0665470d008ebbef"},{"name":"static-generation","duration":222130,"timestamp":2126458099371,"id":39,"parentId":1,"tags":{},"startTime":1786930238099,"traceId":"0665470d008ebbef"},{"name":"write-routes-manifest","duration":171,"timestamp":2126458321602,"id":44,"parentId":1,"tags":{},"startTime":1786930238321,"traceId":"0665470d008ebbef"},{"name":"print-tree-view","duration":1250,"timestamp":2126458327651,"id":45,"parentId":1,"tags":{},"startTime":1786930238327,"traceId":"0665470d008ebbef"},{"name":"write-route-bundle-stats","duration":6906,"timestamp":2126458328914,"id":46,"parentId":1,"tags":{},"startTime":1786930238328,"traceId":"0665470d008ebbef"},{"name":"telemetry-flush","duration":487658,"timestamp":2126458335834,"id":47,"parentId":1,"tags":{},"startTime":1786930238335,"traceId":"0665470d008ebbef"},{"name":"next-build","duration":9444646,"timestamp":2126449378870,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1786930229378,"traceId":"0665470d008ebbef"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":6120115,"timestamp":1764934881944,"id":14,"parentId":1,"tags":{},"startTime":1786568715033,"traceId":"a2b20363ee569704"},{"name":"turbopack-build-events","duration":53,"timestamp":1764935049886,"id":15,"parentId":1,"tags":{},"startTime":1786568715201,"traceId":"a2b20363ee569704"},{"name":"run-typescript","duration":2391241,"timestamp":1764941074217,"id":16,"parentId":1,"tags":{},"startTime":1786568721225,"traceId":"a2b20363ee569704"},{"name":"static-check","duration":284051,"timestamp":1764943483634,"id":19,"parentId":1,"tags":{},"startTime":1786568723634,"traceId":"a2b20363ee569704"},{"name":"static-generation","duration":236277,"timestamp":1764943787517,"id":39,"parentId":1,"tags":{},"startTime":1786568723938,"traceId":"a2b20363ee569704"},{"name":"telemetry-flush","duration":485448,"timestamp":1764944044853,"id":47,"parentId":1,"tags":{},"startTime":1786568724196,"traceId":"a2b20363ee569704"},{"name":"next-build","duration":9820294,"timestamp":1764934710038,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1786568714861,"traceId":"a2b20363ee569704"}]
1
+ [{"name":"run-turbopack","duration":5558764,"timestamp":2126449548701,"id":14,"parentId":1,"tags":{},"startTime":1786930229548,"traceId":"0665470d008ebbef"},{"name":"turbopack-build-events","duration":52,"timestamp":2126449738067,"id":15,"parentId":1,"tags":{},"startTime":1786930229737,"traceId":"0665470d008ebbef"},{"name":"run-typescript","duration":2678919,"timestamp":2126455125861,"id":16,"parentId":1,"tags":{},"startTime":1786930235125,"traceId":"0665470d008ebbef"},{"name":"static-check","duration":273967,"timestamp":2126457821075,"id":19,"parentId":1,"tags":{},"startTime":1786930237820,"traceId":"0665470d008ebbef"},{"name":"static-generation","duration":222130,"timestamp":2126458099371,"id":39,"parentId":1,"tags":{},"startTime":1786930238099,"traceId":"0665470d008ebbef"},{"name":"telemetry-flush","duration":487658,"timestamp":2126458335834,"id":47,"parentId":1,"tags":{},"startTime":1786930238335,"traceId":"0665470d008ebbef"},{"name":"next-build","duration":9444646,"timestamp":2126449378870,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1786930229378,"traceId":"0665470d008ebbef"}]
@@ -84,7 +84,6 @@ function createCgcIgnore(projectRoot) {
84
84
  "dist/",
85
85
  "build/",
86
86
  ".git/",
87
- ".jj/",
88
87
  ".indusk/",
89
88
  ".claude/",
90
89
  "*.png",
@@ -793,9 +792,9 @@ export async function init(projectRoot, options = {}) {
793
792
  // from the package source via globSync rather than maintaining a hardcoded
794
793
  // list — matches the pattern in `update.ts:240` so any new hook the
795
794
  // package ships gets installed on next `init` without code changes.
796
- // Pre-Phase-6 (git-or-jj-substrate) the array was hardcoded and missed
797
- // `eval-trigger.js`; settings.json registered it but the file was never
798
- // copied, so the eval hook silently never fired on fresh-init projects.
795
+ // The array was once hardcoded and missed `eval-trigger.js`; settings.json
796
+ // registered it but the file was never copied, so the eval hook silently
797
+ // never fired on fresh-init projects.
799
798
  console.info("\n[Hooks]");
800
799
  const hooksSource = join(packageRoot, "hooks");
801
800
  const hooksTarget = join(projectRoot, ".claude/hooks");
@@ -561,22 +561,8 @@ export async function update(projectRoot) {
561
561
  const ceNotice = ceDeprecationNotice(projectRoot);
562
562
  if (ceNotice)
563
563
  console.info(ceNotice);
564
- // 7c. SCM field migration. Pre-1.28.x projects don't have `scm` in their
565
- // Legacy `scm` field migration (git-only-substrate Phase 5).
566
- // git is the only SCM as of 1.31.0. Existing `scm: "jj"` config fields
567
- // become a no-op; emit one stderr nudge so the user knows the field
568
- // is safe to remove from `.indusk/config.json`. The file itself is
569
- // NOT modified — removing the field is the user's call.
570
- console.info("\n[SCM]\n");
564
+ // Config helpers, loaded once several later migration steps need them.
571
565
  const { readConfig, writeConfig, ensureCleanupConfig, getCleanupConfig } = await import("../../lib/config.js");
572
- const scmConfig = readConfig(projectRoot);
573
- if (scmConfig?.scm) {
574
- process.stderr.write("scm field no longer used; safe to remove from .indusk/config.json\n");
575
- console.info(` nudge: scm: "${scmConfig.scm}" (no longer used; safe to remove)`);
576
- }
577
- else {
578
- console.info(" ok: (no scm field; git is the only SCM as of 1.31.0)");
579
- }
580
566
  // 7c. Multi-agent scaffolding (handoff-multi-agent Phase 4, reshaped in
581
567
  // handoff-multi-agent-section-shape Phase 4). Idempotently migrate
582
568
  // pre-1.29 projects:
@@ -56,16 +56,6 @@ export interface InduskConfig {
56
56
  */
57
57
  role?: "service" | "library" | "tool" | "none";
58
58
  };
59
- /**
60
- * Legacy SCM field. No longer read or written by InDusk as of 1.31.0
61
- * (git-only-substrate Phase 4) — git is the only SCM. The field is
62
- * retained in the type so config-readers don't reject existing
63
- * `scm: "jj"` entries; `indusk update` emits a one-time stderr nudge
64
- * telling the user the field is safe to remove.
65
- *
66
- * @deprecated Remove from `.indusk/config.json` — no longer used.
67
- */
68
- scm?: "jj" | "git";
69
59
  /**
70
60
  * Eval-agent configuration. Most of this is read directly via JSON
71
61
  * traversal in `lib/eval/otel.ts`; the schema here is documentary.
@@ -2,8 +2,7 @@
2
2
  * Tracks eval finding resolution state.
3
3
  *
4
4
  * Findings persist as "unresolved" until explicitly fixed or ignored.
5
- * The eval hook surfaces unresolved findings on every commit (jj describe
6
- * on jj projects, git commit on git projects).
5
+ * The eval hook surfaces unresolved findings on every `git commit`.
7
6
  */
8
7
  import type { EvalScorecard } from "./types.js";
9
8
  export type FindingState = "unresolved" | "fixed" | "ignored";
@@ -2,8 +2,7 @@
2
2
  * Tracks eval finding resolution state.
3
3
  *
4
4
  * Findings persist as "unresolved" until explicitly fixed or ignored.
5
- * The eval hook surfaces unresolved findings on every commit (jj describe
6
- * on jj projects, git commit on git projects).
5
+ * The eval hook surfaces unresolved findings on every `git commit`.
7
6
  */
8
7
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
9
8
  import { dirname, join } from "node:path";
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Builds the evaluator agent's system prompt.
3
3
  *
4
- * The prompt instructs the evaluator to: do catchup, read the transcript, read the
5
- * diff itself via jj, answer each rubric question, write findings to Graphiti
6
- * (eval mode only), and output a JSON scorecard.
4
+ * The prompt instructs the evaluator to: do catchup, read the transcript, read
5
+ * the diff itself via git, answer each rubric question, materialize durable
6
+ * highlights into lessons via `add_lesson` (eval mode only), and output a JSON
7
+ * scorecard.
7
8
  *
8
9
  * The diff is NOT embedded in the prompt — the evaluator reads it via tool calls.
9
10
  * This keeps the prompt small regardless of commit size.
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Builds the evaluator agent's system prompt.
3
3
  *
4
- * The prompt instructs the evaluator to: do catchup, read the transcript, read the
5
- * diff itself via jj, answer each rubric question, write findings to Graphiti
6
- * (eval mode only), and output a JSON scorecard.
4
+ * The prompt instructs the evaluator to: do catchup, read the transcript, read
5
+ * the diff itself via git, answer each rubric question, materialize durable
6
+ * highlights into lessons via `add_lesson` (eval mode only), and output a JSON
7
+ * scorecard.
7
8
  *
8
9
  * The diff is NOT embedded in the prompt — the evaluator reads it via tool calls.
9
10
  * This keeps the prompt small regardless of commit size.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@infinitedusky/indusk-mcp",
3
- "version": "1.36.0",
4
- "description": "InDusk development system \u2014 skills, MCP tools, and CLI for structured AI-assisted development",
3
+ "version": "1.36.1",
4
+ "description": "InDusk development system skills, MCP tools, and CLI for structured AI-assisted development",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",