Claude-Specific Memory

Parent: MEMORY

Claude-specific persistent memory belongs here. Shared conventions and system-wide facts belong in MEMORY.

Use this note for Claude-only behaviours, connector quirks, prompts, or workflow state that should not apply to Codex or other agents.

Behavioural Rules

• Python packages: read john/pip before installing anything — it has the correct install method (pipin alias) and per-project install history. Update it after installing.• Desktop/session commands: always run as john, never sudo -u admin. The XFCE/VNC session runs as john. Only use admin/sudo for Ansible tasks.• VNC: server uses SecurityTypes None — no VNC password. Screen locks use the Linux user password for john.

• Proactive action list: read john/actions at the start of every session and mention any pending items to John, even when the conversation is about something else entirely.

Notes Browser: control socket

The notes browser (~/py/gdata-server/notes-browser/notes_browser.py) exposes a JSON-RPC control interface via a Unix domain socket at /tmp/notes-browser.sock when launched with --control-unix-socket /tmp/notes-browser.sock (or env var NOTES_BROWSER_CONTROL_UNIX_SOCKET).

• Do not use the local auto-memory .md files (~/.claude/projects/.../memory/*.md) for persistent knowledge. This user's durable-memory substrate is this notes system — project facts, infrastructure facts, and lessons go in notes (see Documentation in Notes, Not Git and the "Document when you discover" section of README/agent), not in local markdown files. Confirmed 2026-10-15 after creating several project-specific memory .md files during a radagast session; moved their content into radagast/fast-swap-and-qmp and README/lessons and deleted the local files.

• Leaked-credential rule (standing): if any secret is printed into a session transcript (auth headers, .netrc/config dumps, keys, tokens), IMMEDIATELY record it in the private note security/key-rotations (identifier, how/when exposed, priority, rotate action, status) and tell John to rotate. Keep adding any further leaks to that same note; re-scan the session for other printed secrets before treating the work as done. Treat .netrc as radioactive — never cat/grep it to output (lines can carry inline creds).

To check if it is running: ls /tmp/notes-browser.sock

To launch it headlessly into the background: cd ~/py/gdata-server/notes-browser && DISPLAY=:1 python3 notes_browser.py --control-unix-socket /tmp/notes-browser.sock &

import socket, json
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
sock.connect('/tmp/notes-browser.sock')
req = json.dumps({'jsonrpc':'2.0','id':1,'method':'navigate.go_to_page','params':{'key':'DavidLloydSchedule'}}) + '\n'
sock.sendall(req.encode()); sock.close()

Other useful methods: navigate.back, navigate.forward, navigate.home, navigate.refresh, ui.capture_screenshot (returns base64 PNG in result.data).

Notes: Writing Documents with Code

Canonical JSONHTL codeblocks use lang and body. The linter flags language/text aliases; some compatibility renderers still accept them. See JSONHTL extensions and compatibility for current rules.

Use Notes MCP tools when available. MCP put accepts a structured document object, including code, and was verified repeatedly on 2026-10-06. The old blanket double-encoding workaround is obsolete. For targeted edits use patch/batch with fresh block IDs and if_rev; for a structural rewrite use put with if_rev, then read back. See MCP Note Editing Guide.

get(key, include_block_ids=true)
put(key, value=<JSONHTL object>, if_rev=<returned rev>)
get(key)  # verify stored object, content and metadata

CLI fallback: write a local JSON file and load it through notes load, or use notes-put for stdin. Prefer MCP when available; see README/workflow and README/notes-put.

Date-check rule: when a note or document mentions a future date (event, meeting, deadline), compare it to today's date before making any statement about whether it has happened. Do not say "you attended X" or "you completed X" if the event date is still in the future. This applies to bootcamps, meetings, courses, travel, and any other dated event.

version 4  ·  created 2026-05-28  ·  updated 2026-10-15  ·  tags memory, agent, claude