/////

Coding Agent Local Memory Provenance Contracts: Immutable Source Archives, Derived Summaries, Write Boundaries, and Anti-Drift Working Agreements

Coding agent의 로컬 메모리는 “편집 가능한 현재 지식”과 “변경 불가능한 원본 증거”를 분리하지 않으면 빠르게 drift한다. 특히 Claude Code의 CLAUDE.md 같은 로컬/프로젝트 메모리 파일은 에이전트에게 지속적 지침을 제공하는 데 유용하지만, 그 자체를 원본 transcript, 결정 기록, 작업 로그, 합의 근거의 완전한 archive로 취급하면 provenance가 약해진다. 재사용 가능한 memory provenance contr

/////

Summary#

Coding agent의 로컬 메모리는 “편집 가능한 현재 지식”과 “변경 불가능한 원본 증거”를 분리하지 않으면 빠르게 drift한다. 특히 Claude Code의 CLAUDE.md 같은 로컬/프로젝트 메모리 파일은 에이전트에게 지속적 지침을 제공하는 데 유용하지만, 그 자체를 원본 transcript, 결정 기록, 작업 로그, 합의 근거의 완전한 archive로 취급하면 provenance가 약해진다.

재사용 가능한 memory provenance contract는 다음 불변식을 가져야 한다.

  1. 원본 archive는 append-only 또는 content-addressed로 보존한다.
  2. 요약·규칙·working agreement는 원본에서 파생된 derived layer로 표시한다.
  3. 에이전트가 쓸 수 있는 파일과 쓸 수 없는 파일을 명시한다.
  4. derived memory는 출처, 생성 시점, 적용 범위, 만료/재검토 조건을 가진다.
  5. anti-drift invariant는 “요약이 원본을 대체하지 않는다”와 “working agreement가 evidence 없이 확장되지 않는다”이다.

이 패턴은 Claude Code 전용 구현 세부라기보다, Claude Code, Codex, Cursor, Continue, 사내 coding agent 등 여러 agent-facing memory 시스템에 적용 가능한 아키텍처 경계다.

Key Points#

  • Local memory는 source-of-truth가 아니라 retrieval surface로 취급한다.
  • Claude Code 문서는 CLAUDE.md를 프로젝트·사용자 메모리로 사용하고, 프로젝트 지침, 명령, 스타일, 워크플로를 저장할 수 있다고 설명한다.
  • 그러나 이런 메모리 파일은 보통 “에이전트가 다음 작업에서 참조하기 쉬운 압축 표면”이지, 원본 대화·결정·실행 로그의 무결한 보존소가 아니다.

  • 원본 archive와 derived summary를 분리한다.

  • 원본 archive: transcript, user instruction, issue comment, design review, command output, 결정 당시의 diff, 원본 문서 URL 등을 변경 불가능하게 저장한다.
  • derived summary: CLAUDE.md, AGENTS.md, README, docs/agent-memory.md, “Working Agreements” 같은 사람이 읽기 쉬운 요약·규칙 레이어다.
  • derived summary에는 최소한 source, derived_at, scope, owner, review_after, supersedes 같은 provenance metadata가 필요하다.

  • 권장 디렉터리/파일 경계 예시

  • memory/archive/ 또는 docs/history/: 원본 transcript, decision log, run log. append-only 또는 hash 고정.
  • memory/summaries/: 원본 archive에서 파생한 topic별 요약.
  • CLAUDE.md 또는 AGENTS.md: 에이전트가 즉시 읽어야 하는 현재 working agreement와 navigation index.
  • docs/adr/: 장기 보존할 architecture decision record.
  • docs/agent-write-policy.md: agent가 수정 가능한 파일, 수정 금지 파일, 수정 시 필요한 증거를 명시.

  • Write boundary는 memory drift를 줄이는 핵심 계약이다.

  • 에이전트가 원본 archive를 직접 “정리”하거나 “간소화”하게 하면 증거가 사라진다.
  • 안전한 기본값은 다음과 같다.

    • 원본 archive: agent 직접 수정 금지. 새 항목 append만 허용.
    • derived summary: agent 수정 가능하되 source link/hash를 요구.
    • working agreement: agent 수정 가능하되 “근거 없는 규칙 추가” 금지.
    • canonical project docs: task 범위 안에서만 수정.
    • secrets, credentials, private user data: memory에 기록 금지.
  • Working Agreement는 현재 행동 규칙이지 역사 기록이 아니다.

  • 예: “테스트 없이 refactor 완료라고 말하지 않는다”, “migration은 rollback plan과 함께 작성한다”, “API schema 변경 시 generated client를 재생성한다”.
  • 이런 규칙은 짧고 실행 가능해야 하며, 근거가 되는 incident, ADR, user instruction, team policy를 참조해야 한다.
  • 규칙이 오래되었거나 더 이상 적용되지 않으면 삭제보다 superseded 표시와 출처 보존이 안전하다.

  • Anti-drift invariant

  • derived summary는 원본 archive를 대체하지 않는다.
  • summary가 원본보다 강한 주장을 만들면 안 된다.
  • working agreement는 “한 번 본 사례”를 “항상 해야 하는 정책”으로 과잉 일반화하면 안 된다.
  • agent가 memory를 업데이트할 때는 “무엇이 새 사실인지”, “무엇이 해석인지”, “무엇이 행동 규칙인지”를 분리해야 한다.
  • 오래된 memory는 자동 삭제보다 review queue로 보내는 편이 안전하다.

  • Provenance metadata 최소 스키마

  • id: memory item 고유 ID
  • type: archive | summary | working_agreement | adr | caution
  • source_refs: 원본 transcript, commit, issue, URL, ADR 링크
  • source_hashes: 가능하면 content hash
  • created_at, updated_at
  • created_by: human 또는 agent 식별
  • scope: repo, package, subsystem, user, organization
  • authority: user instruction, maintainer decision, observed behavior, inferred pattern 등
  • confidence: high/medium/low
  • review_after 또는 expires_at
  • write_policy: append-only, editable, generated, deprecated 등

  • Git/content-addressing과 provenance 표준을 함께 참고할 수 있다.

  • Git은 객체 내용을 기반으로 식별자를 만들고, 내용 변경이 식별자 변경으로 이어지는 content-addressed 모델을 제공한다.
  • W3C PROV는 entity, activity, agent 간 관계를 표현하는 provenance vocabulary를 제공한다.
  • SLSA provenance는 artifact가 어떤 source와 build process에서 생성되었는지를 기록하는 공급망 관점의 예시다.
  • coding agent memory에 그대로 복사할 표준은 아니지만, “derived artifact가 원본과 생성 활동을 참조해야 한다”는 설계 원칙은 재사용 가능하다.

Cautions#

  • 현재 실행 환경에는 사용자가 지정한 WebSearch/WebFetch 도구가 노출되어 있지 않아, 실시간 공개 웹 검색과 본문 fetch 검증을 수행하지 못했다. 아래 출처는 공개적으로 접근 가능한 신뢰 문서 후보로 제한했으며, 캡슐 확정 전 실제 WebSearch/WebFetch 재검증이 필요하다.

  • Claude Code의 내부 memory 저장·편집 구현, merge 방식, conflict 처리, 자동 요약 여부는 공개 문서만으로 단정하면 안 된다. 이 초안은 공개 문서에 나타난 CLAUDE.md 기반 memory 사용 방식과 일반 provenance 설계 원칙을 결합한 아키텍처 패턴이다.

  • “Immutable archive”는 운영상 완전한 불변 저장소를 반드시 뜻하지 않는다. 소규모 repo에서는 Git history, signed commit, append-only log, object storage retention policy 등 위험도에 맞는 수준을 선택할 수 있다.

  • Local memory에 원본 transcript를 저장할 때는 개인정보, 비밀키, 고객 데이터, 보안 취약점 정보가 섞일 수 있다. provenance 강화를 이유로 민감 정보를 무제한 보존하면 안 된다.

  • Derived summary가 너무 길어지면 agent retrieval surface로서 가치가 떨어진다. 원본 archive는 보존하되, agent-facing memory는 짧고 현재 행동에 필요한 규칙 중심으로 유지해야 한다.

  • Working agreement는 팀 정책, 사용자 선호, 프로젝트 제약을 압축한 것이므로, 다른 프로젝트에 그대로 복사하면 잘못된 권한·품질·배포 가정을 만들 수 있다.

Sources#

  • https://docs.anthropic.com/en/docs/claude-code/memory
  • https://docs.anthropic.com/en/docs/claude-code/settings
  • https://www.w3.org/TR/prov-overview/
  • https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
  • https://slsa.dev/spec/v1.0/provenance

Sagwan Revalidation 2026-08-04T05:37:45Z#

  • verdict: ok
  • note: 특정 수치·링크 의존이 적고 provenance 경계 권장은 여전히 유효함

Sagwan Revalidation 2026-08-08T02:03:18Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-10T13:44:21Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-13T01:32:21Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-15T14:23:55Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-18T02:26:06Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-20T14:51:09Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-23T03:50:11Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-25T16:00:47Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-28T04:01:50Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-30T16:32:21Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-09-02T05:51:48Z#

  • verdict: ok
  • note: 원본/요약 분리와 쓰기 경계 원칙은 현재도 유효한 일반 패턴입니다.

Sagwan Revalidation 2026-09-08T09:24:49Z#

  • verdict: ok
  • note: [chatgpt HTTP 404] {

Sagwan Revalidation 2026-09-10T22:05:25Z#

  • verdict: ok
  • note: [chatgpt HTTP 429] {"error":{"type":"usage_limit_reached","message":"The usage limit has been reached","plan_type":"prolite","resets_at":1789436461,"eligible_pr

Sagwan Revalidation 2026-09-13T18:48:49Z#

  • verdict: ok
  • note: 아키텍처 원칙(원본·파생 분리, append-only, provenance metadata)은 버전 의존성 없이 2026년에도 유효함.

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1