cuelo 0.9.1 → 0.9.2
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -6
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/updates/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/office/page_client-reference-manifest.js +1 -1
- package/.next/server/app/office-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/office-preview.html +1 -1
- package/.next/server/app/office-preview.rsc +2 -2
- package/.next/server/app/office-preview.segments/_full.segment.rsc +2 -2
- package/.next/server/app/office-preview.segments/_head.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/_index.segment.rsc +2 -2
- package/.next/server/app/office-preview.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/office-preview/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/office-preview.segments/office-preview.segment.rsc +1 -1
- package/.next/server/app/office.html +1 -1
- package/.next/server/app/office.rsc +4 -4
- package/.next/server/app/office.segments/_full.segment.rsc +4 -4
- package/.next/server/app/office.segments/_head.segment.rsc +1 -1
- package/.next/server/app/office.segments/_index.segment.rsc +2 -2
- package/.next/server/app/office.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/office.segments/office/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/office.segments/office.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover.html +1 -1
- package/.next/server/app/recover.rsc +2 -2
- package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
- package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +6 -6
- package/.next/server/chunks/5489.js +3 -3
- package/.next/server/chunks/6429.js +3 -3
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{9575-916cd5a97ceda30f.js → 9575-2bfc351b31f30a41.js} +8 -8
- package/.next/static/chunks/app/{layout-eb09a412f4f55812.js → layout-8ee6fa0157a0b288.js} +1 -1
- package/.next/trace +108 -107
- package/.next/trace-build +1 -1
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
- package/Tools/OMP_Global_Config/patches/apply-core-patch.mjs +99 -0
- package/package.json +1 -1
- /package/.next/static/{A-KXZPM3YkTqPPzKrND64 → ZY07mKbniJf7UEsQUdUMV}/_buildManifest.js +0 -0
- /package/.next/static/{A-KXZPM3YkTqPPzKrND64 → ZY07mKbniJf7UEsQUdUMV}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":116056299,"timestamp":816772,"id":14,"parentId":1,"tags":{},"startTime":1791102827709,"traceId":"575251e4acc83325"},{"name":"run-typescript","duration":20865173,"timestamp":117221296,"id":11025,"parentId":1,"tags":{},"startTime":1791102944114,"traceId":"575251e4acc83325"},{"name":"static-check","duration":4152724,"timestamp":138199489,"id":11028,"parentId":1,"tags":{},"startTime":1791102965092,"traceId":"575251e4acc83325"},{"name":"static-generation","duration":11790596,"timestamp":142465272,"id":11198,"parentId":1,"tags":{},"startTime":1791102969358,"traceId":"575251e4acc83325"},{"name":"collect-build-traces","duration":21809444,"timestamp":142420576,"id":11195,"parentId":1,"tags":{},"startTime":1791102969314,"traceId":"575251e4acc83325"},{"name":"telemetry-flush","duration":92,"timestamp":164234519,"id":11207,"parentId":1,"tags":{},"startTime":1791102991128,"traceId":"575251e4acc83325"},{"name":"next-build","duration":163529256,"timestamp":705556,"id":1,"tags":{"buildMode":"default","version":"16.2.12","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1791102827597,"traceId":"575251e4acc83325"}]
|
|
@@ -9,7 +9,7 @@ const MEMORY_RE = /(const phase1Model = await resolveMemoryModel\(\{[^}]*?fallba
|
|
|
9
9
|
const MEMORY_DONE = /const phase1Model = await resolveMemoryModel\(\{[^}]*?fallbackRole: "smol"/;
|
|
10
10
|
const EXPECTED = {
|
|
11
11
|
name: 'cuelo',
|
|
12
|
-
version: '0.9.
|
|
12
|
+
version: '0.9.2',
|
|
13
13
|
distribution: 'cuelo',
|
|
14
14
|
coreVersion: '18.6.0',
|
|
15
15
|
};
|
|
@@ -3040,6 +3040,25 @@ import { isUnexpectedSocketCloseMessage } from "@oh-my-pi/pi-utils/fetch-retry";
|
|
|
3040
3040
|
if (AgentLifecycleManager.#global === this) AgentLifecycleManager.#global = undefined;
|
|
3041
3041
|
}`,
|
|
3042
3042
|
},
|
|
3043
|
+
{
|
|
3044
|
+
// 2026-10-04 실측: Maker 가 측정 job(bash async)을 띄우고 턴을 끝낸 지 task.agentIdleTtlMs(기본 420000ms)
|
|
3045
|
+
// 뒤 park() 가 세션을 dispose 했다. park 는 대기 중인 async 작업을 보지 않아 job 완료 알림이 전달되지 않고
|
|
3046
|
+
// 남은 작업도 끊겼다(upstream 18.6.0 도 같다). 커밋 직전 재확인에서 작업이 남아 있으면 dispose 하지 않고
|
|
3047
|
+
// idle 타이머를 다시 건다. job 은 실행 한도, 남은 전달·yield 큐는 idle flush 로 끝나므로 영구 잔류는 없다.
|
|
3048
|
+
file: "src/registry/agent-lifecycle.ts",
|
|
3049
|
+
marker: "// HANSE: keep sessions with pending async work",
|
|
3050
|
+
anchor: ` if (this.#adopted.get(id)?.ref !== ref) return;
|
|
3051
|
+
|
|
3052
|
+
// Commit: detach + parked *before* dispose`,
|
|
3053
|
+
patched: ` if (this.#adopted.get(id)?.ref !== ref) return;
|
|
3054
|
+
// HANSE: keep sessions with pending async work
|
|
3055
|
+
if (session.hasPendingAsyncWork()) {
|
|
3056
|
+
this.#armTimer(id, adopted);
|
|
3057
|
+
return;
|
|
3058
|
+
}
|
|
3059
|
+
|
|
3060
|
+
// Commit: detach + parked *before* dispose`,
|
|
3061
|
+
},
|
|
3043
3062
|
{
|
|
3044
3063
|
file: "src/sdk.ts",
|
|
3045
3064
|
marker: "lifecycle.dispose(undefined, registeredAgentRef)",
|
|
@@ -6048,6 +6067,86 @@ function koreanStem(token: string): string {
|
|
|
6048
6067
|
anchor: "\ttool: 0.5,\n\tfalse: 0,\n",
|
|
6049
6068
|
patched: "\t// HANSE: deliberate learn/retain weight\n\ttool: 1.0,\n\tfalse: 0,\n",
|
|
6050
6069
|
},
|
|
6070
|
+
{
|
|
6071
|
+
// (4) 2026-10-04 2차 측정(재임베딩 복사본, 190문항): queryTime 이 없는 일반 회상에서 72시간 반감 recency 배율
|
|
6072
|
+
// (0.7~1.0)이 기본 점수 차이보다 커서, 1위를 놓친 정답 101건 중 89건이 더 최근의 덜 관련된 교훈에 밀렸다(질문
|
|
6073
|
+
// hit@1 21.1%). 일반 질의는 배율을 쓰지 않는다(53.3%, 영어 fixture MRR 0.878). 시간 질의(queryTime 이 있는
|
|
6074
|
+
// temporalBoost 경로)와 recency_score 필드 값은 그대로다. 교훈 갱신은 learn topic 이 같은 행을 고쳐 쓰고,
|
|
6075
|
+
// invalidate·superseded 행은 buildWhere 가 이미 빼므로 옛 판이 새 판을 앞서지 않는다.
|
|
6076
|
+
file: "../pi-mnemopi/src/core/beam/recall.ts",
|
|
6077
|
+
marker: "// HANSE: no recency multiplier for plain recall",
|
|
6078
|
+
anchor: "\tlet score = baseScore * (0.7 + 0.3 * decay);\n",
|
|
6079
|
+
patched: "\t// HANSE: no recency multiplier for plain recall\n\tlet score = options.queryTime == null ? baseScore : baseScore * (0.7 + 0.3 * decay);\n",
|
|
6080
|
+
},
|
|
6081
|
+
{
|
|
6082
|
+
// (5) working 기억의 dense 가중이 0.2 로 고정돼(MNEMOPI_VEC_WEIGHT 는 episodic 분기만 쓴다) 어휘 점수가 순위를
|
|
6083
|
+
// 거의 정했다. 재임베딩 복사본 190문항에서 0.8 이 질문 MRR 0.565→0.644, 작업 hit@8 61.1→67.8(접두 포함)로
|
|
6084
|
+
// 가장 고르게 올랐다(1.0 은 질문만 오르고 작업 hit@8 이 58.9 로 떨어졌다).
|
|
6085
|
+
file: "../pi-mnemopi/src/core/beam/recall.ts",
|
|
6086
|
+
marker: "// HANSE: working dense weight 0.8",
|
|
6087
|
+
anchor: "\t\tif (candidate.signals.dense > 0) baseScore = baseScore * 0.8 + candidate.signals.dense * 0.2;\n",
|
|
6088
|
+
patched: "\t\t// HANSE: working dense weight 0.8\n\t\tif (candidate.signals.dense > 0) baseScore = baseScore * 0.2 + candidate.signals.dense * 0.8;\n",
|
|
6089
|
+
},
|
|
6090
|
+
{
|
|
6091
|
+
// (6) 2026-10-04 실측: fastembed 3.0.0 업그레이드(18.5.1) 뒤 같은 이름의 multilingual-e5-large 가 다른 벡터를
|
|
6092
|
+
// 냈다(옛 저장 벡터와 새 벡터 코사인 0.85~0.90, 저장 벡터 순위 hit@1 5.6%). stamp 가 모델 이름뿐이라
|
|
6093
|
+
// reconcileEmbeddingModel 이 재구축하지 않았다. 로컬 fastembed 모델의 stamp 에 runtime versionKey 와 e5 접두
|
|
6094
|
+
// 방식을 붙여, 둘 중 하나가 바뀌면 기존 wipe→재구축 경로가 돈다. 주입 provider·API 모델 stamp 는 그대로다.
|
|
6095
|
+
// e5 는 query:/passage: 접두를 전제로 학습됐다(접두+dense 0.8: 질문 58.9/77.8, 작업 hit@8 67.8).
|
|
6096
|
+
file: "../pi-mnemopi/src/core/embeddings.ts",
|
|
6097
|
+
marker: "// HANSE: local embedding fingerprint and e5 prefixes",
|
|
6098
|
+
anchor: "export function currentEmbeddingModel(): string {\n\treturn defaultModel();\n}\n",
|
|
6099
|
+
patched: `// HANSE: local embedding fingerprint and e5 prefixes
|
|
6100
|
+
const E5_PREFIX_STAMP = "e5-prefix-v1";
|
|
6101
|
+
|
|
6102
|
+
/** The local fastembed model in use (no injected provider, not an API model), or null. */
|
|
6103
|
+
function localEmbeddingModel(): string | null {
|
|
6104
|
+
if (resolveEmbeddingProvider(activeEmbeddingOptions()?.provider) !== undefined || providerOverride !== null) return null;
|
|
6105
|
+
const model = defaultModel();
|
|
6106
|
+
return isApiModel(model) ? null : model;
|
|
6107
|
+
}
|
|
6108
|
+
|
|
6109
|
+
function usesE5Prefix(): boolean {
|
|
6110
|
+
const model = localEmbeddingModel();
|
|
6111
|
+
return model !== null && /(^|[/_-])e5([-_]|$)/i.test(model);
|
|
6112
|
+
}
|
|
6113
|
+
|
|
6114
|
+
/** Adds the e5 retrieval prefix for local e5 models; other models embed the text as-is. */
|
|
6115
|
+
export function e5Prefixed(kind: "query" | "passage", texts: readonly string[]): readonly string[] {
|
|
6116
|
+
return usesE5Prefix() ? texts.map(text => \`\${kind}: \${text}\`) : texts;
|
|
6117
|
+
}
|
|
6118
|
+
|
|
6119
|
+
export function currentEmbeddingModel(): string {
|
|
6120
|
+
const model = localEmbeddingModel();
|
|
6121
|
+
if (model === null) return defaultModel();
|
|
6122
|
+
return \`\${model}#\${fastembedRuntimeInstallPlan().versionKey}\${usesE5Prefix() ? \`#\${E5_PREFIX_STAMP}\` : ""}\`;
|
|
6123
|
+
}
|
|
6124
|
+
`,
|
|
6125
|
+
},
|
|
6126
|
+
{
|
|
6127
|
+
file: "../pi-mnemopi/src/core/embeddings.ts",
|
|
6128
|
+
marker: "import { fastembedRuntimeInstallPlan, loadFastembed } from",
|
|
6129
|
+
anchor: 'import { loadFastembed } from "./fastembed-runtime";\n',
|
|
6130
|
+
patched: 'import { fastembedRuntimeInstallPlan, loadFastembed } from "./fastembed-runtime";\n',
|
|
6131
|
+
},
|
|
6132
|
+
{
|
|
6133
|
+
file: "../pi-mnemopi/src/core/embeddings.ts",
|
|
6134
|
+
marker: 'await embed(e5Prefixed("query", [text]))',
|
|
6135
|
+
anchor: "\tconst vectors = await embed([text]);\n",
|
|
6136
|
+
patched: '\tconst vectors = await embed(e5Prefixed("query", [text]));\n',
|
|
6137
|
+
},
|
|
6138
|
+
{
|
|
6139
|
+
file: "../pi-mnemopi/src/core/beam/helpers.ts",
|
|
6140
|
+
marker: 'await embed(e5Prefixed("passage",',
|
|
6141
|
+
anchor: "\t\tconst matrix = await embed(items.map(item => item.content));\n",
|
|
6142
|
+
patched: '\t\tconst matrix = await embed(e5Prefixed("passage", items.map(item => item.content)));\n',
|
|
6143
|
+
},
|
|
6144
|
+
{
|
|
6145
|
+
file: "../pi-mnemopi/src/core/beam/helpers.ts",
|
|
6146
|
+
marker: "import { currentEmbeddingModel, e5Prefixed, embed } from",
|
|
6147
|
+
anchor: 'import { currentEmbeddingModel, embed } from "../embeddings";\n',
|
|
6148
|
+
patched: 'import { currentEmbeddingModel, e5Prefixed, embed } from "../embeddings";\n',
|
|
6149
|
+
},
|
|
6051
6150
|
{
|
|
6052
6151
|
// 2026-09-29 실측: 기억 임베딩 재구축(모델 변경·중단 뒤 재개)이 128건 묶음을 한꺼번에 worker 에
|
|
6053
6152
|
// 올렸다. worker 는 요청을 하나씩 처리하는데 요청마다 120초 타이머가 보낸 순간부터 흘러,
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|