No description
Find a file
Snider ba8de0c0bb fix(agent): purge sync.Once from pkg/agentic via core.Once (§14A)
Closes Mantis #863 ([agent] Phase 2: purge sync stdlib).

Per RFC plans/code/core/go/RFC.primitives-lifecycle.md §14A (landed core/go
dev 8995a80), swaps the four sync.Once usages to core.Once and the two
sync.Once{} reset-pattern callsites to core.Once.Reset():

pkg/agentic/statestore.go:
- Drop `import "sync"`.
- stateStoreRef.once: sync.Once → core.Once
- closeStateStore reset: `s.stateOnce = sync.Once{}` → `s.stateOnce.Reset()`

pkg/agentic/workspace_stats.go:
- Drop `import "sync"`.
- workspaceStatsRef.once: sync.Once → core.Once
- closeWorkspaceStatsStore reset: `s.workspaceStatsOnce = sync.Once{}` →
  `s.workspaceStatsOnce.Reset()`

pkg/agentic/prep.go:
- Drop `import "sync"`.
- PrepSubsystem.stateOnce + .workspaceStatsOnce: sync.Once → core.Once

The Reset() pattern matches stdlib semantics (see RFC §14A "Tradeoff: Once.
Reset semantics") — caller serialises via the existing closeStateStore /
closeWorkspaceStatsStore structure that nests Reset inside the lifecycle
inverse, so no concurrent Do races are introduced.

Net: 3 files, +7/-11. Mechanical line-edit per RFC §16 migration plan.

Audit re-check post-commit:
  grep -n '"sync"\|sync\.Once\|sync\.Mutex' pkg/agentic/{statestore,workspace_stats,prep}.go
  → empty (lib local variable named `sync` in mirror.go is unrelated; not
    in scope of this ticket).

Pre-flight verification: core.Once + Reset symbols verified present on
core/go dev 8995a80. Local AX-10 build blocked by the same pre-existing
workspace forge dep break that affects all consumers (root cause: fake
v0.8.0-alpha.1 pins per task #28); CI in healthy env will validate.

Co-Authored-By: Athena <athena@lthn.ai>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-25 00:58:49 +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 fix(agent): purge sync.Once from pkg/agentic via core.Once (§14A) 2026-04-25 00:58:49 +01:00
scripts revert fcb9c189e5 2026-04-23 12:32:57 +01:00
tests feat(ax-10): bring agent to v0.8.0-alpha.1 + CLI test scaffold 2026-04-24 23:48:34 +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 feat(ax-10): bring agent to v0.8.0-alpha.1 + CLI test scaffold 2026-04-24 23:48:34 +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