17.8 KB · updated 2026-07-06 · md

v0.5.0.ko.md

docs/i18n/release-notes/v0.5.0.ko.md

Tesserae v0.5.0 — 엔진 스파인과 온디맨드 컨텍스트 컴파일러

<!-- translations:start -->

English · 中文 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end -->

릴리스 일자 2026-06-06 · PyPI · GitHub release · pip install --upgrade tesserae==0.5.0

Tesserae 0.5.0은 이 프로젝트가 그 미션이 묘사하는 컨텍스트 엔진이 되는 릴리스입니다. 엔진 스파인 — 파이프라인 오케스트레이터, 슈퍼바이저 데몬, 라이브 세션 모니터 — 와 기둥 3 헤드라인 기능인 온디맨드 컨텍스트 컴파일러를 제공하며, 이는 "X에 대한 컨텍스트를 달라"를 맞춤형이고 인용이 포함된, 에이전트가 바로 쓸 수 있는 번들로 바꿉니다. 그 아래에서 자기 개선 패스들이 이제 node_memory 사이드카를 통해 활성화·영속화되고(출력에 표시되는 수치 재발 신뢰도, 슈퍼시드 기본 활성화), 진짜 기본 임베딩이 해시 버킷 스텁을 대체하며(트랙 B), 증분 컴파일 인프라가 도착하지만 플래그 OFF/실험적으로 유지됩니다. 그 과정에서 발견된 두 가지 실제 컴파일 버그가 수정되고(변경분만 멱등성, 주입 스토어 계약), 테스트 스위트는 1544 통과 / 0 실패에 도달합니다. 이것은 컨텍스트 엔진 로드맵의 단계 0–6을 전달하는 릴리스입니다.

목차:

  1. 온디맨드 컨텍스트 컴파일러 — MD0 (기둥 3, 헤드라인)
  2. 엔진 스파인 — 오케스트레이터, 데몬, 라이브 세션 모니터
  3. 활성화·영속화된 자기 개선 (MD0 사이드카)
  4. 진짜 기본 임베딩 (트랙 B)
  5. 증분 컴파일 인프라 (플래그 OFF) + 두 가지 컴파일 수정
  6. v0.4.0에서 업그레이드
  7. 전략적 맥락

1. 온디맨드 컨텍스트 컴파일러 — compile_context (기둥 3, 헤드라인)

무엇인가

로드맵 전체가 가리키던 기능입니다. 쿼리(또는 시드 노드 집합)가 들어가고, 맞춤형이고 인용이 포함된, 에이전트가 바로 쓸 수 있는 컨텍스트 번들이 나옵니다. compile_context순수 함수입니다 — 그래프를 읽고 인메모리 ContextBundle을 반환하며, 디스크에 아무것도 쓰지 않습니다. 파이프라인은 다음과 같습니다: 쿼리/시드 → 시드를 위한 PPR + 하이브리드 검색깊이 제한 k-홉 이웃 탐색 → 관련 위키 본문 조립 → 선택적 LLM 합성(우아한 결정적 폴백 포함) → 단어 경계 절단 마커가 있는 예산 제어. 기여하는 모든 노드가 ContextCitation으로 기록되므로, 번들의 인용은 모두 실제 그래프 노드로 해결됩니다.

타입역할
`compile_context(query \seeds, depth, budget, …)`순수 진입점; ContextBundle을 반환.
ContextBundle조립된 컨텍스트와 그 인용 목록.
ContextCitation해결 가능한 단일 인용(노드 id → 기여 본문).

컴파일러는 세 가지 방식으로 노출됩니다.

  • MCP 도구 compile_context — 에이전트가 대화 중 호출. budget=0은 상한 없음을 의미.
  • CLI tesserae project context — exit-0 / stdout / --output / 결정적, 스크립팅과 파이프라인용.
  • 주제 범위 익스포트slice_export_context_for_topic가 주제 범위 llms.txt 슬라이스를 생성하고, 에이전트 하니스 브리프가 이제 하드코딩된 상위 12개 대신 compile_context를 통해 주제별로 렌더링됩니다(패턴 4 + 패턴 6).

두 가지 관련 검색 업그레이드가 함께 제공됩니다: node_contextuse_ppr 순위 경로를 얻고(억제 인식 이웃 채우기 및 엣지/한도 제어 포함), 주제 슬라이스가 정규 위키 슬러그를 사용하여 인용과 익스포트가 정렬됩니다.

사용 방법

# CLI: 주제에 대한 인용 컨텍스트 문서를 컴파일, stdout 또는 파일로 출력
tesserae project context "검색 순위와 RRF 융합"
tesserae project context "검색 순위" --output ./context-retrieval.md

MCP 클라이언트에서:

{
  "tool": "compile_context",
  "arguments": {
    "query": "우리 검색 스택은 후보를 어떻게 순위 매기는가?",
    "depth": 2,
    "budget": 4000
  }
}
// → ContextBundle 반환: 조립된 본문 + 해결 가능한 인용 목록.
//   budget: 0은 상한 없음을 의미.

이미 앵커를 알고 있을 때는 노드 id에서 직접 시드(검색 단계 건너뛰기)할 수도 있습니다.

{
  "tool": "compile_context",
  "arguments": {
    "seeds": ["decision-2026-05-22-switch-to-rrf-fusion"],
    "depth": 2,
    "budget": 0
  }
}

언제 사용하는가

  • 에이전트가 전체 코퍼스 llms.txt 덤프나 단일 wiki_page 본문이 아니라 한 주제에 집중된 브리프가 필요한 경우.
  • 번들의 모든 주장이 그래프 노드로 추적되도록 인용이 해결되기를 원하여 에이전트가 후속할 수 있어야 하는 경우.
  • 핸드오프를 스크립팅하며 주제별로 재생성되는 결정적 컨텍스트 아티팩트(--output, no-LLM 조립 모드)를 원하는 경우.

어디에 있는가

핵심 구현: MD0(compile_context, ContextBundle, ContextCitation). MCP 등록 및 디스패치: tesserae/mcp_server.py. CLI 연결: tesserae/cli.pycontext 서브파서와 _handle_context. 주제 범위 하니스/익스포트 렌더링은 compile_context를 통해 라우팅됩니다.

유의사항

  • 합성 품질은 LLM 백엔드에 달려 있습니다. 백엔드가 없으면 컴파일러는 결정적 조립으로 폴백합니다(여전히 인용 포함, 단지 미합성). 폴백은 우아합니다 — 합성 실패가 번들을 중단시키지 않습니다.
  • k-홉 탐색은 깊이 제한되며 PPR은 깊이 제한 서브그래프에서 실행됩니다. 매우 큰 그래프는 budget=0보다 타이트한 depth와 실제 budget의 혜택을 받습니다.
  • 예산 절단은 단어 경계에서 자르고 절단 마커를 덧붙이므로, 잘린 번들도 토큰 중간에서 끝나지 않고 여전히 읽을 수 있습니다.

2. 엔진 스파인 — 오케스트레이터, 데몬, 라이브 세션 모니터

무엇인가

감사가 가장 큰 갭이라 부른 세 가지 기초 조각이 이제 tesserae/engine/ 아래에 출시되었습니다.

  • 파이프라인 오케스트레이터(pipeline.py) — ingest → compile → project → publish 체인을 슬래시 커맨드 마크다운 스킬에서 끌어올려, 데몬·CLI·MCP가 모두 호출하는 일급 인프로세스 객체로 만들었습니다. 이것이 모든 지속적인 것이 매달리는 공유 코드 경로입니다.
  • 슈퍼바이저 데몬(daemon.py) — 하나의 이벤트 루프를 소유하고, 트리거 버스트를 단일 파이프라인 실행으로 합치며, 우아한 SIGTERM / SIGINT 종료를 처리하고, 파이프라인 예외에도 죽지 않고 살아남는 감독되는 장기 실행 프로세스.
  • 라이브 세션 모니터(session_tail.py) — 라이브 하니스 트랜스크립트를 테일링하고 세션이 실행되는 동안 턴을 수집하여, 사후 sessions discover --import 스캔을 대체합니다(기둥 1).

이들이 함께 Tesserae를 일회성 배치 CLI에서 지속적으로 감시하고 수집할 수 있는 프로세스로 바꿉니다.

언제 사용하는가

  • 수동 명령 없이 세션과 편집이 그래프로 흘러드는 "계속 업데이트되는" 속성을 원하는 경우.
  • Tesserae 위에 빌드하며 리프레시 체인을 재구현하는 대신 데몬·CLI·MCP를 위한 하나의 공유 파이프라인 진입점을 원하는 경우.

어디에 있는가

tesserae/engine/pipeline.py, tesserae/engine/daemon.py, tesserae/engine/session_tail.py(엔진 스파인으로 병합, 로드맵 단계 0–2).


3. 활성화·영속화된 자기 개선 (node_memory 사이드카)

무엇인가

"자기 개선형 기반" 기둥이 볼트온 패스에서 영속화된 node_memory 사이드카(tesserae/memory/)로 이동합니다. 두 가지 사용자 가시적 변경:

  • 결정적 판정을 갖춘 슈퍼시드 기본 활성화. 슈퍼시드 패스가 이제 기본 실행되며(TESSERAE_SUPERSEDE_PASS=true 불필요), 양방향의 결정적이고 단호한 세션-id 판정과 임계값 가드, 그리고 다운스트림 억제를 갖추어 슈퍼시드된 사실이 단지 엣지를 얻는 대신 컨텍스트 출력에서 사라집니다.
  • 출력에 표시되는 수치 재발 신뢰도. 재발-인사이트 강화가 이제 교차 세션 빈도로부터 수치 신뢰도를 산출하여 memory_by_id를 통해 TemporalFactProjector에 주입되며, 이전의 거친 문자열 휴리스틱을 대체합니다. 세션을 가로질러 사실을 재진술하면 출력에서 그 신뢰도가 측정 가능하게 상승합니다.

언제 사용하는가

  • 같은 인사이트가 재발하는 다중 세션 프로젝트를 운영하는 경우 — 강화가 그 재발을 에이전트가 순위 매길 수 있는 신뢰도 신호로 바꿉니다.
  • 폐기된 사실이 단지 플래그되는 게 아니라 컴파일된 컨텍스트에서 사라지기를 원하는 경우.

어디에 있는가

tesserae/memory/store.py, reinforce.py(수치 재발 신뢰도), supersede.py(기본 활성화, 결정적 판정 + 억제), 그리고 decay.py, contradiction.py, insight_symbol_link.py. 자기 개선 테스트 스위트(이전엔 테스트 0개)가 이제 결정성, 멱등성, LLM-오버라이드 경로를 다룹니다.

유의사항

  • 디케이와 모순 스캐폴딩이 같은 사이드카에 제공됩니다. v0.5.0의 사용자 대면 기본 활성화 동작은 슈퍼시드 + 수치 재발 신뢰도입니다.

4. 진짜 기본 임베딩 (트랙 B)

무엇인가

기본 "시맨틱" 레인이 더 이상 결정적 해시 버킷 의사-임베딩이 아닙니다. v0.5.0은 진짜 Model2VecBackend를 제공하고 active_embedding_backend가 무음으로 blake2b로 강등되는 대신 실패 시 명시적으로 알리게 합니다. 사용 중인 시맨틱 백엔드가 embedding_status에 표시되며, 코사인 하한선이 임베딩 레인이 후보를 (재순위만이 아니라) 인정하게 하여, 패러프레이즈와 동의어 쿼리가 BM25가 놓치는 노드를 표면화합니다.

사용 방법

{ "tool": "embedding_status" }
// → 어떤 시맨틱 백엔드가 활성인지(진짜 vs 폴백) 보고하므로,
//   바로 쓸 수 있는 검색이 진짜 시맨틱인지 한눈에 알 수 있습니다.

어디에 있는가

tesserae/retrieval/hybrid.py(백엔드 선택, 실패 시 명시적으로 알리는 active_embedding_backend, 임베딩 전용 인정을 위한 코사인 하한선)와 Model2VecBackend. embedding_status MCP 도구를 통해 표시됩니다.

유의사항

  • 진짜 백엔드를 로드할 수 없으면, 검색은 이제 해시 스텁이 시맨틱인 척하는 대신 큰 소리로 알립니다 — 이것이 의도된 동작 변경입니다.

5. 증분 컴파일 인프라 (플래그 OFF) + 두 가지 컴파일 수정

무엇인가

GraphStore 포트를 통한 설계된 증분 레이어가 인프라로 도착합니다: 프로비넌스 사이드카, GraphStore 삭제 표면, 전체-시 재조정, 엣지 인식 준비성, 생산자-프로비넌스 배관, 그리고 영속 url_resolver 비동기 런타임(더 이상 호출당 asyncio.run 없음). 전체 컴파일에 대한 바이트 동등성이 커버된 경로(이름 변경, 별칭-동일성, 양 끝점 이동 동등성 게이트)에 대해 증명되었습니다.

incremental_compile 플래그는 OFF/실험적으로 유지됩니다. Codex 리뷰가 다중 소유자/생산자 생애주기/캡 폴백 갭을 드러냈으므로, 플래그는 그 갭이 닫힐 때까지 커버된 경로에 대해서만 옵트인이며 바이트 동등성이 증명됩니다.

이 작업에서 드러난 두 가지 실제 컴파일 버그가 기본 경로에서 수정됩니다.

  • 변경분만 멱등성compile이 이제 변경분만 멱등성을 존중하여, no-op 재컴파일이 그래프를 휘젓지 않습니다.
  • 주입 스토어 계약 — 프로젝트 컴파일에서 주입 스토어 계약이 존중되어, 직접 수집 경로의 일군의 실패가 수정됩니다.

어디에 있는가

증분 인프라는 GraphStore 포트와 프로비넌스 사이드카에 걸쳐 있습니다. 두 수정은 프로젝트 컴파일 경로에 도착합니다(fix(project): honor changed-only idempotence + injected-store contract in compile).

유의사항

  • 아직 프로덕션 그래프에서 incremental_compile을 켜지 마세요 — 다중 소유자/생애주기/캡 폴백 갭이 닫힐 때까지 설계상 실험적입니다. 전체 컴파일이 신뢰받는 경로로 남습니다.

v0.4.0에서 업그레이드

pip install --upgrade tesserae==0.5.0

v0.5.0은 기존 워크플로에 대해 추가적입니다 — tesserae project compile은 이전과 정확히 동일하게 작동하며, 이제 두 가지 정확성 수정(변경분만 멱등성, 주입 스토어 계약)이 포함됩니다. 새 표면은 호출 시 옵트인입니다.

새 온디맨드 컨텍스트 컴파일러:

tesserae project context "<주제>"            # stdout으로 인용 컨텍스트 번들
tesserae project context "<주제>" --output out.md
{ "tool": "compile_context", "arguments": { "query": "<주제>", "depth": 2, "budget": 4000 } }

이제 기본 활성화된 동작(이전엔 옵트인 또는 부재):

  • 슈퍼시드 패스 기본 활성화(슈퍼시드된 사실의 출력 억제 포함).
  • 프로젝션 출력에 표시되는 수치 재발 신뢰도.
  • 실패 시 명시적으로 알리는 백엔드를 갖춘 진짜 기본 임베딩(무음 해시 스텁 강등 없음).

여전히 실험적 — 프로덕션 그래프에서는 끄세요:

  • incremental_compile(인프라 출시, 플래그 OFF).

그 외 모든 것 — graph_ppr, 하이브리드 search_nodes, sync-code, research, 라이브 hook, embedding_status, fresh_insights, schema-drift, 슬래시 커맨드, 위키 / Obsidian 프로젝션 — 은 v0.4.0에서 이어집니다.


전략적 맥락

컨텍스트 엔진 감사(2026-06-02)는 갭을 한 줄로 명명했습니다: Tesserae는 *기계적으로 건강하고 잘 테스트된 배치 CLI 컴파일러*였으며, 세 기둥 모두에서 수동 트리거·사후적이었고, 가장 큰 결손 조각은 하나의 이벤트 루프를 소유하는 장기 실행 슈퍼바이저였습니다. v0.5.0은 그 줄을 닫습니다. 엔진 스파인이 슈퍼바이저이고, 라이브 세션 모니터가 기둥 1을 사후적이 아닌 라이브로 만들며, node_memory 사이드카가 기둥 2를 제자리에서 자기 개선형으로 만들고, 온디맨드 컨텍스트 컴파일러가 기둥 3입니다 — 타입드 그래프, 볼트, 사이트를 정적 프로젝션에서 쿼리 범위의, 인용된, 에이전트가 바로 쓸 수 있는 온디맨드 출력으로 바꾸는 헤드라인입니다.

우리가 조사한 2026년 PKM-AI 환경의 어떤 도구도 이 조합을 하지 않습니다. Cursor Memories, Claude CLAUDE.md, Cline memory-bank, Aider CONVENTIONS.md는 엔진 루프도, 타입드 자기 개선도, 온디맨드 인용 컨텍스트 컴파일러도 없는 정적 텍스트 가방입니다. Microsoft GraphRAG는 타입드 엔티티와 커뮤니티 요약을 갖지만 지속 실행 프로젝트-메모리 엔진이 아니라 코퍼스-RAG 시스템입니다. v0.5.0은 기반을 신선하게 유지하는 루프와 에이전트에게 그들이 요청하는 바로 그 컨텍스트를 넘기는 컴파일러를 제공합니다 — AGENTS.md에 명백히 진술된 미션이 이제 코드에서 실행됩니다.

남은 것: 단계 7 — 지속 발행을 위해 serve + watch + deploy를 슈퍼바이저 아래로 통합하고, 남은 갭이 닫히면 증분 컴파일 플래그를 켜는 것. 스파인과 헤드라인은 들어왔고, 수렴 릴리스가 다음입니다.

함께 보기: