@echelon-foundry/ros-worker-daemon
v0.1.1
Published
Provider-neutral execution daemon for the Repository Operating System.
Maintainers
Readme
ROS Worker Daemon
ros-worker is a deterministic F#/.NET supervisor for bounded Repository Operating System work. It schedules allowlisted repositories, claims work through an adapter, prepares a fresh Git worktree for each attempt, invokes a provider-neutral model adapter, validates the result independently, emits normalized telemetry, and removes mutable attempt state after preserving evidence.
The daemon is not an agent and is not a project-management database. Model sessions are disposable; durable context lives in the repository, work item, execution record, evidence, and telemetry.
Install from npm
The npm distribution requires Node.js 20+ and the .NET 10 runtime:
npm install --global @echelon-foundry/ros-worker-daemon
ros-worker validate-config --config /absolute/path/to/worker.jsonThe package is a launcher plus a framework-dependent build of the F# daemon. It does not download .NET or perform provider authentication. See PACKAGE-USAGE.md.
Commands
Requires .NET 10:
dotnet build Ros.Worker.slnx
dotnet run --project tests/Ros.Worker.Tests
dotnet run --project src/Ros.Worker -- validate-config --config "$PWD/config/worker.example.json"
dotnet run --project src/Ros.Worker -- resources --config "$PWD/config/worker.example.json"
dotnet run --project src/Ros.Worker -- resources check --config "$PWD/config/worker.example.json"
dotnet run --project src/Ros.Worker -- run-once --config "$PWD/config/worker.example.json"
dotnet run --project src/Ros.Worker -- run --config "$PWD/config/worker.example.json"run-once deliberately performs no work until an external IWorkStore adapter is configured. This preserves the zero-model no-work path and avoids inventing the canonical PM store. The execution engine is exercised end-to-end with deterministic adapters in the test executable.
resources lists configured machine-level execution resources without invoking them. resources check performs configured, non-interactive health probes. It never starts a login flow.
See architecture.md and operations.md.
Maintainer release
Run npm run release:check, update both package metadata files to the intended semantic version, and publish a GitHub release tagged exactly v<version>. The npm workflow builds and tests again before publishing with provenance. Configure the protected npm GitHub environment and its NPM_TOKEN secret first. Full instructions are in npm-publishing.md.
