No description
Per RFC §15.3: restart was losing in-flight queue + workspace registry.
"Ghost agents" and "lost queue" pain now fixed.
Lands:
* pkg/agentic/persist.go (NEW):
- OnStartup(ctx, c): opens .core/db.duckdb via go-store, restores
registry/queue/concurrency groups
- Dead-PID detection: registry entries with status=running but
!pidAlive(PID) → marked failed with question="dead worker on
restart"; status.json files re-written to disk
- Orphaned workspace cleanup: walk .core/workspace/, dir-exists +
registry-says-completed → delete
- OnShutdown(ctx): flushes in-memory registry + queue back to store
before close
* pkg/agentic/prep.go — PrepSubsystem.OnStartup/OnShutdown wired
* pkg/agentic/persist_test.go — AX-10 covering queue restore,
dead-worker reaping, shutdown persistence, invalid-store-payload,
orphan cleanup
* tests/cli/restart/Taskfile.yaml — extended smoke seeds DuckDB state
for queued workspace + dead running worker, asserts status.json
reflects restore correctly
Sandbox blocked from go test by go.work conflicting dappco.re/go/api
replacements (pre-existing); gofmt clean. Supervisor's clean workspace
catches.
Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=537
|
||
|---|---|---|
| .agents/skills | ||
| .claude-plugin | ||
| .codex | ||
| .core | ||
| .github/workflows | ||
| claude | ||
| cmd/core-agent | ||
| codex | ||
| config | ||
| docker | ||
| docs | ||
| google/gemini-cli | ||
| hermes | ||
| php | ||
| pkg | ||
| plugins | ||
| scripts | ||
| tests | ||
| ui | ||
| .DS_Store | ||
| .gitattributes | ||
| .gitignore | ||
| .gitleaks.toml | ||
| .gitleaksignore | ||
| .mcp.json | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| CODEX.md | ||
| composer.json | ||
| core-agent | ||
| core-agent.backup | ||
| go.mod | ||
| go.sum | ||
| llm.txt | ||
| Makefile | ||
| README.md | ||
| repos.yaml | ||
| setup.sh | ||
| version.go | ||
| version_example_test.go | ||
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
- Create
claude/<name>/.claude-plugin/plugin.json - Add commands to
claude/<name>/commands/ - Add hooks to
claude/<name>/hooks.json(optional) - Register in
.claude-plugin/marketplace.json
Testing locally
claude plugin add /path/to/core-agent
License
EUPL-1.2