cto/manifest.yaml
Svrnty 375417a29b feat(cto): initial scaffold v0.1.0
C-suite instance #3 — CTO profile distribution. Thin orchestrator over
sandcastle for code-modifying work across .NET / Dart / Go / Rust /
Python / Angular / Bash stacks.

v0.1 = scaffold only. Orchestrator skill is a stub; v1.0 wires
executable sandcastle.run() invocation.

Scaffold contents (12 files):
- AGENT.md, CONTRACT.md (T1, 12 sections), CLAUDE.md, README.md
- manifest.yaml (14 external_tool_deps across 9 stacks)
- distribution.yaml (Hermes native install contract)
- install.sh (idempotent, --dry-run support), credbridge.sh (gh CLI)
- schema.sql (work_queue + invocations + agent_runtime)
- skills/cto-agent/SKILL.md (stub w/ per-stack routing table)
- .gitignore, .env.example

External tool catalog covers:
- typescript: sandcastle (mattpocock, MIT, v0.5.11)
- dotnet: lib-dotnet-cqrs, tool-cqrs-plugin, pi-bte-plugin
- dart: lib-cqrs-datasource (gRPC client to .NET CQRS)
- go: lib-llm, core-credentials, core-memory, tool-qa
- rust: core-runtime (zeroclaw)
- bash: tool-bash-plugin
- multi: lib-quality-gates (48 gates), lib-skills-engineering (28 patterns)
- cortex-os: tool-cortex-plugin

DESIGN.md (Google Labs spec) compliance documented — CTO ensures UI
work conforms when Stitch / other DESIGN.md consumers are downstream.

Companion changes in workspace:
- hermes/CLAUDE.md workspace map + .gitignore
- sdo/org.yaml: ceo.delegates_to=[cmo, cto], cto agent block
- sot/06-REGISTRY/EXTERNAL-REFS/SANDCASTLE.md (T2, active)
- sot/06-REGISTRY/CORTEX-TOOLING.md (T2, active)
- sot/README.md links updated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 11:35:57 -04:00

119 lines
5.5 KiB
YAML

# CTO profile distribution manifest — machine-readable identity + install contract.
# Read by install.sh. Convention shared by all Hermes profile distributions
# (see ../sot/03-PROTOCOLS/PROFILE-DISTRIBUTION-PROTOCOL.md — the canonical protocol).
profile: cto-planb # Hermes profile name (org-scoped); see also distribution.yaml → name
kind: profile-distribution # family marker; CTO = third C-suite profile (after CMO + CEO)
role: cto # function; same skill bundle could deploy as cto-<other-org>
org: planb # org scope — this profile serves Plan B
version: 0.1.0 # pre-1.0: scaffold only, no executable orchestrator yet
identity: AGENT.md # WHO (role, mission, boundaries)
contract: CONTRACT.md # behavior contract — tier T1 (this file wins)
skills: # exposed to Hermes via skills.external_dirs (→ <repo>/skills)
- skills/cto-agent # orchestrator (loop operator)
# Role tools = scripts at repo root (the "lib"), reached through credbridge.
lib:
- credbridge.sh # credctl → env → CLI (secrets never logged)
# External read-only siblings + cortex/ tooling consumed by this profile.
# Stacks: typescript (sandcastle), dotnet (CQRS), dart (Flutter/gRPC), go (libs+QA), rust (runtime), multi (gates/bash/cortex).
# Python + Angular have no specific cortex/ tooling yet — CTO handles them via sandcastle generic Claude Code path.
external_tool_deps:
# Agent orchestration (external — Matt Pocock, MIT)
- repo: sandcastle
path: ../sandcastle
stack: typescript
pin: v0.5.11
role: sandboxed agent orchestrator for code-modifying work (Docker/Podman/Vercel)
registry: ../sot/06-REGISTRY/EXTERNAL-REFS/SANDCASTLE.md
# .NET / C# (Plan B's primary backend stack)
- repo: L6-svrnty.lib-dotnet-cqrs
path: ../../cortex/L6-svrnty.lib-dotnet-cqrs
stack: dotnet
role: CQRS framework (.NET 10, 21 projects, gRPC source-gen, FluentValidation, Minimal API)
- repo: L5-svrnty.tool-cqrs-plugin
path: ../../cortex/L5-svrnty.tool-cqrs-plugin
stack: dotnet
role: Claude Code plugin for CQRS/gRPC scaffolding + validation patterns
- repo: pi-bte-plugin
path: ../../cortex/pi-bte-plugin
stack: dotnet+design
role: Pi plugin — DTCG validation, voice schema lint, DESIGN.md export, contrast check, .NET 10 build verification
# Dart / Flutter (mobile + desktop client stack)
- repo: L6-svrnty.lib-cqrs-datasource
path: ../../cortex/L6-svrnty.lib-cqrs-datasource
stack: dart
pin: v1.0.1
role: gRPC client bridging Flutter apps to .NET CQRS backends (auto proto gen)
# Go (sovereign core stack — runtime, creds, memory, QA)
- repo: L6-svrnty.lib-llm
path: ../../cortex/L6-svrnty.lib-llm
stack: go
role: multi-provider LLM interface (Ollama/Claude/OpenAI/Gemini) + A/B harness
- repo: L6-svrnty.core-credentials
path: ../../cortex/L6-svrnty.core-credentials
stack: go
role: encrypted credential store (AES-256-GCM) — credctl backend
- repo: L6-svrnty.core-memory
path: ../../cortex/L6-svrnty.core-memory
stack: go
role: long-term memory + semantic search (ONNX embeddings) for agent fleet
- repo: PG-svrnty.tool-qa
path: ../../cortex/PG-svrnty.tool-qa
stack: go
role: QA orchestrator — YAML-defined test scenarios for zeroclaw/voice/gRPC services
# Rust (zero-overhead runtime layer)
- repo: L6-svrnty.core-runtime
path: ../../cortex/L6-svrnty.core-runtime
stack: rust
pin: v0.1.7
role: agent runtime (5MB RAM target, Rust/Tokio) — zeroclaw CLI
# Multi-stack utility
- repo: PG-svrnty.lib-quality-gates
path: ../../cortex/PG-svrnty.lib-quality-gates
stack: multi
role: 48 portable quality gates across Go/Rust/Dart/Python/C#/Docker/Proto (Bash 4+)
- repo: L5-svrnty.lib-skills-engineering
path: ../../cortex/L5-svrnty.lib-skills-engineering
stack: multi
role: 28 engineering patterns — CQRS, gRPC, Flutter design, saga, events, error handling
- repo: L5-svrnty.tool-bash-plugin
path: ../../cortex/L5-svrnty.tool-bash-plugin
stack: bash
role: Bash script engineering plugin (9 categories — init/gate/hook/cron/probe/seal/deploy/test/orchestrate)
- repo: PC-svrnty.tool-cortex-plugin
path: ../../cortex/PC-svrnty.tool-cortex-plugin
stack: cortex-os
role: Cortex sovereign OS installer — identity/sectors/detection/activation bootstrap
# Stacks NOT yet covered by dedicated cortex/ tooling:
# - Python: handled via sandcastle generic Claude Code path; no Python framework lib
# - Angular: handled via sandcastle generic Claude Code path; no Angular framework lib
# CTO declares these gaps in CONTRACT.md §6 (Tech stacks supported).
requires_tools: [terminal, memory_tool]
db:
file: cto.db # runtime state; created from schema.sql; never committed
schema: schema.sql
cron: [] # no cron at launch — CTO runs on-demand or on kanban tick
config: # portable per-install settings
- key: github_org
prompt: GitHub org for code work (e.g., svrnty)
default: "svrnty"
- key: default_sandcastle_provider
prompt: Default sandcastle sandbox provider (docker|podman|vercel|noSandbox)
default: "docker"
credentials: # provisioned via `credctl set <name>` — never shipped
required: [] # v1 has no required creds (no deploy/cloud yet)
optional: [github-pat] # for opening PRs via gh CLI when CTO ships v2