mirror of
https://github.com/Free-Rat/phoe-nix.git
synced 2026-09-12 09:57:35 +02:00
No description
- Python 69.4%
- Shell 21.4%
- HCL 6.6%
- Nix 2.6%
| analysis_agent | ||
| decision_agent | ||
| docs | ||
| infrastructure | ||
| local_agent | ||
| log_router | ||
| log_service | ||
| schemas | ||
| scripts | ||
| simulator | ||
| token_service | ||
| .gitignore | ||
| AGENTS.md | ||
| audit-implementation-plans.md | ||
| audit-plan.md | ||
| audit.md | ||
| connectivity-analysis.md | ||
| context.md | ||
| current-state.md | ||
| document-overview.md | ||
| idea.md | ||
| LICENSE | ||
| PLAN.md | ||
| proof-of-concept-direction.md | ||
| pyproject.toml | ||
| README.md | ||
| scripts-ci-tui-plan.md | ||
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 URLslog_service: tails the journal, batches entries, retries uploads, and spools failed batches locallylog_router: normalizes uploaded log batches and publishes them for analysisanalysis_agent: consumes logs and observations, calls OpenCode, and emits analysis resultsdecision_agent: turns analysis into remediation intent and stores an audit record in Cosmos DBlocal_agent: observation, execution, and reporting logic; daemon workers; Cosmos persistence; Service Bus wiring; Git-backedapply_configrepair pathschemas: shared Pydantic message modelssimulator: 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
log_servicecollects journal entries and uploads batched payloads through a SAS URL fromtoken_service.log_routernormalizes uploaded batches and emits analysis-ready messages.analysis_agentcalls OpenCode and publishes analysis output.decision_agentwrites an auditable decision and publishes remediation intent.local_agentconsumes 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_agentremains the main repair engine on disposable VMs- repairs target
https://github.com/Free-Rat/phoe-nix-config, especiallyconfiguration.nix - the local agent uses local LLM reasoning, then
nixos-rebuild test, thennixos-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.
Related docs
current-state.mdproof-of-concept-direction.mdtoken_service/README.mdlog_service/README.mdlog_router/README.mdanalysis_agent/README.mddecision_agent/README.mdlocal_agent/README.mdsimulator/README.mddocs/implementation.mddocs/testing-plan.mddocs/remaining-work.md