blun-king-cli 9.1.536 → 9.1.561

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 (129) hide show
  1. package/LIESMICH.txt +13 -869
  2. package/README.md +41 -833
  3. package/bin/assistant-message-offload-policy.cjs +3 -1
  4. package/bin/compaction-transaction-policy.cjs +122 -0
  5. package/bin/context-performance-policy.cjs +2 -5
  6. package/bin/context-pressure-policy.cjs +20 -0
  7. package/bin/cron-run-output.cjs +45 -0
  8. package/bin/cron-run-store.cjs +145 -0
  9. package/bin/default-model-output-budget-policy.cjs +28 -0
  10. package/bin/durable-task-resume-policy.cjs +130 -0
  11. package/bin/durable-task-resume-runtime.cjs +117 -0
  12. package/bin/durable-task-resume-store.cjs +88 -0
  13. package/bin/editable-tool-approval-policy.cjs +540 -0
  14. package/bin/editable-tool-approval-runtime.cjs +99 -0
  15. package/bin/file-observation-policy.cjs +133 -0
  16. package/bin/html-to-research-markdown.cjs +146 -0
  17. package/bin/launcher-runtime.js +0 -1
  18. package/bin/micro-compaction-policy.cjs +64 -0
  19. package/bin/mnemo-connect-heartbeat.cjs +1 -3
  20. package/bin/programmatic-tool-runtime.mjs +330 -4
  21. package/bin/read-continuation-policy.cjs +36 -5
  22. package/bin/retry-checkpoint-policy.cjs +13 -0
  23. package/bin/scoped-cron-run-policy.cjs +358 -0
  24. package/bin/session-checkpoint-policy.cjs +25 -0
  25. package/bin/startup-preferences.cjs +4 -3
  26. package/bin/structured-agent-swarm-output.cjs +325 -0
  27. package/bin/subagent-context-fork-policy.cjs +155 -0
  28. package/bin/subagent-skill-policy.cjs +204 -0
  29. package/bin/telegram-approval-relay.cjs +2 -1
  30. package/bin/tool-file-persistence.cjs +141 -0
  31. package/bin/tool-result-offload-policy.cjs +25 -33
  32. package/bin/turn-thinking-policy.cjs +2 -26
  33. package/bin/update-notice.js +30 -18
  34. package/bin/user-message-offload-policy.cjs +3 -1
  35. package/blun.mjs +1564 -640
  36. package/codebase-index/README.md +12 -0
  37. package/codebase-index/codebase_index.py +129 -18
  38. package/package.json +23 -58
  39. package/telegram-plugin/bin/telegram-mnemo-capture.cjs +1 -3
  40. package/telegram-plugin/bin/telegram-typing-keepalive.cjs +89 -0
  41. package/telegram-plugin/dist/bridge.mjs +8 -1
  42. package/CHANGELOG.md +0 -321
  43. package/agent-spine-plugin/CHANGELOG.md +0 -406
  44. package/agent-spine-plugin/CONTRIBUTING.md +0 -52
  45. package/agent-spine-plugin/README.md +0 -344
  46. package/agent-spine-plugin/SECURITY.md +0 -47
  47. package/agent-spine-plugin/docs/acceptance.md +0 -61
  48. package/agent-spine-plugin/docs/architecture.md +0 -183
  49. package/agent-spine-plugin/docs/attention.md +0 -121
  50. package/agent-spine-plugin/docs/automatic-continuity.md +0 -79
  51. package/agent-spine-plugin/docs/channel-runtime.md +0 -92
  52. package/agent-spine-plugin/docs/coordination.md +0 -138
  53. package/agent-spine-plugin/docs/feed-transport.md +0 -99
  54. package/agent-spine-plugin/docs/gateway-runtime.md +0 -116
  55. package/agent-spine-plugin/docs/harness-reference.md +0 -45
  56. package/agent-spine-plugin/docs/host-integration.md +0 -129
  57. package/agent-spine-plugin/docs/https-transport.md +0 -116
  58. package/agent-spine-plugin/docs/learning.md +0 -133
  59. package/agent-spine-plugin/docs/object-transport.md +0 -93
  60. package/agent-spine-plugin/docs/peer-transport.md +0 -88
  61. package/agent-spine-plugin/docs/preflight-recall.md +0 -69
  62. package/agent-spine-plugin/docs/preservation-contract.md +0 -53
  63. package/agent-spine-plugin/docs/quality-gates.md +0 -50
  64. package/agent-spine-plugin/docs/relationships.md +0 -73
  65. package/agent-spine-plugin/docs/releasing.md +0 -83
  66. package/agent-spine-plugin/docs/roadmap.md +0 -307
  67. package/agent-spine-plugin/docs/selfstarter.md +0 -88
  68. package/agent-spine-plugin/docs/session-briefing.md +0 -74
  69. package/agent-spine-plugin/docs/shared-memory.md +0 -259
  70. package/agent-spine-plugin/docs/source-roots.md +0 -86
  71. package/agent-spine-plugin/docs/sqlite-transport.md +0 -76
  72. package/agent-spine-plugin/scripts/check-hosts.js +0 -195
  73. package/agent-spine-plugin/scripts/check-install.js +0 -569
  74. package/agent-spine-plugin/scripts/check-syntax.js +0 -29
  75. package/agent-spine-plugin/scripts/github-actions.js +0 -11
  76. package/agent-spine-plugin/scripts/release-check.js +0 -128
  77. package/agent-spine-plugin/scripts/run-acceptance.js +0 -19
  78. package/agent-spine-plugin/scripts/run-checks.js +0 -46
  79. package/agent-spine-plugin/scripts/run-tests-hermetic.js +0 -73
  80. package/agent-spine-plugin/spine-example/1-identity.md +0 -12
  81. package/agent-spine-plugin/spine-example/2-voice.md +0 -6
  82. package/agent-spine-plugin/spine-example/3-conduct.md +0 -8
  83. package/agent-spine-plugin/spine-example/4-history.md +0 -4
  84. package/bin/empty-response-retry-policy.cjs +0 -29
  85. package/bin/fredrik-glm-provider.cjs +0 -256
  86. package/bin/package-regression-policy.cjs +0 -77
  87. package/fredrik-glm-profile.toml.example +0 -26
  88. package/release-planned-removals.json +0 -15
  89. package/scripts/check-active-profile-plugin-startup.js +0 -36
  90. package/scripts/check-active-work-steer-regression.js +0 -46
  91. package/scripts/check-approval-observability-regression.js +0 -111
  92. package/scripts/check-approval-queue-shortcuts-regression.js +0 -65
  93. package/scripts/check-bundled-agent-spine-regression.js +0 -48
  94. package/scripts/check-codebase-search-packaging-regression.js +0 -92
  95. package/scripts/check-copy-command-regression.js +0 -74
  96. package/scripts/check-current-turn-read-pin-mutation-regression.js +0 -72
  97. package/scripts/check-current-turn-read-pin-regression.js +0 -94
  98. package/scripts/check-deepseek-native-max-regression.js +0 -49
  99. package/scripts/check-empty-response-effort-downgrade-regression.js +0 -48
  100. package/scripts/check-fredrik-glm-mutation-regression.js +0 -18
  101. package/scripts/check-fredrik-glm-regression.js +0 -169
  102. package/scripts/check-historical-tool-result-preview-regression.js +0 -77
  103. package/scripts/check-history-pressure-offload-regression.js +0 -77
  104. package/scripts/check-mcp-startup-wait-budget.js +0 -48
  105. package/scripts/check-package-regression.js +0 -38
  106. package/scripts/check-plugin-startup-regression.js +0 -53
  107. package/scripts/check-programmatic-context-isolation-regression.js +0 -193
  108. package/scripts/check-programmatic-tool-regression.js +0 -294
  109. package/scripts/check-queue-controls-regression.js +0 -189
  110. package/scripts/check-release-metadata.js +0 -103
  111. package/scripts/check-reload-agent-spine-regression.js +0 -76
  112. package/scripts/check-resume-replay-regression.js +0 -102
  113. package/scripts/check-session-cancel-regression.js +0 -43
  114. package/scripts/check-session-picker-resume-metrics-regression.js +0 -97
  115. package/scripts/check-session-start-hook-context-regression.js +0 -228
  116. package/scripts/check-shell-terminal-isolation-regression.js +0 -81
  117. package/scripts/check-slash-escape-regression.js +0 -89
  118. package/scripts/check-startup-swarm-command-regression.js +0 -24
  119. package/scripts/check-structured-subagent-output-regression.js +0 -331
  120. package/scripts/check-telegram-bridge-watchdog.js +0 -60
  121. package/scripts/check-telegram-direct-work-resume-regression.js +0 -53
  122. package/scripts/check-telegram-loop-exactly-once-regression.js +0 -71
  123. package/scripts/check-todo-loop-regression.js +0 -78
  124. package/scripts/check-todo-progress-regression.js +0 -416
  125. package/scripts/check-todo-recovery-catalog-regression.js +0 -50
  126. package/scripts/check-tool-schema-capacity-regression.js +0 -40
  127. package/scripts/programmatic-tool-runtime.test.mjs +0 -365
  128. package/scripts/structured-subagent-output.test.cjs +0 -170
  129. /package/{scripts → bin}/fix-node-pty-perms.js +0 -0
@@ -1,406 +0,0 @@
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
- ## [0.11.4] - 2026-09-01
8
-
9
- ### Fixed
10
-
11
- - Nonexistent descendants inherit the canonical identity of their nearest existing ancestor, preventing macOS aliases and Windows namespace normalization from misclassifying an internal state directory as external before its first write.
12
-
13
- ## [0.11.3] - 2026-09-01
14
-
15
- ### Fixed
16
-
17
- - Scanner exclusion roots are canonicalized before comparison, so macOS `/var` → `/private/var` aliases and Windows path normalization cannot reintroduce private AgentSpine state into a home-root catalog.
18
-
19
- ## [0.11.2] - 2026-09-01
20
-
21
- ### Fixed
22
-
23
- - Exact user-home working directories may keep authenticated AgentSpine state below the home only when that state root is explicitly excluded from source discovery; the installed hook no longer deadlocks on its own signing identity.
24
- - Generic catalog discovery now prunes the configured AgentSpine state subtree before opening Markdown, so signing keys, persona rosters, receipts, and generated state cannot become project context.
25
-
26
- ### Security
27
-
28
- - The exception is limited to an exact OS/`HOME`/`USERPROFILE` home root. State inside an ordinary nested project remains fail-closed, symlinks remain untraversed, and user Markdown remains byte-preserved.
29
-
30
- ## [0.11.1] - 2026-09-01
31
-
32
- ### Fixed
33
-
34
- - Installed hooks reuse the already bounded host-source catalog throughout scope, continuity, learning, attention, persona, relationship, and briefing reads instead of recursively rebuilding it from the active working directory.
35
- - Windows profile homes are recognized through canonical OS, `USERPROFILE`, `HOME`, and `HOMEDRIVE`/`HOMEPATH` identities, including case-insensitive paths and homes that contain a project marker; their recursive project tree is never enumerated.
36
-
37
- ### Security
38
-
39
- - Direct host-native `CLAUDE.md` and `AGENTS.md` chain files remain fully injected and byte-preserved while unrelated home descendants are excluded from context and indexing.
40
-
41
- ## [0.11.0] - 2026-08-31
42
-
43
- ### Added
44
-
45
- - Provider-neutral `agentspine.learning-outcome/v1` receipts for content-free, normalized fixed-task before/after measurements bound to exact persona, user, tenant, project, group, task, metric, and evaluator scopes
46
- - Default-off outcome-gated `behavior` candidates with independent-evaluator thresholds, objective-evidence requirements, bounded canary application, measured validation, contradiction detection, staleness gates, and read-only MCP diagnostics
47
- - Local CLI commands for recording outcome receipts and inspecting promotion, canary, regression, and expiry state
48
-
49
- ### Changed
50
-
51
- - Session briefings project outcome-gated behavior only into the exact matching scope and exclude expired canaries with a visible degraded diagnostic
52
- - Learning-state upgrades add outcome configuration and receipts without rewriting existing candidates or user-authored Markdown
53
-
54
- ### Security
55
-
56
- - Model suggestions are retained separately but never count toward automatic promotion or canary validation
57
- - Any blocking defect overrides aggregate scores and immediately rolls back the canary; regressions, insufficient improvement, and expiry also fail closed through rollback
58
- - Outcome receipts contain no prompts, answers, transcripts, credentials, rights, delegation, tool access, production, payment, or policy authority
59
- - Codex plugin metadata omits the validator-rejected `hooks` field; the separate versioned Codex host adapter remains packaged and independently validated
60
-
61
- ## [0.10.1] - 2026-08-31
62
-
63
- ### Changed
64
-
65
- - Claude mandatory instructions retain the 8 KiB standard budget but may use one explicit, receipt-bound overflow up to 16 KiB; Codex and generic instruction hosts remain capped at 8 KiB
66
- - Relationship deadlines return a visible `degraded` context and abort the active graph read instead of aborting the turn
67
-
68
- ### Fixed
69
-
70
- - Relationship CLI and MCP reads no longer rebuild the complete project catalog before reading the bounded graph state
71
- - An unmarked home-directory working directory no longer becomes a recursive project scan; known user rules are still loaded through their exact host-native paths
72
- - Dropbox, OneDrive, dependency, build and embedded repository directories are excluded from bounded project source traversal
73
- - Oversized mandatory instructions now block immediately with the measured and allowed byte counts instead of an opaque budget message
74
-
75
- ### Security
76
-
77
- - Automatic group neighborhoods continue to exclude explicit cross-group edges, inactive personas, private records and every entity outside the exact authenticated group audience
78
- - The Claude overflow mode, byte usage and hard limit are HMAC-receipt-bound and revalidated immediately before one-time consumption
79
-
80
- ## [0.10.0] - 2026-08-30
81
-
82
- ### Added
83
-
84
- - Self-healing authenticated persona-to-graph reconciliation on every roster sync, including unchanged replays after partial graph failure
85
- - Automatic context-only group materialization for exact locally approved roster group IDs
86
- - Exact group-scoped team neighborhoods so a persona briefing can include current visible co-members without explicit pairwise edges
87
- - Separate roster-change and graph-repair diagnostics with deterministic counts for created groups, updated entities, and added or removed memberships
88
-
89
- ### Changed
90
-
91
- - Active `person`, `agent`, and `bot` bindings now retain user-authored non-authority graph attributes while authenticated display name, status, source binding, privacy, and membership are reconciled
92
- - Package, lockfile, Claude Code, Codex, marketplace, BLUN and hook-bundle versions advance together to `0.10.0`
93
-
94
- ### Fixed
95
-
96
- - An unchanged roster now repairs missing persona entities, groups, and membership edges instead of remaining permanently classified as a duplicate
97
- - Left and deactivated personas retain append-only identity history but no longer appear in current relationship neighborhoods
98
- - Missing roster groups no longer cause membership edges to be silently skipped
99
- - Relationship reads now fail visibly after a five-second local state deadline instead of waiting indefinitely
100
-
101
- ### Security
102
-
103
- - Group peer expansion requires one exact group audience and filters inactive, private, and other-group entities before returning context
104
- - Conflicting non-group IDs and private groups fail visibly instead of weakening group-scope isolation
105
- - Persona, group, and relationship context remains incapable of granting rights, delegation, tools, execution, access, or policy changes
106
-
107
- ## [0.9.0] - 2026-08-30
108
-
109
- ### Added
110
-
111
- - Mandatory `agentspine.preflight/v2` before-answer receipts bound to the exact prompt, hook delivery, host, agent, user, tenant, profile, session, project, working directory, task, group, instruction identities, retrieval queries, and briefing
112
- - Provider-neutral `agentspine.retrieval-query/v1` and `agentspine.retrieval-result/v1` contracts with a bounded shell-free `mnemo-command/v1` reference adapter and environment-only credential names
113
- - Explicitly confirmed, scoped Must-Remember candidates with append-only activation, supersession, rollback, permanent local-user purge, checksums, retention, and reserved briefing priority
114
- - Local preflight policy, status, Must-Remember CLI and Doctor/Audit diagnostics; none of these administration surfaces are exposed through MCP
115
- - Claude Code `InstructionsLoaded` observability alongside the blocking `UserPromptSubmit` gate
116
- - 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
117
-
118
- ### Changed
119
-
120
- - Prompt turns now carry a compact ordinary briefing plus a separately budgeted mandatory instruction and recall section, avoiding silent source truncation
121
- - Package, lockfile, Claude Code, Codex, marketplace, BLUN, hook-bundle, worker and preflight versions advance together to `0.9.0`
122
-
123
- ### Fixed
124
-
125
- - 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
126
- - 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
127
- - BLUN lifecycle hooks now index large real workspaces without absorbing embedded test profiles or failing at the smaller host-rule limit
128
- - 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
129
- - 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
130
- - 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
131
-
132
- ### Security
133
-
134
- - Controlled preflight failures return the host's blocking decision and exit code 2 instead of the previous fail-open informational packet
135
- - Mandatory instructions are reopened without following symlinks, checked through one filehandle before and after reading, SHA-256 bound, fully injected, and rejected on replacement, deletion, scope escape, size overflow, stale identity or second receipt consumption
136
- - Required recall distinguishes a verified empty result from no invocation or failure; provider output is scope-bound, content-filtered and incapable of changing policy or authority
137
- - Receipts are short-lived, HMAC-authenticated in private external state, one-time consumable, and contain no prompt text, rule content, memory claims, credentials or transcripts
138
- - Receipt consumption revalidates the current instruction set, local policy revision, active critical-memory checksums and exact turn scope; aborted prepared turns are invalidated for safe retry while consumed deliveries remain replay-blocked
139
- - Claude-only `InstructionsLoaded` registration is physically separated from Codex's documented lifecycle event set
140
-
141
- ## [0.8.0] - 2026-08-29
142
-
143
- ### Added
144
-
145
- - Provider-neutral authenticated channel ingress with exact provider, tenant, account, chat, thread, sender, agent, project, group, and session bindings
146
- - Durable per-agent event lanes with replay protection, atomic leases, expired-lease recovery, revocation cancellation, retained history, and integrity receipts
147
- - Automatic `agentspine.voice-brief/v1` projection from exact visible persona, preference, correction, no-go, current-task, promise, and blocker context
148
- - Installed-bundle proof that both Claude Code and Codex receive one exact authenticated channel event and voice profile with zero model-side MCP calls
149
- - Pinned OpenClaw and Hermes harness reference study documenting adopted, adapted, and deliberately excluded behavior
150
- - Authenticated external persona-roster synchronization with stable identities and append-only join, rename, leave, group-change, and rejoin events
151
- - 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
152
- - 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
153
- - 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
154
- - Transient German, English, Swedish, and Spanish response cues plus an advisory voice guard against fabricated attachment, emotion, or consciousness claims
155
- - Empty- and populated-profile hermetic test execution so real user state cannot change test expectations
156
-
157
- ### Changed
158
-
159
- - The shared hook document now uses only the documented `description` and `hooks` top-level fields; version/cache identity stays in the host manifests
160
- - Host checks no longer report live Codex hook trust as proven merely because the shared hook entrypoint can execute directly
161
- - 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
162
- - Session briefings reserve a bounded voice section and report voice omissions in the same compact-JSON budget
163
- - Channel policy and runtime inspection are available through local CLI commands while every channel administration and execution operation remains absent from MCP
164
- - A configured roster file is reread before every worker reconciliation, so authenticated team additions and removals become visible without a new chat prompt
165
- - Promise and resolved-blocker lifecycle events now enter the same durable wake queue as direct messages and owner-assigned goals
166
-
167
- ### Security
168
-
169
- - Channel policy changes require explicit local owner confirmation; wildcard routes and senders, unknown agents/projects/groups, and invalid group membership fail closed
170
- - HMAC secrets remain environment-only, signatures are never stored, secret-bearing messages are rejected, and event ID collisions cannot overwrite earlier payloads
171
- - Current and retained events, policy history, payload digests, route bindings, receipt digests, and authority markers are replayed by the ten-gate audit
172
- - Channel state and voice context cannot grant host, tool, file, network, send, delegation, production, or execution rights
173
- - Persona events, roster receipts, gateway history, queue and delivery IDs, lanes, checkpoints, and receipts fail closed under structural or digest manipulation
174
- - 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
175
- - Provider and ingress credentials remain environment-only and are removed from the environment passed to the host runner
176
-
177
- ## [0.7.0] - 2026-08-29
178
-
179
- ### Added
180
-
181
- - 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
182
- - Explicit relevance markers for `always`, person, project, group, task, and prompt-keyword scopes; unproven fact files remain unopened and omitted
183
- - Privacy-bounded indexed-memory diagnostics for indexed, relevant, loaded, cache-hit, cache-miss, missing, scope, path, symlink, size, and race outcomes
184
- - Explicit `doctor --offline-memory-orphans` enumeration that reports counts only and remains outside every live lifecycle path
185
- - 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
186
-
187
- ### Changed
188
-
189
- - 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
190
- - 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
191
-
192
- ### Security
193
-
194
- - 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
195
- - Missing targets, path escapes, symlinked paths, non-regular files, oversized sources, transitive links, stale cache records, and corrupt cache state cannot enter the briefing
196
- - Cache and relevance remain context-only and cannot create identity, rights, delegation, trust, capabilities, network access, or self-starter policy
197
-
198
- ## [0.6.0] - 2026-08-28
199
-
200
- ### Added
201
-
202
- - 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
203
- - Explicit portable user-state binding with provenance, conflict detection, rollback, purge, and low-risk learning-only projection across repositories and hosts
204
- - Installed production-hook RED/GREEN reproduction of the real zero-source failure from an AgentSpine checkout and foreign working directory
205
- - `source-status`, `source-bind`, `source-rollback`, and `source-purge` CLI workflows plus host-aware Doctor and Audit diagnostics
206
-
207
- ### Changed
208
-
209
- - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.6.0`
210
- - The lifecycle bundle declares `agentspine.source-roots/v1`; upgrade tests reject the cached `0.5.0` bundle
211
- - Automatic briefing uses separate user, project, and project-memory bindings instead of treating the launch directory as one recursive source root
212
-
213
- ### Security
214
-
215
- - 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
216
- - Empty or damaged source resolution is visible and never reported as loaded personal continuity
217
- - Source and migration bindings remain context-only and cannot create identities, roles, delegation, host trust, execution grants, capabilities, or self-starter rights
218
-
219
- ## [0.5.0] - 2026-08-28
220
-
221
- ### Added
222
-
223
- - 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
224
- - 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
225
- - Installed-bundle acceptance for both fresh installation and upgrade from `0.4.0`
226
-
227
- ### Changed
228
-
229
- - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.5.0`
230
- - The lifecycle bundle declares `agentspine.acceptance/v1`
231
- - Safe direct style, correction, no-go, project-fact, promise, and blocker recognition covers the Swedish and Spanish acceptance paths
232
-
233
- ### Security
234
-
235
- - Person and exact-group negative visibility, a denied foreign lease effect, complete person purge, and byte-for-byte source preservation are visible acceptance gates
236
- - Acceptance state is synthetic, external, temporary, and transcript-free; its receipts create no identity, trust, approval, or authority
237
- - Fresh-install and upgrade proofs require exactly one MCP server, exactly one hook set, and complete automatic behavior with `mcpCalls: 0`
238
-
239
- ## [0.4.0] - 2026-08-28
240
-
241
- ### Added
242
-
243
- - Rights-bound self-starter for one exact waiting job with durable checkpoints, expiring leases, retry budget, backoff, crash recovery, audit receipts, cancellation, and purge
244
- - 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
245
- - Separate local execution policy binding actor, action set, job, task, target, project, optional group, host, and finite tool capabilities
246
- - 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
247
-
248
- ### Changed
249
-
250
- - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.4.0`
251
- - The lifecycle bundle declares `agentspine.selfstarter/v1` and resolves active jobs from the native host session
252
- - Ten-gate audit includes external execution-policy and job-state integrity without reading either as context authority
253
-
254
- ### Security
255
-
256
- - Every start, resume, and effect rechecks the current exact grant, task assignment, scope, host session, capability, lease, and content-bound workspace fingerprint
257
- - Memory, Markdown, learning, relationships, attention, tasks, prior approvals, model claims, and MCP responses cannot create or widen execution rights
258
- - Unknown effects, concurrent leases, revocation, expiry, workspace drift, uncheckpointed crash changes, retry exhaustion, malformed state, and protected-source writes fail closed
259
- - MCP exposes no execution-policy grant, revoke, job registration, cancellation, or checkpoint administration
260
-
261
- ## [0.3.0] - 2026-08-28
262
-
263
- ### Added
264
-
265
- - Provider-neutral heartbeat, promise, and blocker lifecycle events written by installed Claude Code and Codex hooks without a model-side MCP call
266
- - Exact actor, group, project, and task binding with stable event identity, minimal SHA-256 provenance, idempotent receipts, occurrence counts, and retained prior versions
267
- - Automatic current-task event injection at start, restart, prompt, and compaction boundaries, including stale-heartbeat, open-promise, and open-blocker handling
268
- - CLI inspection and permanent event deletion plus entity purge across events, receipts, history, and presentation throttles
269
- - Fresh-install and previous-version upgrade test that proves one MCP server, one hook set, automatic event capture, restart injection, and source-preserving uninstall
270
-
271
- ### Changed
272
-
273
- - Package, lockfile, Claude Code, Codex, marketplace, and hook-bundle versions advance together to `0.3.0`
274
- - Focus mode suppresses unrelated cues while permitting an active blocker, due promise, or stale heartbeat for the exact current task
275
- - Parallel catalog replacement uses collision-free atomic temporary paths across concurrent lifecycle hooks
276
-
277
- ### Security
278
-
279
- - 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
280
- - Corrupt attention lifecycle state and unknown task scope fail closed; events remain context-only and can neither send messages nor create authority
281
-
282
- ## [0.2.0] - 2026-08-28
283
-
284
- ### Added
285
-
286
- - 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
287
- - 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
288
- - Complete hook inventory for prompt, tool, compaction, stop, and subagent-stop boundaries plus reproducible fresh-install, stale-cache upgrade, and uninstall preservation checks
289
-
290
- ### Changed
291
-
292
- - Claude Code explicitly registers the MCP file and loads exactly one hook bundle from its native `hooks/hooks.json` discovery path
293
- - Package, lockfile, Claude Code, Codex, and marketplace cache versions advance together to `0.2.0`
294
- - Session hooks now inject usable accepted context instead of counts and a suggestion to call `session_briefing`
295
-
296
- ### Security
297
-
298
- - 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
299
- - 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
300
-
301
- ### Added
302
-
303
- - Executable Claude Code and Codex host-registration check with a real MCP `initialize` handshake
304
- - 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
305
- - 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
306
- - 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
307
- - Ten-gate `agentspine audit` command and MCP tool
308
- - Privacy-scoped entities and relationships for people, agents, groups, channels, and projects
309
- - Append-only history for superseded document annotations, document links, entities, and relationships
310
- - Broken-link and competing-candidate findings in every catalog
311
- - Large-tree, manifest-consistency, CLI-MCP, privacy, authority, and shell-guard tests
312
- - Local sparse-attention state for unanswered questions, promises, check-ins, and meaningful changes
313
- - Relationship-silence cues based on minimal interaction timestamps rather than conversation capture
314
- - Attention CLI and MCP surfaces with quiet hours, focus suppression, throttling, disable, resolve, and permanent deletion controls
315
- - Exact group-audience binding for group-scoped cues and activity timestamps
316
- - Cross-process locking for concurrent local attention updates
317
- - Evidence-backed learning candidates kept separate from accepted context
318
- - Explicit review, low-risk opt-in promotion, supersession, rollback, and permanent learning deletion
319
- - SHA-256 provenance capture for document evidence and serialized concurrent evidence appends
320
- - Safe-learning CLI, MCP tools, hook metadata, audit checks, and full lifecycle tests
321
- - Separate default-deny delegation policy with explicit actor, action, target, provenance, revision, and revocation history
322
- - Context-only tasks, open threads, and handoffs with assignment snapshots and retained prior versions
323
- - Coordination CLI, read/check MCP surfaces, privacy-filtered hook metadata, audit integration, and concurrency tests
324
- - Provider-neutral shared-event contract and optional directory adapter with immutable event files
325
- - Quarantined, idempotent shared-memory import with a second local review before context
326
- - Shared supersession, rollback, exact group filtering, CLI administration, read-only MCP context, hooks, and audit coverage
327
- - Optional Ed25519 manifest and event envelopes with strict public identities and retained verification proof
328
- - Installation-local signer generation and rotation plus project-local trust, revocation, and audit replay
329
- - Immutable signed HTTPS snapshot export and dependency-free provider-neutral pull transport
330
- - DNS pinning, default SSRF blocking, redirect and compression rejection, bounded responses, optional environment-only bearer authentication, and explicit private-network opt-in
331
- - Provider-neutral `session_briefing` across native sources, relationships, accepted learning, reviewed shared memory, coordination, and attention
332
- - Current-task priority, local/shared deduplication, exact compact-JSON byte accounting, atomic omission, and group-safe metadata-only source handling
333
- - Provider-neutral content-addressed HTTPS object publication with create-only preconditions
334
- - Mandatory signed read-back verification and safe idempotent retry handling for immutable remote objects
335
- - Tag-authorized GitHub release pipeline with CycloneDX SBOM, SHA-256 checksums, build provenance, and SBOM attestations
336
- - Deterministic release metadata and package-boundary validator covering both host manifests and forbidden state/source material
337
- - Pinned-action policy, release-sensitive CODEOWNERS, and isolated least-privilege publication jobs
338
-
339
- ### Changed
340
-
341
- - 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
342
- - `agentspine mcp` now starts the stdio server instead of returning immediately
343
- - Discovery fingerprints files with bounded parallel reads
344
- - Context resolution reuses catalogs and only follows confident overlay links
345
- - Protected-source hooks recognize common mutating shell commands and refresh after tool writes
346
- - Agent annotations cannot promote arbitrary Markdown into a constitution layer
347
- - CI runs the repository's own ten-gate audit and uses the current maintained GitHub action majors
348
- - Syntax checks and protected-path comparisons are portable across Linux, macOS, and Windows
349
- - External-state auditing handles Windows project and state directories on different drives
350
- - Session hooks expose only due attention counts and kinds; cue text remains behind an explicit privacy-filtered read
351
- - The ten-gate audit now validates attention authority, privacy, configuration, and external-state placement
352
- - Accepted learning must carry auditable manual-confirmation proof or an evidence-threshold policy snapshot
353
- - Cross-entity coordination now requires a matching explicit local policy grant; relationship responsibility remains descriptive only
354
- - Session hooks expose only counts and kinds of locally reviewed shared memory; pending claims remain hidden
355
- - Session hooks point to one explicit scoped briefing without automatically injecting its content
356
-
357
- ### Security
358
-
359
- - Relationship attributes recursively reject permissions, rights, authorization, credentials, secrets, tokens, and API keys
360
- - Every relationship and history record is explicitly context-only
361
- - Every attention cue and activity is context-only; corrupt attention policy fails closed
362
- - Secret-shaped observations and authority assertions are rejected before learning storage
363
- - Delegation policy mutation is excluded from MCP, and malformed policy or coordination state fails closed without overwrite
364
- - Task coordination grants no host, tool, file, network, deployment, production, billing, or spending authority
365
- - Private learning, source content, evidence text, tasks, policy, and credentials are excluded from shared events
366
- - Adapter administration is excluded from MCP; malformed, oversized, symlinked, collided, or tampered exchange state fails closed
367
- - Private signing keys remain outside projects and agent surfaces; unknown, revoked, swapped, or mismatched signers fail closed
368
- - HTTPS snapshot transport validates TLS endpoints, every DNS answer, bundle integrity, strict schema, and all nested signatures before quarantine mutation
369
- - Group briefings reject private reads, foreign membership, and unscoped source content; briefing output remains context-only and read-only
370
- - HTTPS publishing is CLI-only, owner-confirmed, DNS-pinned, SSRF-restricted, overwrite-free, size-bounded, and credential-safe
371
- - Release workflows accept tags only, verify containment in `main`, use short-lived OIDC for attestations, and expose no npm or AgentSpine secrets
372
-
373
- ### Planned
374
-
375
- - Optional hosted database transports implementing the signed-envelope and shared-event contracts
376
-
377
- ## [0.1.0] - 2026-08-27
378
-
379
- ### Added
380
-
381
- - Non-destructive Markdown discovery and SHA-256 provenance catalog
382
- - Native Codex and Claude Code context resolution
383
- - Exact ranged reads for sources outside the context budget
384
- - Agent-authored overlay annotations and document graph links
385
- - CLI, stdio MCP server, and lifecycle hooks
386
- - Protected-source write guard for participating host tools
387
- - Dual Claude Code and Codex plugin manifests
388
- - Cross-platform preservation, hook, graph, and MCP tests
389
-
390
- [Unreleased]: https://github.com/Maykbiletti/AgentSpine/compare/v0.11.4...HEAD
391
- [0.11.4]: https://github.com/Maykbiletti/AgentSpine/compare/v0.11.3...v0.11.4
392
- [0.11.3]: https://github.com/Maykbiletti/AgentSpine/compare/v0.11.2...v0.11.3
393
- [0.11.2]: https://github.com/Maykbiletti/AgentSpine/compare/v0.11.1...v0.11.2
394
- [0.11.1]: https://github.com/Maykbiletti/AgentSpine/compare/v0.11.0...v0.11.1
395
- [0.11.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.10.1...v0.11.0
396
- [0.10.1]: https://github.com/Maykbiletti/AgentSpine/compare/v0.10.0...v0.10.1
397
- [0.10.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.9.0...v0.10.0
398
- [0.9.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.8.0...v0.9.0
399
- [0.8.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.7.0...v0.8.0
400
- [0.7.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.6.0...v0.7.0
401
- [0.6.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.5.0...v0.6.0
402
- [0.5.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.4.0...v0.5.0
403
- [0.4.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.3.0...v0.4.0
404
- [0.3.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.2.0...v0.3.0
405
- [0.2.0]: https://github.com/Maykbiletti/AgentSpine/compare/v0.1.0...v0.2.0
406
- [0.1.0]: https://github.com/Maykbiletti/AgentSpine/releases/tag/v0.1.0
@@ -1,52 +0,0 @@
1
- # Contributing
2
-
3
- AgentSpine welcomes focused issues and pull requests that preserve its non-destructive contract.
4
-
5
- ## Development
6
-
7
- ```bash
8
- git clone https://github.com/Maykbiletti/AgentSpine.git
9
- cd AgentSpine
10
- npm install
11
- npm run check
12
- ```
13
-
14
- Node.js 20.9 or newer is required. The project intentionally has no runtime dependencies.
15
-
16
- ## Pull requests
17
-
18
- Keep each pull request to one coherent outcome. Include:
19
-
20
- - the observable problem or failing fixture;
21
- - tests that exercise behavior rather than wording;
22
- - a source-byte preservation check when discovery, resolution, hooks, graph, attention, learning, delegation, coordination, or sharing logic changes;
23
- - documentation for new commands, tools, configuration, or limits;
24
- - a rollback or disable path.
25
-
26
- Never place real identity files, relationship histories, attention cues, learning observations, delegation policy, coordination tasks, shared events, adapter paths, memory, credentials, or private conversations in fixtures or issues. Use synthetic data.
27
-
28
- ## Architecture boundaries
29
-
30
- - Existing Markdown is read-only.
31
- - Generated state stays outside scanned projects by default.
32
- - Memory, graph, attention, learning, and coordination data are context only and cannot grant authority.
33
- - Delegation policy is physically separate, default-deny, owner-controlled, and limited to task coordination. Never expose policy mutation through an agent-controlled MCP surface or treat a grant as host authorization.
34
- - Cross-entity assignment, reassignment, management, completion, and cancellation require tested actor/action/target matching. Self-coordination must not widen that match.
35
- - Shared transports are optional and provider-neutral. Imports remain quarantined until a second local review, and adapter, signer, and trust administration must stay outside MCP.
36
- - Digest integrity is not author authenticity. Signed adapters must verify strict Ed25519 envelopes against explicit local trust while preserving collision detection, limits, local review, exact group scope, supersession, rollback, and context-only authority.
37
- - Never equate a trusted key with a person, permission, instruction, or approved claim. Rotation and revocation must remain explicit, auditable, and fail-closed.
38
- - Remote transports must use explicit endpoints, bounded reads, strict schemas, pinned validated DNS, TLS verification, no implicit redirects, secret-safe configuration, and the existing signed quarantine importer. Network access remains CLI-only.
39
- - Remote writes must additionally require a genuine local confirmation, create content-addressed immutable objects without overwrite or delete paths, and verify a complete read-back before reporting success.
40
- - Aggregated session context must preserve every underlying privacy filter, prefer current-task relevance, include only complete records, account for the entire serialized packet, and remain a read-only context surface.
41
- - Attention never sends messages or invokes tools; focus, privacy, quiet, throttle, disable, and deletion controls remain enforceable.
42
- - Learning candidates never become accepted context implicitly; confirmation proof, evidence thresholds, privacy, rollback, and the authority boundary remain testable.
43
- - Host-native precedence remains visible.
44
- - A learned classification augments discovery hints; it never rewrites a source.
45
- - Shared-memory backends are optional adapters.
46
-
47
- Run both validators when changing package surfaces:
48
-
49
- ```bash
50
- python3 /path/to/plugin-creator/scripts/validate_plugin.py .
51
- python3 /path/to/skill-creator/scripts/quick_validate.py skills/agent-spine
52
- ```