blun-king-cli 9.1.485 → 9.1.488

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.
Files changed (99) hide show
  1. package/LIESMICH.txt +33 -17
  2. package/README.md +20 -8
  3. package/agent-spine-plugin/.claude-plugin/marketplace.json +20 -0
  4. package/agent-spine-plugin/.claude-plugin/plugin.json +14 -0
  5. package/agent-spine-plugin/.codex-plugin/plugin.json +34 -0
  6. package/agent-spine-plugin/.mcp.json +8 -0
  7. package/agent-spine-plugin/CHANGELOG.md +277 -0
  8. package/agent-spine-plugin/LICENSE +186 -0
  9. package/agent-spine-plugin/README.md +342 -0
  10. package/agent-spine-plugin/assets/agentspine-banner.svg +32 -0
  11. package/agent-spine-plugin/bin/agentspine-mcp.js +4 -0
  12. package/agent-spine-plugin/bin/agentspine.js +7 -0
  13. package/agent-spine-plugin/blun.plugin.json +33 -0
  14. package/agent-spine-plugin/docs/acceptance.md +61 -0
  15. package/agent-spine-plugin/docs/architecture.md +183 -0
  16. package/agent-spine-plugin/docs/attention.md +121 -0
  17. package/agent-spine-plugin/docs/automatic-continuity.md +79 -0
  18. package/agent-spine-plugin/docs/channel-runtime.md +92 -0
  19. package/agent-spine-plugin/docs/coordination.md +138 -0
  20. package/agent-spine-plugin/docs/feed-transport.md +99 -0
  21. package/agent-spine-plugin/docs/gateway-runtime.md +109 -0
  22. package/agent-spine-plugin/docs/harness-reference.md +45 -0
  23. package/agent-spine-plugin/docs/host-integration.md +129 -0
  24. package/agent-spine-plugin/docs/https-transport.md +116 -0
  25. package/agent-spine-plugin/docs/learning.md +98 -0
  26. package/agent-spine-plugin/docs/object-transport.md +93 -0
  27. package/agent-spine-plugin/docs/peer-transport.md +88 -0
  28. package/agent-spine-plugin/docs/preservation-contract.md +53 -0
  29. package/agent-spine-plugin/docs/quality-gates.md +50 -0
  30. package/agent-spine-plugin/docs/relationships.md +67 -0
  31. package/agent-spine-plugin/docs/releasing.md +83 -0
  32. package/agent-spine-plugin/docs/roadmap.md +307 -0
  33. package/agent-spine-plugin/docs/selfstarter.md +88 -0
  34. package/agent-spine-plugin/docs/session-briefing.md +74 -0
  35. package/agent-spine-plugin/docs/shared-memory.md +259 -0
  36. package/agent-spine-plugin/docs/source-roots.md +86 -0
  37. package/agent-spine-plugin/docs/sqlite-transport.md +76 -0
  38. package/agent-spine-plugin/hooks/hooks.json +95 -0
  39. package/agent-spine-plugin/hooks/version.json +5 -0
  40. package/agent-spine-plugin/package.json +69 -0
  41. package/agent-spine-plugin/scripts/check-hosts.js +193 -0
  42. package/agent-spine-plugin/scripts/check-install.js +551 -0
  43. package/agent-spine-plugin/scripts/check-syntax.js +29 -0
  44. package/agent-spine-plugin/scripts/github-actions.js +11 -0
  45. package/agent-spine-plugin/scripts/release-check.js +127 -0
  46. package/agent-spine-plugin/scripts/run-acceptance.js +19 -0
  47. package/agent-spine-plugin/scripts/run-checks.js +46 -0
  48. package/agent-spine-plugin/scripts/run-tests-hermetic.js +73 -0
  49. package/agent-spine-plugin/skill/SKILL.md +76 -0
  50. package/agent-spine-plugin/skills/agent-spine/SKILL.md +84 -0
  51. package/agent-spine-plugin/spine-example/1-identity.md +12 -0
  52. package/agent-spine-plugin/spine-example/2-voice.md +6 -0
  53. package/agent-spine-plugin/spine-example/3-conduct.md +8 -0
  54. package/agent-spine-plugin/spine-example/4-history.md +4 -0
  55. package/agent-spine-plugin/src/cli.js +950 -0
  56. package/agent-spine-plugin/src/hook.js +646 -0
  57. package/agent-spine-plugin/src/index.js +84 -0
  58. package/agent-spine-plugin/src/lib/acceptance.js +294 -0
  59. package/agent-spine-plugin/src/lib/attention.js +755 -0
  60. package/agent-spine-plugin/src/lib/audit.js +308 -0
  61. package/agent-spine-plugin/src/lib/authentication.js +513 -0
  62. package/agent-spine-plugin/src/lib/briefing.js +305 -0
  63. package/agent-spine-plugin/src/lib/catalog.js +142 -0
  64. package/agent-spine-plugin/src/lib/channel-runtime.js +665 -0
  65. package/agent-spine-plugin/src/lib/context.js +154 -0
  66. package/agent-spine-plugin/src/lib/continuity.js +333 -0
  67. package/agent-spine-plugin/src/lib/coordination.js +577 -0
  68. package/agent-spine-plugin/src/lib/documents.js +199 -0
  69. package/agent-spine-plugin/src/lib/feed-transport.js +497 -0
  70. package/agent-spine-plugin/src/lib/filesystem-retry.js +27 -0
  71. package/agent-spine-plugin/src/lib/gateway-runtime.js +760 -0
  72. package/agent-spine-plugin/src/lib/graph.js +284 -0
  73. package/agent-spine-plugin/src/lib/https-transport.js +392 -0
  74. package/agent-spine-plugin/src/lib/indexed-memory-offline.js +40 -0
  75. package/agent-spine-plugin/src/lib/indexed-memory.js +281 -0
  76. package/agent-spine-plugin/src/lib/learning.js +645 -0
  77. package/agent-spine-plugin/src/lib/object-transport.js +206 -0
  78. package/agent-spine-plugin/src/lib/paths.js +60 -0
  79. package/agent-spine-plugin/src/lib/peer-transport.js +283 -0
  80. package/agent-spine-plugin/src/lib/persona-runtime.js +503 -0
  81. package/agent-spine-plugin/src/lib/runtime.js +13 -0
  82. package/agent-spine-plugin/src/lib/selfstarter.js +819 -0
  83. package/agent-spine-plugin/src/lib/sharing.js +969 -0
  84. package/agent-spine-plugin/src/lib/source-roots.js +451 -0
  85. package/agent-spine-plugin/src/lib/sqlite-transport.js +501 -0
  86. package/agent-spine-plugin/src/lib/telegram-adapter.js +119 -0
  87. package/agent-spine-plugin/src/lib/voice-runtime.js +39 -0
  88. package/agent-spine-plugin/src/mcp.js +526 -0
  89. package/agent-spine-plugin/src/version.js +1 -0
  90. package/agent-spine-plugin/src/worker.js +178 -0
  91. package/bin/identity-context-policy.cjs +51 -1
  92. package/bin/launcher-runtime.js +22 -1
  93. package/bin/plugin-bootstrap.js +68 -27
  94. package/bin/startup-preferences.cjs +130 -0
  95. package/bin/turn-thinking-policy.cjs +5 -4
  96. package/bin/turn-tool-performance-policy.cjs +15 -2
  97. package/bin/update-notice.js +104 -43
  98. package/blun.mjs +108 -32
  99. package/package.json +2 -1
package/LIESMICH.txt CHANGED
@@ -1,5 +1,5 @@
1
- BLUN King für macOS und Windows
2
- ===============================
1
+ BLUN King für macOS, Linux und Windows
2
+ ======================================
3
3
 
4
4
  Voraussetzung
5
5
  -------------
@@ -9,7 +9,7 @@ Installation
9
9
  ------------
10
10
  Die geprüfte Version exakt global installieren:
11
11
 
12
- npm install -g blun-king-cli@9.1.108
12
+ npm install -g blun-king-cli@9.1.488
13
13
 
14
14
  Start
15
15
  -----
@@ -20,16 +20,13 @@ Start
20
20
  Beide Startbefehle verwenden dieselbe Version, dasselbe Konto, dasselbe Modell
21
21
  und dieselben Befehle.
22
22
 
23
- king und king -c prüfen beim interaktiven Start auf eine neuere Version. Ist
24
- eine vorhanden, erscheint der sichtbare Dialog:
25
-
26
- 1. Jetzt aktualisieren
27
- 2. Überspringen
28
- 3. Auf den nächsten Release warten
29
-
30
- Es gibt keinen Download und keine Installation im Hintergrund. Nach einer
31
- gewählten Installation endet king; king -c setzt die letzte Sitzung mit der
32
- neuen Version fort.
23
+ king und king -c prüfen beim interaktiven Start auf eine neuere Version.
24
+ Automatische Updates sind standardmäßig aktiv und installieren den geprüften
25
+ Zielstand ohne zusätzliche Bestätigung. Danach endet king; king -c setzt die
26
+ letzte Sitzung mit der neuen Version fort. Mit
27
+ [upgrade].auto_install = false in tui.toml erscheint stattdessen der sichtbare
28
+ Auswahldialog. Start- und Update-Meldungen sind bei einer neuen Installation
29
+ standardmäßig Englisch; eine ausdrücklich gewählte Sprache bleibt erhalten.
33
30
 
34
31
  Standard-MCPs und Eingabesteuerung
35
32
  ---------------------------------
@@ -47,13 +44,32 @@ abweichende MCP-Befehle bleiben unverändert.
47
44
  /mcp zeigt den Betriebszustand ohne internen Konfigurationspfad. In der
48
45
  Detailansicht bleibt der Pfad für die Fehlersuche verfügbar.
49
46
 
47
+ Ab BLUN King 9.1.487 gehört AgentSpine fest zum ausgelieferten Paket. Beim
48
+ normalen Start wird die geprüfte Pluginfassung in einem inhaltsadressierten
49
+ Verzeichnis installiert, aktiviert und mit ihrem MCP-Server verbunden. Eine
50
+ vorhandene GitHub- oder lokale AgentSpine-Installation wird auf die gebündelte
51
+ Fassung umgeschaltet, ohne andere Plugins oder deren Einstellungen zu löschen.
52
+ Unveränderte Inhalte werden wiederverwendet; ein beschädigter Digest-Pfad
53
+ stoppt die Aktualisierung, bevor die Plugin-Registry geändert wird. Dieser
54
+ Lieferweg gilt unter macOS, Linux und Windows.
55
+
50
56
  Telegram-Nachrichten werden in Eingangsreihenfolge verarbeitet. Im Leerlauf
51
- startet die Warteschlange selbstständig; während eines Werkzeuglaufs erfolgt
52
- die Zustellung am nächsten geschützten Übergabepunkt. Strg+C und Esc brechen
53
- einen aktiven Zug ab, ohne den geschriebenen Entwurf zu löschen. Das gilt auch
54
- bei Autovervollständigung, Geistervorschlägen, Bash-Eingabe und einer offenen
57
+ startet die Warteschlange selbstständig. Während eines aktiven Laufs gibt
58
+ Strg+S alle zu diesem Zeitpunkt wartenden Konsolen- und Chatnachrichten genau
59
+ einmal frei. Jeder Druck auf Esc gibt genau eine weitere wartende Nachricht
60
+ frei; erst bei leerer Warteschlange bricht Esc den aktuellen Lauf ab. Die
61
+ Warteschlange wird dabei nicht gelöscht. Strg+C bricht den aktiven Zug direkt
62
+ ab, ohne den geschriebenen Entwurf zu löschen. Das gilt auch bei
63
+ Autovervollständigung, Geistervorschlägen, Bash-Eingabe und einer offenen
55
64
  Mehrzeileneingabe.
56
65
 
66
+ Version 9.1.488 stellt außerdem die interne Todo-Liste wieder her. Deutsche
67
+ Aufgabenlisten-Befehle wählen wieder TodoList statt der getrennten TaskList für
68
+ Hintergrundprozesse. Lesen, Ersetzen, Aktualisieren und Leeren funktionieren in
69
+ derselben Sitzung; eine vollständig erledigte Liste wird aus der Anzeige
70
+ entfernt. Adressierte Telegram-Nachrichten erscheinen nicht mehr gleichzeitig
71
+ im Fokusbereich und in der Warteschlange.
72
+
57
73
  Telegram-Nachrichten, die bei bereits aktivem Kernzug eintreffen, werden ohne
58
74
  konkurrierenden Start zurückgewiesen und bleiben an der Spitze der
59
75
  FIFO-Warteschlange. Für diesen normalen Wartestatus erscheint kein
package/README.md CHANGED
@@ -9,7 +9,7 @@ Voraussetzung ist Node.js 24.15 oder neuer. Die geprüfte Version wird exakt
9
9
  installiert:
10
10
 
11
11
  ```powershell
12
- npm install -g blun-king-cli@9.1.106
12
+ npm install -g blun-king-cli@9.1.488
13
13
  ```
14
14
 
15
15
  ## Reproduzierbares Staging und Packen
@@ -36,11 +36,12 @@ gilt nur für den laufenden Prozess; die gespeicherte
36
36
  Plugin-Konfiguration wird nicht umgeschrieben.
37
37
 
38
38
  `king` und `king -c` prüfen beim interaktiven Start, ob eine neuere Version
39
- vorliegt. Dann erscheint der sichtbare Dialog mit den Optionen jetzt
40
- aktualisieren, überspringen oder auf den nächsten Release warten. Im Hintergrund
41
- wird nichts heruntergeladen oder installiert. Nach einer gewählten Installation
42
- endet `king`; `king -c` setzt dagegen die letzte Sitzung mit der neuen Version
43
- fort.
39
+ vorliegt. Automatische Updates sind standardmäßig aktiv und installieren den
40
+ geprüften Zielstand ohne zusätzliche Bestätigung. Danach endet `king`; `king -c`
41
+ setzt die letzte Sitzung mit der neuen Version fort. Mit
42
+ `[upgrade].auto_install = false` in `tui.toml` erscheint stattdessen der sichtbare
43
+ Auswahldialog. Start- und Update-Meldungen sind bei einer neuen Installation
44
+ standardmäßig Englisch; eine ausdrücklich gewählte Sprache bleibt erhalten.
44
45
 
45
46
  Telegram-Chats werden ohne manuell eingegebene IDs verbunden. In der Konsole
46
47
  erzeugt `/telegram:access connect` einen einmaligen Code. `/connect CODE` im
@@ -67,13 +68,24 @@ blun tools enable context7
67
68
  ```
68
69
 
69
70
  Telegram-Nachrichten werden in Eingangsreihenfolge verarbeitet. Trifft eine
70
- Nachricht im Leerlauf ein, startet die Warteschlange selbstständig; während
71
- eines Werkzeuglaufs wird sie am nächsten geschützten Übergabepunkt eingefügt.
71
+ Nachricht im Leerlauf ein, startet die Warteschlange selbstständig. Während
72
+ eines aktiven Laufs gibt Strg+S alle zu diesem Zeitpunkt wartenden Konsolen-
73
+ und Chatnachrichten genau einmal frei. Jeder Druck auf Esc gibt genau eine
74
+ weitere wartende Nachricht frei; erst bei leerer Warteschlange bricht Esc den
75
+ aktuellen Lauf ab. Die Warteschlange wird dabei nicht gelöscht. Strg+C bricht
76
+ den aktiven Zug direkt ab, ohne den geschriebenen Entwurf zu löschen.
72
77
  Telegram-Nachrichten, die bei bereits aktivem Kernzug eintreffen, werden ohne
73
78
  konkurrierenden Start zurückgewiesen und bleiben an der Spitze der
74
79
  FIFO-Warteschlange. Für diesen normalen Wartestatus erscheint kein
75
80
  `turn.agent_busy`-Fehler.
76
81
 
82
+ Version 9.1.488 stellt außerdem die interne Todo-Liste wieder her. Deutsche
83
+ Aufgabenlisten-Befehle wählen wieder TodoList statt der getrennten TaskList für
84
+ Hintergrundprozesse. Lesen, Ersetzen, Aktualisieren und Leeren funktionieren in
85
+ derselben Sitzung; eine vollständig erledigte Liste wird aus der Anzeige
86
+ entfernt. Adressierte Telegram-Nachrichten erscheinen nicht mehr gleichzeitig
87
+ im Fokusbereich und in der Warteschlange.
88
+
77
89
  Ab BLUN King 9.1.416 bleiben alle Ergebnisse des jüngsten Werkzeugaufrufs bis
78
90
  zur nächsten Assistentenantwort vollständig im Modellkontext. Das gilt auch für
79
91
  große parallele Read-, Grep- und Bash-Aufrufe sowie für nachträglich
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "agent-spine",
3
+ "description": "Non-destructive identity and memory infrastructure for AI agents.",
4
+ "owner": {
5
+ "name": "Mayk Biletti"
6
+ },
7
+ "plugins": [
8
+ {
9
+ "name": "agent-spine",
10
+ "source": ".",
11
+ "description": "Map existing rules, soul, and memory without rewriting source files.",
12
+ "version": "0.8.0",
13
+ "author": {
14
+ "name": "Mayk Biletti"
15
+ },
16
+ "category": "development",
17
+ "tags": ["agents", "identity", "memory", "mcp"]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "agent-spine",
3
+ "version": "0.8.0",
4
+ "description": "A non-destructive identity and memory spine for Claude Code agents.",
5
+ "author": {
6
+ "name": "Mayk Biletti",
7
+ "url": "https://github.com/Maykbiletti"
8
+ },
9
+ "homepage": "https://github.com/Maykbiletti/AgentSpine",
10
+ "repository": "https://github.com/Maykbiletti/AgentSpine",
11
+ "license": "Apache-2.0",
12
+ "keywords": ["identity", "memory", "mcp", "agents"],
13
+ "mcpServers": "./.mcp.json"
14
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "agent-spine",
3
+ "version": "0.8.0",
4
+ "description": "A non-destructive identity and memory spine for Codex agents.",
5
+ "author": {
6
+ "name": "Mayk Biletti",
7
+ "url": "https://github.com/Maykbiletti"
8
+ },
9
+ "homepage": "https://github.com/Maykbiletti/AgentSpine",
10
+ "repository": "https://github.com/Maykbiletti/AgentSpine",
11
+ "license": "Apache-2.0",
12
+ "keywords": ["identity", "memory", "mcp", "agents"],
13
+ "skills": "./skills/",
14
+ "mcpServers": {
15
+ "agent-spine": {
16
+ "command": "node",
17
+ "args": ["${PLUGIN_ROOT}/src/mcp.js"]
18
+ }
19
+ },
20
+ "interface": {
21
+ "displayName": "AgentSpine",
22
+ "shortDescription": "Identity and memory without rewriting your files.",
23
+ "longDescription": "Maps existing rules, soul, memory, and linked Markdown into a verifiable context spine while preserving every source byte.",
24
+ "developerName": "Mayk Biletti",
25
+ "category": "Developer Tools",
26
+ "capabilities": ["Read", "MCP", "Hooks", "Worker"],
27
+ "websiteURL": "https://github.com/Maykbiletti/AgentSpine",
28
+ "defaultPrompt": [
29
+ "Map this project's existing agent identity.",
30
+ "Show the active rules, soul, and memory layers.",
31
+ "Verify that protected sources are unchanged."
32
+ ]
33
+ }
34
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "agent-spine": {
4
+ "command": "node",
5
+ "args": ["${CLAUDE_PLUGIN_ROOT}/src/mcp.js"]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,277 @@
1
+ # Changelog
2
+
3
+ All notable changes to AgentSpine will be documented here. The project follows [Semantic Versioning](https://semver.org/).
4
+
5
+ ## [Unreleased]
6
+
7
+ ### Added
8
+
9
+ - BLUN King can now install AgentSpine as a native plugin with the same lifecycle hooks, MCP server, isolated app-home source resolution, and explicit plugin-install trust step as the existing Claude Code and Codex hosts
10
+
11
+ ### Fixed
12
+
13
+ - Routine BLUN hook results now render as one short human-readable status line instead of exposing compact internal JSON in the TUI, while actionable attention, self-starter, channel, and failure details remain available immediately
14
+ - BLUN hooks now inject a compact runtime status instead of the complete session briefing on every prompt; detailed continuity remains available on demand while active attention, self-starter, and authenticated channel signals remain immediate
15
+ - BLUN lifecycle hooks now index large real workspaces without absorbing embedded test profiles or failing at the smaller host-rule limit
16
+ - Windows Node 24 state writes now treat transient lock access errors as contention across every lock-backed store, retry atomic replacements with a bounded backoff, and tolerate briefly retained handles during hermetic cleanup
17
+ - The gateway worker now canonicalizes its state directory before opening the native file watcher, avoiding the Windows libuv path assertion on differently cased or short paths
18
+ - CI now identifies the failing check phase and annotates the exact hermetic test file or runner error, so public Windows failures can be diagnosed without access to private job logs
19
+
20
+ ## [0.8.0] - 2026-08-29
21
+
22
+ ### Added
23
+
24
+ - Provider-neutral authenticated channel ingress with exact provider, tenant, account, chat, thread, sender, agent, project, group, and session bindings
25
+ - Durable per-agent event lanes with replay protection, atomic leases, expired-lease recovery, revocation cancellation, retained history, and integrity receipts
26
+ - Automatic `agentspine.voice-brief/v1` projection from exact visible persona, preference, correction, no-go, current-task, promise, and blocker context
27
+ - Installed-bundle proof that both Claude Code and Codex receive one exact authenticated channel event and voice profile with zero model-side MCP calls
28
+ - Pinned OpenClaw and Hermes harness reference study documenting adopted, adapted, and deliberately excluded behavior
29
+ - Authenticated external persona-roster synchronization with stable identities and append-only join, rename, leave, group-change, and rejoin events
30
+ - Bounded native Claude Code and Codex agent-manifest discovery under one approved roster scope, including distinct deactivation, exact profile/tenant identity, rename stability, and immediate membership removal
31
+ - Optional `agentspine-worker` with Telegram polling and delivery, one absolute shell-free host runner, per-agent lanes, focused goals, checkpoints, retries, health state, and a local kill switch
32
+ - Event-driven desired-state wake, deadline reconciliation, restartable prepared outbox delivery, bounded host-failure retry, independent stale-heartbeat audit, and explicit dead-letter versus delivery-unknown terminal states
33
+ - Transient German, English, Swedish, and Spanish response cues plus an advisory voice guard against fabricated attachment, emotion, or consciousness claims
34
+ - Empty- and populated-profile hermetic test execution so real user state cannot change test expectations
35
+
36
+ ### Changed
37
+
38
+ - The shared hook document now uses only the documented `description` and `hooks` top-level fields; version/cache identity stays in the host manifests
39
+ - Host checks no longer report live Codex hook trust as proven merely because the shared hook entrypoint can execute directly
40
+ - Native Codex hook input is recognized from its Codex-specific `model` field or plugin environment even when no synthetic `host` field and no explicit `CODEX_HOME` override exist
41
+ - Session briefings reserve a bounded voice section and report voice omissions in the same compact-JSON budget
42
+ - Channel policy and runtime inspection are available through local CLI commands while every channel administration and execution operation remains absent from MCP
43
+ - A configured roster file is reread before every worker reconciliation, so authenticated team additions and removals become visible without a new chat prompt
44
+ - Promise and resolved-blocker lifecycle events now enter the same durable wake queue as direct messages and owner-assigned goals
45
+
46
+ ### Security
47
+
48
+ - Channel policy changes require explicit local owner confirmation; wildcard routes and senders, unknown agents/projects/groups, and invalid group membership fail closed
49
+ - HMAC secrets remain environment-only, signatures are never stored, secret-bearing messages are rejected, and event ID collisions cannot overwrite earlier payloads
50
+ - Current and retained events, policy history, payload digests, route bindings, receipt digests, and authority markers are replayed by the ten-gate audit
51
+ - Channel state and voice context cannot grant host, tool, file, network, send, delegation, production, or execution rights
52
+ - Persona events, roster receipts, gateway history, queue and delivery IDs, lanes, checkpoints, and receipts fail closed under structural or digest manipulation
53
+ - Persona activity and exact group membership plus revoked reply grants are rechecked at claim, run completion, and immediately before network effect; known no-effect exhaustion cannot enter a supervisor restart loop
54
+ - Provider and ingress credentials remain environment-only and are removed from the environment passed to the host runner
55
+
56
+ ## [0.7.0] - 2026-08-29
57
+
58
+ ### Added
59
+
60
+ - External, integrity-checked indexed-memory metadata/content cache with atomic multi-process updates, immediate link-removal pruning, and cache purge on source-binding rollback or purge
61
+ - Explicit relevance markers for `always`, person, project, group, task, and prompt-keyword scopes; unproven fact files remain unopened and omitted
62
+ - Privacy-bounded indexed-memory diagnostics for indexed, relevant, loaded, cache-hit, cache-miss, missing, scope, path, symlink, size, and race outcomes
63
+ - Explicit `doctor --offline-memory-orphans` enumeration that reports counts only and remains outside every live lifecycle path
64
+ - Real temporary 50,000-file acceptance with deterministic open-count instrumentation and a source-level ban on directory enumeration in the live indexed-memory module
65
+
66
+ ### Changed
67
+
68
+ - Claude project-memory resolution now treats `MEMORY.md` as the explicit index and opens only directly linked, relevant Markdown facts instead of walking the complete memory tree
69
+ - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.7.0`; upgrade acceptance rejects the cached `0.6.0` bundle
70
+
71
+ ### Security
72
+
73
+ - Indexed memory targets are opened with no-follow semantics and validated through one filehandle before and after reading; file replacement races retry and then reject visibly
74
+ - Missing targets, path escapes, symlinked paths, non-regular files, oversized sources, transitive links, stale cache records, and corrupt cache state cannot enter the briefing
75
+ - Cache and relevance remain context-only and cannot create identity, rights, delegation, trust, capabilities, network access, or self-starter policy
76
+
77
+ ## [0.6.0] - 2026-08-28
78
+
79
+ ### Added
80
+
81
+ - Provider-neutral host-native source-root registry with bounded Claude profile, project-chain, project-memory, Codex home, root-marker, fallback-name, and nested-override resolution
82
+ - Explicit portable user-state binding with provenance, conflict detection, rollback, purge, and low-risk learning-only projection across repositories and hosts
83
+ - Installed production-hook RED/GREEN reproduction of the real zero-source failure from an AgentSpine checkout and foreign working directory
84
+ - `source-status`, `source-bind`, `source-rollback`, and `source-purge` CLI workflows plus host-aware Doctor and Audit diagnostics
85
+
86
+ ### Changed
87
+
88
+ - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.6.0`
89
+ - The lifecycle bundle declares `agentspine.source-roots/v1`; upgrade tests reject the cached `0.5.0` bundle
90
+ - Automatic briefing uses separate user, project, and project-memory bindings instead of treating the launch directory as one recursive source root
91
+
92
+ ### Security
93
+
94
+ - Home-wide scans, foreign-repository discovery, symlink following, guessed Claude memory paths, blind root-hash state copying, and project-state flattening are prohibited and tested
95
+ - Empty or damaged source resolution is visible and never reported as loaded personal continuity
96
+ - Source and migration bindings remain context-only and cannot create identities, roles, delegation, host trust, execution grants, capabilities, or self-starter rights
97
+
98
+ ## [0.5.0] - 2026-08-28
99
+
100
+ ### Added
101
+
102
+ - Visible 14-gate cross-host acceptance using new synthetic people, separated groups, Swedish and Spanish prompts, real lifecycle restart and compaction boundaries, and zero model-side MCP calls
103
+ - Deterministic SHA-256 receipts for identity, multilingual continuity, attention, isolation, correction, rollback, purge, authorized resume, denied foreign effects, durable checkpoints, source preservation, and the final audit
104
+ - Installed-bundle acceptance for both fresh installation and upgrade from `0.4.0`
105
+
106
+ ### Changed
107
+
108
+ - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.5.0`
109
+ - The lifecycle bundle declares `agentspine.acceptance/v1`
110
+ - Safe direct style, correction, no-go, project-fact, promise, and blocker recognition covers the Swedish and Spanish acceptance paths
111
+
112
+ ### Security
113
+
114
+ - Person and exact-group negative visibility, a denied foreign lease effect, complete person purge, and byte-for-byte source preservation are visible acceptance gates
115
+ - Acceptance state is synthetic, external, temporary, and transcript-free; its receipts create no identity, trust, approval, or authority
116
+ - Fresh-install and upgrade proofs require exactly one MCP server, exactly one hook set, and complete automatic behavior with `mcpCalls: 0`
117
+
118
+ ## [0.4.0] - 2026-08-28
119
+
120
+ ### Added
121
+
122
+ - Rights-bound self-starter for one exact waiting job with durable checkpoints, expiring leases, retry budget, backoff, crash recovery, audit receipts, cancellation, and purge
123
+ - Native Claude Code and Codex lifecycle path from `SessionStart` through `PreToolUse`, `PostToolUse`, `Stop`, and a new-session resume without a model-side MCP call or repeated job envelope
124
+ - Separate local execution policy binding actor, action set, job, task, target, project, optional group, host, and finite tool capabilities
125
+ - Fresh-install and `0.3.0` upgrade proof for exactly one MCP server, one hook set, an authorized effect, a durable checkpoint, and automatic resume
126
+
127
+ ### Changed
128
+
129
+ - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.4.0`
130
+ - The lifecycle bundle declares `agentspine.selfstarter/v1` and resolves active jobs from the native host session
131
+ - Ten-gate audit includes external execution-policy and job-state integrity without reading either as context authority
132
+
133
+ ### Security
134
+
135
+ - Every start, resume, and effect rechecks the current exact grant, task assignment, scope, host session, capability, lease, and content-bound workspace fingerprint
136
+ - Memory, Markdown, learning, relationships, attention, tasks, prior approvals, model claims, and MCP responses cannot create or widen execution rights
137
+ - Unknown effects, concurrent leases, revocation, expiry, workspace drift, uncheckpointed crash changes, retry exhaustion, malformed state, and protected-source writes fail closed
138
+ - MCP exposes no execution-policy grant, revoke, job registration, cancellation, or checkpoint administration
139
+
140
+ ## [0.3.0] - 2026-08-28
141
+
142
+ ### Added
143
+
144
+ - Provider-neutral heartbeat, promise, and blocker lifecycle events written by installed Claude Code and Codex hooks without a model-side MCP call
145
+ - Exact actor, group, project, and task binding with stable event identity, minimal SHA-256 provenance, idempotent receipts, occurrence counts, and retained prior versions
146
+ - Automatic current-task event injection at start, restart, prompt, and compaction boundaries, including stale-heartbeat, open-promise, and open-blocker handling
147
+ - CLI inspection and permanent event deletion plus entity purge across events, receipts, history, and presentation throttles
148
+ - Fresh-install and previous-version upgrade test that proves one MCP server, one hook set, automatic event capture, restart injection, and source-preserving uninstall
149
+
150
+ ### Changed
151
+
152
+ - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.3.0`
153
+ - Focus mode suppresses unrelated cues while permitting an active blocker, due promise, or stale heartbeat for the exact current task
154
+ - Parallel catalog replacement uses collision-free atomic temporary paths across concurrent lifecycle hooks
155
+
156
+ ### Security
157
+
158
+ - Automatic prompt events require the local continuity opt-in and reject group conversation content, secrets, identity claims, rights, roles, delegation, access, production, payment, and approval claims
159
+ - Corrupt attention lifecycle state and unknown task scope fail closed; events remain context-only and can neither send messages nor create authority
160
+
161
+ ## [0.2.0] - 2026-08-28
162
+
163
+ ### Added
164
+
165
+ - Native Claude Code and Codex lifecycle integration that automatically injects the actual scoped, byte-budgeted session briefing at start, resume, prompt, and compaction boundaries without a model-side MCP call
166
+ - Separate local opt-in for minimal high-confidence style, preference, no-go, correction, project-fact, and reference learning with digest provenance, deduplication, rollback, purge, and no transcript retention
167
+ - Complete hook inventory for prompt, tool, compaction, stop, and subagent-stop boundaries plus reproducible fresh-install, stale-cache upgrade, and uninstall preservation checks
168
+
169
+ ### Changed
170
+
171
+ - Claude Code explicitly registers the MCP file and loads exactly one hook bundle from its native `hooks/hooks.json` discovery path
172
+ - Package, lockfile, Claude Code, Codex, and marketplace cache versions advance together to `0.2.0`
173
+ - Session hooks now inject usable accepted context instead of counts and a suggestion to call `session_briefing`
174
+
175
+ ### Security
176
+
177
+ - Automatic learning rejects secrets, sensitive personal facts, identity merging, private group content, rights, roles, delegation, approvals, tool or file access, network or database access, production, payments, and policy claims
178
+ - Hook JSON input is bounded, state remains external and atomically locked, malformed state is visible and fail-closed, and source Markdown remains byte-for-byte unchanged
179
+
180
+ ### Added
181
+
182
+ - Executable Claude Code and Codex host-registration check with a real MCP `initialize` handshake
183
+ - Optional local SQLite snapshot transport with immutable signed-adapter binding, append-only hash-linked revisions, atomic head advancement, full integrity replay, quarantined pull, CLI integration, and no MCP database authority
184
+ - One-shot challenge-response peer transport over an owner-selected stdin/stdout carrier, with a fresh nonce, live Ed25519 proof, shell-free process execution, environment minimization, quarantine import, CLI integration, and no MCP process authority
185
+ - Provider-neutral signed HTTPS feed with strong ETag compare-and-swap publication, bounded hash-chain continuity, external rollback receipts, quarantined pull, CLI integration, audit coverage, and no MCP transport authority
186
+ - Ten-gate `agentspine audit` command and MCP tool
187
+ - Privacy-scoped entities and relationships for people, agents, groups, channels, and projects
188
+ - Append-only history for superseded document annotations, document links, entities, and relationships
189
+ - Broken-link and competing-candidate findings in every catalog
190
+ - Large-tree, manifest-consistency, CLI-MCP, privacy, authority, and shell-guard tests
191
+ - Local sparse-attention state for unanswered questions, promises, check-ins, and meaningful changes
192
+ - Relationship-silence cues based on minimal interaction timestamps rather than conversation capture
193
+ - Attention CLI and MCP surfaces with quiet hours, focus suppression, throttling, disable, resolve, and permanent deletion controls
194
+ - Exact group-audience binding for group-scoped cues and activity timestamps
195
+ - Cross-process locking for concurrent local attention updates
196
+ - Evidence-backed learning candidates kept separate from accepted context
197
+ - Explicit review, low-risk opt-in promotion, supersession, rollback, and permanent learning deletion
198
+ - SHA-256 provenance capture for document evidence and serialized concurrent evidence appends
199
+ - Safe-learning CLI, MCP tools, hook metadata, audit checks, and full lifecycle tests
200
+ - Separate default-deny delegation policy with explicit actor, action, target, provenance, revision, and revocation history
201
+ - Context-only tasks, open threads, and handoffs with assignment snapshots and retained prior versions
202
+ - Coordination CLI, read/check MCP surfaces, privacy-filtered hook metadata, audit integration, and concurrency tests
203
+ - Provider-neutral shared-event contract and optional directory adapter with immutable event files
204
+ - Quarantined, idempotent shared-memory import with a second local review before context
205
+ - Shared supersession, rollback, exact group filtering, CLI administration, read-only MCP context, hooks, and audit coverage
206
+ - Optional Ed25519 manifest and event envelopes with strict public identities and retained verification proof
207
+ - Installation-local signer generation and rotation plus project-local trust, revocation, and audit replay
208
+ - Immutable signed HTTPS snapshot export and dependency-free provider-neutral pull transport
209
+ - DNS pinning, default SSRF blocking, redirect and compression rejection, bounded responses, optional environment-only bearer authentication, and explicit private-network opt-in
210
+ - Provider-neutral `session_briefing` across native sources, relationships, accepted learning, reviewed shared memory, coordination, and attention
211
+ - Current-task priority, local/shared deduplication, exact compact-JSON byte accounting, atomic omission, and group-safe metadata-only source handling
212
+ - Provider-neutral content-addressed HTTPS object publication with create-only preconditions
213
+ - Mandatory signed read-back verification and safe idempotent retry handling for immutable remote objects
214
+ - Tag-authorized GitHub release pipeline with CycloneDX SBOM, SHA-256 checksums, build provenance, and SBOM attestations
215
+ - Deterministic release metadata and package-boundary validator covering both host manifests and forbidden state/source material
216
+ - Pinned-action policy, release-sensitive CODEOWNERS, and isolated least-privilege publication jobs
217
+
218
+ ### Changed
219
+
220
+ - Claude Code now receives an explicit manifest reference to the bundled `.mcp.json`, preventing the MCP server from disappearing in installations that do not apply implicit component discovery
221
+ - `agentspine mcp` now starts the stdio server instead of returning immediately
222
+ - Discovery fingerprints files with bounded parallel reads
223
+ - Context resolution reuses catalogs and only follows confident overlay links
224
+ - Protected-source hooks recognize common mutating shell commands and refresh after tool writes
225
+ - Agent annotations cannot promote arbitrary Markdown into a constitution layer
226
+ - CI runs the repository's own ten-gate audit and uses the current maintained GitHub action majors
227
+ - Syntax checks and protected-path comparisons are portable across Linux, macOS, and Windows
228
+ - External-state auditing handles Windows project and state directories on different drives
229
+ - Session hooks expose only due attention counts and kinds; cue text remains behind an explicit privacy-filtered read
230
+ - The ten-gate audit now validates attention authority, privacy, configuration, and external-state placement
231
+ - Accepted learning must carry auditable manual-confirmation proof or an evidence-threshold policy snapshot
232
+ - Cross-entity coordination now requires a matching explicit local policy grant; relationship responsibility remains descriptive only
233
+ - Session hooks expose only counts and kinds of locally reviewed shared memory; pending claims remain hidden
234
+ - Session hooks point to one explicit scoped briefing without automatically injecting its content
235
+
236
+ ### Security
237
+
238
+ - Relationship attributes recursively reject permissions, rights, authorization, credentials, secrets, tokens, and API keys
239
+ - Every relationship and history record is explicitly context-only
240
+ - Every attention cue and activity is context-only; corrupt attention policy fails closed
241
+ - Secret-shaped observations and authority assertions are rejected before learning storage
242
+ - Delegation policy mutation is excluded from MCP, and malformed policy or coordination state fails closed without overwrite
243
+ - Task coordination grants no host, tool, file, network, deployment, production, billing, or spending authority
244
+ - Private learning, source content, evidence text, tasks, policy, and credentials are excluded from shared events
245
+ - Adapter administration is excluded from MCP; malformed, oversized, symlinked, collided, or tampered exchange state fails closed
246
+ - Private signing keys remain outside projects and agent surfaces; unknown, revoked, swapped, or mismatched signers fail closed
247
+ - HTTPS snapshot transport validates TLS endpoints, every DNS answer, bundle integrity, strict schema, and all nested signatures before quarantine mutation
248
+ - Group briefings reject private reads, foreign membership, and unscoped source content; briefing output remains context-only and read-only
249
+ - HTTPS publishing is CLI-only, owner-confirmed, DNS-pinned, SSRF-restricted, overwrite-free, size-bounded, and credential-safe
250
+ - Release workflows accept tags only, verify containment in `main`, use short-lived OIDC for attestations, and expose no npm or AgentSpine secrets
251
+
252
+ ### Planned
253
+
254
+ - Optional hosted database transports implementing the signed-envelope and shared-event contracts
255
+
256
+ ## [0.1.0] - 2026-08-27
257
+
258
+ ### Added
259
+
260
+ - Non-destructive Markdown discovery and SHA-256 provenance catalog
261
+ - Native Codex and Claude Code context resolution
262
+ - Exact ranged reads for sources outside the context budget
263
+ - Agent-authored overlay annotations and document graph links
264
+ - CLI, stdio MCP server, and lifecycle hooks
265
+ - Protected-source write guard for participating host tools
266
+ - Dual Claude Code and Codex plugin manifests
267
+ - Cross-platform preservation, hook, graph, and MCP tests
268
+
269
+ [Unreleased]: https://github.com/Maykbiletti/AgentSpine/compare/v0.8.0...HEAD
270
+ [0.8.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.7.0...v0.8.0
271
+ [0.7.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.6.0...v0.7.0
272
+ [0.6.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.5.0...v0.6.0
273
+ [0.5.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.4.0...v0.5.0
274
+ [0.4.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.3.0...v0.4.0
275
+ [0.3.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.2.0...v0.3.0
276
+ [0.2.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.1.0...v0.2.0
277
+ [0.1.0]: https://github.com/Maykbiletti/AgentSpine/releases/tag/v0.1.0