Skip to content

Commit df201ff

Browse files
chore(index): update secondary profession catalog to 2026.06.14
Add GLM 5.2 secondary profession model with anthropic family compatibility and update catalog version to 2026.06.14. Update published asset, backend fallback, and index catalog timestamps. Add new test case for GLM 5.2 sync validation. Co-Authored-By: Hagicode <noreply@hagicode.com> Signed-off-by: newbe36524 <newbe36524@qq.com>
1 parent 9b2b94a commit df201ff

4 files changed

Lines changed: 83 additions & 6 deletions

File tree

public/secondary-professions/index.json

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "2026.06.08",
3-
"publishedAt": "2026-06-08T00:00:00.000Z",
2+
"version": "2026.06.14",
3+
"publishedAt": "2026-06-14T00:00:00.000Z",
44
"title": "Secondary Profession Catalog",
55
"description": "Stable default secondary profession catalog published for backend startup loading and bundled fallback sync.",
66
"items": [
@@ -282,6 +282,30 @@
282282
},
283283
"fieldConstraints": []
284284
},
285+
{
286+
"id": "secondary-glm-5-2",
287+
"name": "GLM 5.2",
288+
"family": "anthropic",
289+
"primaryProfessionId": null,
290+
"summary": "hero.professionCopy.secondary.glm52.summary",
291+
"icon": null,
292+
"sourceLabel": "hero.professionCopy.sources.aiSharedAnthropicModel",
293+
"sortOrder": 65,
294+
"supportsImage": true,
295+
"compatiblePrimaryFamilies": [
296+
"claude",
297+
"codebuddy",
298+
"hermes",
299+
"qoder",
300+
"kiro",
301+
"pi"
302+
],
303+
"defaultParameters": {
304+
"model": "glm-5.2",
305+
"reasoning": "high"
306+
},
307+
"fieldConstraints": []
308+
},
285309
{
286310
"id": "secondary-minimax-m2-7",
287311
"name": "Minimax M2.7",

src/data/public/index-catalog.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"sourceRepo": "repos/index",
9393
"status": "published",
9494
"sourceUrl": "https://github.com/HagiCode-org/site/tree/main/repos/index/src/data/secondary-professions.catalog.json",
95-
"lastUpdated": "2026-06-08T00:00:00.000Z"
95+
"lastUpdated": "2026-06-14T00:00:00.000Z"
9696
},
9797
{
9898
"id": "steam-data",

src/data/secondary-professions.catalog.json

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"version": "2026.06.08",
3-
"publishedAt": "2026-06-08T00:00:00.000Z",
2+
"version": "2026.06.14",
3+
"publishedAt": "2026-06-14T00:00:00.000Z",
44
"title": "Secondary Profession Catalog",
55
"description": "Stable default secondary profession catalog published for backend startup loading and bundled fallback sync.",
66
"items": [
@@ -246,6 +246,27 @@
246246
"reasoning": "high"
247247
}
248248
},
249+
{
250+
"id": "secondary-glm-5-2",
251+
"name": "GLM 5.2",
252+
"family": "anthropic",
253+
"summary": "hero.professionCopy.secondary.glm52.summary",
254+
"sourceLabel": "hero.professionCopy.sources.aiSharedAnthropicModel",
255+
"sortOrder": 65,
256+
"supportsImage": true,
257+
"compatiblePrimaryFamilies": [
258+
"claude",
259+
"codebuddy",
260+
"hermes",
261+
"qoder",
262+
"kiro",
263+
"pi"
264+
],
265+
"defaultParameters": {
266+
"model": "glm-5.2",
267+
"reasoning": "high"
268+
}
269+
},
249270
{
250271
"id": "secondary-minimax-m2-7",
251272
"name": "Minimax M2.7",

tests/sync-secondary-professions.test.mjs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,42 @@ test('syncSecondaryProfessions keeps GLM 5.1 aligned across the published asset
124124
assert.deepEqual(fallbackEntry, publishedEntry);
125125
assert.deepEqual(
126126
publishedIds.slice(publishedIds.indexOf('secondary-glm-5-codebuddy'), publishedIds.indexOf('secondary-minimax-m2-7') + 1),
127-
['secondary-glm-5-codebuddy', 'secondary-glm-5-1', 'secondary-minimax-m2-7'],
127+
['secondary-glm-5-codebuddy', 'secondary-glm-5-1', 'secondary-glm-5-2', 'secondary-minimax-m2-7'],
128128
);
129129
});
130130

131+
test('syncSecondaryProfessions keeps GLM 5.2 aligned across the published asset and backend fallback', async () => {
132+
const sourceCatalog = JSON.parse(await readFile(new URL('../src/data/secondary-professions.catalog.json', import.meta.url), 'utf8'));
133+
const publishedCatalog = JSON.parse(await readFile(new URL('../public/secondary-professions/index.json', import.meta.url), 'utf8'));
134+
const fallbackCatalog = JSON.parse(await readFile(new URL('../../hagicode-core/src/PCode.Web/Assets/secondary-professions.index.json', import.meta.url), 'utf8'));
135+
136+
const sourceEntry = sourceCatalog.items.find((item) => item.id === 'secondary-glm-5-2');
137+
const publishedEntry = publishedCatalog.items.find((item) => item.id === 'secondary-glm-5-2');
138+
const fallbackEntry = fallbackCatalog.items.find((item) => item.id === 'secondary-glm-5-2');
139+
140+
assert.deepEqual(sourceEntry, {
141+
id: 'secondary-glm-5-2',
142+
name: 'GLM 5.2',
143+
family: 'anthropic',
144+
summary: 'hero.professionCopy.secondary.glm52.summary',
145+
sourceLabel: 'hero.professionCopy.sources.aiSharedAnthropicModel',
146+
sortOrder: 65,
147+
supportsImage: true,
148+
compatiblePrimaryFamilies: ANTHROPIC_COMPATIBLE_FAMILIES,
149+
defaultParameters: {
150+
model: 'glm-5.2',
151+
reasoning: 'high',
152+
},
153+
});
154+
assert.deepEqual(publishedEntry, {
155+
...sourceEntry,
156+
primaryProfessionId: null,
157+
icon: null,
158+
fieldConstraints: [],
159+
});
160+
assert.deepEqual(fallbackEntry, publishedEntry);
161+
});
162+
131163
test('syncSecondaryProfessions check mode detects drift across published asset, fallback snapshot, and catalog entry', async (t) => {
132164
const tempRoot = await mkdtemp(path.join(os.tmpdir(), 'secondary-professions-check-'));
133165
const sourceFile = path.join(tempRoot, 'src', 'data', 'secondary-professions.catalog.json');

0 commit comments

Comments
 (0)