Adding skills & isac talent updates
This commit is contained in:
@@ -78,7 +78,7 @@ describe('AI mechanic authoring prompt', () => {
|
||||
recipeKeys: []
|
||||
}));
|
||||
|
||||
expect(AI_MECHANIC_PROMPT_VERSION).toBe(5);
|
||||
expect(AI_MECHANIC_PROMPT_VERSION).toBe(6);
|
||||
expect(input.canonicalCatalog.grammar.outcome.optional).toEqual(
|
||||
expect.arrayContaining(['delivery', 'durationSeconds'])
|
||||
);
|
||||
@@ -115,7 +115,7 @@ describe('AI mechanic authoring prompt', () => {
|
||||
expect.stringContaining('Do not replace continuous delivery with a periodic reducer')
|
||||
]));
|
||||
expect(AI_MECHANIC_AUTHORING_INSTRUCTIONS).toContain(
|
||||
'Prompt contract version: 5'
|
||||
'Prompt contract version: 6'
|
||||
);
|
||||
|
||||
const advertised = structuredClone(
|
||||
@@ -157,6 +157,33 @@ describe('AI mechanic authoring prompt', () => {
|
||||
expect(parsed.ok).toBe(true);
|
||||
});
|
||||
|
||||
it('advertises authoritative current Health percentage with strict band semantics', () => {
|
||||
const input = JSON.parse(buildAiMechanicAuthoringInput({
|
||||
request,
|
||||
attributes: [],
|
||||
events: [{ key: 'tick', label: 'Simulation tick' }],
|
||||
actions: [],
|
||||
recipeKeys: ['health_threshold_bands']
|
||||
}));
|
||||
|
||||
expect(input.canonicalCatalog.grammar.combatReferences.currentHealthPercent)
|
||||
.toMatchObject({
|
||||
label: 'Current Health percentage',
|
||||
description: expect.stringContaining('0 through 100')
|
||||
});
|
||||
expect(input.canonicalCatalog.grammar.referenceShapes).toContainEqual({
|
||||
ref: {
|
||||
source: 'combat',
|
||||
path: 'currentHealthPercent',
|
||||
timing: 'current'
|
||||
}
|
||||
});
|
||||
expect(input.examplesAndRules).toEqual(expect.arrayContaining([
|
||||
expect.stringContaining('operator:"lt"'),
|
||||
expect.stringContaining('<25, >=25 and <50, and >=50 and <75')
|
||||
]));
|
||||
});
|
||||
|
||||
it('advertises Precise Trauma through target expiry without inventing target tick iteration', () => {
|
||||
const skillDamageId = 'skill-damage-catalog-id';
|
||||
const input = JSON.parse(buildAiMechanicAuthoringInput({
|
||||
|
||||
Reference in New Issue
Block a user