@laitszkin/apollo-toolkit 4.0.11 → 4.1.0
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/AGENTS.md +37 -27
- package/CHANGELOG.md +31 -0
- package/CLAUDE.md +37 -27
- package/README.md +15 -2
- package/assets/spec/rg13-1780435029246/test-questions.json +1 -0
- package/assets/spec/rg13-1780468345132/test-questions.json +1 -0
- package/package.json +3 -3
- package/packages/cli/dist/tool-registration.js +1 -0
- package/packages/cli/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/cli/tool-registration.ts +1 -0
- package/packages/tools/architecture/dist/index.js +539 -2
- package/packages/tools/architecture/dist/index.test.d.ts +1 -0
- package/packages/tools/architecture/dist/index.test.js +229 -0
- package/packages/tools/architecture/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/tools/architecture/index.test.ts +329 -0
- package/packages/tools/architecture/index.ts +607 -5
- package/packages/tools/codegraph/dist/index.d.ts +3 -0
- package/packages/tools/codegraph/dist/index.js +157 -0
- package/packages/tools/codegraph/dist/lib/cg-instance.d.ts +29 -0
- package/packages/tools/codegraph/dist/lib/cg-instance.js +59 -0
- package/packages/tools/codegraph/dist/lib/cg-instance.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cg-instance.test.js +27 -0
- package/packages/tools/codegraph/dist/lib/cmd-explore.d.ts +5 -0
- package/packages/tools/codegraph/dist/lib/cmd-explore.js +95 -0
- package/packages/tools/codegraph/dist/lib/cmd-explore.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-explore.test.js +133 -0
- package/packages/tools/codegraph/dist/lib/cmd-flag-splice.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-flag-splice.test.js +83 -0
- package/packages/tools/codegraph/dist/lib/cmd-init.d.ts +5 -0
- package/packages/tools/codegraph/dist/lib/cmd-init.js +50 -0
- package/packages/tools/codegraph/dist/lib/cmd-init.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-init.test.js +51 -0
- package/packages/tools/codegraph/dist/lib/cmd-list-apis.d.ts +5 -0
- package/packages/tools/codegraph/dist/lib/cmd-list-apis.js +64 -0
- package/packages/tools/codegraph/dist/lib/cmd-list-apis.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-list-apis.test.js +69 -0
- package/packages/tools/codegraph/dist/lib/cmd-search.d.ts +5 -0
- package/packages/tools/codegraph/dist/lib/cmd-search.js +21 -0
- package/packages/tools/codegraph/dist/lib/cmd-search.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-search.test.js +30 -0
- package/packages/tools/codegraph/dist/lib/cmd-status.d.ts +4 -0
- package/packages/tools/codegraph/dist/lib/cmd-status.js +44 -0
- package/packages/tools/codegraph/dist/lib/cmd-status.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-status.test.js +72 -0
- package/packages/tools/codegraph/dist/lib/cmd-survey.d.ts +36 -0
- package/packages/tools/codegraph/dist/lib/cmd-survey.js +142 -0
- package/packages/tools/codegraph/dist/lib/cmd-survey.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-survey.test.js +136 -0
- package/packages/tools/codegraph/dist/lib/cmd-sync.d.ts +4 -0
- package/packages/tools/codegraph/dist/lib/cmd-sync.js +51 -0
- package/packages/tools/codegraph/dist/lib/cmd-sync.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-sync.test.js +30 -0
- package/packages/tools/codegraph/dist/lib/cmd-verify.d.ts +4 -0
- package/packages/tools/codegraph/dist/lib/cmd-verify.js +134 -0
- package/packages/tools/codegraph/dist/lib/cmd-verify.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/cmd-verify.test.js +139 -0
- package/packages/tools/codegraph/dist/lib/formatter.d.ts +67 -0
- package/packages/tools/codegraph/dist/lib/formatter.js +107 -0
- package/packages/tools/codegraph/dist/lib/formatter.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/formatter.test.js +41 -0
- package/packages/tools/codegraph/dist/lib/survey/grouper.d.ts +19 -0
- package/packages/tools/codegraph/dist/lib/survey/grouper.js +194 -0
- package/packages/tools/codegraph/dist/lib/survey/grouper.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/survey/grouper.test.js +62 -0
- package/packages/tools/codegraph/dist/lib/survey/scanner.d.ts +31 -0
- package/packages/tools/codegraph/dist/lib/survey/scanner.js +50 -0
- package/packages/tools/codegraph/dist/lib/verify/checker.d.ts +32 -0
- package/packages/tools/codegraph/dist/lib/verify/checker.js +146 -0
- package/packages/tools/codegraph/dist/lib/verify/checker.test.d.ts +1 -0
- package/packages/tools/codegraph/dist/lib/verify/checker.test.js +128 -0
- package/packages/tools/codegraph/dist/tsconfig.tsbuildinfo +1 -0
- package/packages/tools/codegraph/env.d.ts +56 -0
- package/packages/tools/codegraph/index.ts +173 -0
- package/packages/tools/codegraph/lib/cg-instance.test.ts +36 -0
- package/packages/tools/codegraph/lib/cg-instance.ts +66 -0
- package/packages/tools/codegraph/lib/cmd-explore.test.ts +195 -0
- package/packages/tools/codegraph/lib/cmd-explore.ts +129 -0
- package/packages/tools/codegraph/lib/cmd-flag-splice.test.ts +94 -0
- package/packages/tools/codegraph/lib/cmd-init.test.ts +68 -0
- package/packages/tools/codegraph/lib/cmd-init.ts +60 -0
- package/packages/tools/codegraph/lib/cmd-list-apis.test.ts +80 -0
- package/packages/tools/codegraph/lib/cmd-list-apis.ts +90 -0
- package/packages/tools/codegraph/lib/cmd-search.test.ts +37 -0
- package/packages/tools/codegraph/lib/cmd-search.ts +32 -0
- package/packages/tools/codegraph/lib/cmd-status.test.ts +86 -0
- package/packages/tools/codegraph/lib/cmd-status.ts +53 -0
- package/packages/tools/codegraph/lib/cmd-survey.test.ts +161 -0
- package/packages/tools/codegraph/lib/cmd-survey.ts +199 -0
- package/packages/tools/codegraph/lib/cmd-sync.test.ts +41 -0
- package/packages/tools/codegraph/lib/cmd-sync.ts +62 -0
- package/packages/tools/codegraph/lib/cmd-verify.test.ts +162 -0
- package/packages/tools/codegraph/lib/cmd-verify.ts +145 -0
- package/packages/tools/codegraph/lib/formatter.test.ts +47 -0
- package/packages/tools/codegraph/lib/formatter.ts +130 -0
- package/packages/tools/codegraph/lib/survey/grouper.test.ts +72 -0
- package/packages/tools/codegraph/lib/survey/grouper.ts +226 -0
- package/packages/tools/codegraph/lib/survey/scanner.ts +89 -0
- package/packages/tools/codegraph/lib/verify/checker.test.ts +140 -0
- package/packages/tools/codegraph/lib/verify/checker.ts +172 -0
- package/packages/tools/codegraph/package.json +23 -0
- package/packages/tools/codegraph/tsconfig.json +22 -0
- package/resources/project-architecture/atlas/atlas.history.log +32 -0
- package/resources/project-architecture/atlas/atlas.history.undo.json +356 -28
- package/resources/project-architecture/atlas/atlas.history.undo.stack.json +14350 -0
- package/resources/project-architecture/atlas/atlas.index.yaml +76 -12
- package/resources/project-architecture/atlas/features/codegraph.yaml +95 -0
- package/resources/project-architecture/atlas/features/eval-ci-gate.yaml +6 -1
- package/resources/project-architecture/atlas/features/eval-cli.yaml +16 -1
- package/resources/project-architecture/atlas/features/eval-executor.yaml +12 -2
- package/resources/project-architecture/atlas/features/eval-isolation.yaml +6 -1
- package/resources/project-architecture/atlas/features/eval-optimizer.yaml +17 -2
- package/resources/project-architecture/atlas/features/eval-question.yaml +12 -2
- package/resources/project-architecture/atlas/features/eval-reporter.yaml +6 -1
- package/resources/project-architecture/atlas/features/eval-scorer.yaml +12 -2
- package/resources/project-architecture/features/codegraph/cg-discovery.html +47 -0
- package/resources/project-architecture/features/codegraph/cg-lifecycle.html +48 -0
- package/resources/project-architecture/features/codegraph/cg-validation.html +47 -0
- package/resources/project-architecture/features/codegraph/index.html +58 -0
- package/resources/project-architecture/features/eval-ci-gate/workflow-trigger.html +6 -1
- package/resources/project-architecture/features/eval-cli/cli-handler.html +8 -1
- package/resources/project-architecture/features/eval-executor/exec-api-client.html +6 -1
- package/resources/project-architecture/features/eval-executor/trace-recorder.html +6 -1
- package/resources/project-architecture/features/eval-isolation/tool-dispatcher.html +6 -1
- package/resources/project-architecture/features/eval-optimizer/dedup-engine.html +6 -1
- package/resources/project-architecture/features/eval-optimizer/issue-extractor.html +7 -1
- package/resources/project-architecture/features/eval-question/question-loader.html +6 -1
- package/resources/project-architecture/features/eval-question/variant-generator.html +6 -1
- package/resources/project-architecture/features/eval-reporter/report-composer.html +6 -1
- package/resources/project-architecture/features/eval-scorer/judge-api-client.html +6 -1
- package/resources/project-architecture/features/eval-scorer/judge-prompt-builder.html +6 -1
- package/resources/project-architecture/index.html +200 -94
- package/skills/design/SKILL.md +33 -0
- package/skills/init-project-html/SKILL.md +12 -11
- package/tsconfig.json +1 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"base": {
|
|
3
3
|
"meta": {
|
|
4
|
-
"title": "Project architecture",
|
|
5
|
-
"summary": "",
|
|
6
|
-
"updatedAt": "2026-
|
|
4
|
+
"title": "Project architecture (+ codegraph integration overlay)",
|
|
5
|
+
"summary": "Baseline: eval 系統 (8 features). Overlay: 新增 codegraph 功能模組,包含 lifecycle 命令、discovery 命令、validation/apply 命令。 新增外部 actor: @colbymchenry/codegraph (npm 套件)。\n",
|
|
6
|
+
"updatedAt": "2026-06-03T13:18:56.775Z"
|
|
7
7
|
},
|
|
8
8
|
"actors": [
|
|
9
9
|
{
|
|
@@ -21,9 +21,154 @@
|
|
|
21
21
|
{
|
|
22
22
|
"id": "skill-files",
|
|
23
23
|
"label": "Skill Files (SKILL.md, scripts/, references/, assets/)"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "codegraph-npm",
|
|
27
|
+
"label": "@colbymchenry/codegraph npm package"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "tool-registry",
|
|
31
|
+
"label": "Tool Registry (@laitszkin/tool-registry)"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "tui-lib",
|
|
35
|
+
"label": "TUI Library (@laitszkin/tui)"
|
|
24
36
|
}
|
|
25
37
|
],
|
|
26
38
|
"features": [
|
|
39
|
+
{
|
|
40
|
+
"slug": "codegraph",
|
|
41
|
+
"title": "CodeGraph Integration",
|
|
42
|
+
"story": "Provide LLM agents with deterministic code structure data through apltk CLI. Replaces manual grep/Read discovery with tree-sitter parsed knowledge graph queries.\n",
|
|
43
|
+
"dependsOn": [
|
|
44
|
+
"eval-cli"
|
|
45
|
+
],
|
|
46
|
+
"submodules": [
|
|
47
|
+
{
|
|
48
|
+
"slug": "cg-lifecycle",
|
|
49
|
+
"kind": "service",
|
|
50
|
+
"role": "Manage CodeGraph index lifecycle — init, sync, status, search",
|
|
51
|
+
"functions": [
|
|
52
|
+
{
|
|
53
|
+
"name": "init",
|
|
54
|
+
"in": "projectRoot: string",
|
|
55
|
+
"out": "CodeGraph instance",
|
|
56
|
+
"side": "io",
|
|
57
|
+
"purpose": "Initialize .codegraph/ directory and optionally run full index"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "sync",
|
|
61
|
+
"in": "projectRoot: string",
|
|
62
|
+
"out": "SyncResult",
|
|
63
|
+
"side": "io",
|
|
64
|
+
"purpose": "Incremental update of existing index"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "status",
|
|
68
|
+
"in": "projectRoot: string",
|
|
69
|
+
"out": "GraphStats",
|
|
70
|
+
"side": "pure",
|
|
71
|
+
"purpose": "Query index statistics"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "search",
|
|
75
|
+
"in": "query: string",
|
|
76
|
+
"out": "SearchResult[]",
|
|
77
|
+
"side": "pure",
|
|
78
|
+
"purpose": "Full-text symbol search via FTS5"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"variables": [],
|
|
82
|
+
"dataflow": [],
|
|
83
|
+
"errors": []
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"slug": "cg-discovery",
|
|
87
|
+
"kind": "service",
|
|
88
|
+
"role": "Explore and survey code structure — explore, survey, list-apis",
|
|
89
|
+
"functions": [
|
|
90
|
+
{
|
|
91
|
+
"name": "explore",
|
|
92
|
+
"in": "query: string",
|
|
93
|
+
"out": "Context (source grouped by file + relationship map)",
|
|
94
|
+
"side": "pure",
|
|
95
|
+
"purpose": "Get full context for symbols matching a query"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "survey",
|
|
99
|
+
"in": "dirPath: string",
|
|
100
|
+
"out": "SurveyReport (submodule suggestions + edge suggestions)",
|
|
101
|
+
"side": "pure",
|
|
102
|
+
"purpose": "Survey a directory and produce atlas-compatible structure report"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "listApis",
|
|
106
|
+
"in": "featureSlug: string",
|
|
107
|
+
"out": "APIDirectory (public functions + params + callers)",
|
|
108
|
+
"side": "pure",
|
|
109
|
+
"purpose": "List public API surface of a feature area"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"variables": [],
|
|
113
|
+
"dataflow": [],
|
|
114
|
+
"errors": []
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"slug": "cg-validation",
|
|
118
|
+
"kind": "service",
|
|
119
|
+
"role": "Verify architecture proposals and batch-apply atlas mutations",
|
|
120
|
+
"functions": [
|
|
121
|
+
{
|
|
122
|
+
"name": "verify",
|
|
123
|
+
"in": "specOverlayPath: string",
|
|
124
|
+
"out": "VerifyReport (passed/failed items)",
|
|
125
|
+
"side": "pure",
|
|
126
|
+
"purpose": "Validate that spec overlay references match actual code"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "applyBatch",
|
|
130
|
+
"in": "proposalYaml: string",
|
|
131
|
+
"out": "ApplyResult",
|
|
132
|
+
"side": "io",
|
|
133
|
+
"purpose": "Execute multiple atlas mutations from a single YAML file"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "generateTemplate",
|
|
137
|
+
"in": "specMdPath: string",
|
|
138
|
+
"out": "proposalYaml path",
|
|
139
|
+
"side": "io",
|
|
140
|
+
"purpose": "Generate empty proposal skeleton from SPEC.md"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"variables": [],
|
|
144
|
+
"dataflow": [],
|
|
145
|
+
"errors": []
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"edges": [
|
|
149
|
+
{
|
|
150
|
+
"id": "cg-fe-001",
|
|
151
|
+
"from": "cg-lifecycle",
|
|
152
|
+
"to": "cg-discovery",
|
|
153
|
+
"kind": "data-row",
|
|
154
|
+
"label": "survey/list-apis 依賴已索引的資料庫"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"id": "cg-fe-002",
|
|
158
|
+
"from": "cg-discovery",
|
|
159
|
+
"to": "cg-validation",
|
|
160
|
+
"kind": "data-row",
|
|
161
|
+
"label": "verify 使用 discovery 的搜尋能力"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"id": "cg-fe-003",
|
|
165
|
+
"from": "cg-validation",
|
|
166
|
+
"to": "cg-lifecycle",
|
|
167
|
+
"kind": "data-row",
|
|
168
|
+
"label": "apply 非索引操作,不需 lifecycle — 但 template 可搭配 list-apis"
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
},
|
|
27
172
|
{
|
|
28
173
|
"slug": "eval-optimizer",
|
|
29
174
|
"title": "優化引擎",
|
|
@@ -34,7 +179,22 @@
|
|
|
34
179
|
"slug": "issue-extractor",
|
|
35
180
|
"kind": "service",
|
|
36
181
|
"role": "從score.json提取問題、分類統計",
|
|
37
|
-
"functions": [
|
|
182
|
+
"functions": [
|
|
183
|
+
{
|
|
184
|
+
"name": "extractIssues",
|
|
185
|
+
"in": "scores",
|
|
186
|
+
"out": "RawIssue[]",
|
|
187
|
+
"side": "pure",
|
|
188
|
+
"purpose": "從 score.json 提取問題與分類統計"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "generateOptimizationPlan",
|
|
192
|
+
"in": "issues",
|
|
193
|
+
"out": "OptimizationPlan",
|
|
194
|
+
"side": "pure",
|
|
195
|
+
"purpose": "從去重後問題生成 FIND/REPLACE 優化 diff"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
38
198
|
"variables": [],
|
|
39
199
|
"dataflow": [],
|
|
40
200
|
"errors": []
|
|
@@ -43,7 +203,15 @@
|
|
|
43
203
|
"slug": "dedup-engine",
|
|
44
204
|
"kind": "service",
|
|
45
205
|
"role": "Jaccard+Judge語意去重",
|
|
46
|
-
"functions": [
|
|
206
|
+
"functions": [
|
|
207
|
+
{
|
|
208
|
+
"name": "deduplicateIssues",
|
|
209
|
+
"in": "issues",
|
|
210
|
+
"out": "DedupedIssue[]",
|
|
211
|
+
"side": "pure",
|
|
212
|
+
"purpose": "Jaccard+Judge 語意去重"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
47
215
|
"variables": [],
|
|
48
216
|
"dataflow": [],
|
|
49
217
|
"errors": []
|
|
@@ -70,7 +238,29 @@
|
|
|
70
238
|
"slug": "cli-handler",
|
|
71
239
|
"kind": "service",
|
|
72
240
|
"role": "ToolDefinition註冊、參數解析、流程編排",
|
|
73
|
-
"functions": [
|
|
241
|
+
"functions": [
|
|
242
|
+
{
|
|
243
|
+
"name": "evalHandler",
|
|
244
|
+
"in": "argv, context",
|
|
245
|
+
"out": "exitCode",
|
|
246
|
+
"side": "pure",
|
|
247
|
+
"purpose": "CLI 入口:解析參數、調度評測流程"
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"name": "parseArgs",
|
|
251
|
+
"in": "argv",
|
|
252
|
+
"out": "ParsedArgs",
|
|
253
|
+
"side": "pure",
|
|
254
|
+
"purpose": "解析 CLI 參數與模式選擇"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "tool",
|
|
258
|
+
"in": "ToolDefinition",
|
|
259
|
+
"out": "void",
|
|
260
|
+
"side": "pure",
|
|
261
|
+
"purpose": "向 tool-registry 註冊 eval 命令"
|
|
262
|
+
}
|
|
263
|
+
],
|
|
74
264
|
"variables": [],
|
|
75
265
|
"dataflow": [],
|
|
76
266
|
"errors": []
|
|
@@ -97,7 +287,15 @@
|
|
|
97
287
|
"slug": "workflow-trigger",
|
|
98
288
|
"kind": "service",
|
|
99
289
|
"role": "GitHub Actions workflow on PR skill file change",
|
|
100
|
-
"functions": [
|
|
290
|
+
"functions": [
|
|
291
|
+
{
|
|
292
|
+
"name": "detectSkillChanges",
|
|
293
|
+
"in": "prFiles",
|
|
294
|
+
"out": "string[]",
|
|
295
|
+
"side": "pure",
|
|
296
|
+
"purpose": "檢測 PR 中技能檔案變更"
|
|
297
|
+
}
|
|
298
|
+
],
|
|
101
299
|
"variables": [],
|
|
102
300
|
"dataflow": [],
|
|
103
301
|
"errors": []
|
|
@@ -124,7 +322,15 @@
|
|
|
124
322
|
"slug": "tool-dispatcher",
|
|
125
323
|
"kind": "service",
|
|
126
324
|
"role": "工具調用攔截系統:讀取工具在workspace內真實執行、寫入工具模擬回傳、路徑穿越防護",
|
|
127
|
-
"functions": [
|
|
325
|
+
"functions": [
|
|
326
|
+
{
|
|
327
|
+
"name": "buildSystemPrompt",
|
|
328
|
+
"in": "question",
|
|
329
|
+
"out": "string",
|
|
330
|
+
"side": "pure",
|
|
331
|
+
"purpose": "建立隔離環境的 system prompt"
|
|
332
|
+
}
|
|
333
|
+
],
|
|
128
334
|
"variables": [],
|
|
129
335
|
"dataflow": [],
|
|
130
336
|
"errors": []
|
|
@@ -142,7 +348,15 @@
|
|
|
142
348
|
"slug": "question-loader",
|
|
143
349
|
"kind": "service",
|
|
144
350
|
"role": "題目載入與JSON Schema驗證",
|
|
145
|
-
"functions": [
|
|
351
|
+
"functions": [
|
|
352
|
+
{
|
|
353
|
+
"name": "loadQuestions",
|
|
354
|
+
"in": "specDir",
|
|
355
|
+
"out": "Question[]",
|
|
356
|
+
"side": "pure",
|
|
357
|
+
"purpose": "載入題目並進行 JSON Schema 驗證"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
146
360
|
"variables": [],
|
|
147
361
|
"dataflow": [],
|
|
148
362
|
"errors": []
|
|
@@ -151,7 +365,15 @@
|
|
|
151
365
|
"slug": "variant-generator",
|
|
152
366
|
"kind": "service",
|
|
153
367
|
"role": "LLM變體生成,保留評分標準",
|
|
154
|
-
"functions": [
|
|
368
|
+
"functions": [
|
|
369
|
+
{
|
|
370
|
+
"name": "generateVariants",
|
|
371
|
+
"in": "questions, count",
|
|
372
|
+
"out": "Question[]",
|
|
373
|
+
"side": "io",
|
|
374
|
+
"purpose": "LLM 變體生成,保留評分標準"
|
|
375
|
+
}
|
|
376
|
+
],
|
|
155
377
|
"variables": [],
|
|
156
378
|
"dataflow": [],
|
|
157
379
|
"errors": []
|
|
@@ -169,7 +391,15 @@
|
|
|
169
391
|
"slug": "trace-recorder",
|
|
170
392
|
"kind": "service",
|
|
171
393
|
"role": "多輪tool-use loop軌跡記錄:tool_call/tool_result事件序列、JSONL行號標記、.done完成標記",
|
|
172
|
-
"functions": [
|
|
394
|
+
"functions": [
|
|
395
|
+
{
|
|
396
|
+
"name": "runSingleTest",
|
|
397
|
+
"in": "question, skillDir",
|
|
398
|
+
"out": "TraceEvent[]",
|
|
399
|
+
"side": "pure",
|
|
400
|
+
"purpose": "執行單一技能測試,記錄 tool call 軌跡"
|
|
401
|
+
}
|
|
402
|
+
],
|
|
173
403
|
"variables": [],
|
|
174
404
|
"dataflow": [],
|
|
175
405
|
"errors": []
|
|
@@ -178,7 +408,15 @@
|
|
|
178
408
|
"slug": "exec-api-client",
|
|
179
409
|
"kind": "api",
|
|
180
410
|
"role": "Exec Model HTTP client with retry",
|
|
181
|
-
"functions": [
|
|
411
|
+
"functions": [
|
|
412
|
+
{
|
|
413
|
+
"name": "withRetry",
|
|
414
|
+
"in": "fn, options",
|
|
415
|
+
"out": "Result",
|
|
416
|
+
"side": "io",
|
|
417
|
+
"purpose": "HTTP client with retry for exec model"
|
|
418
|
+
}
|
|
419
|
+
],
|
|
182
420
|
"variables": [],
|
|
183
421
|
"dataflow": [],
|
|
184
422
|
"errors": []
|
|
@@ -195,8 +433,16 @@
|
|
|
195
433
|
{
|
|
196
434
|
"slug": "judge-prompt-builder",
|
|
197
435
|
"kind": "service",
|
|
198
|
-
"role": "
|
|
199
|
-
"functions": [
|
|
436
|
+
"role": "評分提示詞構建:trace事件摘要含JSONL行號(L{N})引用、三維度評分指示",
|
|
437
|
+
"functions": [
|
|
438
|
+
{
|
|
439
|
+
"name": "buildJudgePrompt",
|
|
440
|
+
"in": "trace, scoreCriteria",
|
|
441
|
+
"out": "string",
|
|
442
|
+
"side": "pure",
|
|
443
|
+
"purpose": "將 trace 事件摘要轉為評分提示詞"
|
|
444
|
+
}
|
|
445
|
+
],
|
|
200
446
|
"variables": [],
|
|
201
447
|
"dataflow": [],
|
|
202
448
|
"errors": []
|
|
@@ -205,7 +451,15 @@
|
|
|
205
451
|
"slug": "judge-api-client",
|
|
206
452
|
"kind": "api",
|
|
207
453
|
"role": "Judge Model HTTP client with parse fallback",
|
|
208
|
-
"functions": [
|
|
454
|
+
"functions": [
|
|
455
|
+
{
|
|
456
|
+
"name": "callJudgeModel",
|
|
457
|
+
"in": "prompt, options",
|
|
458
|
+
"out": "ScoreResult",
|
|
459
|
+
"side": "io",
|
|
460
|
+
"purpose": "呼叫 Judge Model API 進行評分"
|
|
461
|
+
}
|
|
462
|
+
],
|
|
209
463
|
"variables": [],
|
|
210
464
|
"dataflow": [],
|
|
211
465
|
"errors": []
|
|
@@ -223,7 +477,15 @@
|
|
|
223
477
|
"slug": "report-composer",
|
|
224
478
|
"kind": "service",
|
|
225
479
|
"role": "Markdown報告組合與渲染",
|
|
226
|
-
"functions": [
|
|
480
|
+
"functions": [
|
|
481
|
+
{
|
|
482
|
+
"name": "generateReport",
|
|
483
|
+
"in": "scores",
|
|
484
|
+
"out": "string",
|
|
485
|
+
"side": "pure",
|
|
486
|
+
"purpose": "彙總評分結果產出結構化 Markdown 報告"
|
|
487
|
+
}
|
|
488
|
+
],
|
|
227
489
|
"variables": [],
|
|
228
490
|
"dataflow": [],
|
|
229
491
|
"errors": []
|
|
@@ -234,37 +496,103 @@
|
|
|
234
496
|
],
|
|
235
497
|
"edges": [
|
|
236
498
|
{
|
|
237
|
-
"id": "e-
|
|
499
|
+
"id": "cg-e-001",
|
|
238
500
|
"from": {
|
|
239
|
-
"feature": "
|
|
501
|
+
"feature": "codegraph",
|
|
502
|
+
"submodule": "cg-lifecycle"
|
|
240
503
|
},
|
|
241
504
|
"to": {
|
|
242
|
-
"feature": "
|
|
505
|
+
"feature": "codegraph",
|
|
506
|
+
"submodule": "cg-discovery"
|
|
243
507
|
},
|
|
244
|
-
"kind": "
|
|
245
|
-
"label": "
|
|
508
|
+
"kind": "data-row",
|
|
509
|
+
"label": "survey/list-apis 依賴已索引的資料庫"
|
|
246
510
|
},
|
|
247
511
|
{
|
|
248
|
-
"id": "e-
|
|
512
|
+
"id": "cg-e-002",
|
|
249
513
|
"from": {
|
|
514
|
+
"feature": "codegraph",
|
|
515
|
+
"submodule": "cg-discovery"
|
|
516
|
+
},
|
|
517
|
+
"to": {
|
|
518
|
+
"feature": "codegraph",
|
|
519
|
+
"submodule": "cg-validation"
|
|
520
|
+
},
|
|
521
|
+
"kind": "data-row",
|
|
522
|
+
"label": "verify 使用 discovery 的搜尋能力"
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"id": "cg-e-003",
|
|
526
|
+
"from": {
|
|
527
|
+
"feature": "codegraph",
|
|
528
|
+
"submodule": "cg-lifecycle"
|
|
529
|
+
},
|
|
530
|
+
"to": {
|
|
250
531
|
"feature": "eval-cli"
|
|
251
532
|
},
|
|
533
|
+
"kind": "call",
|
|
534
|
+
"label": "codegraph init --index 與 eval-cli 共用 CLI 工具基礎架構"
|
|
535
|
+
},
|
|
536
|
+
{
|
|
537
|
+
"id": "eval-cli-exec",
|
|
538
|
+
"from": {
|
|
539
|
+
"feature": "eval-cli",
|
|
540
|
+
"submodule": "cli-handler"
|
|
541
|
+
},
|
|
252
542
|
"to": {
|
|
253
|
-
"feature": "eval-
|
|
543
|
+
"feature": "eval-executor",
|
|
544
|
+
"submodule": "trace-recorder"
|
|
254
545
|
},
|
|
255
546
|
"kind": "call",
|
|
256
|
-
"label": "
|
|
547
|
+
"label": "evalHandler 觸發 runSingleTest"
|
|
257
548
|
},
|
|
258
549
|
{
|
|
259
|
-
"id": "
|
|
550
|
+
"id": "eval-exec-iso",
|
|
260
551
|
"from": {
|
|
261
|
-
"feature": "eval-
|
|
552
|
+
"feature": "eval-executor",
|
|
553
|
+
"submodule": "trace-recorder"
|
|
262
554
|
},
|
|
263
555
|
"to": {
|
|
264
|
-
"feature": "eval-
|
|
556
|
+
"feature": "eval-isolation",
|
|
557
|
+
"submodule": "tool-dispatcher"
|
|
265
558
|
},
|
|
266
559
|
"kind": "call",
|
|
267
|
-
"label": "
|
|
560
|
+
"label": "執行隔離環境中的工具調用"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"id": "eval-exec-scorer",
|
|
564
|
+
"from": {
|
|
565
|
+
"feature": "eval-executor",
|
|
566
|
+
"submodule": "trace-recorder"
|
|
567
|
+
},
|
|
568
|
+
"to": {
|
|
569
|
+
"feature": "eval-scorer",
|
|
570
|
+
"submodule": "judge-prompt-builder"
|
|
571
|
+
},
|
|
572
|
+
"kind": "data-row",
|
|
573
|
+
"label": "trace events 送入評分"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"id": "eval-scorer-reporter",
|
|
577
|
+
"from": {
|
|
578
|
+
"feature": "eval-scorer"
|
|
579
|
+
},
|
|
580
|
+
"to": {
|
|
581
|
+
"feature": "eval-reporter"
|
|
582
|
+
},
|
|
583
|
+
"kind": "data-row",
|
|
584
|
+
"label": "ScoreResult 送入報告組合"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"id": "eval-exec-optimizer",
|
|
588
|
+
"from": {
|
|
589
|
+
"feature": "eval-executor"
|
|
590
|
+
},
|
|
591
|
+
"to": {
|
|
592
|
+
"feature": "eval-optimizer"
|
|
593
|
+
},
|
|
594
|
+
"kind": "data-row",
|
|
595
|
+
"label": "執行結果觸發優化"
|
|
268
596
|
}
|
|
269
597
|
]
|
|
270
598
|
}
|