@onlooker-community/ecosystem 0.31.0 → 0.31.2
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.
- package/.claude-plugin/plugin.json +1 -1
- package/.release-please-manifest.json +17 -17
- package/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/plugins/archivist/.claude-plugin/plugin.json +1 -1
- package/plugins/archivist/CHANGELOG.md +7 -0
- package/plugins/archivist/scripts/hooks/archivist-extract.sh +10 -0
- package/plugins/archivist/scripts/hooks/archivist-inject.sh +10 -0
- package/plugins/archivist/scripts/lib/archivist-events.sh +6 -0
- package/plugins/assayer/.claude-plugin/plugin.json +1 -1
- package/plugins/assayer/CHANGELOG.md +7 -0
- package/plugins/assayer/scripts/hooks/assayer-stop.sh +10 -0
- package/plugins/assayer/scripts/lib/assayer-events.sh +6 -0
- package/plugins/bursar/.claude-plugin/plugin.json +1 -1
- package/plugins/bursar/CHANGELOG.md +7 -0
- package/plugins/bursar/scripts/lib/bursar-events.sh +6 -0
- package/plugins/cartographer/.claude-plugin/plugin.json +1 -1
- package/plugins/cartographer/CHANGELOG.md +7 -0
- package/plugins/cartographer/scripts/lib/cartographer-events.sh +6 -0
- package/plugins/compass/.claude-plugin/plugin.json +1 -1
- package/plugins/compass/CHANGELOG.md +7 -0
- package/plugins/compass/scripts/lib/compass-events.sh +6 -0
- package/plugins/counsel/.claude-plugin/plugin.json +1 -1
- package/plugins/counsel/CHANGELOG.md +7 -0
- package/plugins/counsel/scripts/lib/counsel-events.sh +6 -0
- package/plugins/curator/.claude-plugin/plugin.json +1 -1
- package/plugins/curator/CHANGELOG.md +7 -0
- package/plugins/curator/scripts/hooks/curator-session-start.sh +10 -0
- package/plugins/curator/scripts/lib/curator-emit.sh +10 -0
- package/plugins/echo/.claude-plugin/plugin.json +1 -1
- package/plugins/echo/CHANGELOG.md +7 -0
- package/plugins/echo/scripts/hooks/echo-stop-gate.sh +10 -0
- package/plugins/echo/scripts/lib/echo-events.sh +6 -0
- package/plugins/governor/.claude-plugin/plugin.json +1 -1
- package/plugins/governor/CHANGELOG.md +7 -0
- package/plugins/governor/scripts/hooks/governor-post-tool-use.sh +10 -0
- package/plugins/governor/scripts/hooks/governor-pre-tool-use.sh +10 -0
- package/plugins/governor/scripts/hooks/governor-session-start.sh +10 -0
- package/plugins/governor/scripts/hooks/governor-stop.sh +10 -0
- package/plugins/governor/scripts/lib/governor-events.sh +6 -0
- package/plugins/historian/.claude-plugin/plugin.json +1 -1
- package/plugins/historian/CHANGELOG.md +14 -0
- package/plugins/historian/scripts/hooks/historian-prompt-submit.sh +12 -1
- package/plugins/historian/scripts/hooks/historian-session-end.sh +12 -1
- package/plugins/historian/scripts/lib/historian-emit.sh +10 -0
- package/plugins/inspector/.claude-plugin/plugin.json +1 -1
- package/plugins/inspector/CHANGELOG.md +7 -0
- package/plugins/inspector/scripts/lib/inspector-events.sh +6 -0
- package/plugins/librarian/.claude-plugin/plugin.json +1 -1
- package/plugins/librarian/CHANGELOG.md +7 -0
- package/plugins/librarian/scripts/hooks/librarian-session-end.sh +80 -6
- package/plugins/librarian/scripts/hooks/librarian-session-start.sh +10 -0
- package/plugins/librarian/scripts/lib/librarian-conflict-detector.sh +215 -0
- package/plugins/librarian/scripts/lib/librarian-emit.sh +10 -0
- package/plugins/lineage/.claude-plugin/plugin.json +1 -1
- package/plugins/lineage/CHANGELOG.md +7 -0
- package/plugins/lineage/scripts/lib/lineage-events.sh +6 -0
- package/plugins/scribe/.claude-plugin/plugin.json +1 -1
- package/plugins/scribe/CHANGELOG.md +7 -0
- package/plugins/scribe/scripts/lib/scribe-events.sh +6 -0
- package/plugins/tribunal/.claude-plugin/plugin.json +1 -1
- package/plugins/tribunal/CHANGELOG.md +7 -0
- package/plugins/tribunal/scripts/hooks/tribunal-stop-gate.sh +10 -0
- package/plugins/tribunal/scripts/lib/tribunal-events.sh +6 -0
- package/plugins/warden/.claude-plugin/plugin.json +1 -1
- package/plugins/warden/CHANGELOG.md +7 -0
- package/plugins/warden/scripts/lib/warden-events.sh +6 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ecosystem",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.2",
|
|
4
4
|
"description": "Observability substrate for Claude Code. Provides the shared $ONLOOKER_DIR storage root (default $HOME/.onlooker), canonical schema-validated event emission, session and tool tracking hooks, and prompt rules. Required by all other Onlooker plugins.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
".": "0.31.
|
|
3
|
-
"plugins/archivist": "0.3.
|
|
4
|
-
"plugins/tribunal": "1.1.
|
|
5
|
-
"plugins/echo": "0.3.
|
|
6
|
-
"plugins/cartographer": "0.3.
|
|
7
|
-
"plugins/governor": "0.3.
|
|
8
|
-
"plugins/compass": "0.4.
|
|
9
|
-
"plugins/scribe": "0.4.
|
|
10
|
-
"plugins/counsel": "0.5.
|
|
11
|
-
"plugins/warden": "0.3.
|
|
12
|
-
"plugins/librarian": "0.4.
|
|
13
|
-
"plugins/curator": "0.2.
|
|
14
|
-
"plugins/historian": "0.3.
|
|
15
|
-
"plugins/assayer": "1.1.
|
|
16
|
-
"plugins/bursar": "0.2.
|
|
17
|
-
"plugins/lineage": "0.2.
|
|
18
|
-
"plugins/inspector": "0.3.
|
|
2
|
+
".": "0.31.2",
|
|
3
|
+
"plugins/archivist": "0.3.1",
|
|
4
|
+
"plugins/tribunal": "1.1.1",
|
|
5
|
+
"plugins/echo": "0.3.1",
|
|
6
|
+
"plugins/cartographer": "0.3.1",
|
|
7
|
+
"plugins/governor": "0.3.1",
|
|
8
|
+
"plugins/compass": "0.4.1",
|
|
9
|
+
"plugins/scribe": "0.4.1",
|
|
10
|
+
"plugins/counsel": "0.5.1",
|
|
11
|
+
"plugins/warden": "0.3.1",
|
|
12
|
+
"plugins/librarian": "0.4.1",
|
|
13
|
+
"plugins/curator": "0.2.1",
|
|
14
|
+
"plugins/historian": "0.3.2",
|
|
15
|
+
"plugins/assayer": "1.1.1",
|
|
16
|
+
"plugins/bursar": "0.2.1",
|
|
17
|
+
"plugins/lineage": "0.2.1",
|
|
18
|
+
"plugins/inspector": "0.3.1"
|
|
19
19
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.31.2](https://github.com/onlooker-community/ecosystem/compare/ecosystem-v0.31.1...ecosystem-v0.31.2) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **historian:** export CLAUDE_PLUGIN_ROOT so config loads correctly :bug: ([#112](https://github.com/onlooker-community/ecosystem/issues/112)) ([f24b0b4](https://github.com/onlooker-community/ecosystem/commit/f24b0b4375c64385fefd329cd07d8874785002e9))
|
|
9
|
+
|
|
10
|
+
## [0.31.1](https://github.com/onlooker-community/ecosystem/compare/ecosystem-v0.31.0...ecosystem-v0.31.1) (2026-08-01)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
16
|
+
|
|
3
17
|
## [0.31.0](https://github.com/onlooker-community/ecosystem/compare/ecosystem-v0.30.1...ecosystem-v0.31.0) (2026-07-03)
|
|
4
18
|
|
|
5
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "archivist",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Structured session memory across context truncation: extracts decisions, dead ends, and open questions on PreCompact and reinjects the most important items at SessionStart. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.1](https://github.com/onlooker-community/ecosystem/compare/archivist-v0.3.0...archivist-v0.3.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.3.0](https://github.com/onlooker-community/ecosystem/compare/archivist-v0.2.0...archivist-v0.3.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -29,6 +29,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
29
29
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
30
30
|
fi
|
|
31
31
|
fi
|
|
32
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
33
|
+
# works regardless of which ecosystem version is installed.
|
|
34
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
35
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
36
|
+
if [[ -f "$_candidate" ]]; then
|
|
37
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
38
|
+
break
|
|
39
|
+
fi
|
|
40
|
+
done
|
|
41
|
+
fi
|
|
32
42
|
|
|
33
43
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
34
44
|
# shellcheck disable=SC1091
|
|
@@ -26,6 +26,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
26
26
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
27
27
|
fi
|
|
28
28
|
fi
|
|
29
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
30
|
+
# works regardless of which ecosystem version is installed.
|
|
31
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
32
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
33
|
+
if [[ -f "$_candidate" ]]; then
|
|
34
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
35
|
+
break
|
|
36
|
+
fi
|
|
37
|
+
done
|
|
38
|
+
fi
|
|
29
39
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
30
40
|
# shellcheck disable=SC1091
|
|
31
41
|
CLAUDE_PLUGIN_ROOT="$_ECOSYSTEM_ROOT" source "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh"
|
|
@@ -25,6 +25,12 @@ _archivist_event_js_path() {
|
|
|
25
25
|
for c in "${candidates[@]}"; do
|
|
26
26
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
27
27
|
done
|
|
28
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
29
|
+
# works regardless of which ecosystem version is installed.
|
|
30
|
+
local mjs
|
|
31
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
32
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
33
|
+
done
|
|
28
34
|
return 1
|
|
29
35
|
}
|
|
30
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "assayer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Claim verification. At session end, parses the agent's final message for testable claims (\"I ran the tests, they pass\", \"the build is green\") and checks each against the actual command results in the session transcript, classifying it corroborated, contradicted, or unverifiable. Catches lying-without-malice. Advisory by default. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.1.1](https://github.com/onlooker-community/ecosystem/compare/assayer-v1.1.0...assayer-v1.1.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [1.1.0](https://github.com/onlooker-community/ecosystem/compare/assayer-v1.0.0...assayer-v1.1.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -30,6 +30,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
30
30
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
31
31
|
fi
|
|
32
32
|
fi
|
|
33
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
34
|
+
# works regardless of which ecosystem version is installed.
|
|
35
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
36
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
37
|
+
if [[ -f "$_candidate" ]]; then
|
|
38
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
39
|
+
break
|
|
40
|
+
fi
|
|
41
|
+
done
|
|
42
|
+
fi
|
|
33
43
|
|
|
34
44
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
35
45
|
# shellcheck disable=SC1091
|
|
@@ -26,6 +26,12 @@ _assayer_event_js_path() {
|
|
|
26
26
|
return 0
|
|
27
27
|
}
|
|
28
28
|
done
|
|
29
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
30
|
+
# works regardless of which ecosystem version is installed.
|
|
31
|
+
local mjs
|
|
32
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
33
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
34
|
+
done
|
|
29
35
|
return 1
|
|
30
36
|
}
|
|
31
37
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bursar",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Multi-session, per-project budget accounting for the Onlooker ecosystem. Rolls each session's spend into a per-project ledger on SessionEnd and surfaces \"this project burned $X this week\" at SessionStart. Where governor regulates a single session, bursar is the cross-session rollup: it reads governor.session.complete off the shared event bus and emits bursar.* events for audit. Named for the officer who keeps the accounts. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.1](https://github.com/onlooker-community/ecosystem/compare/bursar-v0.2.0...bursar-v0.2.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.2.0](https://github.com/onlooker-community/ecosystem/compare/bursar-v0.1.1...bursar-v0.2.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -25,6 +25,12 @@ _bursar_event_js_path() {
|
|
|
25
25
|
for c in "${candidates[@]}"; do
|
|
26
26
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
27
27
|
done
|
|
28
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
29
|
+
# works regardless of which ecosystem version is installed.
|
|
30
|
+
local mjs
|
|
31
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
32
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
33
|
+
done
|
|
28
34
|
return 1
|
|
29
35
|
}
|
|
30
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cartographer",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Proactive periodic auditor of the persistent instruction layer (CLAUDE.md, AGENTS.md, .claude/rules/). Discovers all instruction files in the repo, extracts semantic maps, and surfaces contradictions, shadowing, gaps, and drift before they cause expensive agent misbehavior. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Cartographer plugin are documented here.
|
|
4
4
|
|
|
5
|
+
## [0.3.1](https://github.com/onlooker-community/ecosystem/compare/cartographer-v0.3.0...cartographer-v0.3.1) (2026-08-01)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
11
|
+
|
|
5
12
|
## [0.3.0](https://github.com/onlooker-community/ecosystem/compare/cartographer-v0.2.1...cartographer-v0.3.0) (2026-07-03)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -23,6 +23,12 @@ _cartographer_event_js_path() {
|
|
|
23
23
|
for c in "${candidates[@]}"; do
|
|
24
24
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
25
25
|
done
|
|
26
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
27
|
+
# works regardless of which ecosystem version is installed.
|
|
28
|
+
local mjs
|
|
29
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
30
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
31
|
+
done
|
|
26
32
|
return 1
|
|
27
33
|
}
|
|
28
34
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "compass",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Pre-write intent clarity gate. Intercepts write-class tool calls and requires a confidence threshold before allowing them to proceed. Evaluates the pending write against the prior assistant turn as context to avoid false positives on question-answer turns. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.1](https://github.com/onlooker-community/ecosystem/compare/compass-v0.4.0...compass-v0.4.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.4.0](https://github.com/onlooker-community/ecosystem/compare/compass-v0.3.0...compass-v0.4.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -24,6 +24,12 @@ _compass_event_js_path() {
|
|
|
24
24
|
for c in "${candidates[@]}"; do
|
|
25
25
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
26
26
|
done
|
|
27
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
28
|
+
# works regardless of which ecosystem version is installed.
|
|
29
|
+
local mjs
|
|
30
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
31
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
32
|
+
done
|
|
27
33
|
return 1
|
|
28
34
|
}
|
|
29
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "counsel",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Weekly synthesis and recommendations from the full observability stack. Reads all plugin event logs, produces a structured improvement brief, and injects it at session start when the last brief is stale.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.1](https://github.com/onlooker-community/ecosystem/compare/counsel-v0.5.0...counsel-v0.5.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.5.0](https://github.com/onlooker-community/ecosystem/compare/counsel-v0.4.0...counsel-v0.5.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -24,6 +24,12 @@ _counsel_event_js_path() {
|
|
|
24
24
|
for c in "${candidates[@]}"; do
|
|
25
25
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
26
26
|
done
|
|
27
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
28
|
+
# works regardless of which ecosystem version is installed.
|
|
29
|
+
local mjs
|
|
30
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
31
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
32
|
+
done
|
|
27
33
|
return 1
|
|
28
34
|
}
|
|
29
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "curator",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Maintenance layer for the user's typed auto-memory store. At every SessionStart, runs four cheap heuristic checks (date_decayed, path_broken, broken_index, orphaned_memory) against the memories at ~/.claude/projects/<encoded>/memory/ inside a wall-clock budget. Surfaces findings as a one-line pointer to /curator review; never edits the memory store directly. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.1](https://github.com/onlooker-community/ecosystem/compare/curator-v0.2.0...curator-v0.2.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.2.0](https://github.com/onlooker-community/ecosystem/compare/curator-v0.1.0...curator-v0.2.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -25,6 +25,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
25
25
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
26
26
|
fi
|
|
27
27
|
fi
|
|
28
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
29
|
+
# works regardless of which ecosystem version is installed.
|
|
30
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
31
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
32
|
+
if [[ -f "$_candidate" ]]; then
|
|
33
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
34
|
+
break
|
|
35
|
+
fi
|
|
36
|
+
done
|
|
37
|
+
fi
|
|
28
38
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
29
39
|
# shellcheck disable=SC1091
|
|
30
40
|
CLAUDE_PLUGIN_ROOT="$_ECOSYSTEM_ROOT" source "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh"
|
|
@@ -16,6 +16,16 @@ _curator_resolve_event_js() {
|
|
|
16
16
|
ecosystem_root="$candidate"
|
|
17
17
|
fi
|
|
18
18
|
fi
|
|
19
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
20
|
+
# works regardless of which ecosystem version is installed.
|
|
21
|
+
if [[ -z "$ecosystem_root" ]]; then
|
|
22
|
+
for candidate in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
23
|
+
if [[ -f "$candidate" ]]; then
|
|
24
|
+
ecosystem_root="$(cd "$(dirname "$(dirname "$candidate")")" && pwd)"
|
|
25
|
+
break
|
|
26
|
+
fi
|
|
27
|
+
done
|
|
28
|
+
fi
|
|
19
29
|
|
|
20
30
|
if [[ -n "$ecosystem_root" ]]; then
|
|
21
31
|
printf '%s/scripts/lib/onlooker-event.mjs' "$ecosystem_root"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "echo",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Prompt-change regression detection. When a watched agent file is modified, Echo runs a single-judge quality pass via claude -p and compares the score against a stored baseline to report improved, degraded, or neutral. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.1](https://github.com/onlooker-community/ecosystem/compare/echo-v0.3.0...echo-v0.3.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.3.0](https://github.com/onlooker-community/ecosystem/compare/echo-v0.2.0...echo-v0.3.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -29,6 +29,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
29
29
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
30
30
|
fi
|
|
31
31
|
fi
|
|
32
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
33
|
+
# works regardless of which ecosystem version is installed.
|
|
34
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
35
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
36
|
+
if [[ -f "$_candidate" ]]; then
|
|
37
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
38
|
+
break
|
|
39
|
+
fi
|
|
40
|
+
done
|
|
41
|
+
fi
|
|
32
42
|
|
|
33
43
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
34
44
|
# shellcheck disable=SC1091
|
|
@@ -18,6 +18,12 @@ _echo_event_js_path() {
|
|
|
18
18
|
for c in "${candidates[@]}"; do
|
|
19
19
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
20
20
|
done
|
|
21
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
22
|
+
# works regardless of which ecosystem version is installed.
|
|
23
|
+
local mjs
|
|
24
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
25
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
26
|
+
done
|
|
21
27
|
return 1
|
|
22
28
|
}
|
|
23
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "governor",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Resource governance and budget enforcement for the Onlooker ecosystem. Tracks per-session token and cost spend, gates Task spawns before they exceed a configurable budget ceiling, and emits governor.* events for audit. Named for the steam-engine governor — a device that regulates output. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.1](https://github.com/onlooker-community/ecosystem/compare/governor-v0.3.0...governor-v0.3.1) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
9
|
+
|
|
3
10
|
## [0.3.0](https://github.com/onlooker-community/ecosystem/compare/governor-v0.2.1...governor-v0.3.0) (2026-07-03)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -19,6 +19,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
19
19
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
20
20
|
fi
|
|
21
21
|
fi
|
|
22
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
23
|
+
# works regardless of which ecosystem version is installed.
|
|
24
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
25
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
26
|
+
if [[ -f "$_candidate" ]]; then
|
|
27
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
28
|
+
break
|
|
29
|
+
fi
|
|
30
|
+
done
|
|
31
|
+
fi
|
|
22
32
|
|
|
23
33
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
24
34
|
# shellcheck disable=SC1091
|
|
@@ -31,6 +31,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
31
31
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
32
32
|
fi
|
|
33
33
|
fi
|
|
34
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
35
|
+
# works regardless of which ecosystem version is installed.
|
|
36
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
37
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
38
|
+
if [[ -f "$_candidate" ]]; then
|
|
39
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
40
|
+
break
|
|
41
|
+
fi
|
|
42
|
+
done
|
|
43
|
+
fi
|
|
34
44
|
|
|
35
45
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
36
46
|
# shellcheck disable=SC1091
|
|
@@ -23,6 +23,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
23
23
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
24
24
|
fi
|
|
25
25
|
fi
|
|
26
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
27
|
+
# works regardless of which ecosystem version is installed.
|
|
28
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
29
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
30
|
+
if [[ -f "$_candidate" ]]; then
|
|
31
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
32
|
+
break
|
|
33
|
+
fi
|
|
34
|
+
done
|
|
35
|
+
fi
|
|
26
36
|
|
|
27
37
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
28
38
|
# shellcheck disable=SC1091
|
|
@@ -20,6 +20,16 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
20
20
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
21
21
|
fi
|
|
22
22
|
fi
|
|
23
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
24
|
+
# works regardless of which ecosystem version is installed.
|
|
25
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
26
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
27
|
+
if [[ -f "$_candidate" ]]; then
|
|
28
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
29
|
+
break
|
|
30
|
+
fi
|
|
31
|
+
done
|
|
32
|
+
fi
|
|
23
33
|
|
|
24
34
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
25
35
|
# shellcheck disable=SC1091
|
|
@@ -24,6 +24,12 @@ _governor_event_js_path() {
|
|
|
24
24
|
for c in "${candidates[@]}"; do
|
|
25
25
|
[[ -f "$c" ]] && { printf '%s' "$c"; return 0; }
|
|
26
26
|
done
|
|
27
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
28
|
+
# works regardless of which ecosystem version is installed.
|
|
29
|
+
local mjs
|
|
30
|
+
for mjs in "${plugin_root}/../../ecosystem/"*/scripts/lib/onlooker-event.mjs; do
|
|
31
|
+
[[ -f "$mjs" ]] && { printf '%s' "$mjs"; return 0; }
|
|
32
|
+
done
|
|
27
33
|
return 1
|
|
28
34
|
}
|
|
29
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "historian",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Episodic memory layer. At SessionEnd, chunks and sanitizes the session transcript and stores chunks under $ONLOOKER_DIR/historian/<project-key>/sessions/ (default $HOME/.onlooker). On UserPromptSubmit, embeds the prompt and performs similarity retrieval over stored chunks to surface relevant past context. Builds on the Onlooker ecosystem plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Onlooker Community",
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.2](https://github.com/onlooker-community/ecosystem/compare/historian-v0.3.1...historian-v0.3.2) (2026-08-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **historian:** export CLAUDE_PLUGIN_ROOT so config loads correctly :bug: ([#112](https://github.com/onlooker-community/ecosystem/issues/112)) ([f24b0b4](https://github.com/onlooker-community/ecosystem/commit/f24b0b4375c64385fefd329cd07d8874785002e9))
|
|
9
|
+
|
|
10
|
+
## [0.3.1](https://github.com/onlooker-community/ecosystem/compare/historian-v0.3.0...historian-v0.3.1) (2026-08-01)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **plugins:** glob-discover ecosystem root so sub-plugins work from cache :relieved: ([#110](https://github.com/onlooker-community/ecosystem/issues/110)) ([3639240](https://github.com/onlooker-community/ecosystem/commit/3639240383e1b820e5d8ea42639e0b863ef0d90e))
|
|
16
|
+
|
|
3
17
|
## [0.3.0](https://github.com/onlooker-community/ecosystem/compare/historian-v0.2.1...historian-v0.3.0) (2026-07-03)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -38,9 +38,20 @@ if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
|
38
38
|
_ECOSYSTEM_ROOT="$_candidate"
|
|
39
39
|
fi
|
|
40
40
|
fi
|
|
41
|
+
# Glob-discover the ecosystem plugin under the shared plugin cache parent;
|
|
42
|
+
# works regardless of which ecosystem version is installed.
|
|
43
|
+
if [[ -z "$_ECOSYSTEM_ROOT" ]]; then
|
|
44
|
+
for _candidate in "${PLUGIN_ROOT}/../../ecosystem/"*/scripts/lib/validate-path.sh; do
|
|
45
|
+
if [[ -f "$_candidate" ]]; then
|
|
46
|
+
_ECOSYSTEM_ROOT="$(cd "$(dirname "$(dirname "$_candidate")")" && pwd)"
|
|
47
|
+
break
|
|
48
|
+
fi
|
|
49
|
+
done
|
|
50
|
+
fi
|
|
41
51
|
if [[ -n "$_ECOSYSTEM_ROOT" && -f "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh" ]]; then
|
|
42
52
|
# shellcheck disable=SC1091
|
|
43
|
-
CLAUDE_PLUGIN_ROOT="$
|
|
53
|
+
export CLAUDE_PLUGIN_ROOT="$PLUGIN_ROOT"
|
|
54
|
+
source "${_ECOSYSTEM_ROOT}/scripts/lib/validate-path.sh"
|
|
44
55
|
fi
|
|
45
56
|
|
|
46
57
|
# shellcheck source=../lib/historian-config.sh
|