Simplify Athena operator maintenance workflow
This commit is contained in:
@@ -63,7 +63,9 @@ TOOLS = [
|
||||
"and SSH to configured remote systems. Prefer a single focused command and cap noisy output "
|
||||
"with the command itself. The server blocks power control and changes to Athena's SSH, LAN, "
|
||||
"WireGuard, firewall, boot, kernel, mounts and partitions so remote reachability cannot be "
|
||||
"accidentally destroyed. Other commands execute immediately and must be verified afterwards."
|
||||
"accidentally destroyed. Other commands execute immediately and must be verified afterwards. "
|
||||
"Do not clone the canonical repository, request/copy an SSH key, or use Terminal as a substitute "
|
||||
"for the durable file_update, git_publish and recovery workflow."
|
||||
),
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
@@ -84,12 +86,14 @@ TOOLS = [
|
||||
"content-bound ticket, exact preview and confirmation phrase. Supported operations: "
|
||||
"file_update (write repository and deployed stack files), run_checks, compose_deploy, "
|
||||
"container_action, openwebui_sync, git_publish, model_download, benchmark, recovery. Show the complete "
|
||||
"preview to the user and stop. Never execute in the same autonomous tool sequence. "
|
||||
"preview to the user and stop. Never execute in the same autonomous tool sequence. This is the "
|
||||
"supported durable source and Git path: never clone the repository inside a sandbox and never "
|
||||
"request or copy an SSH key. "
|
||||
"file_update payload: {files:[{path,content,expected_sha256?}]}; run_checks: "
|
||||
"{checks:[operator-tests,openwebui-filter-tests,platform-verify,compose-main,compose-mcp]}; "
|
||||
"compose_deploy: {compose_file,services,build}; container_action: {action,containers}; "
|
||||
"openwebui_sync: {}; "
|
||||
"git_publish: {message}; model_download: {url,destination,sha256?}; benchmark: "
|
||||
"git_publish: {message,paths:[exact changed repository paths]}; model_download: {url,destination,sha256?}; benchmark: "
|
||||
"{script,arguments}; recovery: {label}."
|
||||
),
|
||||
"inputSchema": {
|
||||
|
||||
@@ -191,7 +191,7 @@ services:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.athena-operator
|
||||
image: mike-ai/mcp-athena-operator:2.0.0
|
||||
image: mike-ai/mcp-athena-operator:2.1.0
|
||||
container_name: mike-ai-mcp-athena-operator
|
||||
environment:
|
||||
ATHENA_OPERATOR_SOCKET: /operator/operator.sock
|
||||
|
||||
@@ -428,7 +428,7 @@ def read_source(arguments: dict[str, Any]) -> dict[str, Any]:
|
||||
|
||||
|
||||
WORKFLOWS = {
|
||||
"mcp": ["platform/mcp/compose.yaml", "platform/mcp/README.md", "compose.yaml", "docs/COMPONENTS.md", "docs/SECURITY.md", "docs/QWEN_OPERATOR_CONTEXT.md"],
|
||||
"mcp": ["platform/mcp/compose.yaml", "platform/mcp/README.md", "platform/mcp/athena_operator_mcp.py", "platform/hermes/skills/athena-operator/SKILL.md", "compose.yaml", "docs/COMPONENTS.md", "docs/SECURITY.md", "docs/PLATFORM_CONTEXT_MCP.md", "docs/QWEN_OPERATOR_CONTEXT.md"],
|
||||
"model": ["config/install.env.example", "platform/models/manifest.example.yaml", "platform/profiles/", "docs/STANDARD_PROFILE_MATRIX.md", "docs/QWEN_OPERATOR_CONTEXT.md"],
|
||||
"profile": ["platform/profiles/", "router/router_profiles.json", "platform/openwebui/install-models.sh", "docs/STANDARD_PROFILE_MATRIX.md"],
|
||||
"tts": ["compose.yaml", "router/xtts_worker.py", "platform/scripts/rollback-tts-production.sh", "docs/XTTS_EVALUATION_2026-08-23.md"],
|
||||
@@ -453,15 +453,17 @@ def change_workflow(arguments: dict[str, Any]) -> dict[str, Any]:
|
||||
"Capture current state with the narrowest specialist tool.",
|
||||
"Read relevant versioned sources and identify documentation drift.",
|
||||
"Define rollback and protect SSH, LAN, WireGuard and the active inference path.",
|
||||
"Change source-of-truth files, not only a running container.",
|
||||
"Validate syntax/configuration and run a bounded synthetic test.",
|
||||
"Prepare and apply source changes with Athena Operator operation file_update. Never clone the repository inside the sandbox and never request or copy an SSH key.",
|
||||
"Validate syntax/configuration with Athena Operator operation run_checks and run a bounded synthetic test.",
|
||||
"Deploy only named services with Athena Operator operation compose_deploy.",
|
||||
"Verify service health and remote reachability without reading chats or private payloads.",
|
||||
"Update PLATFORM_OVERVIEW/CURRENT_REFERENCE/QWEN_OPERATOR_CONTEXT and the affected runbook.",
|
||||
"Commit and push the private Git repository using a separate authorized Git tool.",
|
||||
"Create and verify a new encrypted recovery bundle and self-contained data-disk kit.",
|
||||
"Commit and push only the explicitly selected changed paths with Athena Operator operation git_publish.",
|
||||
"Create and verify a new encrypted recovery bundle and self-contained data-disk kit with Athena Operator operation recovery.",
|
||||
],
|
||||
"hard_boundaries": [
|
||||
"This context MCP does not modify services, Docker, networking, models or secrets.",
|
||||
"The sandbox needs neither a Git clone nor an SSH key; Athena Operator owns the canonical repository and deploy credentials.",
|
||||
"No shutdown, reboot, kernel/driver, SSH, firewall or VPN change without exact user approval and rollback.",
|
||||
"Never claim Git or recovery is current until separately verified.",
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user