mirror of
https://github.com/garrytan/gbrain.git
synced 2026-08-14 00:48:18 +00:00
* feat(mcp,context): ambient recall — context_pack + delta frozen verbs + boundary runtime (#1) Two new frozen MEMORY_VERBS (context_pack, delta) on the pull surface + a Claude Code hook boundary runtime on the push surface, sharing one stateless assembler core (assembleTurnContext mode: turn|pack|delta) and a keyset session cursor (migration v126). World-only by default; include_private gated fail-closed to trusted-local. protocol_version stays 1 (additive 5→7 verbs). Survived three adversarial review waves. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * v0.45.7.0 feat(mcp,context): ambient recall — context_pack + delta frozen verbs + boundary runtime (#1) Two new frozen MEMORY_VERBS (context_pack, delta) grow the frozen set 5→7 without a wire bump — all seven stamp protocol_version: 1. context_pack assembles a deterministic, zero-LLM, budget-packed bundle (entity cards + open threads + hot facts) for a set of standing entities; delta returns only what changed since a timestamp for cheap heartbeats, with a per-session keyset cursor for at-least-once delivery. A boundary runtime wires these into Claude Code lifecycle hooks (SessionStart warm pack, PreCompact entity banking for post-compaction rehydration); Codex and any MCP host pull the same verbs at their own boundaries. World-only by default on all arms; include_private widens only for local trusted callers. Migration v126 adds session_context_state (additive). Includes the coverage close-out wave (~55 tests): real-serve compact→ session-start round trip over the live socket, --surface verbs stdio session pinning exactly 7 tools fail-closed, HTTP-transport verb calls with per-token cursor isolation, Postgres engine-parity for keyset pagination + the session-cursor table, migration v126 shape + rewind test, sub-second latency gates, CLI-level invocations, rendered-protocol boundary assertions, and a live-Codex boundary-call check. The wave caught and fixed three real bugs: the delta CLI wedging on first wake (floating GC promise racing engine teardown), the compact hook probing the PGLite socket on a Postgres config with a leftover database_path, and the verbs-surface banner hardcoding a stale verb count. Also the /document-release sweep: stale "five verbs" → seven across the protocol doc, README, INSTALL, DEPLOY, the Claude Code MCP guide, and the query skill; deferred scope filed in TODOS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(release): bump openclaw.plugin.json to 0.45.7.0 — the sixth version location The #4033 merge auto-resolved the OpenClaw plugin manifest at master's version while the trio moved to 0.45.7.0, failing the manifest drift test on CI shard 4. Register the file in CLAUDE.md's version-locations table (five → six) so every future ship and merge re-bumps it with the trio. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
118 lines
2.9 KiB
JSON
118 lines
2.9 KiB
JSON
{
|
|
"id": "gbrain-context-engine",
|
|
"name": "gbrain",
|
|
"version": "0.45.7.0",
|
|
"description": "Personal knowledge brain with Postgres + pgvector hybrid search",
|
|
"family": "bundle-plugin",
|
|
"configSchema": {
|
|
"database_url": {
|
|
"type": "string",
|
|
"required": true,
|
|
"description": "PostgreSQL connection URL (Supabase recommended)",
|
|
"uiHints": {
|
|
"sensitive": true
|
|
}
|
|
},
|
|
"openai_api_key": {
|
|
"type": "string",
|
|
"required": false,
|
|
"description": "OpenAI API key for embeddings (uses OPENAI_API_KEY env var if not set)",
|
|
"uiHints": {
|
|
"sensitive": true
|
|
}
|
|
}
|
|
},
|
|
"mcpServers": {
|
|
"gbrain": {
|
|
"command": "./bin/gbrain",
|
|
"args": [
|
|
"serve"
|
|
]
|
|
}
|
|
},
|
|
"skills": [
|
|
"skills/academic-verify",
|
|
"skills/archive-crawler",
|
|
"skills/article-enrichment",
|
|
"skills/ask-user",
|
|
"skills/blog-ingest",
|
|
"skills/book-mirror",
|
|
"skills/brain-ingest-gate",
|
|
"skills/brain-link-discipline",
|
|
"skills/brain-ops",
|
|
"skills/brain-pdf",
|
|
"skills/brain-taxonomist",
|
|
"skills/briefing",
|
|
"skills/bulk-ingestion",
|
|
"skills/capture",
|
|
"skills/citation-fixer",
|
|
"skills/citation-graph-ingest",
|
|
"skills/company-brainify",
|
|
"skills/concept-synthesis",
|
|
"skills/context-audit",
|
|
"skills/conversation-archive",
|
|
"skills/correction-pipeline",
|
|
"skills/cron-scheduler",
|
|
"skills/cross-modal-review",
|
|
"skills/daily-task-manager",
|
|
"skills/daily-task-prep",
|
|
"skills/data-loss-gate",
|
|
"skills/data-research",
|
|
"skills/draft-in-voice",
|
|
"skills/eiirp",
|
|
"skills/enrich",
|
|
"skills/fact-check",
|
|
"skills/functional-area-resolver",
|
|
"skills/gbrain-advisor",
|
|
"skills/idea-ingest",
|
|
"skills/idea-lineage",
|
|
"skills/ingest",
|
|
"skills/maintain",
|
|
"skills/measure-before-you-fix",
|
|
"skills/media-ingest",
|
|
"skills/meeting-ingestion",
|
|
"skills/minion-orchestrator",
|
|
"skills/perplexity-research",
|
|
"skills/publish",
|
|
"skills/query",
|
|
"skills/repo-architecture",
|
|
"skills/reports",
|
|
"skills/research-compendium",
|
|
"skills/resolve-before-asking",
|
|
"skills/signal-detector",
|
|
"skills/skill-autobench",
|
|
"skills/skill-creator",
|
|
"skills/skillify",
|
|
"skills/skillpack-check",
|
|
"skills/skillpack-harvest",
|
|
"skills/soul-audit",
|
|
"skills/strategic-reading",
|
|
"skills/testing",
|
|
"skills/two-tier-extraction",
|
|
"skills/voice-note-ingest",
|
|
"skills/webhook-transforms"
|
|
],
|
|
"shared_deps": [
|
|
"skills/conventions",
|
|
"skills/_AGENT_README.md",
|
|
"skills/_brain-filing-rules.md",
|
|
"skills/_brain-filing-rules.json",
|
|
"skills/_output-rules.md"
|
|
],
|
|
"excluded_from_install": [
|
|
"skills/setup",
|
|
"skills/migrate",
|
|
"skills/publish"
|
|
],
|
|
"openclaw": {
|
|
"compat": {
|
|
"pluginApi": ">=2026.4.0"
|
|
}
|
|
},
|
|
"contracts": {
|
|
"contextEngines": [
|
|
"gbrain-context"
|
|
]
|
|
}
|
|
}
|