Alejandro Gutiérrez
|
1afae7a507
|
feat(broker+cli): topics — conversation scope within a mesh (v0.2.0)
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled
Adds the third axis of mesh organization: mesh = trust boundary,
group = identity tag, topic = conversation scope. Topic-tagged
messages filter delivery by topic_member rows and persist to a
topic_message history table for back-scroll on reconnect.
Schema (additive):
- mesh.topic, mesh.topic_member, mesh.topic_message tables
- topic_visibility (public|private|dm) and topic_member_role
(lead|member|observer) enums
- migration 0022_topics.sql, hand-written following project convention
(drizzle journal has been drifting since 0011)
Broker:
- 10 helpers (createTopic, listTopics, findTopicByName, joinTopic,
leaveTopic, topicMembers, getMemberTopicIds, appendTopicMessage,
topicHistory, markTopicRead)
- drainForMember matches "#<topicId>" target_specs via member's
topic memberships
- 7 WS handlers (topic_create/list/join/leave/members/history/mark_read)
+ resolveTopicId helper accepting id-or-name
- handleSend auto-persists topic-tagged messages to history
CLI:
- claudemesh topic create/list/join/leave/members/history/read
- claudemesh send "#deploys" "..." resolves topic name to id
- bundled skill teaches Claude the DM/group/topic decision matrix
- policy-classify recognizes topic create/join/leave as writes
Spec: .artifacts/specs/2026-05-02-v0.2.0-scope.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-02 01:53:42 +01:00 |
|
Alejandro Gutiérrez
|
b4f457fceb
|
feat(cli): 1.5.0 — CLI-first architecture, tool-less MCP, policy engine
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled
CLI becomes the API; MCP becomes a tool-less push-pipe. Bundle -42%
(250 KB → 146 KB) after stripping ~1700 lines of dead tool handlers.
- Tool-less MCP: tools/list returns []. Inbound peer messages still
arrive as experimental.claude/channel notifications mid-turn.
- Resource-noun-verb CLI: peer list, message send, memory recall, etc.
Legacy flat verbs (peers, send, remember) remain as aliases.
- Bundled claudemesh skill auto-installed by `claudemesh install` —
sole CLI-discoverability surface for Claude.
- Unix-socket bridge: CLI invocations dial the push-pipe's warm WS
(~220 ms warm vs ~600 ms cold).
- --mesh <slug> flag: connect a session to multiple meshes.
- Policy engine: every broker-touching verb runs through a YAML gate
at ~/.claudemesh/policy.yaml (auto-created). Destructive verbs
prompt; non-TTY auto-denies. Audit log at ~/.claudemesh/audit.log.
- --approval-mode plan|read-only|write|yolo + --policy <path>.
Spec: .artifacts/specs/2026-05-02-architecture-north-star.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-02 01:18:19 +01:00 |
|