feat(growth): 자기 지식 자동화 + 회귀 경보 + 충돌 스캔 + Critic 게이트 확장 (v2.2.225)

[근본 수정 — 자가검증 구식 정보 버그]
ASTRA 자기 지식이 사람이 쓴 스냅샷(selfIdentity 블록·아키텍처 위키 문서)에
의존해 릴리스마다 구식이 됐고, 자기 개선 제안에서 이미 있는 기능을 신규
제안하는 오류가 반복됨. 수정:
- featureInventory.ts: 활성화 시 package.json(contributes.commands/configuration)
  + POST_ANSWER_HOOKS 레지스트리에서 "ASTRA 기능 인벤토리" 문서를 두뇌에
  기계 생성 (버전 변경 시 자동 재생성 — 사람이 갱신을 잊을 수 없는 구조).
- selfIdentity: "자기 기능 평가·제안 전 인벤토리와 대조, 기억 의존 서술 금지" 규칙.

[검증-피드백-재설계 파이프라인 보강 — 의견 검토 후 역제안 3건]
- A-1 골든셋 회귀 경보: 주간 사이클이 metrics-history.jsonl 적립 + 직전 대비
  recall@1 -10%p 또는 MRR -0.08 하락 시 ⚠️ + 그 기간 추가된 문서를 용의자로
  제시(regression-alert.md). 자동 롤백 없음 — 판단은 사람.
- A-2 신규 지식 충돌 스캔(conflictScan.ts): 일일(사전 소화와 같은 슬롯) 신규/변경
  문서를 기존 유사 top-2와 LLM 모순 비교 → 충돌 시 conflict-report.md +
  "기존 A vs 신규 B" 알림. 쓰기 주체(Datacollect/수동/Research) 무관 포착.
  런당 비교 ≤5건·최초 실행 24h 한정 (폭주 방지).
- A-3 criticLoop 게이트 확장: 업무 turn 외에도 "근거 약함(top<0.25) + 단정
  표현(수치·날짜·확언)" 트리거 추가. 전 답변 강제 2-pass 는 기각 — intrinsic
  self-correction 은 외부 신호 없이 효과 없음(arXiv 2310.01798).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 11:44:58 +09:00
parent 7584c6bbc1
commit b03a49bfc3
10 changed files with 369 additions and 8 deletions
+11
View File
@@ -42,6 +42,7 @@ import { startStocksWatcher } from './features/stocks';
import { startDailyBriefingWatcher } from './features/briefing/dailyBriefing';
import { ensureDefaultBrainConfigured } from './extension/brainBootstrap';
import { ensureEmbeddingConfigured } from './extension/embeddingBootstrap';
import { ensureFeatureInventory } from './extension/featureInventory';
import { startGrowthCycleWatcher, runGrowthCycleOnce } from './features/growth/growthCycleWatcher';
import { startSleepDigestWatcher, runSleepDigestOnce } from './features/growth/sleepDigest';
import { registerProviderCommands } from './extension/providerCommands';
@@ -78,6 +79,10 @@ export async function activate(context: vscode.ExtensionContext) {
// 비차단 (TF-IDF 검색은 이미 동작 중 — 결과를 기다릴 필요 없음).
void ensureEmbeddingConfigured(context);
// 기능 인벤토리 — 버전 변경 시 package.json 에서 자기 기능 문서를 기계 생성해
// 두뇌에 기록. 자기 평가가 구식 스냅샷 대신 항상 현행 소스를 근거로 하게 한다.
void ensureFeatureInventory(context);
// Initialize Astra Path Resolver (.astra → ConnectAI/.astra/)
initAstraPathResolver(context);
@@ -341,6 +346,12 @@ export async function activate(context: vscode.ExtensionContext) {
const summary = await runSleepDigestOnce();
vscode.window.showInformationMessage(`사전 소화 완료 — ${summary}`);
}));
context.subscriptions.push(vscode.commands.registerCommand('g1nation.conflictScan.runNow', async () => {
const { runConflictScanOnce } = await import('./features/growth/conflictScan');
vscode.window.showInformationMessage('지식 충돌 스캔 실행 중…');
const summary = await runConflictScanOnce();
vscode.window.showInformationMessage(`충돌 스캔 완료 — ${summary}`);
}));
// 7. Auto-open all three Astra webviews as tabs in editor column 3.
// The sidebar/activity-bar entry point was removed in 2.81 — all three views