No description
  • Python 69.4%
  • Shell 21.4%
  • HCL 6.6%
  • Nix 2.6%
Find a file
2026-06-13 13:16:42 +02:00
analysis_agent docs: update service and simulator readmes 2026-06-11 12:57:51 +02:00
decision_agent stabilize live vm repair flow 2026-06-13 01:42:13 +02:00
docs docs: document live vm repair workflow 2026-06-13 13:16:20 +02:00
infrastructure infrastructure: raise vm ollama timeout 2026-06-13 13:16:36 +02:00
local_agent local_agent: lock phoe-nix-src input 2026-06-13 13:16:25 +02:00
log_router log_router: accept ISO-8601 timestamps in journal entries 2026-06-08 17:50:04 +02:00
log_service stabilize live vm repair flow 2026-06-13 01:42:13 +02:00
schemas schemas: commit flake.lock for reproducible nixpkgs pin 2026-06-11 07:43:33 +02:00
scripts scripts: harden live vm repair verification 2026-06-13 13:16:42 +02:00
simulator simulator: add flake lock 2026-06-13 13:16:28 +02:00
token_service token_service: require NODE_API_KEY end-to-end + add config test 2026-06-08 17:50:16 +02:00
.gitignore .gitignore: cover subagent/ working directory and stray uv.lock 2026-06-11 07:44:16 +02:00
AGENTS.md docs: refresh repo overview and current state 2026-06-11 12:57:44 +02:00
audit-implementation-plans.md docs: add implementation plans 2026-06-12 12:14:26 +02:00
audit-plan.md docs: align planning and testing guidance 2026-06-11 12:57:49 +02:00
audit.md docs: add audit report 2026-06-12 12:14:22 +02:00
connectivity-analysis.md docs: add service connectivity analysis 2026-06-12 12:14:37 +02:00
context.md docs: document live vm repair workflow 2026-06-13 13:16:20 +02:00
current-state.md docs: refresh repo overview and current state 2026-06-11 12:57:44 +02:00
document-overview.md Add document-overview.md 2026-06-13 12:56:25 +02:00
idea.md docs: align planning and testing guidance 2026-06-11 12:57:49 +02:00
LICENSE Initial commit 2026-04-17 00:02:23 +02:00
PLAN.md docs: align planning and testing guidance 2026-06-11 12:57:49 +02:00
proof-of-concept-direction.md docs: refresh repo overview and current state 2026-06-11 12:57:44 +02:00
pyproject.toml add cloud analysis and simulation services 2026-06-06 23:52:51 +02:00
README.md docs: document live vm repair workflow 2026-06-13 13:16:20 +02:00
scripts-ci-tui-plan.md docs: add scripts and ci plan 2026-06-12 12:14:43 +02:00

phoe-nix

Phoe-nix is a multi-service NixOS self-healing pipeline.

Today the repo implements a structured cloud-side analysis pipeline plus a local simulator, and local_agent already includes the daemon/runtime and Git-backed repair loop. The next direction is to make that repair loop the primary config-repair engine for disposable VMs. See proof-of-concept-direction.md.

What exists today

  • token_service: issues short-lived, path-scoped SAS upload URLs
  • log_service: tails the journal, batches entries, retries uploads, and spools failed batches locally
  • log_router: normalizes uploaded log batches and publishes them for analysis
  • analysis_agent: consumes logs and observations, calls OpenCode, and emits analysis results
  • decision_agent: turns analysis into remediation intent and stores an audit record in Cosmos DB
  • local_agent: observation, execution, and reporting logic; daemon workers; Cosmos persistence; Service Bus wiring; Git-backed apply_config repair path
  • schemas: shared Pydantic message models
  • simulator: in-process end-to-end exercise of the implemented service cores

The simulator is the best repo-level way to validate the current pipeline without Azure.

Current flow

  1. log_service collects journal entries and uploads batched payloads through a SAS URL from token_service.
  2. log_router normalizes uploaded batches and emits analysis-ready messages.
  3. analysis_agent calls OpenCode and publishes analysis output.
  4. decision_agent writes an auditable decision and publishes remediation intent.
  5. local_agent consumes decisions and can execute the Git-backed repair loop; the longer-term goal is to make this the primary on-node repair path.

Direction

  • target topic flow: analysis-input, analysis-results, final-decisions
  • local_agent remains the main repair engine on disposable VMs
  • repairs target https://github.com/Free-Rat/phoe-nix-config, especially configuration.nix
  • the local agent uses local LLM reasoning, then nixos-rebuild test, then nixos-rebuild switch
  • the proof of concept prioritizes visibility and iteration over production safety

Verify

bash scripts/test.sh
bash scripts/simulate-deployment.sh
bash scripts/run-live-azure-vm-e2e.sh

run-live-azure-vm-e2e.sh runs the Python implementation in a repo-managed environment. It is a real Azure + real VM operator check and intentionally mutating: it can drive local_agent to edit configuration.nix, rebuild, and push a real repo change.

  • current-state.md
  • proof-of-concept-direction.md
  • token_service/README.md
  • log_service/README.md
  • log_router/README.md
  • analysis_agent/README.md
  • decision_agent/README.md
  • local_agent/README.md
  • simulator/README.md
  • docs/implementation.md
  • docs/testing-plan.md
  • docs/remaining-work.md