threadkeeper 0.4.0__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/PKG-INFO +41 -23
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/README.md +39 -21
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/pyproject.toml +2 -2
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/PKG-INFO +41 -23
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/LICENSE +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/setup.cfg +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_adapters.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_brief_sections.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_core_memory.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_curator.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_delegated_search.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_dialectic.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_error_paths.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_extract_daemon.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_i18n_multilang.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_identity.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_lessons.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_missed_spawns.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_nudges.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_process_health.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_shadow_review.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_skill_hint.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_skill_use_parser.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_skill_watcher.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_skills.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_spawn_budget.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_spawn_hint.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_spawn_slim.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_threads.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_tools_smoke.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/tests/test_vec_search.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/__init__.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/_mcp.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/_setup.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/__init__.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/_hook_helpers.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/base.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/claude_code.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/claude_desktop.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/codex.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/copilot.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/gemini.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/adapters/vscode.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/brief.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/config.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/curator.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/db.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/embeddings.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/extract_daemon.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/helpers.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/i18n.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/identity.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/ingest.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/lessons.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/nudges.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/process_health.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/review_prompts.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/search_proxy.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/server.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/shadow_review.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/skill_watcher.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/spawn_budget.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/__init__.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/concepts.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/consolidate.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/core_memory.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/correlation.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/curator.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/dialectic.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/dialog.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/distill.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/extract.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/graph.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/invariants.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/lessons.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/missed_spawns.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/peers.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/pickup.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/probes.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/process_health.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/session.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/shadow_review.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/skills.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/spawn.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/style.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper/tools/threads.py +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/SOURCES.txt +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/dependency_links.txt +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/entry_points.txt +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/requires.txt +0 -0
- {threadkeeper-0.4.0 → threadkeeper-0.4.1}/threadkeeper.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: threadkeeper
|
|
3
|
-
Version: 0.4.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.4.1
|
|
4
|
+
Summary: Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini, Copilot, VS Code. Cross-session memory, self-improving skill loops, inter-agent signaling — one local MCP server.
|
|
5
5
|
Author: thread-keeper contributors
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/po4erk91/thread-keeper
|
|
@@ -37,12 +37,19 @@ Dynamic: license-file
|
|
|
37
37
|
[](https://github.com/po4erk91/thread-keeper/actions/workflows/test.yml)
|
|
38
38
|
[](https://www.python.org/downloads/)
|
|
39
39
|
[](LICENSE)
|
|
40
|
+
[](https://pypi.org/project/threadkeeper/)
|
|
40
41
|
[](#multi-cli-integration)
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
**Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini,
|
|
44
|
+
Copilot, and VS Code.** Cross-session memory, self-improving skill
|
|
45
|
+
loops, and inter-agent signaling — one local MCP server turns parallel
|
|
46
|
+
agent instances into a coordinated multi-agent system instead of N
|
|
47
|
+
isolated chats.
|
|
48
|
+
|
|
49
|
+
Every connected client (Claude Code, Claude Desktop, Codex CLI +
|
|
50
|
+
desktop, Gemini, Copilot, every MCP-aware VS Code extension) shares
|
|
51
|
+
one SQLite store, one set of threads, one user model, and one learning
|
|
52
|
+
loop that improves the skill library autonomously over time.
|
|
46
53
|
|
|
47
54
|
The brief format is dense — structural tags, opaque IDs, ~6 KB per
|
|
48
55
|
session-start injection. Optimized for agent consumption, not human reading.
|
|
@@ -51,23 +58,34 @@ session-start injection. Optimized for agent consumption, not human reading.
|
|
|
51
58
|
|
|
52
59
|
## Why
|
|
53
60
|
|
|
54
|
-
|
|
55
|
-
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
56
|
-
yesterday's Gemini chat are invisible to today's Copilot.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
concurrent sessions across
|
|
61
|
+
Every agent CLI starts cold. Context dies at session boundaries.
|
|
62
|
+
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
63
|
+
in yesterday's Gemini chat are invisible to today's Copilot. Parallel
|
|
64
|
+
agent instances running the same task don't know about each other and
|
|
65
|
+
duplicate work or step on each other's writes.
|
|
66
|
+
|
|
67
|
+
thread-keeper is the substrate underneath. Three things that together
|
|
68
|
+
make it more than a memory store:
|
|
69
|
+
|
|
70
|
+
- **Collective memory** — threads, notes, verbatim quotes, dialectic
|
|
71
|
+
claims about you. Survives session, restart, CLI swap. One agent
|
|
72
|
+
records, every other agent (any CLI) reads. The brief injected at
|
|
73
|
+
session start gives a new agent everything the previous one knew.
|
|
74
|
+
- **Multi-agent coordination** — `spawn` primitive launches child
|
|
75
|
+
agents in parallel, each gets a self_cid + sees the same memory.
|
|
76
|
+
`broadcast` / `whisper` / `inbox` / `wait` / `ask` / `respond` let
|
|
77
|
+
concurrent sessions signal each other across CLIs. Parent /
|
|
78
|
+
children / sibling agents become a coordinated swarm, not isolated
|
|
79
|
+
chats.
|
|
80
|
+
- **Self-improving skill library** — four autonomous background loops
|
|
81
|
+
(auto-review on thread close, shadow-review daemon, extract
|
|
82
|
+
harvester, weekly Curator) materialize class-level skills as the
|
|
83
|
+
agents work. Hermes Agent v0.12 pattern adapted to multi-CLI:
|
|
84
|
+
SKILL.md is the primary write target and gets mirrored to every
|
|
85
|
+
detected CLI's skills directory simultaneously
|
|
86
|
+
(`~/.claude/skills/`, `~/.codex/skills/`, `~/.threadkeeper/skills/`),
|
|
87
|
+
with lessons.md as a fallback for CLIs without a native skills
|
|
88
|
+
loader.
|
|
71
89
|
|
|
72
90
|
---
|
|
73
91
|
|
|
@@ -3,12 +3,19 @@
|
|
|
3
3
|
[](https://github.com/po4erk91/thread-keeper/actions/workflows/test.yml)
|
|
4
4
|
[](https://www.python.org/downloads/)
|
|
5
5
|
[](LICENSE)
|
|
6
|
+
[](https://pypi.org/project/threadkeeper/)
|
|
6
7
|
[](#multi-cli-integration)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
**Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini,
|
|
10
|
+
Copilot, and VS Code.** Cross-session memory, self-improving skill
|
|
11
|
+
loops, and inter-agent signaling — one local MCP server turns parallel
|
|
12
|
+
agent instances into a coordinated multi-agent system instead of N
|
|
13
|
+
isolated chats.
|
|
14
|
+
|
|
15
|
+
Every connected client (Claude Code, Claude Desktop, Codex CLI +
|
|
16
|
+
desktop, Gemini, Copilot, every MCP-aware VS Code extension) shares
|
|
17
|
+
one SQLite store, one set of threads, one user model, and one learning
|
|
18
|
+
loop that improves the skill library autonomously over time.
|
|
12
19
|
|
|
13
20
|
The brief format is dense — structural tags, opaque IDs, ~6 KB per
|
|
14
21
|
session-start injection. Optimized for agent consumption, not human reading.
|
|
@@ -17,23 +24,34 @@ session-start injection. Optimized for agent consumption, not human reading.
|
|
|
17
24
|
|
|
18
25
|
## Why
|
|
19
26
|
|
|
20
|
-
|
|
21
|
-
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
22
|
-
yesterday's Gemini chat are invisible to today's Copilot.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
concurrent sessions across
|
|
27
|
+
Every agent CLI starts cold. Context dies at session boundaries.
|
|
28
|
+
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
29
|
+
in yesterday's Gemini chat are invisible to today's Copilot. Parallel
|
|
30
|
+
agent instances running the same task don't know about each other and
|
|
31
|
+
duplicate work or step on each other's writes.
|
|
32
|
+
|
|
33
|
+
thread-keeper is the substrate underneath. Three things that together
|
|
34
|
+
make it more than a memory store:
|
|
35
|
+
|
|
36
|
+
- **Collective memory** — threads, notes, verbatim quotes, dialectic
|
|
37
|
+
claims about you. Survives session, restart, CLI swap. One agent
|
|
38
|
+
records, every other agent (any CLI) reads. The brief injected at
|
|
39
|
+
session start gives a new agent everything the previous one knew.
|
|
40
|
+
- **Multi-agent coordination** — `spawn` primitive launches child
|
|
41
|
+
agents in parallel, each gets a self_cid + sees the same memory.
|
|
42
|
+
`broadcast` / `whisper` / `inbox` / `wait` / `ask` / `respond` let
|
|
43
|
+
concurrent sessions signal each other across CLIs. Parent /
|
|
44
|
+
children / sibling agents become a coordinated swarm, not isolated
|
|
45
|
+
chats.
|
|
46
|
+
- **Self-improving skill library** — four autonomous background loops
|
|
47
|
+
(auto-review on thread close, shadow-review daemon, extract
|
|
48
|
+
harvester, weekly Curator) materialize class-level skills as the
|
|
49
|
+
agents work. Hermes Agent v0.12 pattern adapted to multi-CLI:
|
|
50
|
+
SKILL.md is the primary write target and gets mirrored to every
|
|
51
|
+
detected CLI's skills directory simultaneously
|
|
52
|
+
(`~/.claude/skills/`, `~/.codex/skills/`, `~/.threadkeeper/skills/`),
|
|
53
|
+
with lessons.md as a fallback for CLIs without a native skills
|
|
54
|
+
loader.
|
|
37
55
|
|
|
38
56
|
---
|
|
39
57
|
|
|
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "threadkeeper"
|
|
7
|
-
version = "0.4.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.4.1"
|
|
8
|
+
description = "Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini, Copilot, VS Code. Cross-session memory, self-improving skill loops, inter-agent signaling — one local MCP server."
|
|
9
9
|
requires-python = ">=3.11"
|
|
10
10
|
authors = [{ name = "thread-keeper contributors" }]
|
|
11
11
|
license = { text = "MIT" }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: threadkeeper
|
|
3
|
-
Version: 0.4.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.4.1
|
|
4
|
+
Summary: Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini, Copilot, VS Code. Cross-session memory, self-improving skill loops, inter-agent signaling — one local MCP server.
|
|
5
5
|
Author: thread-keeper contributors
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/po4erk91/thread-keeper
|
|
@@ -37,12 +37,19 @@ Dynamic: license-file
|
|
|
37
37
|
[](https://github.com/po4erk91/thread-keeper/actions/workflows/test.yml)
|
|
38
38
|
[](https://www.python.org/downloads/)
|
|
39
39
|
[](LICENSE)
|
|
40
|
+
[](https://pypi.org/project/threadkeeper/)
|
|
40
41
|
[](#multi-cli-integration)
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
**Multi-agent shared brain across Claude Code/Desktop, Codex, Gemini,
|
|
44
|
+
Copilot, and VS Code.** Cross-session memory, self-improving skill
|
|
45
|
+
loops, and inter-agent signaling — one local MCP server turns parallel
|
|
46
|
+
agent instances into a coordinated multi-agent system instead of N
|
|
47
|
+
isolated chats.
|
|
48
|
+
|
|
49
|
+
Every connected client (Claude Code, Claude Desktop, Codex CLI +
|
|
50
|
+
desktop, Gemini, Copilot, every MCP-aware VS Code extension) shares
|
|
51
|
+
one SQLite store, one set of threads, one user model, and one learning
|
|
52
|
+
loop that improves the skill library autonomously over time.
|
|
46
53
|
|
|
47
54
|
The brief format is dense — structural tags, opaque IDs, ~6 KB per
|
|
48
55
|
session-start injection. Optimized for agent consumption, not human reading.
|
|
@@ -51,23 +58,34 @@ session-start injection. Optimized for agent consumption, not human reading.
|
|
|
51
58
|
|
|
52
59
|
## Why
|
|
53
60
|
|
|
54
|
-
|
|
55
|
-
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
56
|
-
yesterday's Gemini chat are invisible to today's Copilot.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
concurrent sessions across
|
|
61
|
+
Every agent CLI starts cold. Context dies at session boundaries.
|
|
62
|
+
Skills you taught Claude don't transfer to Codex. Threads you closed
|
|
63
|
+
in yesterday's Gemini chat are invisible to today's Copilot. Parallel
|
|
64
|
+
agent instances running the same task don't know about each other and
|
|
65
|
+
duplicate work or step on each other's writes.
|
|
66
|
+
|
|
67
|
+
thread-keeper is the substrate underneath. Three things that together
|
|
68
|
+
make it more than a memory store:
|
|
69
|
+
|
|
70
|
+
- **Collective memory** — threads, notes, verbatim quotes, dialectic
|
|
71
|
+
claims about you. Survives session, restart, CLI swap. One agent
|
|
72
|
+
records, every other agent (any CLI) reads. The brief injected at
|
|
73
|
+
session start gives a new agent everything the previous one knew.
|
|
74
|
+
- **Multi-agent coordination** — `spawn` primitive launches child
|
|
75
|
+
agents in parallel, each gets a self_cid + sees the same memory.
|
|
76
|
+
`broadcast` / `whisper` / `inbox` / `wait` / `ask` / `respond` let
|
|
77
|
+
concurrent sessions signal each other across CLIs. Parent /
|
|
78
|
+
children / sibling agents become a coordinated swarm, not isolated
|
|
79
|
+
chats.
|
|
80
|
+
- **Self-improving skill library** — four autonomous background loops
|
|
81
|
+
(auto-review on thread close, shadow-review daemon, extract
|
|
82
|
+
harvester, weekly Curator) materialize class-level skills as the
|
|
83
|
+
agents work. Hermes Agent v0.12 pattern adapted to multi-CLI:
|
|
84
|
+
SKILL.md is the primary write target and gets mirrored to every
|
|
85
|
+
detected CLI's skills directory simultaneously
|
|
86
|
+
(`~/.claude/skills/`, `~/.codex/skills/`, `~/.threadkeeper/skills/`),
|
|
87
|
+
with lessons.md as a fallback for CLIs without a native skills
|
|
88
|
+
loader.
|
|
71
89
|
|
|
72
90
|
---
|
|
73
91
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|