Ruflo v3.32.27 — Policy Controls for Autonomous Agents
Ruflo v3.32.27 — Policy Controls for Autonomous Agents
Agents can now move quickly without receiving unlimited authority.
Ruflo v3.32.27 adds an enforceable policy layer between an agent's intent and a
consequential action. Teams can define what an agent may do, cap spend and
concurrency, require authenticated approval for sensitive actions, constrain
delegated workers, and audit every decision through a tamper-evident receipt
ledger.
Existing installations remain compatible. Start in legacy, rehearse the
policy in observe, and enable blocking with enforce after reviewing the
recorded decisions.
What you can use it for
- Put daily cost and token ceilings around model or tool calls.
- Require approval for production deploys, destructive actions, or flywheel
promotion. - Limit tools, MCP servers, namespaces, environments, network access, and
delegated authority. - Run bounded concurrent Codex development with a separate worktree and reduced
capability envelope for every writing worker. - Allow MetaHarness to benchmark candidates concurrently without allowing the
optimizer to promote itself. - Audit policy decisions and detect modified or reordered receipts.
- Filter AgentDB retrieval by typed provenance without breaking legacy records.
Install or upgrade
The verified GitHub release artifacts are available now. Their embedded helper
manifest is signed. Install the policy runtime, CLI, and Ruflo wrapper together:
npm install --global \
https://github.com/ruvnet/ruflo/releases/download/v3.32.27/claude-flow-security-3.0.0-alpha.13.tgz \
https://github.com/ruvnet/ruflo/releases/download/v3.32.27/claude-flow-cli-3.32.27.tgz \
https://github.com/ruvnet/ruflo/releases/download/v3.32.27/ruflo-3.32.27.tgz
ruflo --version
ruflo policy statusThe normal npm install --global ruflo@3.32.27 path will become available
after npm trusted-publisher authorization is completed. No source rebuild is
required.
Safe rollout
Inspect or migrate the local policy state:
ruflo policy init
ruflo policy status
ruflo policy verifyObserve policy decisions without blocking normal actions:
ruflo policy init --mode observeAdd a daily model budget:
ruflo policy budget set '{
"id": "daily-model-budget",
"action": "model.call",
"maxCostUsd": 10,
"maxTokens": 500000,
"periodMs": 86400000
}'Evaluate an action:
ruflo policy evaluate '{
"identity": {
"id": "codex-worker-1",
"type": "agent",
"roles": ["developer"]
},
"action": {
"type": "model.call",
"resource": "openrouter",
"environment": "development",
"costUsd": 0.12,
"tokens": 8000,
"concurrency": 2,
"network": true
}
}'After reviewing receipts and defining explicit rules:
ruflo policy init --mode enforceThe end-user quick start walks through rules, budgets, delegated
capability envelopes, concurrent Codex workflows, MetaHarness promotion, and
troubleshooting.
Policy-governed MetaHarness
Candidate evaluation is now bounded by both the flywheel SafetyEnvelope and the
agentic policy engine:
ruflo metaharness flywheel run \
--project-root . \
--proposer local \
--sample 40 \
--max-concurrency 2 \
--timeout-ms 120000 \
--private-key /path/to/flywheel-private.pem \
--public-key /path/to/flywheel-public.pemPromotion remains a separate, explicit, policy-authorized transaction:
ruflo metaharness flywheel promote <receipt-id> \
--project-root . \
--public-key /path/to/flywheel-public.pem \
--approval-id <authenticated-approval-id> \
--confirmDarwin proposes; Ruflo disposes. The optimizer cannot authorize its own
promotion.
Safe defaults
- Existing projects migrate in backward-compatible
legacymode. observerecords denials but does not block ordinary actions.- Capability-envelope violations are always blocked; delegated authority cannot
expand. observeandenforceare default-deny when no rule matches.- Budgeted requests must report cost or token usage; missing metering does not
bypass a ceiling. - Local policy administration requires an interactive terminal.
- Approval issuance requires an authenticated human identity adapter. A local
TTY is not treated as identity proof. - MetaHarness, Darwin, and Flywheel remain optional dependencies.
- Missing optional packages do not break the local policy engine or existing
AgentDB workflows.
AgentDB provenance
This release also includes ADR-323 typed provenance across AgentDB retrieval:
user_claim, agent_output, system_observation, tool_result, and
unknown. Legacy records remain readable and are conservatively classified as
unknown; unsigned caller claims are never silently promoted to trusted
evidence.
Compatibility
This is a backward-compatible patch release. Existing Ruflo and AgentDB
installations continue to work without opting into enforcement. The release
preserves the v3.32.26 flywheel transaction and receipt formats while adding
policy authorization around privileged operations.
Release artifacts:
claude-flow-security-3.0.0-alpha.13.tgz
claude-flow-cli-3.32.27.tgz
claude-flow-3.32.27.tgz
ruflo-3.32.27.tgz
SHA256SUMS
Validation
The implementation passed:
- the complete ADR-324 policy-engine and security test suites;
- atomic budget, approval, delegation, evidence, and receipt-ledger tests;
- concurrent Codex worktree coordination tests;
- governed in-process MetaHarness evaluation and promotion tests;
- the 122-case MetaHarness contract suite;
- operation without AgentBBS or MetaHarness installed;
- MCP discoverability, install-safety, type-check, package, CodeQL, and
cross-platform CI gates; - policy-engine performance benchmarks.