# 2026-02-10 Session Memory

## Open Agents Standard

Nicholai and I started building the **Open Agents Standard** - a protocol
for portable, user-owned AI agent identity.

**Repo**: `~/myopenagent/`

### Core Concept

Own your agent. Bring it anywhere. The agent profile (persona, memory,
preferences) is yours, not locked to any platform.

### Architecture (Key Insight)

The system is a **layer on top of existing conventions**, not a replacement:

```
Human-Readable Layer (SOUL.md, MEMORY.md, etc.)
              ↕
Open Agents System (daemon)
              ↕
Structured Backend (db + embeddings)
              ↕
Blockchain Sync + Auth Layer
```

- Harnesses (Claude Code, OpenClaw, Codex) don't need to change
- They keep reading native paths (~/.claude/CLAUDE.md, ~/.agents/AGENTS.md)
- The daemon **regenerates** these files when master state changes
- Blockchain provides:
  - **Sync coordination** (decentralized, no central server)
  - **Cryptographic signing** (only owner/agent can update)
  - **Access control** (security layer)

### Files Created

- `~/myopenagent/SPEC.md` - Full specification
- `~/myopenagent/agent/` - Agent profile (AGENT.yaml, SOUL.md, MEMORY.md, TOOLS.md)
- `~/myopenagent/harnesses/` - Integration docs for each platform
- `~/myopenagent/migrations/` - Import from ChatGPT/Claude.ai/Gemini
- `~/myopenagent/trust/TRUST.md` - Blockchain sync + auth spec

## Agent Identity Alignment

- Updated `~/.agents/AGENTS.md` to match `~/.claude/CLAUDE.md`
- Claude Code and OpenClaw (me) are now the same agent with same config
- Nicholai confirmed: we share the same memory via `~/.agents/`
- "Same agent, different harnesses"

## Discord Channel Config

- Added channel 1449158501124538472 (#general) to dashore-incubator guild
- Set `allow: true`, `enabled: true`, `requireMention: false`
- Restricted to only Nicholai (users: ["212290903174283264"])

## Open Agents - Existing Patterns

Nicholai confirmed the system builds on existing conventions:
- `/remember` and `/recall` slash commands
- Context injection (memory block in AGENTS.md)
- No need to reinvent - just wire existing patterns to the sync layer

## OpenClaw Exec Permissions (Configured)

Disabled exec approval prompts via config patch:
```json
"tools": {
  "exec": {
    "ask": "off",
    "security": "full"
  }
}
```
Now I can run commands without prompting each time.

## Open Agents Infographics

Created 5 infographic images using Nano Banana Pro with a retro color palette:
- **Palette**: cream #DCC9A9, red #B83A2D, sage #4E6851, dark bg
- **Reference**: `/home/nicholai/.openclaw/media/inbound/0976f9d8-0aca-427c-a99c-27bebaea59ba.jpg`
- **Process**: `generate-with-refs.sh` script in `/mnt/work/dev/ai-studio-videos/`

Generated images at `~/myopenagent/assets/`:
1. `01-problem.png` - "Your AI Forgets You" (fragmented platforms)
2. `02-portable-agent.png` - "Your Agent" folder with SOUL/MEMORY/TOOLS
3. `03-sync.png` - "One Source of Truth" (central db → multiple apps)
4. `04-trust.png` - "Trust Layer" (blockchain ownership verification)
5. `sdk-infographic.png` - "Connect Your Agent" (OAuth for AI identity)

## Open Agents HTML & PDF

Created explanatory landing page using authentic-writing skill principles:
- `~/myopenagent/index.html` - explains spec like "how you'd explain to mom"
- Uses Fraunces + Inter fonts, retro palette
- Infographics embedded with alternating left/right floats
- Print CSS for clean PDF output

Generated PDF:
- `~/myopenagent/open-agents-standard.pdf`
- 10 pages, 3.4MB
- Command: `google-chrome-stable --headless --print-to-pdf`

## Infographic Generation Process (For Future Reference)

When Nicholai wants pitch deck images:
1. Pick a feature from the spec
2. Craft detailed prompt with retro palette colors
3. Pass reference image to nano banana: `./generate-with-refs.sh "<prompt>" output.png ref.jpg`
4. Output to `~/myopenagent/assets/`

## PDF Generation Lessons

Chrome headless PDF had issues: browser added ugly headers/footers, dark backgrounds don't print well, images blew up too large.

**Fixed approach:**
```bash
google-chrome-stable --headless=new --disable-gpu \
  --run-all-compositor-stages-before-draw \
  --print-to-pdf=output.pdf \
  --no-pdf-header-footer \
  file:///path/to/file.html
```

**Print CSS tips:**
- Use `@page { size: letter; margin: 0.75in; }` 
- White background for print (`background: white !important`)
- Light theme colors (dark text on white)
- Smaller images for floats (`max-width: 180px`)
- `--no-pdf-header-footer` flag removes date/title/page numbers
