feat: improve AI dialogue evaluation and capability boundaries

This commit is contained in:
shen
2026-09-19 18:58:14 -07:00
parent 335d0304b1
commit 7306dc0f85
23 changed files with 1308 additions and 452 deletions
+21
View File
@@ -808,6 +808,27 @@ void main() {
expect(state.mastery['A0-P03']!.status, MasteryStatus.newItem);
});
test('controlled dialogue cannot create independent evidence', () {
final state = AppState();
state.completePreview();
state.recordDialogueAttempt(
taskId: 'dialogue-a0-01-a-0',
rawAnswer: 'My name is Mia.',
assisted: false,
evidenceOutcome: EvidenceKind.independentSuccess,
);
final attempts = state.attemptEvidence.where(
(entry) => entry.taskId == 'dialogue-a0-01-a-0',
);
expect(attempts, isNotEmpty);
expect(
attempts.every((entry) => entry.outcome == EvidenceKind.pending),
isTrue,
);
});
test(
'mastery rebuild derives first teaching and teaching level from evidence',
() {