Commit Graph
20 Commits
Author SHA1 Message Date
1af3abedd7 feat(marketplace): install Agentic QE (agentic-qe-fleet) from the ruflo marketplace (#3950)
* feat(marketplace): list Agentic QE (agentic-qe-fleet) as an external, pinned plugin

The ruflo marketplace now lists agentic-qe-fleet by a git-subdir source pinned
to agentic-qe v3.15.0 (1363bc7d), so `/plugin install agentic-qe-fleet@ruflo`
installs the plugin from its own repository: 11 QE agents, 9 skills, 9 commands,
the agentic-qe MCP server pinned to 3.15.0, and the aqe-mod guard.

Tooling that assumed every entry is a local ./plugins folder now handles an
external one:
- validate-marketplace.yml checks an external entry (git-subdir, https url,
  path without .., full sha, description) instead of failing on it
- smoke-all-plugins checks out each external entry at its sha and runs its own
  scripts/smoke.sh (--skip-external to omit); the workflow also runs when
  marketplace.json changes
- ruflo-console 0.40.9: plugin-map line (Dev Tools), the coverage test requires
  a line for every external entry, and the Plugin Catalog reads an external
  plugin from its install path in installed_plugins.json (EXT badge)
- README and plugins/README rows; ADR-484 records the decision and evidence

* docs(adr-484): record what Claude Code before 2.1.69 does with the external entry, and main's existing floor

* fix(ci): fence the external-plugin smoke: github-only sources, realpath containment, scrubbed env and cwd, read-only token

Review findings 1 and 2 on #3950:
- scripts/external-plugins.mjs: sources must be https://github.com/<owner>/<repo>(.git);
  the plugin folder, its manifest and smoke.sh must stay inside the checkout after realpath;
  the external smoke.sh runs with only PATH, LANG, TERM and CI kept (no GITHUB_TOKEN,
  ACTIONS_*, *_TOKEN, *_KEY, *SECRET*), a temporary HOME, and its checkout (in a temp
  folder outside the workspace) as cwd; git fetch runs with the same env
- validate-marketplace.yml applies the same github-only allowlist and path rule
- all-plugins-smoke.yml: permissions contents: read, persist-credentials: false,
  runs tests/external-plugins.test.mjs
- tests/external-plugins.test.mjs: non-github host and lookalikes refused by both
  validators, symlink escapes refused, child env has no GITHUB_TOKEN and cwd is outside
  the workspace

* ci(all-plugins-smoke): raise the smoke-all timeout from 10 to 15 minutes

Review finding 4 on #3950: green runs on main take 9m40-9m50s, so the job sat on the
10-minute cap and was cancelled at 10m16s on this PR.

* test(console): an external plugin's description, version, source line and docs are stripped of escapes and bidi controls

Review finding 3 on #3950: the catalog reader already passes every external manifest
string through plain() (ESC/CSI/OSC sequences, C0/C1 controls, U+202A-202E and
U+2066-2069 removed); this test holds it to that.

* ci(test-ratchet): tests/external-plugins.test.mjs runs under node --test, not the root vitest

all-plugins-smoke.yml runs it with node --test; vitest reported "No test suite found".

* feat(marketplace): move the agentic-qe-fleet pin to v3.15.1 (4f0f8412)

agentic-qe v3.15.1 changes only the aqe-mod guard (#920: hardened, still tighten-only,
same engine API and events as 3.15.0) and pins agentic-qe@3.15.1 in .mcp.json.

* docs(adr-484): install evidence re-run at the v3.15.1 pin

* feat(marketplace): move the agentic-qe-fleet pin to v3.15.2 (9db36edf)

agentic-qe v3.15.2: aqe-mod reports its real version, keeps guard totals and the last
refusal across sessions (additive totals/lastRefusal in status.json), and never reads or
writes its status file through a symlink (adds $.fs.read and $.fs.stat); guard judging
unchanged. .mcp.json pins agentic-qe@3.15.2. ADR-484 evidence re-run at this pin.

* fix(marketplace): plain-name paths for external plugins, pin-review note, one marketplace for agentic-qe-fleet

- both validators (scripts/external-plugins.mjs, validate-marketplace.yml) require the
  plugin path to match ^[A-Za-z0-9._-]+(/[A-Za-z0-9._-]+)*$ with no . or .. segment:
  %2e%2e, a\..\b, a//b and a trailing slash are refused; tests cover both validators
- ADR-484: every pin bump needs a review of the pinned scripts/smoke.sh
- READMEs: install agentic-qe-fleet from the agentic-qe or the ruflo marketplace, not both

* feat(marketplace): move the agentic-qe-fleet pin to v3.15.3 (d7e5ffa7)

The plugin at v3.15.3 differs from v3.15.2 only in its version and its MCP
pin (agentic-qe@3.15.3). ADR-484's evidence records the install re-run at
the new pin.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.4 (bec02b13)

The plugin at v3.15.4 differs from v3.15.3 only in its version and its MCP
pin (agentic-qe@3.15.4). ADR-484's evidence records the install re-run at
the new pin.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.5 (d65ede14)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(console): leave the console version bump to the maintainer at merge

The console version and CHANGELOG entry collided with every console release on
main (four rebases on 2026-10-12, each only plugins/ruflo-console/CHANGELOG.md).
plugin.json, hooks/version.ts, scripts/smoke.sh and CHANGELOG.md now match
main; ADR-484 and its index row say 'next console release'.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.6 (0fa34d24)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.7 (7f2d091d)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.8 (d9ce98f7)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.9 (d1c33d2b)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* chore(plugins): pin agentic-qe to v3.15.10 (e5814a2f)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: rUv <ruv@ruv.net>
2026-10-19 22:55:58 -04:00
ruv 06d38d059a feat(ruflo-protector): Project Anatole plugin, tests, corpus gate, bench, fleet registration
ruflo-mods 0.3.14: /ruflo-mods shows one protector row from .claude-flow/protector-mod/status.json.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-05 15:06:42 -04:00
ruv b84cd3b777 feat(ruflo-console): auto-open only in a ruflo project, remember a person's close, every action argv tested
- autoOpen is gated on a ruflo project; Esc or the pane's mark persists
  isClosedByPerson so a dismissed cockpit stays shut next session
- tests/actions.test.ts: each confirm-gated palette action asks, runs nothing
  until yes, then exactly its fixed argv (13 actions)
- radar axis words, handoff arrows name the target agent, gantt now marker
- READMEs: /ruflo swarm and /ruflo mods, old names deprecated for one release;
  ruflo-swarm panel now defaults to command

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-01 22:26:03 -04:00
ruv 6eb25a823c feat(ruflo-console): tests, smoke, bench, marketplace entry, CI baseline
Kit tests (19) for every view, hotkeys, confirm-gated claims, refusal,
empty project, narrow and desktop fallbacks, the frame loop stopping when
hidden or unfocused, hostile text and the band. Pure vitest specs (18)
for readers, CLI JSON, cell graphics and $.ruflo type parity.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-01 21:34:10 -04:00
ruv d3a3979ae6 Merge origin/main into feat/ruflo-ruos
Resolves .claude-plugin/marketplace.json and scripts/ci-test-baseline.txt
after #3608/#3607 merged: both sides appended entries, so the resolution
keeps both (ruflo-mods + ruflo-ruos marketplace entries; all baseline blocks).

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-01 19:29:44 -04:00
ruv b928e71ef1 chore(ruflo-ruos): marketplace entry (handed over by integration owner); ADR mod contract
- .claude-plugin/marketplace.json: ruflo-ruos entry, must land with the
  plugin dir (validate-marketplace checks the source exists)
- ADR-405: deferred mod part uses the flat contract
  $.ruflo.segment({id:'ruos', text}) and $.ruos.* (try/catch, vendored types)

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-01 18:03:50 -04:00
ruv d48897fb34 feat(mods): ruflo-mods plugin — ruflo as a Claude Code mod (ADR-404)
An opt-in hooks module (Claude Code function hooks, early access) with
in-process equivalents of the classic per-event hooks:

- prompt.submit: router.cjs routing + ranked-memory context, text identical
  to hook-handler.cjs route; #3567 no-match semantics
- tool.check: tighten-only (stricter of chain and ruflo), pre-bash list and
  the claude-code.* rules of ruflo policy; fails closed by one step
- tool.call/turn.complete/session.end: edit records in recordEdit's format
- session.measure/agent.spawn: cost-tracker budget ladder (opt-in)
- session.start: ownership handshake (RUFLO_MODS_OWNS), /ruflo-mods

Owns route/post-edit only where the classic hook-handler hands them over.
Kit tests (claude plugin test, 7/7 in the real engine), static security
smoke (9/9), marketplace entry.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-01 17:51:02 -04:00
rUv fce8e6da5a feat(plugin): add multi-tenant RuFlo AI Team service (#3536)
* feat(plugin): add multi-tenant RuFlo AI Team service

* fix(plugin): isolate AI Team validation from root test discovery

* fix(plugin): document deployment option precedence

* fix(plugin): satisfy Claude directory manifest and tool scoping

* fix(plugin): isolate Claude directory review bundle

* fix(plugin): include Claude MCP endpoint declaration

* docs(plugin): complete Claude directory listing links

* docs(plugin): disclose personal data and retention

* feat(plugin): publish complete RuFlo Claude marketplace
2026-09-28 23:32:27 -04:00
rUv ac08e4e02f docs(plugins,skills): surface v3.40.0 cross-host federation + claims (#3254)
* docs(plugins,skills): surface v3.40.0 cross-host federation + claims capabilities

The agentbbs federation plugin and the claims skill still described only
Phase-1 room coordination. Update them to the shipped 3.40.0 surface.

- plugins/ruflo-bbs-federation/plugin.json: 0.1.0 -> 0.2.0. Document the
  Phase-2 cross-host tools (identity, peer_add, peers, serve, sync),
  Ed25519-signed envelopes, registry-anchored pinning, drop/count of
  unverified envelopes, network-agnostic HTTP-pull transport, and claim
  coordination. Keywords: drop phase-1-mvp; add cross-host, signed-envelopes,
  pinned-peers, registry-anchored-pinning, union-merge, claims.
- plugins/ruflo-bbs-federation/skills/cross-host-federation/SKILL.md (new):
  the practical join/serve/publish/sync flow, the pull-not-push model, the
  JSON-stable-payload gotcha, work-claim messages + rules, and the security
  model (registry-anchored pinning, no secrets in payloads, content-is-data).
- .agents/skills/claims/SKILL.md: add a Cross-Host Work Claims section —
  the claims_* runtime ledger tools plus the federated ClaimIssued/Released/
  Handoff/Ack messages and ownership rules, distinct from the existing
  authorization claims.
- marketplace.json: bbs-federation description updated to Phase 2.

Docs only — no code or tool-signature changes.

Co-Authored-By: RuFlo <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_013u4pmL9ZUAXb6usVQgNo67

* fix(plugins): add missing manifest for ruflo-deepseek-harness

The Validate Marketplace workflow requires every plugins/*/ dir to carry
.claude-plugin/plugin.json. ruflo-deepseek-harness has agents/commands/
scripts/skills but no manifest, so main's validate has been red since
2026-08-21 and every PR touching plugins inherits the failure. Pre-existing;
surfaced here because this PR is the one touching plugin manifests.

Co-Authored-By: RuFlo <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_013u4pmL9ZUAXb6usVQgNo67
2026-09-10 01:02:29 +00:00
ruv d33ef4bf8a feat(plugin): add ruflo-music plugin for Cognitum Music (cogmusic MCP)
Wraps the cogmusic MCP server (music.cognitum.one, MiniMax-Music3) as a
Ruflo plugin: 2 agents (music-composer for lyrics/prompt writing,
music-producer as the pipeline entry point), 7 skills mapped onto the 6
cogmusic MCP tools plus a one-time connect/setup skill, a /music
dispatcher command, and an ADR documenting the PAT auth model,
audio_url delivery pattern, and disclosed reliability history.

First plugin in this marketplace whose skills reference MCP tools from
a server other than ruflo-core (mcp__cogmusic__*) — documented
explicitly in ADR-0001 as a deliberate, live-verified deviation from
the CLI-wrapping convention every sibling plugin follows.

Verified: 10/10 structural smoke checks, all cross-file relative links
resolve, all six referenced MCP tool names match the real cogmusic
surface exactly.

Co-Authored-By: RuFlo <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_01G3Fkc9qcZ2AkwGPce83yTa
2026-08-27 16:45:36 -04:00
rUv 8e62a8bd8d fix(plugins): pin ruflo-core MCP launch path + register 3 missing marketplace plugins (#2975)
ADR-382 Part A:

- plugins/ruflo-core/.mcp.json launched the MCP server via a bare
  `npx -y @claude-flow/cli@latest`, which always re-resolves to the
  newest registry version regardless of any local `npm install
  @claude-flow/cli` a user separately pinned. Add scripts/mcp-launch.cjs,
  a small launcher mirroring hook-handler.cjs's resolveCliBinForHook()
  (candidate list + dist/src/index.js existence guard against a
  source-only marketplace checkout), and point .mcp.json at it via the
  documented ${CLAUDE_PLUGIN_ROOT} substitution. Falls back to the
  original npx @latest invocation only when no local install resolves.

- .claude-plugin/marketplace.json listed 35 plugins while plugins/ has
  38 directories; register the 3 missing ones (ruflo-agntcy,
  ruflo-bbs-federation, ruflo-business-pods), descriptions sourced from
  each plugin's own .claude-plugin/plugin.json.

Ref: ADR-382, #2971
2026-08-11 18:25:49 -04:00
ruv e2b48c32ce chore(marketplace): register ruflo-metaharness and ruflo-arena plugins
Both plugins live in plugins/ on disk but were missing from
.claude-plugin/marketplace.json, so `/plugin marketplace add ruvnet/ruflo`
in Claude Code did not surface them.

Adds:
- ruflo-metaharness (ADR-148/149/150) — score, genome, mint, mcp-scan,
  threat-model, oia-audit; optional dep, never required at runtime
- ruflo-arena (ADR-147/148) — competitive ruliology arenas, tournaments,
  adaptive co-evolution of program strategies

Manifest now lists 35 plugins, matching the 35 ruflo-* directories under
plugins/. JSON validated with python3 -m json.tool.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-06-18 14:11:28 -04:00
Ofer Shaal b28c8a4293 Register ruflo-graph-intelligence in marketplace manifest (#2051)
The plugin directory plugins/ruflo-graph-intelligence/ exists with a
valid .claude-plugin/plugin.json, but the marketplace manifest does not
list it, so /plugin install ruflo-graph-intelligence@ruflo fails with
'Plugin not found in marketplace ruflo'.

Add the missing entry, alphabetically placed between ruflo-federation
and ruflo-iot-cognitum to match the ordering of recent additions.
2026-05-19 10:21:40 -04:00
rUvandReuven ef73a1616f feat(ruflo-agent): rename ruflo-wasm → ruflo-agent + Claude Managed Agents (cloud) runtime — ADR-115 (proposed→accepted, implemented) (#1929)
* docs(adr): ADR-115 — Claude Managed Agents as a cloud backend for rvagent (explored + validated)

Records the proposal to add `runtime: "managed"` to ruflo's rvagent
interface (ruflo-wasm / @ruvector/rvagent-wasm / wasm_agent_* MCP tools),
backed by Anthropic's Claude Managed Agents API (beta), as a second backend
alongside the local WASM sandbox — mirroring the ConsensusTransport
LocalTransport|FederationTransport pattern (ADR-095 G2 / ADR-104). The
agent/environment/session/events model maps ~1:1 to wasm_agent_create/
prompt/files/terminate + the gallery.

Validated live against api.anthropic.com/v1 with the org's Anthropic key
(GCP claude-flow/anthropic-api-key): created an agent + environment + session,
sent a bash task, observed the full event log (status_running → user.message
→ tool_use(bash) → tool_result → agent.message("Done.") → status_idle,
stop_reason end_turn), cleaned up. ~7s for a trivial Haiku task.

High-value combos noted: ruflo's own MCP server as a Managed Agent tool
source (cloud-hosted ruflo, zero local infra); Managed Agent session as a
third task_assign executor (closes #1916 items 3/4); long-running/async work;
skills + define-outcomes parity. Constraints: opt-in/off-by-default, needs
ANTHROPIC_API_KEY + beta access, plugin-level @anthropic-ai/sdk dep,
cost-tracking + orphaned-session GC, beta churn, branding.

Status: proposed. Registered in AgentDB (adr-ADR-115) + adr-patterns.

Co-Authored-By: RuFlo <ruv@ruv.net>

* refactor(plugins): rename ruflo-wasm → ruflo-agent (agent-runtimes home; ADR-115 prep)

`ruflo-wasm` only covered local WASM-sandboxed agents (rvagent —
@ruvector/rvagent-wasm, the wasm_agent_*/wasm_gallery_* MCP tools). It's
becoming the home for *all* ruflo agent runtimes: the existing local-WASM
backend plus Anthropic's Claude Managed Agents as a cloud backend (ADR-115),
behind one interface — same local-vs-cloud pattern as ConsensusTransport.

- git mv plugins/ruflo-wasm → plugins/ruflo-agent
- plugin.json: name ruflo-wasm → ruflo-agent; description/keywords now span
  both runtimes (rvagent/wasm + managed-agents/anthropic/cloud)
- .claude-plugin/marketplace.json entry renamed
- README / plugins/README / docs/index / cli README / ruflo README /
  discover-plugins SKILL / verification/inventory.json / ADR-115 — refs updated
- wasm_agent_* / wasm_gallery_* MCP tool names are unchanged (they stay; the
  plugin is just renamed). managed_agent_* tools land next per ADR-115.

(Left `ruflo-wasm-mcp` in ruvocal/workerClient.ts alone — unrelated worker MCP name.)

Co-Authored-By: RuFlo <ruv@ruv.net>

* feat(cli): managed_agent_* MCP tools — Claude Managed Agents cloud runtime (ADR-115)

Six new MCP tools wrapping Anthropic's Claude Managed Agents REST API (beta,
`anthropic-beta: managed-agents-2026-04-01`) via plain fetch — no new SDK dep:

  managed_agent_create    agents.create + environments.create + sessions.create   ↔ wasm_agent_create (CLOUD counterpart)
  managed_agent_prompt    events.send(user.message) + poll events until idle       ↔ wasm_agent_prompt
  managed_agent_status    GET /v1/sessions/{id}
  managed_agent_events    GET /v1/sessions/{id}/events  (full transcript)           ↔ wasm_agent_files
  managed_agent_list      GET /v1/sessions
  managed_agent_terminate DELETE /v1/sessions/{id} (+ optionally the env)           ↔ wasm_agent_terminate

Needs ANTHROPIC_API_KEY (or CLAUDE_API_KEY); every tool degrades gracefully
with a structured "use wasm_agent_* for a local no-key runtime" error when the
key is absent — the CLI/MCP server stays up. ADR-112-compliant descriptions
(each says when wasm_agent_* / native is the right call instead). Registered
in mcp-client.ts. Lives conceptually in the `ruflo-agent` plugin (the
`ruflo-wasm`→`ruflo-agent` rename in the prior commit).

Validated live against api.anthropic.com with the org's Anthropic key (GCP
claude-flow/anthropic-api-key) via `ruflo mcp exec -t managed_agent_*`:
create (haiku) → prompt ("echo … > /tmp/r.txt && cat") → got finished:true,
status:idle, stopReason:end_turn, assistantText:"Done.", toolUses:[bash],
13 events → terminate (sessionDeleted+environmentDeleted). No-key path returns
the graceful error. audit-cli-mcp-tools 311 registered/0 dangling;
audit-tool-descriptions 0 no-guidance; cli build clean.

Co-Authored-By: RuFlo <ruv@ruv.net>

* feat(ruflo-agent): wire the managed-agent (cloud) runtime into the plugin + CI smoke

- skills/managed-agent/SKILL.md — drives the cloud runtime: managed_agent_create
  / prompt / status / events / list / terminate, with the WASM-vs-managed
  decision table, the ANTHROPIC_API_KEY prereq + graceful fallback, the
  mcpServers-reachability caveat, and the cost/cleanup discipline (a cloud
  session bills until terminated). Explicit allowed-tools (no wildcard).
- commands/managed-agent.md — quick "list cloud sessions / status / transcript
  / clean up" command (the cloud sibling of /wasm).
- plugin.json — kept rvagent-wasm + ruvllm-wasm keywords (still built on those);
  added managed-agents/anthropic/cloud.
- smoke.sh: step 1 now also asserts name=ruflo-agent + the managed-agents
  keywords; step 10 expects ADR-0001 status `Accepted` (was stale `Proposed`,
  pre-existing red); new step 12 — managed-agent skill+command exist + all 6
  managed_agent_* tools referenced + the skill keeps an explicit allowed-tools
  list + offers the wasm_agent_create fallback. 12 passed / 0 failed.
- .github/workflows/ruflo-agent-smoke.yml — new CI job running smoke.sh on any
  plugins/ruflo-agent/** change (the plugin had no CI gate before).

Validated: `claude --plugin-dir plugins/ruflo-agent` loads the plugin and lists
its skills (managed-agent, wasm-agent, wasm-gallery); plugin.json + all skill
frontmatters parse; smoke.sh 12/0.

Co-Authored-By: RuFlo <ruv@ruv.net>

* docs(adr): ADR-115 → Accepted + Implementation section (managed_agent_* landed)

Status Proposed → Accepted. Added an Implementation (2026-05-12) section:
the ruflo-wasm→ruflo-agent rename, the 6 managed_agent_* MCP tools (plain
fetch, no new SDK dep, graceful no-key degradation, ADR-112 descriptions),
the managed-agent skill+command, the smoke.sh/ruflo-agent-smoke.yml CI guard,
the live e2e validation (create→prompt→terminate against api.anthropic.com
with the GCP anthropic-api-key) and `claude --plugin-dir` validation, and the
called-out follow-ups (runtime:"managed" unification, deployed HTTP ruflo MCP
server for the cloud-hosted-ruflo combo, task_assign/federation dispatch to a
Managed Agent session, cost-tracking + orphaned-session GC, multiagent/outcomes).
Tracking issue: #1931.

Co-Authored-By: RuFlo <ruv@ruv.net>

* test(cli): no-network guard for managed_agent_* tools (ADR-115)

__tests__/managed-agent-tools.test.ts (10 cases): the 6 managed_agent_*
tools are registered; each has an object inputSchema + a ≥80-char,
ADR-112-ish, unique description that names the wasm_agent_*/native fallback;
and — crucially — every handler degrades gracefully with no ANTHROPIC_API_KEY/
CLAUDE_API_KEY: no throw, structured error mentioning the key + the
wasm_agent_create fallback, no network call (so the CLI/MCP server stays up
offline). Plus managed_agent_prompt's missing-sessionId/message validation.

Co-Authored-By: RuFlo <ruv@ruv.net>

* docs(adr): ADR-115 — add the third runtime (Claude Agent SDK) to the picture

ADR-115 adds the *cloud* runtime (Managed Agents); add a section noting the
natural *third* runtime — the Claude Agent SDK (@anthropic-ai/claude-agent-sdk,
"Claude Code as a library": query()/ClaudeSDKClient, hooks, subagents, MCP,
permission modes, sessions, loads .claude/ config + plugins; runs in-process,
full host trust). ruflo-agent → three runtimes behind one model:

  WASM (rvagent)   local sandbox, no host fs/net   untrusted/portable/offline
  SDK  (future)    your process, your filesystem    a real Claude agent loop on the local repo — the in-process `claude -p`
  Managed          Anthropic cloud container        long-running/async, no local infra

The SDK runtime's killer combo: `mcpServers: { ruflo: { command: "npx", args: ["ruflo","mcp","start"] } }` — a *local* stdio MCP server, so the agent gets ruflo's 314 tools with zero deployment (vs Managed Agents needing a reachable URL). Anthropic positions SDK→Managed as prototype→production. Costs: heavy dep (bundles a Claude Code binary), full host trust (no sandbox — least isolated), needs an API key. Implementing it = a follow-up, likely ADR-116 (tracked in #1931).

Co-Authored-By: RuFlo <ruv@ruv.net>

---------

Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
2026-05-12 10:24:03 -04:00
rUvandReuven 26f3230da2 fix: register 12 missing plugins in marketplace.json (#1680)
The marketplace registry only listed 20 of 32 plugin source directories,
so users running /plugin marketplace add ruvnet/ruflo never received the
remaining 12 — including ruflo-iot-cognitum, leaving /iot unreachable.

Added: ruflo-adr, ruflo-cost-tracker, ruflo-ddd, ruflo-federation,
ruflo-iot-cognitum, ruflo-knowledge-graph, ruflo-market-data,
ruflo-migrations, ruflo-neural-trader, ruflo-observability,
ruflo-ruvector, ruflo-sparc.

Marketplace now lists all 32 plugins matching the source tree.

Co-authored-by: Reuven <cohen@ruv-mac-mini.local>
2026-04-30 11:22:44 -04:00
Reuvenandclaude-flow 851f3ed4ce feat: add ruflo-goals plugin — GOAP planning, deep research, horizon tracking
4 skills: deep-research, goal-plan, horizon-track, research-synthesize
3 agents: goal-planner, deep-researcher, horizon-tracker
1 command: /goals

Wires memory, task, workflow, neural, agentdb, and intelligence MCP
tools for long-horizon research and adaptive replanning.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-27 23:52:25 -04:00
Reuvenandclaude-flow 81418649c6 feat: add 19 Claude Code native plugins with 64 skills, 25 commands, 21 agents
Complete plugin marketplace for Ruflo with validated Claude Code plugin format:

- ruflo-core: MCP server, status, doctor, plugin discovery
- ruflo-swarm: swarm coordination, Monitor, worktree isolation
- ruflo-autopilot: autonomous /loop completion with learning
- ruflo-intelligence: SONA neural patterns, trajectory learning, routing
- ruflo-agentdb: AgentDB controllers, HNSW vector search, RuVector
- ruflo-aidefence: AI safety scanning, PII detection, prompt defense
- ruflo-browser: Playwright browser automation, testing, scraping
- ruflo-jujutsu: git diff analysis, risk scoring, reviewer recs
- ruflo-wasm: sandboxed WASM agents and gallery sharing
- ruflo-workflows: workflow templates, orchestration, lifecycle
- ruflo-daa: Dynamic Agentic Architecture, cognitive patterns
- ruflo-ruvllm: local LLM inference, MicroLoRA, SONA, chat format
- ruflo-rvf: RVF portable memory, session persistence, transfer
- ruflo-loop-workers: background /loop workers, CronCreate
- ruflo-security-audit: CVE scanning, dependency checks
- ruflo-rag-memory: simple store/search/recall interface
- ruflo-testgen: test gap detection, TDD workflow
- ruflo-docs: doc generation, drift detection
- ruflo-plugin-creator: scaffold, validate, publish new plugins

All 19 pass `claude plugin validate`. Skills auto-discovered from
directory structure (not declared in plugin.json). Each skill wires
to ruflo MCP tools via allowed-tools frontmatter.

Includes: marketplace.json, GitHub Pages storefront, CI validation
workflow, minimalist README with USERGUIDE split.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-27 23:07:33 -04:00
rUvandClaude fb00464d0f [release] v2.5.0-alpha.141 - SDK integration and settings updates
- Add checkpoint command and checkpoint manager
- Add SDK integration with MCP tools
- Add in-process MCP support
- Add validation demo and comprehensive tests
- Add SDK documentation and integration roadmap
- Update .claude/settings.json with latest configuration
- Update marketplace.json schema validation
- Add hooks directory structure
- Add examples/sdk directory with samples
- Add new test suites for SDK integration
- Update metrics tracking

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 14:27:17 +00:00
rUvandclaude-flow 3e6de33943 [fix] Fix marketplace.json schema validation - source and repository format
- Changed source from 'ruvnet/claude-flow' to './' (must start with './')
- Changed repository from object to string format
- Fixes schema validation errors for Claude Code marketplace

Co-Authored-By: claude-flow <noreply@ruv.io>
2025-10-10 02:07:43 +00:00
rUvandClaude 55f2ea0f8f ✨ Add plugin structure files: marketplace.json, hooks.json, updated docs
- Created .claude-plugin/marketplace.json for marketplace distribution
- Updated hooks/hooks.json with comprehensive hook events
- Fixed all repository references claude-code-flow → claude-flow
- Updated documentation in .claude-plugin/docs/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 20:53:51 +00:00