Repository navigation
Releases: Jimmy-Jung/synapse-memory
Releases · Jimmy-Jung/synapse-memory
Release list
v2.1.2
Fixed
- watch 잡 미실행(EX_CONFIG 78): launchd 로그 경로가 L0(
~/.synapse/private)
아래라, L0를 외장 볼륨으로 옮기면 launchd가 로그 파일을 열지 못해 잡이 시작조차
되지 않았다. 로그를 별도 디렉터리(기본~/.synapse/logs)로 분리했다. - 재설치 반영:
watch install재실행 시 기존 잡을 unload한 뒤 load해 새 plist가
실제로 반영된다.
Added
- watch 로그 경로 선택:
watch install최초 실행 시 로그 경로를 묻고
(--log-dir로 지정 가능)maintenance.log_dir에 저장한다. 외장 볼륨 경로는 거부한다. - doctor 점검: 설치된 plist의 로그 경로가 외장 볼륨이면 경고하고 재설치 명령을 안내한다.
- codex 모델 최신화:
models refresh가codex debug models카탈로그로 역할별 최신
모델을 제안하고 확인 후 config에 기록한다(기본·고급 = 1순위, 저가 = 최신 luna).
설치 스크립트는--yes로 자동 실행한다. doctor는 새 모델이 있으면 알린다. - 폐기 모델 대체: 설정된 codex 모델이 카탈로그에서 사라지면 그 실행에서만 최신
모델로 대체하고 경고를 남긴다. 카탈로그 조회에 실패하면 기존 설정을 유지한다.
v2.1.1
Fixed
- CQ10 관계 근거 추적 완성: ingest가 관계별 인용을 실제 입력과 대조하고,
출처 식별자·원본 byte 구간·문자 위치·SHA-256을 저장한다. 페이지 갱신 시 기존 근거를
보존하고 중복을 제거한다. 기존 근거 미기록 관계는 그대로 읽을 수 있다. - 로컬 원문 확인:
entity provenance <type:slug> <관계> <대상>이 로컬 mirror의
원문을 해시로 검증해 출력한다. 변경·삭제·경로 이탈·조회 한도 초과를 구분하며,
터미널 제어문자는 escape한다. JSON 출력도 지원한다. - 원문 접근 경계: Vault에는 인용문을 복제하지 않고,
ask에는 근거 위치와
미기록 상태만 전달한다. 원문 조회는 읽기 전용이며 AI provider를 호출하지 않는다. - 예상 실패 해소: CQ10 검사를 실제 수집→저장→CLI 원문 확인 경로로 교체했다.
과거 원문 자동 재처리 없이 새 수집부터 근거 기록을 지원한다.
v2.1.0
Added
- 자기소개·이력서 스킬 분리: 준비된 자료로 작성·수정하는
career-write,
경력 자료와 질문을 정리하는career-interview, 회사·공고를 조사하고 경험을
매칭하는career-tailor를 제공한다. 세 스킬 모두 자기소개와 서술형 이력서를 지원한다. - 공통 작성 기준 내장: Chris Lattner의 글을 분석한 두 가이드를 스킬의
references/에 포함했다. 개인 Vault의 가이드 경로 없이 분석·예시를 참고할 수 있다. - 근거를 보존하는 작성: 개인 기여와 팀 성과, 완료와 진행 상태, 수치의 측정 조건을
구분한다. 부족한 핵심 사실만 질문하고 미확정 내용은 검토 자료에 분리한다.
Changed
- 스킬 호출 교체: 기존
/sm:resume은/sm:career-write,/sm:career-interview,
/sm:career-tailor로 교체된다. Codex에서는$sm:career-write,$sm:career-interview,
$sm:career-tailor를 사용한다. 기존persona draft-resumeCLI와resumerecipe는 유지한다. - 작성 흐름과 출력: 인터뷰·회사 맞춤 스킬은 공통 작성 단계를 재사용하며 현재
Claude·Codex 세션에서 실행된다. 기본 출력은00_Inbox/<작업명>/의자기소개.md
또는이력서.md와검토자료.md이며, 기존 회사별 결과물을 자동 이동하지 않는다. - 연결 안내 정리: 라우터·온보딩·설정·CLI 안내와 두 플러그인 패키지를 새 스킬에
맞췄다. 별도 이력서 CLI의 모델·검색 설정과 현재 세션 작성의 적용 범위를 구분한다.
v2.0.3
Fixed
- ask 출처 검증:
_resolve_sources가 답변 텍스트의 wikilink를 검증 없이
출처로 수집해, LLM이 인용 형식을 설명하며 쓴 리터럴([[slug]])이나 환각
링크가 출처·insightrelated에 새어들어가던 문제를 수정했다. 제공된 Entity
slug 집합으로 필터해select_related와 동일한 검증 원칙을 적용한다.
v2.0.2
Changed
- GPT-5.6 task routing: Codex 기본 작업을 Sol(복잡한 답변·결정·이력서),
Terra(wiki 통합·회상·Profile·일반 생성), Luna(분류·관련 페이지 선별)로 분리했다.
CLI--model, recipe frontmatter, 사용자 config override는 기존처럼 우선한다. - provider-aware fallback: manual/daily/backfill/watch ingest와 직접 Python API,
builtin recipe가sonnet또는 adapter 기본값으로 새지 않고 실제 provider의 task 모델을
사용한다.
Fixed
- 기존 설정 호환성: v2.0.1이 자동 저장한 Codex GPT-5.5 기본 설정은 GPT-5.6 task
배정으로 승격하고, 사용자가 명시한 shared task 모델 pin은 그대로 보존한다. - 설계 초안 라우팅:
persona design-project가 resume(Sol) 대신 일반 생성(Terra)
task 모델을 사용한다.
v2.0.1
리뷰(종합 2/5)에서 지적된 무인운영 Ship Blocker + 검색·데이터 품질 gap을 코드 레벨로 해소한 패치 릴리즈.
Fixed
- 무인운영: 소스별 ingest 락(
ingest-{source}.lock, PID-liveness stale 재획득) + small-doc dead-letter(연속 실패 격리)로 전역락 굶김·watermark 영구동결·silent loss 제거. - 헤드라인 ask 일원화:
ask를 Card RAG(endpoints.ask) → 온톨로지 경로(wiki.query.ask_wiki)로 재배선. typed relation·concept·log가 답변에 도달. - relation 지표 방향맹: coverage/orphan 계산에 inbound typed 엣지 반영 — inbound-only 허브(tuist·uikit·mcp) orphan 오집계 제거.
- 버전 정합 게이트: 정체된 codex 매니페스트 정렬 +
test_version_consistency로 pyproject 대비 drift CI 차단. - offset 영속화 O(N²): append-only JSONL 로그로 전환(checkpoint O(1)); rehydrate 스트리밍 write로 전체버퍼 복사 제거.
- 분류/회귀 가드: concept.kind first-match → 스코어링(redux류 methodology 오분류 완화); CLI 디스패치 스모크(
ask이름충돌 seam). - 문서 정리: ask/recall 문서가 provider-only 반영(dense+BM25 RRF 문구 제거), specs/021 design의 삭제된
aboutrelation 제거.
v2.0.0
구조 리디자인 (big-bang) + 온톨로지 완성. 계획: plans/synapse-structural-redesign.md,
plans/synapse-ontology-completion.md, 설계: specs/021-unified-model/design.md,
검증: specs/022-ontology-completion/review.md.
Added
- 온톨로지 완성 (S1–S7): competency-question 스위트(15개 중 14개 supported) +
relation coverage 지표(doctor: typed_relation_coverage/legacy_related_residual/orphan_ratio). - Ingest Gatekeeper: continuant(project/company/concept/profile)의 무타입
related
차단·경고, lint coverage gate — typed 그래프 회귀 방지. - 타입 인지 retrieval: 관계 타입별 이웃(
typed_neighbors), 역인덱스(reverse_relations),
질의 의도 기반 역방향 확장,part_of/broadertransitive 확장(depth≤2),
same_as대칭 확장, ask 컨텍스트의 관계 타입별 grouping. - 시간 무효화:
supersedes발행 시 대상 자동 무효화(status=superseded+t_invalid),
기본 조회는 현재 유효만, recall은 supersedes 이력 확장. - 분류:
concept.kindenum(technology/tool/algorithm/methodology) + 백필 태거(dry-run),
decision은 occurrent(insight/log) 레인으로 유도.broader(SKOS) 관계 신설,about삭제. - 반복 log → insight 승격 후보(
wiki/promotion.py), episodic 제외 검색 옵션(exclude_types).
Fixed
synapse-memory askCLI가cli.ask서브모듈 이름 충돌로 크래시하던 버그.- 기본 모델을 스폰되는 provider(config) 기준으로 해석 — Claude Code 세션 안에서
codex 실행 시 sonnet이 전달되던 불일치 제거(runtime 감지는auto일 때만).
Changed
- 단일 엔티티 모델: v1 Cards(Project/Company/Insight) + v2 WikiPage → 단일 타입
Entity+schema.yaml
(types: project/company/concept/insight/log/profile; typed relations; created/observed_at/supersedes 시간성). - 단일 인제스트 파이프라인: v1 cluster→classify→generate 제거, per-doc LLM 통합(apply_ops)으로 수렴.
daily = collect → ingest → lint. - 공유 계층 SSOT: vault-resolution(config), retrieval 패키지, llm 어댑터, page model/store 분리.
cli.py(4030L) →cli/패키지(command-noun별 모듈).
Removed
- Obsidian-UI 표면(moc/·index_md·SCHEMA writer·Dataview doctor·node 태그·spec 015).
- 죽은 코드:
rag/·installer/·llm/credentials·feedback/apply, 미사용 collector 5개(cursor/continue/aider/day_one/gmail).
Notes
- 개발단계 big-bang: 하위호환·마이그레이션 없음. 기존 vault 페이지는 L0 raw 재인제스트로 재생성(
docs/reingest-runbook.md).
v1.20.0
Added
synapse-memory compact-raw를 추가했다. 이미 ingest된claude-code/codex
raw mirror에서 provider 통합에 쓰지 않는 tool I/O 라인을 gzip sidecar로 분리해
~/.synapse/private/raw용량을 줄인다. 기본은 dry-run이며 실제 적용은
synapse-memory compact-raw --apply --yes, 원복은
synapse-memory compact-raw --rehydrate --apply --yes로 실행한다.
Changed
- raw mirror offset 처리를 line-boundary 기준으로 보수화했다. compact나 rotation 뒤
offset이 중간 라인을 가리키면 기존 offset을 신뢰하지 않아 잘린 JSONL 조각을
ingest하지 않는다. - 자동 collector 표면을 실제로 쓰는 8개 소스로 줄였다. 기본 자동 mirror는
Claude Code, Codex, Cursor, Continue.dev, Aider, Obsidian, Day One이고,
Gmail Sent만 opt-in으로 유지한다.
Removed
- 개인정보·운영 잡음이 크거나 유지 가치가 낮은 collector를 제거했다:
Apple Health, Apple Notes, Browser History, Calendar,git_self, iMessage,
Screen Time, Shell History, VS Code Local History.
v1.19.8
Changed
resume스킬을 얇은 CLI 한 방 합성에서 4단계 네이티브 워크플로(회사 심층조사 → 프로젝트 매칭 → 초안 → 최종)로 재작성했다.- 실행 정책을 "필수(최고 모델·Ultracode)"에서 best-effort로 현실화했다. 모델·effort·병렬성은 호출 환경 설정이며 스킬은 단계 게이트(초안 검토·팩트체크)만 보장한다.
Added
skills/resume/references/5종을 추가해 이력서 양식을 통일했다:resume-template,style-guide,company-analysis-template,draft-template,interview-guide.- cold-start 인터뷰 분기(첫 사용·기존 이력서/자소서 없음), no-JD 모드, 복수 포지션 확정, idempotency 규칙(
status: draft|approved재생성 방지). - 이력서 소스 자료를
Entities/Projects외Profile/Concepts/Insights전체로 확장했다. - Phase 4 정직성 게이트: 초안 "제출 전 팩트체크"의 미해결(증빙 준비·표현 주의) 항목이 최종본에 유출되지 않도록 강제한다.
plans/resume-skill-improvements.md— Codex + Claude 이중 리뷰 기반 개선 blueprint.
Fixed
- 이력서 템플릿의 경로형 wikilink(
[[Entities/Projects/...]])를 vault가 유일 해석하는 bare[[name]]형식으로 통일했다.
v1.19.7
Changed
- wiki
log.md(ingest/lint changelog)를 iCloud-synced vault 루트에서 vault 밖
~/.synapse/private/(0700, iCloud sync 제외)로 이전했다. 매 ingest마다 1줄씩
무한 append되어 Obsidian 파일목록·그래프와 iCloud 동기화에 잡음을 쌓던 문제를
없앤다. 이 로그는 코드가 다시 읽지 않는 write-only audit trail이라 위치만 옮겨도
안전하며, cost/feedback 로그와 같은 L0 디렉터리에 모인다. 줄 형식(- <iso> <msg>)과
redaction은 그대로다.log_path()/append_log()의vault_path인자는 제거됐다.
기존 vault의log.md는 새 위치로 1회 이전하면 된다(이력 보존).