Skip to content

feat(vision): 6점 비전 구현 — 의미검색 단계화·자동 관찰·지식 그래프·FTS - #8

Merged
tak2-08 merged 4 commits into
mainfrom
feat/vision-six
Aug 26, 2026
Merged

feat(vision): 6점 비전 구현 — 의미검색 단계화·자동 관찰·지식 그래프·FTS#8
tak2-08 merged 4 commits into
mainfrom
feat/vision-six

Conversation

@tak2-08

@tak2-08 tak2-08 commented Aug 26, 2026

Copy link
Copy Markdown
Owner

6점 제안에 대한 비판적 검토 → 구현/부분/보류

# 제안 판정 구현
1 규칙→의미 이해 단계적 채택 1a 동의어 확장(실측: token authentication→JWT 히트), 1b BM25-lite 필드 가중치, 1c 로컬 임베딩은 opt-in 어댑터(기본 OFF — zero-install 유지, 미설치 시 unavailable 정직 표기)
2 자동 관찰 채택(후보 방식) ac-watch.mjs — git R1~R4 신호 감지→.candidates/proposed. 오염 방지 위해 에이전트가 결론 채워 promote. 결과 중심 원칙과 직렬(모으는 것=자동, 형식=원칙)
3 지식 그래프 기반 완료 index.json.knowledge.edges[] — related[]에서 bug↔learning caused_by/mitigates, decision supersedes 등 1-hop 유추. 심화 P1
4 작업 성공률 프록시 하네스 benchmark-task.mjs — 질의→정답 도달율+토큰(현재 3표본 100%/88tok). 실작업 성공률은 라이브 에이전트 하네스 필요, ROADMAP P1로 정직 분리
5 실사용 검증 도구 준비 index.json.stale{} (priority≥4·90일 모순 정리 후보). 운영 축적은 시간 필요
6 JSON→SQLite 선택 백엔드 ac-fts.mjs — Node ≥22.5 내장 node:sqlite FTS5(0 npm install), 미지원 시 JSON+Grep 폴백 안내

추가 정리

  • fix/integration-defects(e2e-workflow·typesFluid·CI 게이트) 병합 흡수 — e2e 6/6 pass
  • search-lite 전면 재작성으로 충돌 정리: 동의어·BM25·miss-expansion·semantic 어댑터 통합
  • '가벼운 AI' → '규칙 기반 휴리스틱' 문구 정리, Architecture 4계층 명시
  • ROADMAP.md 신설 — 각 제안 채택/부분/보류와 근거 기록

검증

  • node --check 전체 tools 통과
  • e2e-workflow 6/6 pass, validate ok, index synced
  • 실측: watch 12 candidates / fts status(Node20 폴백 안내) / task-bench 100%·88tok / synonym hit

외부 리뷰(아키텍처 8.1/10, 검색 6.5/10 지적)를 비판적으로 검증해 재현 가능한 것부터 패치:

[P0-recall] 동의어 확장 (0 LLM 유지)
- agent-context.config.json search.synonyms: jwt↔token, auth↔authentication 등
- search-lite가 질의 토큰을 양방향 확장 후 매칭 — 'token authentication'으로 'JWT race' 히트 실측
- 임베딩 없이 recall 개선: cheap→expensive 경로(exact→synonym→FTS→graph→semantic)의 두 번째 단계 구현

[버그] --assign 저장 안 됨 (문서-동작 불일치)
- 재현 확인: --assign은 출력만 하고 파일 미생성, 그런데 docs/hierarchy.md는 '저장'이라 명시
- 수정: --save 옵션 추가 — 실제 entry 생성 + index 즉시 재생성 → 직후 검색 히트 실측
- docs/hierarchy.md 정정

[P0-provenance] 기억 신뢰도 메타데이터 (optional)
- schema.json: epistemic(observed|inferred|hypothesis|verified|deprecated), source, verified_by
- templates/frontmatter/learning.md 예시 추가 — 'Claude 추론이 사실로 전염' 오염 방지 기반

[concurrency] index.json atomic write
- tmp+rename 원자적 쓰기로 torn file 제거
- 6개 병령 재생성 스팅크 테스트 → 항상 유효한 JSON, tmp 잔재 0

[표현 정직화]
- '세션 복원 손실 0' 과장 → '구조적 손실 0 — 단, entry로 저장한 것만 보장. 저장 성실성이 전제'
- '가벼운 AI' → '규칙 기반 휴리스틱 라우터(LLM 호출 0)' 명시
- README에 Architecture 4계층(Store/Retrieval/Handoff/Coordination) 명시 — 기능 팽창 경계 선언

미반영(의도적): 벡터 DB·MCP·daemon 도입 — zero-install 철학 유지. decision graph는 graph.json decisions 필드로 기반만 유지, P1 과제.
[#1 의미 이해 — 단계적]
- BM25-lite 필드 가중치 스코어링 (제목3/태그2/피처2/요약1)
- 동의어 확장 실측: 'token authentication' → JWT entry 히트 (synonym +2)
- 로컬 임베딩 opt-in 어댑터 (search.semantic.enabled) — 미설치 시 실행조차 안 하고
  router.semantic에 unavailable 사유 정직 표기 후 휴리스틱 폴백. 기본 OFF로 zero-install 유지

[#2 자동 관찰] tools/ac-watch.mjs
- git 이력 R1 fix-signal / R2 test+src / R3 대형변경 / R4 decision-word 감지
- .candidates/에 proposed+observed 후보 생성(실측 12건), promote 전까지 비확정 — 오염 방지
- 결과 중심 기록 원칙과 직렬: 자동화=신호 수집, 원칙=승격 형식

[#3 지식 그래프 기반] index.json.knowledge.edges[]
- related[]에서 인과 엣지 유추: bug↔learning(caused_by/mitigates), decision supersedes,
  idea adopted_from, code-history implements. 1-hop, P1에서 supersedes 체인 전개

[#4 과업 벤치마크] tools/benchmark-task.mjs
- 질의→정답 파일 도달율 + 과업당 토큰 측정 프록시 (현재 100% accuracy, 88 tok/task, 표본3)
- 정직 한계 명시: 실작업 성공률은 라이브 에이전트 하네스 필요 — ROADMAP P1

[#5 장기 운영] index.json.stale{} — priority≥4·90일 경과 리포트 + ROADMAP.md 신설

[#6 SQLite] tools/ac-fts.mjs — Node ≥22.5 내장 node:sqlite FTS5 (0 npm install),
미지원 환경은 JSON+Grep 폴백 안내. build/query/status

기타: search-lite 전면 재작성(통합), fix/integration-defects 병합(e2e-workflow·CI·typesFluid 회수),
'가벼운 AI'→'규칙 기반 휴리스틱' 문구 정리, Architecture 4계층 명시

검증: node --check 전체, e2e-workflow 6/6 pass, 시드 재현성, validate ok
@tak2-08
tak2-08 merged commit 9162da1 into main Aug 26, 2026
1 check failed
@tak2-08
tak2-08 deleted the feat/vision-six branch August 26, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant