Skip to content

Releases: o3co/agent-dpd

v0.4.0 — Claude Code plugin-first install

Choose a tag to compare

@y1o1 y1o1 released this 25 May 17:22
24125ea

First plugin-based DPD release. Install via Claude Code's plugin system; legacy install.sh flow remains as a Cursor escape hatch.

Install

/plugin marketplace add o3co/agent-dpd
/plugin install dpd@agent-dpd

After install, start a fresh Claude Code session (open a new terminal claude or close+reopen the IDE) — /reload-plugins alone may not bootstrap the venv on first install. The first new session takes ~10–30s to set up. Then try /dpd-status to verify.

Requires Python 3.11+ on PATH (the bundled MCP server uses it). See README for Cursor and manual install paths.

BREAKING CHANGES

  • Repo structure: mcp/ renamed to core/server/, skill/ renamed to core/skills/. The main /dpd skill now lives at core/skills/dpd/SKILL.md (was skill/SKILL.md). PyPI package name dpd-mcp-server is unchanged.
  • Install model: Plugin-first via Claude Code's plugin system. install.sh is no longer the primary install path; it is now an escape hatch for Cursor and CI use cases.
  • Install locations changed: Plugin cache at ~/.claude/plugins/cache/<marketplace>/<plugin>/<version>/ (e.g. ~/.claude/plugins/cache/agent-dpd/dpd/0.4.0/); persistent venv at ~/.claude/plugins/data/<plugin>-<marketplace>/.venv/ (e.g. ~/.claude/plugins/data/dpd-agent-dpd/.venv/). The old symlink layout under ~/.claude/skills/ is no longer used by the plugin install path (still used by the Cursor install.sh path).

Added

  • packaging/claude-code/ — Claude Code plugin manifest, skill symlinks, core symlink, .mcp.json, and hooks/session-start.sh for venv lazy bootstrap.
  • .claude-plugin/marketplace.json — registers this repo as a Claude Code marketplace.
  • /dpd-feedback skill — submits dogfood feedback as GitHub issues with system metadata only (privacy hard constraint: no session content / scope / label / Pool / rejected hypotheses sent, ever). Allow-list enforced at the prompt level: no mcp__*__dpd-mcp-server__* tool may be called for the feedback body.
  • Feedback link footer appended to each skill's output (lightweight discovery surface for /dpd-feedback).
  • New tests: patch_cursor_mcp (rejects malformed JSON / honors $DPD_PYTHON / atomic write / preserves existing entries) and SessionStart hook (fresh / idempotent / pyproject-change-triggers-reinstall / marketplace install layout regression guard).

Changed

  • All slash command names unchanged (/dpd, /dpd-status, /dpd-dump, /dpd-edit, /dpd-fill, /dpd-find-similar, /dpd-import, /dpd-summary-md, plus new /dpd-feedback).
  • README install instructions: plugin-first, with install.sh documented as Cursor escape hatch.
  • install.sh hardened: atomic mcp.json write (tmp + rename), clean JSON-error UX, honors $DPD_PYTHON env var.

Known follow-ups (post-release issues)

  • #17 SessionStart hook: venv healthcheck + python3.11+ enforcement
  • #18 SessionStart hook test: verify pip actually ran, not just hash changed
  • #19 Migration guide: 0.3.x → 0.4 (clean old install + plugin install)
  • #20 Plugin install: CI smoke test verifying symlink dereference
  • #21 /dpd-feedback: enumerate agent-detect env vars + use CLAUDE_PLUGIN_ROOT for version

Source

This release was tracked end-to-end in a DPD self-dogfood session (ses_bb28a64c1713 in scope decompose-propagate.protocol). Architectural decisions are recorded in docs/ideas/dpd-plugin-refactor-2026-05-25.md (in the scope repo, not this one). Release shipped after multi-agent review (Claude + Codex) + Copilot review + 0.4 install dogfood verification.

v0.3.1 — first published release

Choose a tag to compare

@y1o1 y1o1 released this 22 May 17:23

DPD v0.3.1 — first published release

Decompose-Propagate Decision (DPD) — a graph-based protocol for structuring AI-assisted decision dialogues. This is the first tagged release; the implementation is usable but pre-1.0 (schema, MCP tool surface, and .dpdrc format may still change).

Install

curl -fsSL https://raw.githubusercontent.com/o3co/agent-dpd/main/install.sh | bash

Or clone first if you'd rather review the script:

git clone https://github.com/o3co/agent-dpd.git
cd agent-dpd
./install.sh

Restart Claude Code afterwards, then invoke /dpd from any project. Env overrides (DPD_INSTALL_DIR, DPD_PYTHON, DPD_NO_REGISTER) are documented in the README.

What's in this release

Ambient overlay paradigm — the agent observes ongoing conversation and proposes graph updates at natural pauses, rather than requiring the user to issue graph operations manually.

Drift prevention — the End node (subgraph goal anchor) is gated: the agent cannot silently expand or rewrite it. Combined with aggressive End narrowing on entry, this prevents the "agent quietly redefines done to match what it already did" failure mode.

Pool reject identity — rejected Pool items are matched by canonical text hash (SHA-256(lower(strip(text)))[:16]), so the agent won't re-propose ideas the user has already turned down.

30 MCP tools organized into session lifecycle, root management, node CRUD, edge management, decision flow, Pool, bulk/export, and advanced lifecycle. Full reference in mcp/README.md.

Bilingual docs — English + Japanese for every user-facing README.

Status

0.x — minor and patch bumps may carry breaking changes. Schema migrations are provided for forward-only DB moves. 1.0 will lock the public surface.

Acknowledgments

DPD was developed dogfood-style, using DPD sessions to track its own design. See docs/concept.md for the meta-story.