24.9 KB · updated 2026-07-06 · md

v0.3.0.ko.md

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

Tesserae v0.3.0 — 산문-코드 링크, 다중 언어 코드 그래프, 라이브 동기화

<!-- translations:start -->

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

<!-- translations:end -->

릴리스 일자 2026-05-24 · PyPI · GitHub release · pip install --upgrade tesserae==0.3.0

Tesserae 0.3.0은 산문으로 기록된 결정과 그것을 구현하는 코드 심볼 사이의 루프를 닫고, 그것을 v0.2.0의 Python 전용 기반이 아닌 21개 언어에 걸쳐 수행합니다. 이번 릴리스는 세 가지 추가 기능을 호환성 변경 없이 제공합니다. 첫째, 세션 발견(SessionInsight, Decision, Hypothesis, Todo, Question, Takeaway)으로부터 매칭되는 코드 노드로 타입드 링크를 만들어내는 discusses 엣지 패스. 둘째, colbymchenry/codegraph의 tree-sitter SQLite 인덱스를 Tesserae의 타입드 ResearchGraph로 가져오는 tesserae project sync-code 서브커맨드. 셋째, 사용자가 코드를 편집하는 동안 그 import를 신선하게 유지하는 기본 활성화 라이브 sync-code SessionStart hook. 이 세 가지가 함께 작용하여, 2026년 PKM-AI 환경에서 Tesserae는 "X에 대해 우리가 무엇을 결정했는가?"라는 질문에 결정 내용, 그 결정이 이루어진 세션들, 그리고 그것을 구현하는 정확한 함수 / 클래스 / 라우트를 — 실제 연구 코드베이스가 사용하는 다중 언어 스택 전반에 걸쳐 — 반환하는 유일한 도구가 됩니다.

목차:

  1. MD0 엣지 — 산문을 코드 심볼에 연결 (기능 H)
  2. MD0 — CodeGraph 어댑터, 21개 언어
  3. 라이브 sync-code SessionStart hook (v0.3.0 이후 MD0 브랜치)
  4. v0.2.0에서 업그레이드
  5. 전략적 맥락

1. discusses 엣지 — 산문을 코드 심볼에 연결 (기능 H)

무엇인가

모든 세션 발견의 본문을 스캔하여 그래프에 존재하는 코드 심볼의 언급을 찾아내고, 해당 발견에서 매칭되는 각 코드 노드로 타입드 discusses 엣지를 만들어내는 선택형 컴파일 이후 패스(opt-in post-compile pass)입니다. 소스 종류는 에이전트 하니스가 방출하는 6개의 세션 발견 타입 — SessionInsight, Decision, Hypothesis, Todo, Question, Takeaway — 이며, 타깃 종류는 Tesserae가 이제 알고 있는 모든 코드 노드 변종입니다. CodeFunction, CodeClass, CodeMethod, 그리고 v0.3.0에서 새로 추가된 CodeInterface, CodeTrait, CodeStruct, CodeEnum, CodeEnumMember, CodeTypeAlias, CodeVariable, CodeConstant, CodeRoute, CodeComponent, CodeField, CodeNamespace, 그리고 폴백인 CodeSymbol입니다.

추출기는 정밀도에 따라 세 단계(three-tier)로 구성되어 있어, 에이전트 하니스가 사용자가 실제로 작성한 식별자를 그래프를 거짓 양성으로 범람시키지 않으면서 복원할 수 있습니다.

단계매칭 대상수용 규칙
Strong: 백틱` MyClass frontend.render `항상 수용 — 저자가 코드라고 명시했기 때문.
Strong: 점 표기frontend.render, models.User.save어떤 세그먼트라도 인덱스 항목과 매칭되면 수용; 어떤 세그먼트라도 불용어이면 거부.
Weak: 단순 식별자MyClass, render (백틱 없음, 점 없음)코드 그래프 인덱스에 식별자가 존재하는 경우에 한해 수용하며, 불용어 필터링(len, int, str, True, self, data 등) 이후에만 수용.

여러 파일에 정의된 심볼은 동일 이름 팬아웃(same-name fanout)을 받습니다. 세션 발견에서 User라는 단순 식별자 언급은 매칭되는 CodeClass마다 (파일별로) 하나의 discusses 엣지를 생성합니다. 따라서 해당 발견에서 시드된 다운스트림 graph_ppr는 임의로 하나를 선택하는 대신 모든 그럴듯한 구현으로 팬아웃됩니다.

새로운 MCP 도구 — find_code_symbol_mentions(node_id) — 는 동일한 추출기를 쿼리 시점에 에이전트에게 노출합니다. 임의의 노드(보통 세션 발견)를 받아서, 본문이 언급하는 모든 코드 심볼을 매칭된 단계와 함께 반환합니다. 이는 컴파일 패스를 다시 실행하지 않고도 "이 결정이 실제로 어떤 심볼을 건드리는가?"를 묻고 싶을 때 유용합니다.

사용 방법

환경 변수로 opt-in 후, 컴파일하면 됩니다.

export TESSERAE_INSIGHT_SYMBOL_LINK=true
tesserae project compile

활성화되면, 알려진 심볼을 언급하는 모든 세션 발견은 하나 이상의 outgoing discusses 엣지를 얻습니다. MCP 클라이언트에서는,

// Surface the symbols a specific decision touches
{
  "tool": "find_code_symbol_mentions",
  "arguments": { "node_id": "decision-2026-05-22-switch-to-rrf-fusion" }
}

// → returns
// [
//   {"node_id": "code-function-tesserae.retrieval.hybrid.reciprocal_rank_fusion",
//    "tier": "backticked", "kind": "CodeFunction"},
//   {"node_id": "code-class-tesserae.retrieval.hybrid.HybridRetriever",
//    "tier": "dotted",     "kind": "CodeClass"}
// ]

또는 새 엣지를 graph_ppr로 따라가 결정 클러스터가 건드리는 *코드 심볼의 이웃 영역*을 끌어낼 수 있습니다.

{
  "tool": "graph_ppr",
  "arguments": {
    "seed_node_ids": [
      "decision-2026-05-22-switch-to-rrf-fusion",
      "hypothesis-2026-05-23-embedding-helps-paraphrases"
    ],
    "top_k": 20,
    "edge_type_weights": { "discusses": 3.0, "references": 1.5 }
  }
}

언제 활성화할 것인가

  • 실제 코드 논의가 담긴 세션 히스토리가 있는 경우 — Claude Code 세션이 단지 산문으로 동작을 묘사하는 것이 아니라 함수/클래스/라우트를 실제로 이름으로 참조하는 다주(multi-week) 프로젝트.
  • ask 답변이 단지 그것을 언급한 README가 아니라 구현하는 심볼을 인용하기를 원하는 경우.
  • 다른 도구에서 그래프를 소비하고 있고(결정 노드에서 LSP 스타일의 "구현으로 이동") 쿼리 시점에 재추출하는 추측이 아닌 쿼리 가능한 엣지가 필요한 경우.

프로젝트가 대부분 산문 문서와 PDF이고 Claude Code 히스토리가 거의 없다면, 이 패스는 컴파일 시간을 추가하면서도 유용한 엣지를 거의 만들어내지 못합니다 — 끄세요.

어디에 있는가

핵심 구현: MD0. 도구 등록: tesserae/mcp_server.py.

유의사항

  • 단순 식별자 단계는 의도적으로 보수적입니다 — 인덱스 히트 비불용어를 모두 요구합니다. 너무 흔한 식별자(run, get, set)는 여전히 불용어 필터를 통과하지만 여러 파일에 대한 팬아웃에 의해 묻혀버립니다. 이것은 알려진 트레이드오프이지 버그가 아닙니다.
  • 동일 이름 팬아웃은 종류별(per-kind)입니다. CodeClassCodeRoute 모두에 매칭되는 User 언급은 둘 다에 엣지를 생성합니다. 클래스만 원한다면, 쿼리 시점에 target.kind == "CodeClass"로 필터링하세요.
  • 이 패스는 sync-code (또는 ingest-code) 이후에 실행됩니다 — 코드 그래프가 채워지지 않은 상태에서 기능 H를 활성화하면 연결할 대상이 없어 엣지가 0개 생성됩니다. 컴파일 순서는 자동으로 처리되며, 수동 시퀀싱이 필요 없습니다.
  • 불용어 리스트는 언어별이 아니라 전역입니다. Vec을 식별자로 합법적으로 사용하고자 하는 Rust 프로젝트는 이미 작동합니다(Vec은 불용어 집합에 없음). 프로젝트별 로컬 오버라이드는 v0.4 후속 작업으로 계획되어 있습니다.

2. tesserae project sync-code — CodeGraph 어댑터, 21개 언어

무엇인가

외부 colbymchenry/codegraph SQLite 인덱스를 Tesserae의 타입드 ResearchGraph로 가져오는 새로운 CLI 서브커맨드입니다. CodeGraph는 자체 MCP 서버를 가진 tree-sitter 기반 다중 언어 코드 그래프 추출기입니다. 어댑터는 .codegraph/codegraph.db를 읽고, 각 행을 Tesserae ResearchNode로 변환하고, .tesserae/code-graph.json을 작성하여 다음 tesserae project compile이 그것을 가져가도록 합니다 — v0.2.0의 ingest-code 출력과 정확히 동일한 방식이지만, 훨씬 더 넓은 언어 베이스에서 채워집니다.

언어 커버리지가 1개에서 21개로 도약합니다. TypeScript, JavaScript, Python, Go, Rust, Java, C#, PHP, Ruby, C, C++, Swift, Kotlin, Scala, Dart, Svelte, Vue, Liquid, Pascal/Delphi, Lua, Luau. (Node 런타임 종속성 없이 Python 전용 경로를 원하는 사용자를 위해 v0.2.0의 tesserae project ingest-code stdlib-ast 추출기는 여전히 변경 없이 작동합니다.)

tree-sitter가 그 언어들 전반에 걸쳐 실제로 표면화하는 것을 표현하기 위해, v0.3.0은 14개의 새로운 ResearchNodeType 변종을 추가합니다.

새 노드 종류표현 대상
CodeInterfaceTS/Java/C# interface, Swift protocol
CodeTraitRust trait, Scala trait
CodeStructC/C++/Rust/Go/Swift struct
CodeEnum, CodeEnumMemberEnum 및 그 변종 (Rust, Swift, TS)
CodeTypeAliastype X = … (TS/Rust/Swift), typedef (C/C++)
CodeVariable, CodeConstant최상위 let/const/var, 언어에 적합한 형태
CodeRouteHTTP 라우트 핸들러 (프레임워크별 추출기)
CodeComponentSvelte/Vue 컴포넌트, React FC 등
CodeField구조체/클래스 필드
CodeParameter함수/메서드 파라미터 (CodeGraph가 방출할 때)
CodeNamespaceC++ namespace, C# namespace, TS namespace
CodeSymbol아직 타입을 지정하지 않은 모든 종류에 대한 폴백

…그리고 8개의 새로운 엣지 타입: implements, exports, references, instantiates, overrides, decorates, type_of, returns. 이 엣지들은 CodeGraph의 리졸버가 언어별로 계산하는 것에 직접 대응됩니다. Tesserae의 기존 calls, imports, inherits_from, contains, declared_in 엣지는 변경되지 않고 계속 채워집니다.

어댑터에서 가장 중요한 단일 설계 선택은 id_seed 전략입니다. CodeGraph 자체의 행 id는 start_line을 내장하기 때문에, 동일한 심볼은 그 위에 빈 줄을 추가할 때마다 새 id를 얻습니다 — id를 저장하는 다운스트림 엣지에는 치명적입니다. 어댑터는 CodeGraph의 id를 폐기하고 Tesserae의 id를 f"{file_path}:{kind}:{qualified_name}"으로 다시 시드합니다. 결과: 심볼의 Tesserae id는 라인 시프트 편집을 거쳐도 변경되지 않고 살아남으며, 기능 H의 세션 발견에서의 단순 식별자 매칭은 여러 컴파일에 걸쳐 동일한 노드로 계속 해석됩니다.

사용 방법

# One-shot: read .codegraph/codegraph.db, write .tesserae/code-graph.json,
# then the next compile picks it up.
tesserae project sync-code

# Explicit project root + custom DB / output paths
tesserae project sync-code \
  --project /path/to/repo \
  --db /path/to/.codegraph/codegraph.db \
  --output /path/to/.tesserae/code-graph.json

# Watch loop — re-run sync-code whenever the DB changes.
# Useful if you don't want the SessionStart hook in feature 3 but still
# want the code graph to stay fresh while you edit.
tesserae project sync-code --auto-sync

새 프로젝트에서의 전형적인 end-to-end 흐름:

# 1. Have CodeGraph index the repo (its own CLI; one-time setup)
npx codegraph index .

# 2. Pull that into Tesserae's typed graph
tesserae project sync-code

# 3. Normal compile picks up code-graph.json and (if enabled) runs feature H
export TESSERAE_INSIGHT_SYMBOL_LINK=true
tesserae project compile

# 4. Now ask questions that span prose and code
tesserae project ask "Which functions implement the RRF fusion decision?"

언제 활성화할 것인가

  • 프로젝트가 순수 Python 외의 무엇이든, 또는 순수 Python에 하나의 Node 프론트엔드를 더한 경우.
  • CodeGraph의 MCP 서버의 "find references" / "find implementations"를 이미 사용하고 있는 경우 — 어댑터는 동일한 인덱스가 추가 추출 비용 없이 Tesserae의 타입드 그래프를 구동하게 합니다.
  • 함수와 클래스에 더해 라우트 또는 컴포넌트 수준의 세분성(CodeRoute, CodeComponent)을 원하는 경우. 이는 v0.2.0의 ingest-code가 생성하지 않습니다.

Python 전용이고 툴체인에 Node 런타임을 두고 싶지 않다면, tesserae project ingest-code (v0.2.0)는 여전히 작동하며 호환 가능한 code-graph.json을 생성합니다.

어디에 있는가

핵심 구현: MD0. CLI 연결: tesserae/cli.py (대략 897번째 줄 근처의 sync-code 서브파서). tesserae/code_graph_extractor.py에 있는 v0.2.0의 ingest-code 서브커맨드는 변경되지 않았습니다.

유의사항

  • 채워진 .codegraph/codegraph.db (CodeGraph 자체의 일회성 npx codegraph index . 단계)가 필요합니다. DB가 없으면 어댑터는 실행 가능한 오류 메시지와 함께 빠르게 실패합니다.
  • CodeGraph의 리졸버는 21개 언어 전반에 걸쳐 최선형(best-effort)입니다. 병적인 제네릭이나 매크로 중심 코드에서는 가끔 미해결 참조가 있을 수 있습니다. 어댑터는 CodeGraph가 방출하는 것을 기록할 뿐, 재해석을 시도하지 않습니다.
  • 일부 노드 종류(CodeParameter, CodeField)는 CodeGraph의 언어별 추출기가 그것을 표면화할 때만 방출됩니다 — 커버리지는 언어별로 다릅니다. 폴백 CodeSymbol 종류가 우리가 아직 타입을 지정하지 않은 tree-sitter가 보는 모든 것을 잡아주므로, 아무것도 조용히 누락되지 않습니다.
  • Atomic write는 임시 파일에 PID + 랜덤 접미사를 사용합니다 (공유된 .tmp가 아님). 두 개의 동시 sync-code 호출이 충돌하지 않도록 함이며 — 최근 batch manifest writer에 적용된 동일한 수정과 일치합니다.

3. 라이브 sync-code SessionStart hook (v0.3.0 이후 main 브랜치)

무엇인가

Tesserae 플러그인 내의 작은 SessionStart hook으로, "계속 업데이트되는 코드 그래프" 루프를 닫습니다. CodeGraph의 MCP 서버는 이미 자동으로 파일 시스템을 감시하며 사용자가 편집할 때 .codegraph/codegraph.db를 신선하게 유지합니다 — 하지만 Tesserae의 .tesserae/code-graph.jsonsync-code를 수동으로 실행할 때만 갱신되었습니다. 이 hook은 Claude Code가 세션을 열 때마다 tesserae project sync-code --project <root>를 백그라운드로 실행하되, SQLite DB가 파생된 JSON보다 더 새로울 때만 실행합니다.

기본 활성화이며, .claude/tesserae.local.md frontmatter를 통해 프로젝트별로 opt-out할 수 있습니다.

---
hooks:
  sync_code_on_start: false
---

이 hook은 다음 조건 중 하나라도 충족되면 조용히 건너뜁니다. 따라서 CodeGraph를 사용하지 않는 프로젝트에 잡음을 추가하지 않습니다.

  • 프로젝트가 CodeGraph를 사용하지 않음 (.codegraph/codegraph.db가 없음).
  • .tesserae/code-graph.json이 이미 DB와 같거나 더 새로움.
  • tesserae 바이너리가 PATH에 없음.
  • 동일한 프로젝트 루트에 대해 다른 sync-code가 이미 실행 중 (0a3d35f에 적용된 SessionEnd 컴파일 가드를 미러링하는 pgrep 기반 재진입 가드).
  • 사용자가 sync_code_on_start: false로 opt-out함.

발동되면, 세션 헤더에 한 줄이 보입니다.

  ⟳ syncing code-graph from CodeGraph (background)

…그리고 실제 sync-code 호출은 분리되어(setsidnohup → bare & 폴백) 실행되며, 출력은 .tesserae/.session-start-hook.log로 캡처되어 Claude 세션 트랜스크립트로 새지 않으면서 무슨 일이 일어났는지 검사할 수 있습니다.

이 hook은 mainv0.3.0 이후 도착했으며(PR #11, 커밋 395e9fb) 다음 컴파일 / 플러그인 마켓플레이스 게시에 포함됩니다. v0.3.0 PyPI 자체는 이를 번들하지 않습니다. hook이 tesserae Python 패키지가 아닌 플러그인에 있기 때문입니다.

사용 방법

Claude Code 마켓플레이스를 통해 Tesserae 플러그인을 설치했다면, 이미 가지고 있습니다 — hook은 기본 활성화입니다. 실행되었는지 확인하려면,

tail -n 20 .tesserae/.session-start-hook.log

단일 프로젝트에서 끄려면 (예: ingest-code가 선호되는 Python 전용 저장소),

mkdir -p .claude
cat > .claude/tesserae.local.md <<'EOF'
---
hooks:
  sync_code_on_start: false
---

This project uses `tesserae project ingest-code` (Python AST) instead of
the CodeGraph adapter, so the live sync-code hook is disabled.
EOF

새 세션을 기다리지 않고 일회성 동기화를 강제하려면, 그냥 tesserae project sync-code를 직접 실행하세요 — hook과 수동 커맨드는 동일한 pgrep 가드를 공유하므로 이중 실행되지 않습니다.

언제 활성화할 것인가

  • 매 편집 배치 후 sync-code를 다시 실행하는 것을 기억할 필요 없이 "계속 업데이트되는" 속성을 원하는 경우.
  • 에디터 세션이 짧고 빈번한 경우 (세션을 열고, 질문하고, 닫기) — hook은 각 새 세션이 현재 코드 그래프를 보도록 보장합니다.
  • 이미 파일 감시와 함께 CodeGraph의 MCP 서버를 실행하고 있는 경우 — hook은 그 신선함을 Tesserae로 전파할 뿐입니다.

타이트한 inner loop에 있고 세션별로 백그라운드 작업이 생성되지 않기를 원하거나, 프로젝트가 CodeGraph를 전혀 사용하지 않을 때는 끄세요 (그 경우 hook은 조용히 no-op이지만 명시적인 opt-out이 더 깔끔합니다).

어디에 있는가

  • Hook 진입점: MD0
  • 설정 파서: MD0read_plugin_setting 테이블이 sync_code_on_start=true 기본값을 얻었습니다.
  • 재진입 가드: SessionEnd 컴파일 가드(hooks/session-end.sh)와 동일한 pgrep -f "tesserae project sync-code.*${project_root}" 패턴.

유의사항

  • Hook은 SessionStart에만 발동되며, 모든 파일 저장에서 발동되지 않습니다. 새 Claude 세션을 열지 않고 편집하는 동안 sync-code가 계속 실행되기를 원한다면, 별도의 터미널에서 기능 2의 tesserae project sync-code --auto-sync를 사용하세요.
  • mtime 비교는 BSD stat -f %m (macOS) → GNU stat -c %Y (Linux) → [[ A -nt B ]] 폴백을 사용합니다. mtime 해상도가 낮은 이국적인 파일 시스템에서는, CodeGraph 인덱스 직후 1초 미만에 실행된 동기화를 가끔 건너뛸 수 있습니다 — 다음 세션이 잡아냅니다.
  • 백그라운드 spawn은 사용 가능할 때 setsid를, 다음으로 nohup을, 그 다음 bare &를 사용합니다. 이 중 어느 것도 프로세스를 분리하지 못하는 극도로 잠긴 셸에서는 sync는 여전히 실행되지만 세션 시작을 몇 초 차단할 수 있습니다. 그 경우 터미널 친화적인 셸을 열거나 sync_code_on_start: false로 설정하세요.

v0.2.0에서 업그레이드

pip install --upgrade tesserae==0.3.0

이것이 업그레이드의 전부입니다 — v0.3.0은 호환성 변경 없이 추가형(additive)입니다. 기본 tesserae project compile 동작은 변경되지 않았습니다. 새 부분들은 opt-in이며 발견 가능합니다.

새 opt-in 패스를 위한 환경 변수 (기능 1):

# Enable the post-compile prose-to-code discusses-edge pass (feature H)
export TESSERAE_INSIGHT_SYMBOL_LINK=true

근육 기억에 추가할 새 CLI 서브커맨드 (기능 2):

tesserae project sync-code             # one-shot CodeGraph → Tesserae import
tesserae project sync-code --auto-sync # watch loop

v0.2.0의 tesserae project ingest-code 서브커맨드는 여전히 변경 없이 작동합니다 — 프로젝트가 Python 외의 무엇이든 사용한다면 sync-code를, Node 런타임 종속성을 원하지 않는다면 ingest-code를 선택하세요.

에이전트가 이제 사용할 수 있는 새 MCP 도구 (기능 1):

  • find_code_symbol_mentions(node_id) — 임의의 노드 본문에 대한 쿼리 시점 심볼 추출.

새 플러그인 설정 (기능 3, v0.3.0 이후 main):

# .claude/tesserae.local.md
---
hooks:
  sync_code_on_start: true   # default; set to false to disable the live sync hook
---

나머지 모든 것 — graph_ppr, 하이브리드 search_nodes, embedding_status, list_communities, fresh_insights, 커뮤니티 요약, decay 스코어링, supersedes, schema-drift, 슬래시 커맨드, 위키 / Obsidian 프로젝션 — 은 v0.2.0과 동일합니다.


전략적 맥락

Tesserae v0.2.0은 타입드 코드 그래프 노드와 산문 측의 프리미티브(decay, supersedes, 커뮤니티 요약)를 깔았습니다. v0.3.0은 두 절반이 연결되는 릴리스입니다. 기능 H는 결정과 가설로부터 그것들이 건드리는 심볼로 타입드 discusses 엣지를 만들어내고, CodeGraph 어댑터는 그 심볼들이 — Python뿐만 아니라 TypeScript, Rust, Go, Swift, 그리고 17개 더 — 실제 연구 코드베이스가 사용하는 다중 언어 스택을 커버하도록 만듭니다.

이 마일스톤 이전에 우리가 조사한 wave-1 PKM-AI 환경에는 이것을 수행하는 다른 도구가 없습니다. Cursor Memories는 프로젝트별 텍스트 가방입니다 — 그래프 없음, 타입드 엣지 없음. Claude CLAUDE.md는 하나의 평면 마크다운 파일입니다. Cline memory-bank는 마크다운 파일들의 디렉토리이며, 타입드 추출이 없습니다. Aider CONVENTIONS.md는 단일 prompt-prefix 파일입니다. 이들 중 어느 것도 산문 결정을 그것을 구현하는 함수나 클래스에 연결하지 않습니다. 어느 것도 DecisionCodeRoute가 다른 종류의 것이라는 사실을 알지 못합니다. 21개 언어의 타입드 코드 노드 전반에 걸친 v0.3.0의 discusses 엣지가 그 쐐기(wedge)이며 — 라이브 SessionStart hook은 그 쐐기를 사용자가 기억해야 하는 워크플로우가 아니라 *환경의 속성(property of the environment)*처럼 느껴지게 만드는 것입니다.

더 넓은 GraphRAG 영역에서 가장 가까운 동료 — Microsoft GraphRAG — 는 타입드 엔티티와 커뮤니티 요약(Tesserae v0.2.0이 미러링)을 가지고 있지만 코드 그래프 레이어가 전혀 없습니다. 그것은 corpus-RAG 시스템이지 프로젝트-메모리 컴파일러가 아닙니다. HippoRAG 2의 PPR 프리미티브(Tesserae v0.2.0)와 Mem0의 메모리 연산(Tesserae v0.2.0 supersedes)이 산문 측 최신 기술을 완성합니다. v0.3.0은 이들 중 어느 것도 건드리지 않는 차원을 추가합니다. 에이전트 자체의 발견에서 그 발견이 다루는 코드를 표현하는 타입드 노드로의 타입드 엣지를, 실제 코드베이스가 실제로 작성된 언어들로.

참고:

  • v0.2.0 릴리스 노트 — 타입드 검색, 코드 그래프 (Python), 온톨로지 진화
  • 아키텍처 개요 — 모듈 맵과 파이프라인
  • 기능 맵 — 소스 링크가 포함된 전체 기능 상태 표
  • Sessions 통합 — 기능 H가 링크하는 출발점인 세션 발견 소스 노드
  • MCP 통합 — 전체 MCP 도구 목록 (새 find_code_symbol_mentions 도구는 다음 문서 패스에서 여기에 추가됩니다)