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>
46 lines
2.3 KiB
SQL
46 lines
2.3 KiB
SQL
-- ~/.hermes/profiles/cto-planb/schema.sql (Hermes-native install location)
|
|
-- cto-planb runtime state — work queue, sandcastle invocation log, agent runtime.
|
|
|
|
CREATE TABLE IF NOT EXISTS work_queue (
|
|
id TEXT PRIMARY KEY, -- uuid
|
|
title TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'queued', -- queued|sandboxing|reviewing|pr-open|blocked|done|killed
|
|
target_repo TEXT NOT NULL, -- relative path or URL
|
|
brief TEXT, -- JSON delegation brief from CEO/JP
|
|
prompt_file TEXT, -- path to sandcastle prompt
|
|
sandbox TEXT NOT NULL DEFAULT 'docker', -- docker|podman|vercel|noSandbox
|
|
branch TEXT, -- temp branch sandcastle creates
|
|
pr_url TEXT, -- github PR URL when opened
|
|
verdict TEXT, -- accept|re-sandcastle|escalate
|
|
iteration INTEGER NOT NULL DEFAULT 0, -- sandcastle re-run count
|
|
max_iterations INTEGER NOT NULL DEFAULT 3, -- escalate after this
|
|
notes TEXT, -- judgment notes
|
|
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS invocations (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
work_id TEXT NOT NULL, -- FK work_queue.id
|
|
iteration INTEGER NOT NULL,
|
|
sandbox TEXT NOT NULL, -- docker|podman|...
|
|
started_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
ended_at TEXT,
|
|
exit_code INTEGER,
|
|
commits TEXT, -- JSON array of {sha}
|
|
completion TEXT, -- matched completion signal if any
|
|
error TEXT,
|
|
FOREIGN KEY (work_id) REFERENCES work_queue(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS agent_runtime (
|
|
key TEXT PRIMARY KEY,
|
|
value TEXT
|
|
);
|
|
|
|
-- Seed agent_runtime defaults
|
|
INSERT OR IGNORE INTO agent_runtime (key, value) VALUES
|
|
('status', 'sleeping'), -- sleeping|running|halted
|
|
('version', '0.1.0'),
|
|
('last_invocation_at', NULL);
|