Skip to content

Releases: conoremclaughlin/inkwell

v0.4.0 — Inkwell

05 Apr 22:08
d5d0f6a

Choose a tag to compare

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 to conoremclaughlin/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_bypass for 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 Mar 00:01
a573b12

Choose a tag to compare

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_agents now queries DB instead of empty in-memory handler map
  • cliAttached set 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

18 Mar 19:09

Choose a tag to compare

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, triggerAgents for targeted waking, and full thread lifecycle management
  • Session identity chain — end-to-end PCP session tracing through HTTP headers, spawn env, and .mcp.json injection. Backend session ID extraction for Codex and Claude Code
  • Memory embeddings — pluggable embedding router (local + API) with semantic recall and benchmark tooling
  • create-pcp scaffoldernpx create-pcp my-project bootstraps a new PCP project
  • CI hardened — Node 22 standardized, cross-platform lockfile, pre-commit hook auto-updates yarn.lock
  • PM2 removed — replaced with yarn dev via concurrently
  • Media pipeline — photos, voice, documents via send_response with counters and cross-channel logging
  • CLI improvements — mission display overhaul, sb memory, tool gating in sb 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

04 Mar 21:59

Choose a tag to compare

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.md as 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_family ceremony 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
  • threadKey conversation 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
  • topicKey convention 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 /away mode 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_routes table 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