feat: v2.2.3 - Stability, Self-Reflector & Intent Alignment
- 버전 2.2.3 상향 및 PATCHNOTES.md 업데이트 - [신규] src/features/selfReflector/ - 성찰 실행/검증/프롬프트 모듈 추가 - [신규] intentAlignment.ts, intentClassifier.ts - 의도 정렬 시스템 추가 - [신규] pixelOfficeState.ts - 픽셀 오피스 상태 관리 추가 - sidebarProvider, dispatcher, chatHandlers 핵심 로직 최적화 - astra-2.2.3.vsix 패키지 생성 완료 (298 tests PASS)
This commit is contained in:
@@ -1152,6 +1152,31 @@ export class AgentExecutor {
|
||||
this.statusBarManager.updateStatus(AgentStatus.Executing);
|
||||
// Action tags are honored only from the visible final answer — never from hidden reasoning.
|
||||
const report = await this.executeActions(cleanedVisible, rootPath, activeBrain);
|
||||
// Self-Reflector Phase C — 일반 채팅 경로에서도 코드 파일 생성 직후
|
||||
// syntax 체크 실행. 옵션 OFF면 통째로 skip.
|
||||
try {
|
||||
const cfgC = getConfig();
|
||||
if (cfgC.selfReflectorExecutionEnabled && report.length > 0) {
|
||||
const { verifyCreatedFiles } = await import('./features/selfReflector/selfReflectorExecution');
|
||||
const extra = await verifyCreatedFiles(report, rootPath);
|
||||
if (extra.length > 0) report.push(...extra);
|
||||
}
|
||||
} catch (e: any) {
|
||||
logError('selfReflector.C (chat): hook failed; continuing.', { error: e?.message ?? String(e) });
|
||||
}
|
||||
// Hollow code 검사 — selfReflectorEnabled가 켜져 있으면 syntax 통과
|
||||
// 한 파일도 빈 깡통은 잡는다. 일반 채팅 경로에선 자동 retry 없이
|
||||
// 경고만 — 사용자가 직접 보고 다시 요청할 수 있으니 충분.
|
||||
try {
|
||||
const cfgH = getConfig();
|
||||
if (cfgH.selfReflectorEnabled && report.length > 0) {
|
||||
const { verifyHollow } = await import('./features/selfReflector/selfReflectorHollow');
|
||||
const hollowRes = verifyHollow(report, rootPath);
|
||||
if (hollowRes.hasHollow) report.push(...hollowRes.extraLines);
|
||||
}
|
||||
} catch (e: any) {
|
||||
logError('selfReflector.hollow (chat): hook failed; continuing.', { error: e?.message ?? String(e) });
|
||||
}
|
||||
if (!assistantContent.trim() && report.length === 0) {
|
||||
const promptCharCount = messagesForRequest.reduce((sum, m) => sum + (m.content?.length ?? 0), 0);
|
||||
logError('Model returned an empty response without actions.', {
|
||||
|
||||
Reference in New Issue
Block a user