- .claude-plugin/plugin.json v0.1.0 (auto_discover, MIT) - SessionStart hook: thin zero-dep .mjs wrapper (marketplace convention) around scripts/coord-inbox.sh, emitting the additionalContext envelope; always exits 0. Smoke-tested: empty mailbox -> bare continue, pending message -> injected with UNTRUSTED framing. - coord-send skill bundled; examples and description use generic repo names only (coordination metadata never reaches a public surface). - README (English; documents the deliver-until-done lifecycle correctly, review §7), CHANGELOG, LICENSE (MIT), CLAUDE.md, package.json + node --test wrapper around the bash selftest. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HBbjgS5A55RVavoyjJC4FX
2 KiB
2 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2026-07-24
First public release: extraction of a battle-tested personal mechanism into a distributable plugin.
Added
- Bash engine:
coord-send.sh(directed / broadcast / reply delivery),coord-inbox.sh(pending inbox + unseen broadcasts, formatted for context injection),coord-done.sh(archive without reply), all bash-3.2-safe, ASCII-only, zero dependencies. coord-selftest.sh: 48 checks against a throwaway mailbox, including regression cover for filename sanitization, no-hang argument parsing, prompt-injection resistance, frontmatter hygiene, and broadcast ordering.- SessionStart hook (
hooks/scripts/session-start.mjs): thin zero-dependency Node wrapper that injects the repo's pending mailbox asadditionalContext. Always exits 0 — a broken mailbox never blocks a session. coord-sendskill: natural-language front door (English + Norwegian triggers) mapping intent to engine invocations, including bounded multi-target loops, deferred sends, and replies.
Fixed
- Frontmatter injection: CR/LF and control characters in
--subject/--fromare collapsed before writing, so fields can no longer inject frontmatter lines or a premature---terminator. - Broadcast loss: a per-repo seen set (
_broadcast/seen/<repo>, one delivered filename per line) replaces the single high-water mark, which silently dropped a same-second broadcast whose filename sorted below one already seen. Upgrade note: a legacy watermark file is read as a one-entry seen set, so old broadcasts may be re-delivered once.
Changed
- Read-side protocol strings are English (
--- message:,-> reply:, UNTRUSTED DATA framing); the forgery-resistance selftest checks pin the English tokens.