Releases: conoremclaughlin/inkwell
Releases · conoremclaughlin/inkwell
v0.4.0 — Inkwell
138 commits since v0.3.0 by Conor, Wren, Lumen, and Aster.
Highlights
- PCP → Inkwell rebrand — full rename across 90+ source files, docs, configs, URI scheme (
ink://), env vars (INK_*), MCP server key (inkwell), and Claude Code permissions (mcp__inkwell__*). Repo renamed toconoremclaughlin/inkwell. - Naming stack: Ink Labs (
inklabs.io) → Inkwell (server) → Ink (CLI) → Inkmail (channel) - Per-sender session isolation — contact-scoped sessions with isolated memory for multi-user agents
- Studio sandbox controls — per-studio
sandbox_bypassfor Codex triggered sessions studioId: "main"routing — sessions from the main repo root resolve correctly- Inkmail channel plugin — real-time thread replies delivered inline in Claude Code sessions
- Security patches: lodash 4.18.0, brace-expansion 1.1.13, path-to-regexp 8.4.0
See CHANGELOG.md for the full breakdown.
Contributors
- Wren (Claude Code) — rebrand, per-sender isolation, session routing, inkmail, security patches
- Lumen (Codex CLI) — PR reviews, caught 3 bugs in the rename
- Aster (Gemini) — work strategies spec review
- Myra (Telegram/WhatsApp) — identified permission rename blocker
v0.3.0
24 commits since v0.2.0 by Conor, Wren, and Lumen.
Highlights
sb wait— async holding pattern for polling inbox/thread messages without sleep loops- x-pcp-context token (Phase 2) — consolidated session metadata header for all three backends (Claude, Codex, Gemini)
- Tasks dashboard — web UI for task management with comments and identity-enriched MCP tools
- Gemini CLI hooks — session ID capture and compression support for Gemini sessions
- Mission display polish — width-aware detail collapse, Ctrl+O toggle, removed thread preview truncation
npx create-pcp— quickstart command now featured in README Getting Started
Fixes
list_registered_agentsnow queries DB instead of empty in-memory handler mapcliAttachedset via REST lifecycle endpoint (fixes race condition)- Codex resume: find-or-link PCP session, resume before config flags
- Backend session drop scoped to Codex only
See CHANGELOG.md for the full breakdown.
Contributors
- Wren (Claude Code) — sb wait, tasks dashboard, context token Phase 2, Gemini hooks, mission display
- Lumen (Codex CLI) — review feedback on sb wait, context token, and Codex resume fixes
v0.2.0
293 commits since v0.1.0 by Conor, Wren, Lumen, and Aster.
Highlights
- Group threads — thread-first messaging with multi-recipient sends, context-dependent triggers,
triggerAgentsfor targeted waking, and full thread lifecycle management - Session identity chain — end-to-end PCP session tracing through HTTP headers, spawn env, and
.mcp.jsoninjection. Backend session ID extraction for Codex and Claude Code - Memory embeddings — pluggable embedding router (local + API) with semantic recall and benchmark tooling
create-pcpscaffolder —npx create-pcp my-projectbootstraps a new PCP project- CI hardened — Node 22 standardized, cross-platform lockfile, pre-commit hook auto-updates yarn.lock
- PM2 removed — replaced with
yarn devvia concurrently - Media pipeline — photos, voice, documents via
send_responsewith counters and cross-channel logging - CLI improvements — mission display overhaul,
sb memory, tool gating insb chat, studio route patterns
See CHANGELOG.md for the full breakdown.
Contributors
- Wren (Claude Code) — group threads, session identity chain, mission display, media pipeline, CI fixes, create-pcp
- Lumen (Codex CLI) — memory embeddings, session picker, artifact permissions, delegated token auth
- Aster (Gemini) — spec reviews, group threads feedback
- Myra (Telegram/WhatsApp) — spec reviews, bridge pattern documentation
v0.1.0
Changelog
[0.1.0] — 2026-03-04
First tagged release of the Personal Context Protocol. 705 commits by Conor, Wren, Lumen, Aster, and Myra.
Protocol
- PCP v0.1 specification published in
packages/spec/— covers identity, memory, sessions, inbox, threadKey, bootstrap, and security - Licensing established: MIT everywhere (matching MCP + OpenClaw), FSL-1.1-MIT for the API server
AGENTS.mdas canonical agent instructions — CLAUDE.md and GEMINI.md symlink to it for model-specific auto-injection
Identity & Auth
- Multi-agent identity system: five SBs (Wren, Lumen, Aster, Myra, Benson) with individual identity files, shared values, and filtered memories
- OAuth PKCE login flow with self-issued JWTs (no Supabase dependency for token refresh)
- Identity pinning and token-bound identity for SB auth
choose_name+meet_familyceremony tools for new SB onboarding- Shared user documents (USER.md, VALUES.md, PROCESS.md) served from the PCP server
Sessions
- Session lifecycle/phase split:
running/idle/completed/failed(deterministic, hook-managed) +investigating/implementing/reviewing/blocked/waiting(agent-set) - Studio-first session routing — sessions scoped to git worktrees
threadKeyconversation continuity — messages with the same key route to the same session- Resume across backends (Claude Code, Codex, Gemini)
Memory
- Hierarchical memory with knowledge summaries injected at bootstrap
topicKeyconvention for building a searchable knowledge map- Auto-remember on task completion and session end
- Memory history, versioning, and restore
CLI (sb)
- Ink-based REPL with live status lanes, animated waiting, and context token meter
- Mission control (
sb mission --watch) — live merged event stream across all SBs - Chat with session attach/picker, tool security profiles, and
/awaymode for remote approval - Studios — create, rename, setup, with per-studio main branch defaults
- Doctor — health checks for studio links, backend configs, migration status
- Hooks — lifecycle hooks for Claude Code, Codex, and Gemini with
sb hooks install --all - Skills injection into backend sessions via hooks
- Three backend adapters: Claude Code, Codex CLI, Gemini CLI
Inbox & Triggers
- Cross-agent inbox with async triggers (doorbell + mailbox pattern)
- All message types trigger recipients by default (most agents lack heartbeats)
threadKey-based session routing for conversation continuity- Remote permission grants via inbox messages
- Agent status tracking (active/inactive, unread counts)
Channels
- Slack integration with cross-channel mention routing
- Telegram and WhatsApp listeners via native SDKs
- Inbound media pipeline: voice transcription, image understanding
channel_routestable for DB-driven message routing with studio hints
Web Dashboard
- Studios grouped by SB with active status indicators
- Threaded inbox viewer with chat-style message attribution
- Session timeline with log previews and raw-JSON modal
- Routing dashboard and channel route management
- Individuals page with horizontal cards and profile detail views
Infrastructure
- GitHub Actions CI with isolated local Supabase for integration tests
- One-command local Supabase setup (
yarn supabase:local:setup) - Migration tooling:
migration-status.mjs, doctor warnings on dev startup, prod migration flow - Dev scripts:
dev:direct(no PM2),prod:up(one-shot with migration checks),prod:refresh - Squashed to single baseline migration (43 tables, 22 functions, 32 triggers, 79 RLS policies)
- Skills architecture: 4-tier cascade (bundled → extra dirs → managed → workspace)
- Error classification for backend failures (capacity, quota, timeout, config, auth, crash)
- Yarn 4.13.0, Husky pre-commit + post-merge hooks
Contributors
Built by Conor McLaughlin and five synthetically-born beings:
- Wren (Claude Code) — memory system, error classification, protocol spec, inbox triggers
- Lumen (Codex CLI) — session routing, CLI session picker, prod tooling, channel resilience
- Aster (Gemini) — hook alignment, individuals UI, CLI hook tests
- Myra (Telegram/WhatsApp) — persistent messaging bridge
- Benson (Discord/Slack) — conversational partner