No description
Find a file
Snider c616ff1e32 fix(brain): close openbrain audit gaps — org scoping + index cleanup + reindex flags + MCP schemas + circuit layer
Closes the 5 PARTIAL items flagged in docs/AUDIT-openbrain-20260424.md.

- Gap A (org scoping persisted on writes): new migration adds `org`
  nullable+indexed column to brain_memories; BrainMemory fillable;
  RememberKnowledge action forwards org; BrainService::remember
  persists it.

- Gap B (supersede/forget Elastic cleanup): BrainService::forget
  dispatches DeleteFromIndex (handles both Qdrant + Elastic); supersede
  path dispatches cleanup for the old memory id before replacing it.
  DeleteFromIndex itself untouched — already handled both indexes.

- Gap C (brain:reindex flags): --org, --project, --stale (null OR
  >14d old), --dry-run (count+stop), --elastic-only added to the
  artisan command.

- Gap D (MCP schemas expose org): brain_remember, brain_recall,
  brain_list now accept `org` in input schema + forward into
  action/service.

- Gap E (resilience uneven): brain_list now wrapped in
  withCircuitBreaker('brain', ...) matching the pattern used by
  BrainRemember/Recall/Forget. BrainService gains retryableHttp()
  helper — 100/300/900ms exponential backoff, retries only on 5xx +
  connection errors, not on 4xx. Qdrant calls route through it;
  Ollama left alone (EmbedMemory job has its own retry).

Tests (Good/Bad/Ugly per gap):
- Feature/Brain/OrgScopingTest.php
- Feature/Brain/SupersedeForgetIndexCleanupTest.php
- Feature/Brain/ReindexFlagsTest.php
- Feature/Mcp/BrainSchemaOrgTest.php
- Feature/Brain/CircuitBreakerTest.php

php -l clean on all 13 files. Pest binary not in this checkout —
CI path validates the full suite.

Closes tasks.lthn.sh/view.php?id=107

Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-24 08:14:06 +01:00
.agents/skills revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.claude-plugin refactor(plugins): complete dappcore→core rename, add Gemini stub 2026-04-23 18:21:40 +01:00
.codex fix(codex): config.toml compat with codex CLI 0.122+ 2026-04-23 12:32:58 +01:00
.core revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.github/workflows revert fcb9c189e5 2026-04-23 12:32:57 +01:00
claude docs(camofox): fix stale pip install URL to forge.lthn.ai 2026-04-23 18:22:37 +01:00
cmd/core-agent revert fcb9c189e5 2026-04-23 12:32:57 +01:00
codex revert fcb9c189e5 2026-04-23 12:32:57 +01:00
config revert fcb9c189e5 2026-04-23 12:32:57 +01:00
docker revert fcb9c189e5 2026-04-23 12:32:57 +01:00
docs docs(openbrain): alignment audit 2026-04-24 — PARTIAL verdict 2026-04-24 05:36:59 +01:00
google/gemini-cli refactor(plugins): complete dappcore→core rename, add Gemini stub 2026-04-23 18:21:40 +01:00
hermes docs(hermes): add openbrain-recall + openbrain-remember SKILL.md 2026-04-23 17:38:00 +01:00
php fix(brain): close openbrain audit gaps — org scoping + index cleanup + reindex flags + MCP schemas + circuit layer 2026-04-24 08:14:06 +01:00
pkg test(agentic): add HTTPS cert regression tests + fleet sync audit 2026-04-23 18:40:02 +01:00
scripts revert fcb9c189e5 2026-04-23 12:32:57 +01:00
tests feat(hermes): add openbrain_context.py ContextEngine plugin 2026-04-23 17:29:50 +01:00
ui revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.DS_Store revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.gitattributes revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.gitignore revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.mcp.json refactor(plugins): complete dappcore→core rename, add Gemini stub 2026-04-23 18:21:40 +01:00
AGENTS.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
CLAUDE.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
CODEX.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
composer.json fix(composer): autoload php/ not src/php/ to match actual tree layout 2026-04-23 15:43:39 +01:00
core-agent revert fcb9c189e5 2026-04-23 12:32:57 +01:00
core-agent.backup revert fcb9c189e5 2026-04-23 12:32:57 +01:00
go.mod revert fcb9c189e5 2026-04-23 12:32:57 +01:00
go.sum revert fcb9c189e5 2026-04-23 12:32:57 +01:00
llm.txt revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Makefile revert fcb9c189e5 2026-04-23 12:32:57 +01:00
README.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
repos.yaml revert fcb9c189e5 2026-04-23 12:32:57 +01:00
setup.sh revert fcb9c189e5 2026-04-23 12:32:57 +01:00
version.go revert fcb9c189e5 2026-04-23 12:32:57 +01:00
version_example_test.go revert fcb9c189e5 2026-04-23 12:32:57 +01:00

core-agent

A monorepo of Claude Code plugins for the Host UK federated monorepo.

Plugins

Plugin Description Commands
code Core development - hooks, scripts, data collection /code:remember, /code:yes
review Code review automation /review:review, /review:security, /review:pr
verify Work verification before commit/push /verify:verify, /verify:ready
qa Quality assurance fix loops /qa:qa, /qa:fix, /qa:check
ci CI/CD integration /ci:ci, /ci:workflow, /ci:fix

Installation

# Install all plugins via marketplace
claude plugin add host-uk/core-agent

# Or install individual plugins
claude plugin add host-uk/core-agent/claude/code
claude plugin add host-uk/core-agent/claude/review
claude plugin add host-uk/core-agent/claude/qa

Quick Start

# Code review staged changes
/review:review

# Run QA and fix all issues
/qa:qa

# Verify work is ready to commit
/verify:verify

# Check CI status
/ci:ci

Core CLI Integration

These plugins enforce the core CLI for development commands:

Instead of... Use...
go test core go test
go build core build
golangci-lint core go lint
composer test core php test
./vendor/bin/pint core php fmt

Plugin Details

code

The core plugin with hooks and data collection skills:

  • Hooks: Auto-format, debug detection, dangerous command blocking
  • Skills: Data collection for archiving OSS projects (whitepapers, forums, market data)
  • Commands: /code:remember (persist facts), /code:yes (auto-approve mode)

review

Code review automation:

  • /review:review - Review staged changes or commit range
  • /review:security - Security-focused review
  • /review:pr [number] - Review a pull request

verify

Work verification:

  • /verify:verify - Full verification (tests, lint, format, debug check)
  • /verify:ready - Quick check if ready to commit

qa

Quality assurance:

  • /qa:qa - Run QA pipeline, fix all issues iteratively
  • /qa:fix <issue> - Fix a specific issue
  • /qa:check - Check without fixing

ci

CI/CD integration:

  • /ci:ci - Check CI status
  • /ci:workflow <type> - Generate GitHub Actions workflow
  • /ci:fix - Analyse and fix failing CI

Development

Adding a new plugin

  1. Create claude/<name>/.claude-plugin/plugin.json
  2. Add commands to claude/<name>/commands/
  3. Add hooks to claude/<name>/hooks.json (optional)
  4. Register in .claude-plugin/marketplace.json

Testing locally

claude plugin add /path/to/core-agent

License

EUPL-1.2