프로젝트 소개

Lynchpin은 장기 실행 로컬 데이터 레이크를 보유한 단일 운영자를 위한 로컬 우선 증거 및 분석 플랫폼입니다. 일반적으로 별도 시스템에 저장되는 데이터(활동 캡처, 터미널 기록, Git 및 GitHub 활동, AI 세션 아카이브, 브라우저 및 통신 내보내기, 건강 기록, 머신 텔레메트리)를 읽어 재현 가능한 DuckDB 데이터셋, 증거 그래프, 분석 제품, 인간과 에이전트를 위한 경계 컨텍스트 팩으로 변환합니다. 원시 데이터는 이를 소유한 시스템에 그대로 유지됩니다. Lynchpin은 명시적인 범위, 신선도, 출처를 가진 읽기 모델을 구축하여 결과를 이를 뒷받침하는 캡처 및 내보내기로 추적할 수 있게 합니다. 호스팅 서비스가 아니며, 공개 트리에는 재사용 가능한 파서, 스키마, 분석, 쿼리 도구, 테스트, 중립 픽스처가 포함되고, 개인 신원, 어휘, 분류, 내보내기, 생성된 내러티브는 외부 구성을 통해 제공됩니다. 다루는 일반적인 질문으로는 커밋에 앞선 AI 세션 및 터미널 명령, 빌드 또는 서비스 실패 시 머신 상태, 프로젝트별 시간 및 집중도 차이, 작업 또는 건강 주장을 뒷받침하는 증거, 누락되거나 오래된 소스, 프로젝트 또는 시간 창에 대해 에이전트가 받아야 할 경계 컨텍스트 등이 있습니다. 소스별 도구는 권위를 유지하며, Lynchpin은 소스 경계를 지우지 않고 레코드를 조인 가능하게 만듭니다. 파이프라인은 캡처, 내보내기, 저장소, 서비스 원장에서 시작해 유형별 소스 어댑터를 거쳐 표준 데이터셋 및 매니페스트로, 그 다음 DuckDB로 흐르며, 여기서 증거 그래프와 분석 제품이 파생되어 컨텍스트 팩, CLI, MCP에 공급됩니다. 구체화 계획자는 누락되거나 오래된 데이터셋을 결정하고, 의존성 순서로 재구축하며, 각 결과에 대한 매니페스트를 기록합니다. 새로고침 ID는 그래프와 보고서를 특정 DuckDB 스냅샷에 연결하여 내러티브 출력을 증거의 하위 단계로 유지합니다. 현재 소스에는 ActivityWatch 애플리케이션 및 포커스 이벤트, Atuin 명령 및 asciinema 녹화, Git 저장소, GitHub 활동, 코드 스냅샷, PR 리뷰 세부 정보, Polylogue 세션 프로필 및 작업 이벤트, 브라우저 기록, 북마크, 클립보드, 통신 내보내기, 웨어러블 건강, 수면, 미디어 내보내기, 머신 메트릭, 서비스 상태, 벤치마크, 시스템 세대가 포함됩니다. 어댑터는 소스별 주의 사항을 보존합니다. 누락된 관측값은 0이 되지 않으며, 내보내기 기반 데이터셋은 연속 캡처와 구별 가능합니다. DuckDB 계층은 일반 SQL과 커밋, 파일, 심볼, 리뷰 기록, AI 작업 이벤트 및 세션 프로필, 활동, 포커스, 건강, 통신 신호, 머신 상태, 압력, 서비스, 실험, 증거 주장, 그래프 엣지, 소스 준비 상태에 대한 안정적인 리더를 제공합니다. 이는 조인 및 가속화 계층이지 원시 데이터의 두 번째 아카이브가 아닙니다. 그래프 계층은 프로젝트, 커밋, 파일, AI 작업, 터미널 활동, 포커스 범위, GitHub 항목, 머신 컨텍스트, 개인 신호, 분석 주장을 연결하여 프로젝트/일별 상관관계, 세션-커밋 상관관계, 이슈/PR/커밋 종결 체인, 파일 및 심볼 중복, 소스 준비 상태 및 신뢰도 매트릭스, 시간순 타임라인, 명시적 약한 증거 옵션이 있는 Markdown/JSON 컨텍스트 팩을 지원합니다. 분석 패키지는 코드 속도, 변경 표면, 의존성 맵, 리팩터링 후보, 프로젝트 간 비교, 작업 리듬, 포커스 단편화, AI 세션 효율성, 건강 및 수면 신호, 머신 압력, 작업 부하 중복, 서비스 동작, 보정된 속성을 다룹니다. 표준 메트릭은 시간 프레임, 단위 또는 분모, 아티팩트 경로를 포함합니다. MCP 서버는 8개의 공개 도구를 노출합니다: lynchpin_status, lynchpin_catalog, lynchpin_query, lynchpin_evidence, lynchpin_project, lynchpin_personal, lynchpin_machine, lynchpin_ops. 읽기 경로는 읽기 전용이며, 로컬 상태를 구체화하거나 제거하는 작업은 명시적 실행 결정이 필요하고 영수증을 생성합니다. 개발은 Nix 우선(direnv allow 또는 nix develop)이며, 테스트는 pytest -q로 실행되고, CLI 진입점은 제품 구체화, 시간 창 승격, 현재 상태 컨텍스트 팩 렌더링, stdio MCP 서버 시작을 수행합니다. 명령은 LynchpinConfig 및 환경 변수를 통해 데이터 루트를 발견하며, 개인 프로필 없는 체크아웃에서도 테스트 실행, 스키마 및 도구 카탈로그 검사, 중립 픽스처 사용이 가능합니다. 저장소는 core, sources, ingest, substrate, graph, analysis, mcp, cli 패키지로 구성되며, 테스트와 무시된 .lynchpin/ 로컬 상태 디렉터리가 있습니다. 데이터 경계는 소스 어댑터가 원시 내보내기를 변경하지 못하게 하고, 운영자 구성을 저장소 외부에 유지하며, AI 세션 수집은 Polylogue, 이벤트 캡처는 Sinex, 호스트 구성은 Sinnix에 소유권을 할당합니다. MIT 라이선스.