Files
Atomizer/docs/hq/12-CONTEXT-LIFECYCLE-MANAGEMENT.md

5.9 KiB

12 — Context Lifecycle Management

Status: PLAN Author: Mario Lavoie Date: 2026-02-16 Problem: Discord channel context grows unbounded; agents see only a sliding window; important decisions fall off; stale context can mislead


The Problem

Agents see ~20-30 recent messages in a Discord channel. Everything older is invisible to them. This creates two failure modes:

  1. Lost decisions — Important conclusions from discussions fall off the window
  2. Stale context — If an agent's memory references an old problem that's since been fixed, it may re-raise solved issues

Context Layers (Current Architecture)

Layer Persistence Scope Who Manages
Discord messages Ephemeral (sliding window) Channel Automatic
Discord pins Semi-permanent (50/channel) Channel Manager
Discord threads Per-topic (own window) Thread Any agent
Handoff JSON Permanent until archived Task Orchestration engine
Agent memory files Permanent until edited Agent Each agent
Knowledge base Permanent Company Knowledge Base agent

Solution: Three Mechanisms

1. Condensation Protocol (Secretary's Job)

When a Discord channel discussion reaches a conclusion, Secretary produces a condensation — a structured summary that captures the decision without the noise.

Trigger: Manager or any agent says "📝 condense this discussion" or Secretary detects a natural conclusion point.

Output format:

## 📝 Condensation: [Topic]
**Date:** [date]
**Channel:** #[channel]
**Participants:** [agents involved]
**Context:** [what was being discussed, 1-2 sentences]
**Decision:** [what was decided]
**Rationale:** [why, key arguments]
**Action items:** [what follows from this]
**Supersedes:** [previous decisions this replaces, if any]

Where it goes:

  1. Pinned in the channel (quick reference)
  2. Written to /home/papa/atomizer/hq/condensations/YYYY-MM-DD-topic.md
  3. Key decisions also go to relevant agent memory files

2. Thread-Based Topic Isolation

Use Discord threads for focused problem-solving:

When to create a thread:

  • Deep technical discussion branching from a channel message
  • Bug investigation or debugging session
  • Review/challenge cycles (auditor challenges → agent responds)
  • Any back-and-forth that would clutter the main channel

Thread lifecycle:

  1. Active — ongoing discussion, agents see full thread context
  2. Resolved — conclusion reached → Secretary condenses → thread archived
  3. Archived — Discord auto-archives after inactivity, condensation persists

Manager creates threads for delegated work:

#proj-starspec-wfe (main channel)
├── Thread: "Material selection: Zerodur vs CCZ HS" → resolved, condensed
├── Thread: "Mesh convergence study" → active
└── Thread: "Mirror mount interface design" → active

3. Context Refresh Protocol (Per-Channel)

Each project channel gets a living context document that agents reference:

File: /home/papa/atomizer/hq/projects/<project>/CONTEXT.md

Updated by Secretary after each condensation or major event:

# Project Context: StarSpec WFE Optimization

## Current State
- Phase: Detailed design, post-CDR
- Active: Mesh convergence study on M2 mirror
- Blocked: Nothing

## Key Decisions (most recent first)
1. [2026-02-15] Material: Clearceram-Z HS selected (CTE matches Zerodur Class 0, cheaper)
2. [2026-02-10] Approach: Assembly FEM with superposed models (Model A fixed + Model B variable)
3. [2026-02-08] Optimizer: Optuna TPE, 15 parameters, 500 trial budget

## Active Constraints
- WFE < λ/20 at 633nm under thermal load
- Mass < 12 kg
- First mode > 150 Hz

## Superseded Decisions
- ~~[2026-02-05] Material: Zerodur Class 0~~ → Replaced by CCZ HS (2026-02-15)
- ~~[2026-02-03] Approach: Single monolithic FEM~~ → Replaced by Assembly FEM (2026-02-10)

When an agent starts work on a project channel, it reads this CONTEXT.md first. This gives it the current ground truth without needing to scroll through weeks of chat history.

4. Staleness Detection (Auditor's Periodic Check)

During challenge mode or periodic reviews, auditor checks:

  • Are any agents referencing superseded decisions?
  • Are CONTEXT.md files up to date?
  • Are there un-condensed resolved threads?

How It All Flows

Discussion happens in Discord channel/thread
        │
        ▼ (conclusion reached)
Secretary condenses → pinned + saved to condensations/
        │
        ▼
Secretary updates project CONTEXT.md
        │
        ▼ (superseded decisions marked)
Old context naturally falls off Discord window
        │
        ▼
Agents reference CONTEXT.md for current ground truth
Handoff files preserve structured task results
Agent memory files preserve individual learnings

What Changes for Each Agent

Agent New Responsibility
📋 Secretary Produce condensations, maintain CONTEXT.md per project
🎯 Manager Create threads for focused work, request condensations
🔍 Auditor Check for stale context during reviews
All agents Read project CONTEXT.md before starting work on a project

Implementation

Step Work Effort
1 Add condensation protocol to Secretary SOUL 1h
2 Create CONTEXT.md template + initial project contexts 1h
3 Add thread creation to Manager's delegation workflow 1h
4 Add staleness check to Auditor's challenge mode 1h
5 Add condensation file browser to dashboard 3h
Total ~7h

Key Insight

The system IS more intelligent than "everything stays forever" — the sliding window naturally forgets. The challenge is making sure the RIGHT things persist before they fall off. That's what condensation + CONTEXT.md solve: intentional memory vs. accidental forgetting.


Prepared by Mario — 2026-02-16