Release: v2.36.4 - Datacollector Knowledge Sync
This commit is contained in:
@@ -28,6 +28,17 @@ describe('Second Brain Trace', () => {
|
||||
'# General Note\n\nThis unrelated note talks about coffee and weather.',
|
||||
'utf8'
|
||||
);
|
||||
fs.mkdirSync(path.join(brainRoot, '02_Architecture_Principles'), { recursive: true });
|
||||
fs.writeFileSync(
|
||||
path.join(brainRoot, '02_Architecture_Principles', 'API Gateway.md'),
|
||||
[
|
||||
'# API Gateway',
|
||||
'',
|
||||
'General Knowledge: API Gateway can route requests in a microservice architecture.',
|
||||
'This document is not evidence that any current project implements API Gateway.'
|
||||
].join('\n'),
|
||||
'utf8'
|
||||
);
|
||||
fs.mkdirSync(path.join(brainRoot, '00_Raw', 'conversations'), { recursive: true });
|
||||
fs.writeFileSync(
|
||||
path.join(brainRoot, '00_Raw', 'conversations', '2026-05-01.md'),
|
||||
@@ -57,6 +68,8 @@ describe('Second Brain Trace', () => {
|
||||
expect(trace.retrievedDocuments[0].path).toContain('ADR-0002-low-dependency-design.md');
|
||||
expect(trace.retrievedDocuments[0].usedInAnswer).toBe(true);
|
||||
expect(trace.retrievedDocuments[0].selectedForAnswerContext).toBe(true);
|
||||
expect(trace.retrievedDocuments[0].sourceType).toBe('User Decision');
|
||||
expect(trace.retrievedDocuments[0].canSupportProjectClaim).toBe(true);
|
||||
expect(trace.groundingScore).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
@@ -73,6 +86,7 @@ describe('Second Brain Trace', () => {
|
||||
expect(context).toContain('[SECOND BRAIN TRACE]');
|
||||
expect(context).toContain('Retrieval query:');
|
||||
expect(context).toContain('Do not imitate dramatic wording');
|
||||
expect(context).toContain('No Evidence, No Project Claim');
|
||||
});
|
||||
|
||||
it('explains when Second Brain is not needed', () => {
|
||||
@@ -94,4 +108,19 @@ describe('Second Brain Trace', () => {
|
||||
expect(trace.retrievedDocuments.find((doc) => doc.path.includes('00_Raw'))).toBeUndefined();
|
||||
expect(trace.retrievedDocuments[0].path).not.toContain('Index_692.md');
|
||||
});
|
||||
|
||||
it('classifies general architecture notes as unable to support project implementation claims', () => {
|
||||
const trace = buildSecondBrainTrace(
|
||||
'현재 프로젝트는 API Gateway 라우팅 구조를 갖추고 있어?',
|
||||
brainRoot,
|
||||
{ force: true }
|
||||
);
|
||||
const apiGateway = trace.retrievedDocuments.find((doc) => doc.path.includes('API Gateway.md'));
|
||||
|
||||
expect(apiGateway).toBeDefined();
|
||||
expect(apiGateway?.sourceType).toBe('General Knowledge');
|
||||
expect(apiGateway?.canSupportProjectClaim).toBe(false);
|
||||
expect(apiGateway?.warning).toContain('실제 구현 근거가 아닙니다');
|
||||
expect(renderSecondBrainTraceMarkdown(trace, true)).toContain('"canSupportProjectClaim": false');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user