feat(vision): 6점 비전 구현 — 의미검색 단계화·자동 관찰·지식 그래프·FTS - #8
Merged
Conversation
…-lite bm25+semantic+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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
6점 제안에 대한 비판적 검토 → 구현/부분/보류
ac-watch.mjs— git R1~R4 신호 감지→.candidates/proposed. 오염 방지 위해 에이전트가 결론 채워 promote. 결과 중심 원칙과 직렬(모으는 것=자동, 형식=원칙)추가 정리
검증