No description
Find a file
Snider 060f5abb66 feat(agent/php): ProfileSelector + ShapeClassifier services per Phase 3 (#826)
ShapeClassifier::classify($ticket) returns 'A'|'B'|'C' per policy v1:
- (severity=critical OR priority=urgent) → A
- has tag in ['security','crypto','core'] → A
- (severity=major OR priority=high) → B
- everything else → C

ProfileSelector::pickFor($ticket) walks AgentProfile::active(), matches
capability tags case-insensitively against ticket.tags:
- Class A: cheapest matching profile (cost_class alphabetic order)
- Class B: any active profile with quota_headroom_pct >= 25
- Class C: deterministic round-robin via last_dispatched_at

Pest Unit tests cover Good (matching profile picked), Bad (no match → null),
Ugly (all profiles disabled → null), plus class A/B headroom gating + class C
round-robin determinism.

Codex note: php -l clean; pest skipped — no vendor/ at this repo root
(downstream lab/lthn.ai owns composer install).

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

Co-authored-by: Codex <noreply@openai.com>
2026-04-26 00:48:37 +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 fix(agent): tighten directory perms in .core/reference/ siblings (Athena #988) 2026-04-25 16:29:28 +01:00
.github/workflows revert fcb9c189e5 2026-04-23 12:32:57 +01:00
claude test(agent): NOSONAR annotations on httpx.MockTransport http:// fixtures (#939) 2026-04-25 12:12:56 +01:00
cmd/core-agent feat(agent): batch — sprint MCP tools + cmd cleanup (#142 #225 #226 #227) 2026-04-25 14:55:23 +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 feat(agent/flow): audit pkg/lib/flow vs RFC + child ticket list (#544) 2026-04-25 23:11:33 +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 feat(agent/php): ProfileSelector + ShapeClassifier services per Phase 3 (#826) 2026-04-26 00:48:37 +01:00
pkg feat(agent/content): SEO Natural Progression scheduler with Googlebot trigger (#543) 2026-04-26 00:17:01 +01:00
plugins feat(agent/plugins): create plugins/{core-go,core-php,infra} tree (RFC.plugin-restructure §1+§2) 2026-04-25 20:05:05 +01:00
scripts revert fcb9c189e5 2026-04-23 12:32:57 +01:00
tests feat(agent/fleet): core login CODE + fleet connect/poll/heartbeat (#539) 2026-04-26 00:13:19 +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
.gitleaks.toml chore(security): add .gitleaks.toml for working-tree path allowlist (Athena #325 dev-exp) 2026-04-25 16:36:47 +01:00
.gitleaksignore chore(security): add .gitleaksignore for 18 documented false-positives 2026-04-25 01:13:00 +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(agent/qa): post-run Poindexter workspace analysis per RFC §7 (#538) 2026-04-25 23:27:30 +01:00
go.sum feat(agent/pipeline): implement pipeline/budget + pipeline/training (#536) 2026-04-25 23:57:27 +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