@infinitedusky/indusk-mcp 1.31.2 → 1.31.5
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.
- package/admin/.next/BUILD_ID +1 -1
- package/admin/.next/build-manifest.json +3 -3
- package/admin/.next/fallback-build-manifest.json +3 -3
- package/admin/.next/server/app/_global-error.html +1 -1
- package/admin/.next/server/app/_global-error.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/admin/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/admin/.next/server/middleware-build-manifest.js +3 -3
- package/admin/.next/server/pages/500.html +1 -1
- package/admin/.next/trace +1 -1
- package/admin/.next/trace-build +1 -1
- package/dist/lib/highlights/highlights.js +37 -0
- package/dist/tools/lesson-tools.js +6 -3
- package/lessons/community/community-anchor-shell-trigger-patterns-no-substring.md +60 -0
- package/lessons/community/community-brief-author-bias-ground-truth-verification.md +48 -0
- package/lessons/community/community-graceful-degrade-architecture-trap.md +50 -0
- package/lessons/community/community-use-highlight-not-direct-graphiti-writes.md +101 -0
- package/package.json +1 -1
- package/skills/catchup.md +15 -2
- /package/admin/.next/static/{Bb2xZegwFKMXaIfoC1AS3 → rBUR4ZSX0VGkp7YbYJh6L}/_buildManifest.js +0 -0
- /package/admin/.next/static/{Bb2xZegwFKMXaIfoC1AS3 → rBUR4ZSX0VGkp7YbYJh6L}/_clientMiddlewareManifest.js +0 -0
- /package/admin/.next/static/{Bb2xZegwFKMXaIfoC1AS3 → rBUR4ZSX0VGkp7YbYJh6L}/_ssgManifest.js +0 -0
package/admin/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
rBUR4ZSX0VGkp7YbYJh6L
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_buildManifest.js",
|
|
11
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_ssgManifest.js",
|
|
12
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0_yzfo7pu205m.js",
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"polyfillFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
10
|
-
"static/
|
|
8
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_buildManifest.js",
|
|
9
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_ssgManifest.js",
|
|
10
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_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/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/0_yzfo7pu205m.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/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.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\":\"
|
|
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/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/0_yzfo7pu205m.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/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.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\":\"rBUR4ZSX0VGkp7YbYJh6L\"}\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/0z9652tpun_.d.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/0z9652tpun_.d.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.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":"
|
|
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":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
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/0z9652tpun_.d.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":"
|
|
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":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
5
5
|
4:null
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
8:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"ViewportBoundary"]
|
|
7
7
|
a:I[76614,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"MetadataBoundary"]
|
|
8
8
|
c:I[59179,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.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":"
|
|
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":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
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/0z9652tpun_.d.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[61299,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.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":"
|
|
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":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
2:I[85530,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.js"],"default"]
|
|
3
3
|
3:I[50571,["/_next/static/chunks/0.v8w524wvk94.js","/_next/static/chunks/0z9652tpun_.d.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":"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"
|
|
1
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"rBUR4ZSX0VGkp7YbYJh6L"}
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_buildManifest.js",
|
|
11
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_ssgManifest.js",
|
|
12
|
+
"static/rBUR4ZSX0VGkp7YbYJh6L/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0_yzfo7pu205m.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/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/0_yzfo7pu205m.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/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.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\":\"
|
|
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/0_yzfo7pu205m.js"/><script src="/_next/static/chunks/0_r.3~d-5z8~_.js" async=""></script><script src="/_next/static/chunks/0u1lny1.4-f8c.js" async=""></script><script src="/_next/static/chunks/036h9~rhidv.e.js" async=""></script><script src="/_next/static/chunks/turbopack-129yl57l2cd7_.js" async=""></script><script src="/_next/static/chunks/0.v8w524wvk94.js" async=""></script><script src="/_next/static/chunks/0z9652tpun_.d.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,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";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/0_yzfo7pu205m.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/0z9652tpun_.d.js\"],\"default\"]\n3:I[50571,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"default\"]\n4:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"ViewportBoundary\"]\na:I[76614,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.js\"],\"MetadataBoundary\"]\nc:I[59179,[\"/_next/static/chunks/0.v8w524wvk94.js\",\"/_next/static/chunks/0z9652tpun_.d.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\":\"rBUR4ZSX0VGkp7YbYJh6L\"}\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/0z9652tpun_.d.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":
|
|
1
|
+
[{"name":"generate-buildid","duration":96,"timestamp":1816401425447,"id":4,"parentId":1,"tags":{},"startTime":1782656899845,"traceId":"1223254ff2b2bd28"},{"name":"load-custom-routes","duration":207,"timestamp":1816401425593,"id":5,"parentId":1,"tags":{},"startTime":1782656899845,"traceId":"1223254ff2b2bd28"},{"name":"create-dist-dir","duration":119,"timestamp":1816401425813,"id":6,"parentId":1,"tags":{},"startTime":1782656899845,"traceId":"1223254ff2b2bd28"},{"name":"clean","duration":14839,"timestamp":1816401426486,"id":7,"parentId":1,"tags":{},"startTime":1782656899846,"traceId":"1223254ff2b2bd28"},{"name":"discover-routes","duration":3748,"timestamp":1816401447038,"id":8,"parentId":1,"tags":{},"startTime":1782656899866,"traceId":"1223254ff2b2bd28"},{"name":"create-root-mapping","duration":38,"timestamp":1816401450821,"id":9,"parentId":1,"tags":{},"startTime":1782656899870,"traceId":"1223254ff2b2bd28"},{"name":"generate-route-types","duration":12580,"timestamp":1816401451497,"id":10,"parentId":1,"tags":{},"startTime":1782656899871,"traceId":"1223254ff2b2bd28"},{"name":"public-dir-conflict-check","duration":53,"timestamp":1816401464133,"id":11,"parentId":1,"tags":{},"startTime":1782656899883,"traceId":"1223254ff2b2bd28"},{"name":"generate-routes-manifest","duration":1155,"timestamp":1816401464230,"id":12,"parentId":1,"tags":{},"startTime":1782656899884,"traceId":"1223254ff2b2bd28"},{"name":"run-turbopack","duration":1911345,"timestamp":1816401467310,"id":14,"parentId":1,"tags":{},"startTime":1782656899887,"traceId":"1223254ff2b2bd28"},{"name":"turbopack-build-events","duration":56,"timestamp":1816401663254,"id":15,"parentId":1,"tags":{},"startTime":1782656900083,"traceId":"1223254ff2b2bd28"},{"name":"run-typescript","duration":2098500,"timestamp":1816403405723,"id":16,"parentId":1,"tags":{},"startTime":1782656901825,"traceId":"1223254ff2b2bd28"},{"name":"generate-required-server-files","duration":634,"timestamp":1816405505152,"id":18,"parentId":1,"tags":{},"startTime":1782656903924,"traceId":"1223254ff2b2bd28"},{"name":"check-static-error-page","duration":9729,"timestamp":1816405516249,"id":20,"parentId":19,"tags":{},"startTime":1782656903936,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":183776,"timestamp":1816405530083,"id":30,"parentId":22,"tags":{},"startTime":1782656903949,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":188668,"timestamp":1816405525298,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":220822,"timestamp":1816405529920,"id":29,"parentId":21,"tags":{},"startTime":1782656903949,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":226628,"timestamp":1816405524192,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782656903943,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":231310,"timestamp":1816405530111,"id":31,"parentId":23,"tags":{},"startTime":1782656903949,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":235959,"timestamp":1816405525498,"id":23,"parentId":19,"tags":{"page":"/favicon.ico"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":232140,"timestamp":1816405534271,"id":32,"parentId":28,"tags":{},"startTime":1782656903954,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":240550,"timestamp":1816405525920,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":235982,"timestamp":1816405534415,"id":35,"parentId":26,"tags":{},"startTime":1782656903954,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":244651,"timestamp":1816405525816,"id":26,"parentId":19,"tags":{"page":"/p/[project]/research/[slug]"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":242431,"timestamp":1816405534446,"id":36,"parentId":27,"tags":{},"startTime":1782656903954,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":251077,"timestamp":1816405525868,"id":27,"parentId":19,"tags":{"page":"/p/[project]/scorecards"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":246464,"timestamp":1816405534352,"id":33,"parentId":24,"tags":{},"startTime":1782656903954,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":255134,"timestamp":1816405525711,"id":24,"parentId":19,"tags":{"page":"/p/[project]"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"is-page-static","duration":249181,"timestamp":1816405534389,"id":34,"parentId":25,"tags":{},"startTime":1782656903954,"traceId":"1223254ff2b2bd28"},{"name":"check-page","duration":257841,"timestamp":1816405525768,"id":25,"parentId":19,"tags":{"page":"/p/[project]/plan/[name]"},"startTime":1782656903945,"traceId":"1223254ff2b2bd28"},{"name":"static-check","duration":267837,"timestamp":1816405515793,"id":19,"parentId":1,"tags":{},"startTime":1782656903935,"traceId":"1223254ff2b2bd28"},{"name":"write-routes-manifest","duration":1282,"timestamp":1816405784701,"id":38,"parentId":1,"tags":{},"startTime":1782656904204,"traceId":"1223254ff2b2bd28"},{"name":"load-dotenv","duration":15,"timestamp":1816405791986,"id":41,"parentId":40,"tags":{},"startTime":1782656904211,"traceId":"1223254ff2b2bd28"},{"name":"run-export-path-map","duration":257,"timestamp":1816405793368,"id":42,"parentId":40,"tags":{},"startTime":1782656904213,"traceId":"1223254ff2b2bd28"},{"name":"next-export","duration":199128,"timestamp":1816405791468,"id":40,"parentId":1,"tags":{},"startTime":1782656904211,"traceId":"1223254ff2b2bd28"},{"name":"move-exported-app-global-error-","duration":384,"timestamp":1816405991270,"id":43,"parentId":39,"tags":{},"startTime":1782656904411,"traceId":"1223254ff2b2bd28"},{"name":"static-generation","duration":205386,"timestamp":1816405787237,"id":39,"parentId":1,"tags":{},"startTime":1782656904207,"traceId":"1223254ff2b2bd28"},{"name":"write-routes-manifest","duration":240,"timestamp":1816405992747,"id":44,"parentId":1,"tags":{},"startTime":1782656904412,"traceId":"1223254ff2b2bd28"},{"name":"print-tree-view","duration":1388,"timestamp":1816406000892,"id":45,"parentId":1,"tags":{},"startTime":1782656904420,"traceId":"1223254ff2b2bd28"},{"name":"write-route-bundle-stats","duration":5912,"timestamp":1816406002292,"id":46,"parentId":1,"tags":{},"startTime":1782656904422,"traceId":"1223254ff2b2bd28"},{"name":"telemetry-flush","duration":490975,"timestamp":1816406008220,"id":47,"parentId":1,"tags":{},"startTime":1782656904428,"traceId":"1223254ff2b2bd28"},{"name":"next-build","duration":5163258,"timestamp":1816401335975,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782656899755,"traceId":"1223254ff2b2bd28"}]
|
package/admin/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":1911345,"timestamp":1816401467310,"id":14,"parentId":1,"tags":{},"startTime":1782656899887,"traceId":"1223254ff2b2bd28"},{"name":"turbopack-build-events","duration":56,"timestamp":1816401663254,"id":15,"parentId":1,"tags":{},"startTime":1782656900083,"traceId":"1223254ff2b2bd28"},{"name":"run-typescript","duration":2098500,"timestamp":1816403405723,"id":16,"parentId":1,"tags":{},"startTime":1782656901825,"traceId":"1223254ff2b2bd28"},{"name":"static-check","duration":267837,"timestamp":1816405515793,"id":19,"parentId":1,"tags":{},"startTime":1782656903935,"traceId":"1223254ff2b2bd28"},{"name":"static-generation","duration":205386,"timestamp":1816405787237,"id":39,"parentId":1,"tags":{},"startTime":1782656904207,"traceId":"1223254ff2b2bd28"},{"name":"telemetry-flush","duration":490975,"timestamp":1816406008220,"id":47,"parentId":1,"tags":{},"startTime":1782656904428,"traceId":"1223254ff2b2bd28"},{"name":"next-build","duration":5163258,"timestamp":1816401335975,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782656899755,"traceId":"1223254ff2b2bd28"}]
|
|
@@ -57,6 +57,28 @@ function readAllProcessed(projectRoot) {
|
|
|
57
57
|
}
|
|
58
58
|
return marks;
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Phase 7 falsification fix (H19): defensive substring check on the raw
|
|
62
|
+
* file content. `readAllProcessed` silently skips malformed JSON lines
|
|
63
|
+
* (try/catch around `JSON.parse`), so a corrupted historic entry carrying
|
|
64
|
+
* the target ID is invisible to the parsed dedup check. This helper
|
|
65
|
+
* scans the raw bytes for the literal `"id":"<escaped id>"` substring —
|
|
66
|
+
* if found, the ID has been "seen" by the file even if the line is
|
|
67
|
+
* unparseable. Used as a belt-and-suspenders layer on top of
|
|
68
|
+
* `readAllProcessed` in `markProcessed`.
|
|
69
|
+
*/
|
|
70
|
+
function isIdInRawProcessed(projectRoot, id) {
|
|
71
|
+
const path = processedPath(projectRoot);
|
|
72
|
+
if (!existsSync(path))
|
|
73
|
+
return false;
|
|
74
|
+
const raw = readFileSync(path, "utf-8");
|
|
75
|
+
// Escape JSON-relevant characters in the ID for the regex literal.
|
|
76
|
+
// Highlight IDs are h-YYYYMMDD-NNN (alphanumeric + hyphens), so no
|
|
77
|
+
// regex metacharacters in practice, but defensive escaping is cheap.
|
|
78
|
+
const escaped = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
79
|
+
const pattern = new RegExp(`"id"\\s*:\\s*"${escaped}"`);
|
|
80
|
+
return pattern.test(raw);
|
|
81
|
+
}
|
|
60
82
|
/**
|
|
61
83
|
* Compute the next sequence number for today's highlights. Reads all
|
|
62
84
|
* existing highlights, filters to entries whose ID starts with today's
|
|
@@ -146,6 +168,21 @@ export function markProcessed(projectRoot, id, action, detail) {
|
|
|
146
168
|
original_processedAt: existing.processedAt,
|
|
147
169
|
};
|
|
148
170
|
}
|
|
171
|
+
// Phase 7 (H19) defense: even if `readAllProcessed` returned no parseable
|
|
172
|
+
// entry for this ID, the raw file may still contain a corrupted historic
|
|
173
|
+
// line carrying the literal ID. Treat that as "already processed" too —
|
|
174
|
+
// the parser's tolerance shouldn't silently re-open the dedup contract.
|
|
175
|
+
// original_processedAt is undefined because the malformed entry didn't
|
|
176
|
+
// yield a parseable timestamp; the boolean is the load-bearing signal.
|
|
177
|
+
if (isIdInRawProcessed(projectRoot, id)) {
|
|
178
|
+
return {
|
|
179
|
+
id,
|
|
180
|
+
processedAt: new Date().toISOString(),
|
|
181
|
+
action,
|
|
182
|
+
detail,
|
|
183
|
+
already_processed: true,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
149
186
|
const mark = {
|
|
150
187
|
id,
|
|
151
188
|
processedAt: new Date().toISOString(),
|
|
@@ -4,7 +4,7 @@ import { z } from "zod";
|
|
|
4
4
|
export function registerLessonTools(server, projectRoot) {
|
|
5
5
|
const lessonsDir = join(projectRoot, ".claude/lessons");
|
|
6
6
|
server.registerTool("list_lessons", {
|
|
7
|
-
description: "List all lessons (community + personal) from .claude/lessons
|
|
7
|
+
description: "List all lessons (community + personal) from .claude/lessons/ — returns title + file path per lesson, NOT full content. Titles ARE the rules in most cases; read full content via the Read tool against `path` only when a lesson is relevant to the work the user is asking for.",
|
|
8
8
|
}, async () => {
|
|
9
9
|
if (!existsSync(lessonsDir)) {
|
|
10
10
|
return {
|
|
@@ -22,13 +22,15 @@ export function registerLessonTools(server, projectRoot) {
|
|
|
22
22
|
}
|
|
23
23
|
const files = readdirSync(lessonsDir).filter((f) => f.endsWith(".md"));
|
|
24
24
|
const lessons = files.map((file) => {
|
|
25
|
-
const
|
|
25
|
+
const filePath = join(lessonsDir, file);
|
|
26
|
+
// Read only enough bytes to find the H1 — avoids loading full content for the listing.
|
|
27
|
+
const content = readFileSync(filePath, "utf-8");
|
|
26
28
|
const firstLine = content.split("\n").find((l) => l.startsWith("# "));
|
|
27
29
|
return {
|
|
28
30
|
file,
|
|
31
|
+
path: filePath,
|
|
29
32
|
type: file.startsWith("community-") ? "community" : "personal",
|
|
30
33
|
title: firstLine?.replace("# ", "") ?? file,
|
|
31
|
-
content: content.trim(),
|
|
32
34
|
};
|
|
33
35
|
});
|
|
34
36
|
return {
|
|
@@ -39,6 +41,7 @@ export function registerLessonTools(server, projectRoot) {
|
|
|
39
41
|
count: lessons.length,
|
|
40
42
|
community: lessons.filter((l) => l.type === "community").length,
|
|
41
43
|
personal: lessons.filter((l) => l.type === "personal").length,
|
|
44
|
+
note: "Titles are the actionable rules. Read full content via the Read tool on `path` only when a lesson's title matches the work you're about to do.",
|
|
42
45
|
lessons,
|
|
43
46
|
}, null, 2),
|
|
44
47
|
},
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Never use String.includes for shell-command trigger detection — use anchored regex
|
|
2
|
+
|
|
3
|
+
# Never use String.includes for shell-command trigger detection — use anchored regex
|
|
4
|
+
|
|
5
|
+
When matching against shell command strings to decide whether to fire a hook, scheduler, watcher, or other action, `String.includes` is structurally dangerous — it false-positives on every command whose string content contains the trigger as a substring.
|
|
6
|
+
|
|
7
|
+
## What goes wrong
|
|
8
|
+
|
|
9
|
+
`git-or-jj-substrate` Phase 6 added trigger detection like this:
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
const triggerPatterns = ["jj describe", "git commit"];
|
|
13
|
+
if (!triggerPatterns.some(p => command.includes(p))) {
|
|
14
|
+
return; // skip
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Phase 7 falsification surfaced that this fires on:
|
|
19
|
+
- `git config user.email "git committer"` — "committer" contains "commit"
|
|
20
|
+
- `cat git-commit-template.md` — filename contains "git commit"
|
|
21
|
+
- `echo "Don't forget to git commit!"` — prose contains "git commit"
|
|
22
|
+
- Many other Bash commands whose string content happens to contain the trigger substring
|
|
23
|
+
|
|
24
|
+
Result: silent eval-runner spawns + junk scorecards on non-commit commands. Cost-bearing in tokens, latency, and signal-noise.
|
|
25
|
+
|
|
26
|
+
## The discipline
|
|
27
|
+
|
|
28
|
+
Use anchored regex with boundary conditions. Two levels of strictness:
|
|
29
|
+
|
|
30
|
+
**Word-boundary** (minimum):
|
|
31
|
+
```js
|
|
32
|
+
const TRIGGER_RE = /\b(jj describe|git commit)\b/;
|
|
33
|
+
if (!TRIGGER_RE.test(command)) return;
|
|
34
|
+
```
|
|
35
|
+
`\b` matches the position between a word char and a non-word char, so `git committer` (where "committer" continues past the trigger) doesn't fire.
|
|
36
|
+
|
|
37
|
+
**Right-edge lookahead** (recommended for shell commands):
|
|
38
|
+
```js
|
|
39
|
+
const TRIGGER_RE = /\bgit commit(?=$|\s|;|&|\|)/;
|
|
40
|
+
```
|
|
41
|
+
This rejects `git commit-tree` and `git commit-graph` plumbing commands — bare `\b` matches `t`→`-` and false-positives there. The right-edge lookahead requires end-of-string, whitespace, or shell separator after `commit`.
|
|
42
|
+
|
|
43
|
+
## When this applies
|
|
44
|
+
|
|
45
|
+
Anywhere you're matching a Bash command, log line, or other user/agent-controlled string against a pattern that triggers downstream action:
|
|
46
|
+
- PostToolUse hooks (Claude Code)
|
|
47
|
+
- Pre-commit hooks
|
|
48
|
+
- Log watchers / alert rules
|
|
49
|
+
- Slack / chat command parsers
|
|
50
|
+
- CI trigger conditions
|
|
51
|
+
- Webhook routing
|
|
52
|
+
|
|
53
|
+
## Signal of regression
|
|
54
|
+
|
|
55
|
+
If the trigger fires on user.email containing the trigger word, or on filenames, or on echoed prose, the pattern is using substring matching. Add a regression test that asserts the trigger does NOT fire on a curated set of false-positive shell commands.
|
|
56
|
+
|
|
57
|
+
## Related discipline
|
|
58
|
+
|
|
59
|
+
PostToolUse hooks must also check `event.tool_response?.exit_code` and skip when non-zero. A successful trigger-pattern match on a failed Bash command produces downstream noise (eval against the wrong SHA, scheduler firing on a no-op, etc.). The trigger detection AND the exit-code check together gate downstream action.
|
|
60
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Ground-truth-verify every "X already works" claim in a brief before acceptance
|
|
2
|
+
|
|
3
|
+
# Ground-truth-verify every "X already works" claim in a brief before acceptance
|
|
4
|
+
|
|
5
|
+
Brief author bias is the most expensive bug class in plan authoring. When the brief asserts that some existing code does X, the author tends to read the source looking for *confirmation* of the design intent rather than ground truth — and confirmation-shaped reading misses what the code actually does.
|
|
6
|
+
|
|
7
|
+
## What goes wrong
|
|
8
|
+
|
|
9
|
+
In `git-or-jj-substrate`'s brief, three claims were made about `eval-trigger.js`:
|
|
10
|
+
|
|
11
|
+
1. *"It tries jj first and falls back to git rev-parse HEAD for the change ID"*
|
|
12
|
+
2. *"It matches both `jj describe` and `git commit` as trigger commands"*
|
|
13
|
+
3. (Implicit) *"It's installed correctly by `indusk init`"*
|
|
14
|
+
|
|
15
|
+
All three were wrong:
|
|
16
|
+
1. The change-ID extractor used `jj log` with no git fallback.
|
|
17
|
+
2. The filter rejected `git commit`.
|
|
18
|
+
3. `init.ts` had a hardcoded `hookFiles` array that omitted `eval-trigger.js`.
|
|
19
|
+
|
|
20
|
+
Each claim looked plausible to the brief author because the *design intent* was that the hook should support both SCMs. The actual code didn't match the intent. The bug shipped to Phase 6 falsification, costing ~4 hours of investigation + fix work.
|
|
21
|
+
|
|
22
|
+
## The discipline
|
|
23
|
+
|
|
24
|
+
A brief is not accepted until every "X already works" or "X currently does Y" claim is annotated with one of:
|
|
25
|
+
|
|
26
|
+
- A source-code line range (`apps/foo/bar.ts:45-58`)
|
|
27
|
+
- A quoted snippet
|
|
28
|
+
- A test name that asserts the claim
|
|
29
|
+
|
|
30
|
+
Reading source code while writing a brief is a different operation than reading it during impl: the brief author is biased toward confirming the plan, and confirmation-shaped reading is structurally lossy.
|
|
31
|
+
|
|
32
|
+
## Cost-benefit
|
|
33
|
+
|
|
34
|
+
- Verification at brief time: ~20 minutes per claim
|
|
35
|
+
- Investigation cost when the claim turns out to be wrong: ~4 hours per claim
|
|
36
|
+
- Ratio: ~12×
|
|
37
|
+
|
|
38
|
+
The same pattern applies to:
|
|
39
|
+
- Briefs that assert what existing tests cover (often wrong; tests aren't read carefully)
|
|
40
|
+
- Briefs that assert how hooks/middleware/extensions behave (often based on documentation, not source)
|
|
41
|
+
- Briefs that assert what a config file does (often based on default values, not actual codepath behavior)
|
|
42
|
+
|
|
43
|
+
## How to apply
|
|
44
|
+
|
|
45
|
+
When reviewing or writing a brief, find every "X already works / X currently does Y / X is configured to Z" sentence. For each: either annotate with a source pointer, or rewrite as a question for impl phase 0 to resolve. Don't accept the brief until every assertion is either source-pointed or testable.
|
|
46
|
+
|
|
47
|
+
If the brief was authored before you noticed this, the cheapest recovery is a 30-minute "annotate-or-question" pass before impl starts.
|
|
48
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Graceful-degrade for substrate decisions is the architecture trap — pick deliberately
|
|
2
|
+
|
|
3
|
+
# Graceful-degrade for substrate decisions is the architecture trap — pick deliberately
|
|
4
|
+
|
|
5
|
+
When a plan touches a substrate decision (which database, which SCM, which auth model, which serialization format), "graceful degrade" is often picked as the safe-looking middle path. It is rarely the right long-term answer. It defers the harder commitment question and pays compounding cost during the deferral period.
|
|
6
|
+
|
|
7
|
+
## What goes wrong
|
|
8
|
+
|
|
9
|
+
`git-or-jj-substrate` (May 2026) picked graceful-degrade for the semantic graph: on git-mode projects, `indusk graph sync` no-ops with a clear "git mode — semantic graph unavailable" message. The plan justified this as "v1 ships dual-SCM; full git parity is future work."
|
|
10
|
+
|
|
11
|
+
The cost during the deferral period:
|
|
12
|
+
- 6 weeks of dual-SCM code paths to maintain
|
|
13
|
+
- `lib/scm/detect.ts`, `lib/semantic-graph/jj.ts`, branching logic at ~14 call sites
|
|
14
|
+
- Dual-form sections in 4 skills (`work.md`, `highlight.md`, `eval-review.md`, plus new `git.md`)
|
|
15
|
+
- The semantic graph was off on dusk's own codebase (which used git for some operations) — **so the system wasn't using its own substrate features**
|
|
16
|
+
|
|
17
|
+
Then `git-only-substrate` (June 2026, six weeks later) ripped all of it out. The dual-SCM model was determined to be wrong direction; git was the only substrate worth supporting; jj support was deleted entirely.
|
|
18
|
+
|
|
19
|
+
The `git-only-substrate` ADR explicitly named "keep graceful-degrade dual-SCM" as a rejected alternative with the reasoning: *"compounding debt, dusk's own file-linkage layer stays off."*
|
|
20
|
+
|
|
21
|
+
## Why graceful-degrade tempts
|
|
22
|
+
|
|
23
|
+
It looks like the safe choice. You don't break existing users; you ship something; you defer the hard question. Each individual decision feels reasonable: "we can polish git parity later."
|
|
24
|
+
|
|
25
|
+
But "later" never gets cheaper. The dual code paths compound. The downstream features (Dawn correlation, lessons capture, eval-trigger hooks) all have to know about both modes. The user-facing docs have to explain both. Every new feature now has a "what's the SCM behavior here?" question that wouldn't exist with a single substrate.
|
|
26
|
+
|
|
27
|
+
## The discipline
|
|
28
|
+
|
|
29
|
+
When a plan touches a substrate decision, force the commitment question at brief time:
|
|
30
|
+
|
|
31
|
+
> Is {substrate-A} something we're committed to long-term, yes or no? If no, drop it now.
|
|
32
|
+
|
|
33
|
+
If the answer is "no, we're not committed long-term" — pick the future-state substrate. Don't graceful-degrade.
|
|
34
|
+
|
|
35
|
+
If the answer is "yes, both are long-term" — design for both as first-class, not one-with-degraded-other.
|
|
36
|
+
|
|
37
|
+
If the answer is "we don't know yet" — that's the actual problem. Solve that before shipping any code.
|
|
38
|
+
|
|
39
|
+
## When graceful-degrade IS the right call
|
|
40
|
+
|
|
41
|
+
- When the "degraded" path is a one-way ratchet you commit to eventually replacing entirely (and you write down the replacement plan)
|
|
42
|
+
- When external users would be broken by a sharp pivot, AND those users matter enough to absorb the maintenance cost
|
|
43
|
+
- When the substrate decision genuinely needs production usage data to resolve
|
|
44
|
+
|
|
45
|
+
In all three cases: name the exit condition explicitly. "We're keeping graceful-degrade until {specific signal}, then we commit to {direction}." Without that, graceful-degrade is just deferral, and deferral pays compounding cost.
|
|
46
|
+
|
|
47
|
+
## Signal of trap
|
|
48
|
+
|
|
49
|
+
You catch yourself writing "v1 ships this as a known limitation" or "full parity is future work" in a brief. That's the smoke. Force the question: do we ever actually intend to do the future work? If not, pick now.
|
|
50
|
+
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Use mcp__indusk__highlight, never call mcp__graphiti__add_memory directly
|
|
2
|
+
|
|
3
|
+
The InDusk agent system runs across three tiers — working agent, eval agent, infrastructure. The boundary between the first two tiers is load-bearing for every project that uses InDusk: **the working agent flags moments via `mcp__indusk__highlight`; the eval agent is the sole structured Graphiti writer at trigger points.**
|
|
4
|
+
|
|
5
|
+
If you are a working agent in a Claude Code session — and during normal sessions, you are — this rule applies to you.
|
|
6
|
+
|
|
7
|
+
## The rule
|
|
8
|
+
|
|
9
|
+
When you want to capture a decision, observation, correction, or lesson from the current session:
|
|
10
|
+
|
|
11
|
+
✅ **Do this:**
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
mcp__indusk__highlight({
|
|
15
|
+
tag: "brief-accepted" | "adr-accepted" | "correction" | "retro-lesson" | "observation" | ...,
|
|
16
|
+
note: "single line describing what matters, with enough context to materialize",
|
|
17
|
+
level: "critical" | "important" | "note"
|
|
18
|
+
})
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
❌ **Do NOT do this from process skills:**
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
mcp__graphiti__add_memory({ ... }) // working agent crossing into eval-agent territory
|
|
25
|
+
mcp__indusk__graph_capture({ ... }) // same, just the InDusk wrapper
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The eval agent — spawned automatically on every `git commit` and at session end via `/handoff` — reads the unprocessed highlights queue and materializes each entry as a structured Graphiti episode with the right typing, group ID, and edges. Your job is to **flag the moment**, not to shape the structured episode.
|
|
29
|
+
|
|
30
|
+
## Why this boundary exists
|
|
31
|
+
|
|
32
|
+
Direct Graphiti writes from in-flow code require the working agent to:
|
|
33
|
+
|
|
34
|
+
1. Pick a group ID (sanitization rules, project vs shared, etc.)
|
|
35
|
+
2. Phrase the episode as a Y-statement or correction (typed entity, structured edges)
|
|
36
|
+
3. Swallow Graphiti's network failures or container outages
|
|
37
|
+
4. Stop what it was doing to do all of the above
|
|
38
|
+
|
|
39
|
+
Every one of these is out-of-flow work. The working agent should stay in flow.
|
|
40
|
+
|
|
41
|
+
Highlights flip the model: write one line, keep going. The eval agent does the heavier shaping on its own cadence, in its own subprocess, with its own context. By the next `/catchup`, the structured episode is in Graphiti and queryable via `mcp__graphiti__search_nodes`.
|
|
42
|
+
|
|
43
|
+
## What you CAN do with Graphiti directly
|
|
44
|
+
|
|
45
|
+
**Reads are always allowed** from the working agent:
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
mcp__graphiti__search_nodes({ query, group_ids: [project_group, "shared"], max_nodes })
|
|
49
|
+
mcp__graphiti__search_memory_facts({ ... })
|
|
50
|
+
mcp__graphiti__get_episodes({ ... })
|
|
51
|
+
mcp__graphiti__get_entity_edge({ ... })
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
These are used during `/catchup`, mid-session research, and conflict resolution. The boundary is only on **structured writes**.
|
|
55
|
+
|
|
56
|
+
## Trigger points where you SHOULD call highlight
|
|
57
|
+
|
|
58
|
+
The skills you load via slash commands already call highlight at the right moments. If you're authoring or modifying a skill, these are the canonical trigger points:
|
|
59
|
+
|
|
60
|
+
| Trigger | Skill | Tag | Level |
|
|
61
|
+
|---|---|---|---|
|
|
62
|
+
| Brief accepted | planner | `brief-accepted` | `important` |
|
|
63
|
+
| ADR accepted | planner | `adr-accepted` | `critical` |
|
|
64
|
+
| Mid-session correction (user says "no, do it this way") | work | `correction` | `important` |
|
|
65
|
+
| Retrospective "What We Learned" item | retrospective | `retro-lesson` | `important` |
|
|
66
|
+
| Retrospective "What We'd Do Differently" item | retrospective | `retro-hindsight` | `important` |
|
|
67
|
+
| User runs `/highlight ...` | highlight | user-specified, default `observation` | user-specified, default `important` |
|
|
68
|
+
|
|
69
|
+
If you find yourself wanting to write to Graphiti at a trigger point not on this list — first ask whether the existing skills should be flagging there too. The answer is usually yes; add a `mcp__indusk__highlight` call to the existing skill rather than calling Graphiti directly from your new skill.
|
|
70
|
+
|
|
71
|
+
## Common failure modes
|
|
72
|
+
|
|
73
|
+
**"I want the episode to land in Graphiti RIGHT NOW because the user is asking about it."**
|
|
74
|
+
You're conflating "I want the user to see something" with "I need Graphiti to remember something." If the user is asking now, just tell them now. The eval agent handles the durable memory. If the user wants you to query Graphiti and report what's there, that's a `mcp__graphiti__search_nodes` call (read) — fine.
|
|
75
|
+
|
|
76
|
+
**"The eval agent might not run if I don't commit."**
|
|
77
|
+
That's what `/handoff` is for. The session-end ritual fires the eval-trigger explicitly so the queue drains before the session closes. If you're using `/handoff`, the highlight will be processed.
|
|
78
|
+
|
|
79
|
+
**"Graphiti is down — should I write the highlight anyway?"**
|
|
80
|
+
Yes. Highlights write to a local `.indusk/highlights.jsonl` file, not to Graphiti. The eval agent retries on its own schedule. Graphiti being down doesn't prevent you from flagging the moment.
|
|
81
|
+
|
|
82
|
+
**"I'm writing a custom MCP tool — can it call `add_memory`?"**
|
|
83
|
+
Custom tools that aren't process skills can have different rules, but the question is whether the tool's purpose includes "structured durable memory" (eval-agent territory) or "ad-hoc temporal state" (working-agent territory). If it's the former, route it through the highlights queue so the discipline survives. If it's the latter, you probably don't want Graphiti at all — use the file system or a session-scoped store.
|
|
84
|
+
|
|
85
|
+
## Where this is enforced (and where it isn't)
|
|
86
|
+
|
|
87
|
+
There is no structural enforcement of this rule. No validator hook blocks `mcp__graphiti__add_memory` calls from process skills. The discipline is content-level: skills are authored to call highlight; agents trained on the skills follow the pattern; lessons (this one) reinforce it.
|
|
88
|
+
|
|
89
|
+
If you violate the rule, your episode WILL land in Graphiti (it'll work). But:
|
|
90
|
+
- The typing won't match what the eval agent's prompt produces (group ID sanitization, entity-type assumptions, edge weighting)
|
|
91
|
+
- The highlights queue won't have a record, so cross-agent visibility breaks
|
|
92
|
+
- The eval agent can't deduplicate against your direct write
|
|
93
|
+
- Future plans that rely on the highlights queue as a complete audit trail will miss your entry
|
|
94
|
+
|
|
95
|
+
The rule exists because the consequences of violating it are subtle and accumulate. A single direct-Graphiti-write call may seem harmless. Hundreds across many skills produce graph corruption that's hard to detect and harder to clean.
|
|
96
|
+
|
|
97
|
+
## How to know if you're following the rule
|
|
98
|
+
|
|
99
|
+
Search your generated code for `mcp__graphiti__add_memory` and `mcp__indusk__graph_capture`. If either appears in a process skill, an MCP tool, or any agent-invoked code path, that's the violation. Replace with `mcp__indusk__highlight` + tag + level + note.
|
|
100
|
+
|
|
101
|
+
The exception is `apps/indusk-mcp/src/lib/eval/` — that's the eval-agent code path and it's allowed to call `graph_capture` because it IS the eval agent. If you're touching eval-agent code, you're operating in the second tier and the rules differ.
|
package/package.json
CHANGED
package/skills/catchup.md
CHANGED
|
@@ -58,9 +58,20 @@ Read `.indusk/current.md`. It has two regions worth surfacing:
|
|
|
58
58
|
|
|
59
59
|
**Do NOT edit `.indusk/current.md` during catchup.** Catchup is read-only for shared content. Your own section's content (in-flight / open-questions / cursor) is written via the [`mcp__indusk__update_current_section` MCP tool](apps/docs/src/reference/tools/indusk-mcp.md#agent-tools) — typically at `/handoff`, not during catchup. The `agent register` call in Step 1 only refreshes the heading + `Last updated`; it preserves any existing body content.
|
|
60
60
|
|
|
61
|
-
### 4.
|
|
61
|
+
### 4. Skim Lessons (Lazy-Load)
|
|
62
62
|
|
|
63
|
-
Call `list_lessons`.
|
|
63
|
+
Call `list_lessons`. As of 1.31.5, the tool returns `title` + `path` per lesson — **not** the full content. Titles ARE the actionable rules in most cases.
|
|
64
|
+
|
|
65
|
+
**Skim every title.** Most lesson titles are written as the rule itself ("Never use String.includes for shell-command trigger detection — use anchored regex" / "Ground-truth-verify every 'X already works' claim in a brief before acceptance"). Internalize the titles. That's enough to act on for most work.
|
|
66
|
+
|
|
67
|
+
**Read the full body** (via the `Read` tool against the `path` field — not via a new MCP call) only when:
|
|
68
|
+
- The lesson's title bears on what the user is about to ask you to do (e.g., starting a brief → read `community-brief-author-bias-ground-truth-verification` in full; touching shell-triggered code → read `community-anchor-shell-trigger-patterns-no-substring` in full)
|
|
69
|
+
- An error, finding, or question mid-session matches a lesson title — read that one's body then
|
|
70
|
+
- The user explicitly asks about a topic a lesson covers
|
|
71
|
+
|
|
72
|
+
The shift from "read every lesson's full content" (status quo through 1.31.4) to "skim titles + read on demand" is a ~5–15× context-cost reduction per catchup without losing any lesson coverage — every lesson is still discoverable; you just defer the body load until it's relevant.
|
|
73
|
+
|
|
74
|
+
These are rules learned from past mistakes — not suggestions. Internalize the titles before touching any code; reach for full content when the work calls for it.
|
|
64
75
|
|
|
65
76
|
### 5. Check Infrastructure
|
|
66
77
|
|
|
@@ -108,6 +119,8 @@ mcp__graphiti__search_nodes({
|
|
|
108
119
|
|
|
109
120
|
**Graceful degradation:** If `mcp__graphiti__search_nodes` is unavailable (Graphiti container down, transport error), skip this step silently and add a note to the catchup summary: `Graphiti: unavailable (run \`indusk infra start\` to recall episodic memory)`. Catchup should not fail if Graphiti is down — the rest of the layers are still valid.
|
|
110
121
|
|
|
122
|
+
**Reads only.** Catchup queries Graphiti — it does not write to it. As a working agent, **you never call `mcp__graphiti__add_memory` or `mcp__indusk__graph_capture` directly in process skills**. When you have a moment worth remembering, write a highlight via `mcp__indusk__highlight` (tag + level + note); the eval agent materializes it into a structured Graphiti episode at the next `git commit` or session end. See the `community-use-highlight-not-direct-graphiti-writes` lesson for the full discipline.
|
|
123
|
+
|
|
111
124
|
### 8. Check Active Plans
|
|
112
125
|
|
|
113
126
|
Call `list_plans`. This shows every plan and its status. Pay attention to:
|
/package/admin/.next/static/{Bb2xZegwFKMXaIfoC1AS3 → rBUR4ZSX0VGkp7YbYJh6L}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|