Wave-4C apply of Wave-3 recommendations for cto-planb. cto is the cleanest profile in the 5-profile fleet — minimal deltas by design (Karpathy Rules 2+3). Active disclosure block: - 3 skills (cto-agent orchestrator + cto-python-toolkit + cto-angular-toolkit) - 0 MCP (deny-by-default; closes bte-MCP-leak risk seen on ceo/steev) - 1 sovereign_api (bte-rest /api/export-design-md — documented pattern) - 12 cortex_tools (13 minus PC-svrnty.tool-cortex-plugin orphan; 2 invoked at runtime: L6-svrnty.core-credentials + PG-svrnty.lib-quality-gates) - 0 active credentials - inherit_builtins: false, inherit_mcp_toolsets: false - sovereign_only: false (INTENTIONAL — claudeCode lives INSIDE sandcastle isolation per CONTRACT.md §5; cto-agent itself runs sovereign qwen3.6) Orphan removal: PC-svrnty.tool-cortex-plugin removed from external_tool_deps (never cited in any cto skill body or lib — per RECOMMENDATIONS §4 C13). Pending JP review (DISCLOSURE.md §12 — paused per Wave-3 hard rule): - §12.1 ADD sandcastle as sovereign_api (governance-critical, may need DISCLOSURE-SCHEMA §4.6 amendment for external_orchestrators surface) - §12.2 KEEP github-pat cred declaration (vault-absent; v2 PR-open needs it) - §12.3 NOTE L6-svrnty.core-credentials runtime mode (cred-adjacent confirm) Refs: - sot/04-STANDARDS/DISCLOSURE-SCHEMA.md (schema_version 1) - sot/04-STANDARDS/DISCLOSURE-TEMPLATE.md - sot/06-REGISTRY/audits/RECOMMENDATIONS-cto-2026-05-24.md - sot/06-REGISTRY/audits/AUDIT-cto-2026-05-24.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| lib | ||
| skills | ||
| .env.example | ||
| .gitignore | ||
| AGENT.md | ||
| CLAUDE.md | ||
| CONTRACT.md | ||
| credbridge.sh | ||
| DISCLOSURE.md | ||
| distribution.yaml | ||
| install.sh | ||
| manifest.yaml | ||
| README.md | ||
| schema.sql | ||
cto (repo) · cto-planb (Hermes profile)
A Chief Technology Officer agent for Hermes, built for Plan B (Québec fresh prepared-meals). Thin orchestrator: decomposes JP/CEO tech goals, invokes sandcastle to run code-modifying agents in isolated Docker/Podman/Vercel sandboxes, judges resulting diffs, opens PRs for human review, and requests JP approval for any deploy. Never deploys directly.
Instance #3 of the C-suite profile distribution family (CMO = #1, CEO = #2, CTO = #3). This repo is cto/; the deployed Hermes profile is cto-planb. Built to the canonical protocol at ../sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md.
Status: v1.0 MVP. Executable
cto-agentorchestrator +cto-worker.shsandcastle helper + 2 toolkit skills (Python + Angular, anchored to real workspace codebases). Approval gate enforced via kanbanblockfor deploy-adjacent escalations; CTO nevergh pr mergeautonomously.
- Identity:
AGENT.md— role, mission, boundaries - Behavior contract:
CONTRACT.md— what CTO does, does NOT do, edge cases (tier T1) - Protocol:
../sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md - Primary tool:
../sandcastle/— Matt Pocock's sandboxed agent orchestrator (MIT, pinned v0.5.11; read-only)
Layout
cto/
├── AGENT.md CONTRACT.md CLAUDE.md README.md
├── manifest.yaml distribution.yaml install.sh credbridge.sh
├── lib/cto-worker.sh # sandcastle invocation + PR opening + 5W helper
├── skills/
│ ├── cto-agent/SKILL.md # orchestrator (v1.0 executable)
│ ├── cto-python-toolkit/SKILL.md # Python stack patterns (workspace-anchored)
│ └── cto-angular-toolkit/SKILL.md # Angular stack patterns (adwright-anchored)
└── schema.sql # cto.db built from this; never committed
Install
git clone https://git.openharbor.io/hermes/cto && cd cto
./install.sh # symlink + skills register + hermes profile install
hermes -p cto-planb skills list | grep cto-agent
hermes kanban assignees | grep cto-planb # verify dispatch-ready
Default install symlinks ~/.hermes/cto-planb → this repo (repo is canonical, edits land live).
Key invariants
- CTO orchestrates via sandcastle, never edits host code directly
- No deploy without JP approval (merge-to-main = deploy gate; CTO never
gh pr merge) - No infrastructure changes without JP approval (DNS, certs, secrets, cron, cloud)
- No edits to
../sandcastle/(read-only mirror) - Thin orchestrator (3 skills: cto-agent + 2 stack toolkits), NOT a 40-skill library
- Every kanban task closes via
kanban completeorkanban block— no protocol violations
Roadmap
| Component | v1.0 (current) | v1.1 (next) | v2 (deferred) |
|---|---|---|---|
cto-agent/SKILL.md |
executable | iteration loop (auto-rerun on test-failure) | sub-agent profiles (coder/reviewer/deployer) |
| Sandcastle invocation | docker default via cto-worker.sh | provider-swap (docker → vercel for parallel) | — |
| Toolkit skills | Python + Angular | extract to cortex/L6-svrnty.lib-{python,angular}-framework | — |
| Approval gate | kanban_block on deploy-adjacent | richer escalation w/ JP DM | deploy gate (CI/CD wired) |
| Observability | stdout 5W | metrics endpoint emit | Grafana/Prometheus MCPs |
| IaC | — | — | Terraform/Pulumi orchestration |
Related
../sandcastle/CONTEXT.md— sandcastle terminology (read before writing any invocation)../cmo/— C-suite reference impl #1 (thick capability pattern)../ceo/— C-suite reference impl #2 (thin orchestrator pattern — CTO follows this)