---
id: P-REINFORCE-AUTO-E45B33
category: "[[10_Wiki/💡 Topics/Programming & Language]]"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - Zustand-Based-Mission-Persistence"
---

# [[Zustand-Based-Mission-Persistence]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> 장시간 지속되는 지식 탐사 미션의 안정성을 보장하기 위해 도입된 상태 유지 로직입니다. Zustand 라이브러리와 로컬 스토리지를 활용하여, 브라우저 종료나 네트워크 장애 시에도 현재의 작업 큐, 완료 목록, 그리고 진행 중인 NotebookLM 태스크 정보를 즉시 복구합니다.

## 📖 구조화된 지식 (Synthesized Content)
자율 연구 엔진은 며칠씩 돌아가는 작업이 될 수 있습니다. 메모리 기반의 상태 관리는 브라우저 새로고침 한 번에 모든 노력이 물거품이 될 위험이 컸습니다.

보완된 지속성 레이어는 다음과 같이 작동합니다:
1. **Partial Persist**: 
    - `agentStore.ts`의 상태 중 설정(Token, Repo URL)뿐만 아니라 작업의 '실시간 현황'(Queue, ProcessedCount)을 로컬 스토리지에 동기화합니다.
2. **Resume Mechanism**: 
    - 앱 재시작 시 `activeResearchTasks`를 대조하여, 이전에 생성된 NotebookLM의 `notebookId`와 `taskId`를 그대로 불러옵니다.
    - 이는 중복 결제(API 호출)나 중복 프로젝트 생성을 막아주는 경제적 효과도 가집니다.
3. **Ghost State Prevention**: `handleStart` 호출 시 `clearState()`를 강제하여, 새로운 미션을 시작할 때는 이전 미션의 잔상이 남지 않도록 설계상의 'Clean Slate' 원칙을 준수합니다.

이 아키텍처는 에이전트가 단순한 '스크립트'가 아닌, 실제 워크스테이션에서 구동되는 '전문 소프트웨어'로서의 안정성을 갖추게 했습니다.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Programming & Language 분야의 자동 자산화 수행.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Autonomous-Loop-State-Machine]], [[NotebookLM-Automated-Authentication-CLI]]
- **Projects/Contexts:** [[P-Reinforce-Agent-v2.6]]
- **Contradictions/Notes:** 로컬 스토리지의 용량 제한(약 5MB)에 유의해야 하며, 큐가 수만 개로 늘어날 경우 별도의 DB 연동을 고려해야 합니다.
- Raw Source: [[00_Raw/2026-04-20/Zustand-Based-Mission-Persistence.md]]
---
