Commit Graph
23 Commits
Author SHA1 Message Date
randRuFlo e2575090c8 chore(plugins): ruflo-ddd and ruflo-sparc 0.3.4 changelog entries for native Codex hooks
Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-08 16:53:35 -04:00
Stuart Kerr 24a83b3297 fix(plugins): allow native freeform inputs and version Codex hook repair 2026-10-08 16:52:49 -04:00
Stuart Kerr b968e34970 fix(plugins): add native Codex adapters for ADR DDD and SPARC mods 2026-10-08 16:52:42 -04:00
ruv 7670a02849 docs(plugins): CHANGELOG.md for every plugin in the ADR-478 format, derived from git history
Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-07 14:37:29 -04:00
ruv d06b0122be fix(mods): shared textsOf reports truncation and every guard fails closed on it
The walker dropped input past its node, character and per-string budgets
silently, so 32 guards passed a secret placed after the cap. textsOf now
appends a TRUNCATED marker; names/hasSecretIn treat it as a finding. Regenerated
the 38 copies, bumped the 39 plugins, emptied the known-holes baseline.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-05 00:27:13 -04:00
ruv 21adb5ce28 feat(mods): vendor the flag option parser from one origin with the screen sync and drift check (review #2)
Extend scripts/sync-mod-screen.mjs to a second kit: the flag() helper in hooks/options.ts of 38 mods now sits between SHARED FLAG markers and is
rewritten/checked from ruflo-agentdb. Drift, a lost marker or zero copies fails --check. Bump the 39 touched plugin versions and their version pins.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 23:46:06 -04:00
ruv b545645d41 Merge remote-tracking branch 'origin/main' into loop/guard-hardening
# Conflicts:
#	scripts/probe-mod-guards.known-holes.json
2026-10-04 22:11:05 -04:00
ruv bbe5989e3c Merge remote-tracking branch 'origin/main' into loop/screen-quality 2026-10-04 21:35:52 -04:00
ruv b1a6243a86 Merge remote-tracking branch 'origin/main' into loop/screen-vendor
# Conflicts:
#	.github/workflows/all-plugins-smoke.yml
2026-10-04 21:06:45 -04:00
ruv 53de5bb936 fix(mods): one iterative textsOf in the shared screen — depth, sibling, size caps, object keys and the invisible-character set fixed at the root (ADR-445)
Replaces 37 copy-pasted recursive walkers with a shared breadth-first one (keys as key=value, overlapping windows for long strings, node and char budgets) and widens INVISIBLE (soft hyphen, bidi isolates, Mongolian separator, more). Probe holes 788 -> 0.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 20:51:39 -04:00
ruv f2190b38ad fix(mods): secret screen — a 20+ char value under a secret-named key is a secret even all-letter or UUID-shaped, unless a clear reference (ADR-445)
Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 19:57:17 -04:00
ruv 0b5eb1c109 fix(mods): secret screen judges values, not names — fewer false positives, vendor keys, URL credentials, env assignments, 200 KB scan (ADR-445)
One canonical region in ruflo-agentdb/hooks/screen.ts, regenerated into the 37 copies by sync-mod-screen.mjs. 'key assignment' is now decided by
the value (not a call/env/path/placeholder/UUID/name; two character classes; >=2.5 bits entropy). Adds stripe, npm, huggingface, sendgrid, twilio,
slack webhook and credentialed DB URL rules; bearer and DB URL placeholders are rejected. 40 new agentdb tests; 20 KB ReDoS probe 0.57 -> 0.68 ms.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 19:50:47 -04:00
ruv ddbe7453b9 fix(mods): live-check guard defects in 8 plugins (adr, ddd, federation, deepseek, browser, bbs, chatgpt, pods)
Live `/SHORT-mod status` ran clean on all 20 assigned plugins; probing the guards with realistic inputs found:
- adr: the guard never fired on the adr-create skill's own writes (hierarchical-store has no namespace field; causal-edge); now keyed on mem:ADR-NNN
- ddd: `domain-<context>` entries (the skill's key) were not screened
- federation: 1 in 10 epoch-ms timestamps passed Luhn and were refused as card numbers; cards must start 2-6
- deepseek-harness: the guard missed an installed copy (plugin-cache version directory)
- browser: `location.href ==` and `.src ==` read as sinks; document['cookie'] and a trailing-dot metadata host slipped through
- bbs-federation: 0, 0.0, 00.0.0.0, 0x0.0.0.0, ::0 and long IPv6 zeros bypassed the wildcard-bind refusal
- chatgpt-federation: payload cap counted UTF-16 units, not bytes
- business-pods: `.env[^/]*` refused a `.environments` directory

Each has a regression test that fails without the fix; plugins bumped one patch.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 19:06:03 -04:00
ruv 71bf281bf0 refactor(mods): one source for the secret screen — sync-mod-screen.mjs regenerates the shared region of 37 screen.ts copies, --check in all-plugins-smoke (ADR-445)
Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 19:03:37 -04:00
ruv 3a156539b8 feat(ruflo-ddd): function-hook mod (secret guard, /ddd-mod, status file)
Co-Authored-By: RuFlo <ruv@ruv.net>
2026-10-04 15:34:05 -04:00
ruvnet e332689b8c fix(release): harden hooks, statusline, security, and plugin MCP integration 2026-07-16 23:06:29 -04:00
ruv b0af258b2b darwin-plugins iter 2 — ruflo-ddd: fix malformed Bash() permission patterns in skill frontmatter
Co-Authored-By: RuFlo <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_01EYpeWgqLx3Q3yL2R2ePfmG
2026-06-26 20:14:10 -04:00
ruv fee85d97d0 darwin-plugins iter 1 — ruflo-ddd: add 'Use when' guidance to skill descriptions (ADR-112) 2026-06-26 20:02:27 -04:00
ruv 6198abfab7 fix(plugins): reconcile stale smoke contract assertions across 23 plugins
full-system-test surfaced 23/32 plugin smoke contracts failing on a
single drifted assertion: the smoke gate greps ADR-0001 for
`status: Proposed`, but those ADRs were long since promoted to
`Accepted` without updating the gate. Flip the assertion (label, grep,
message) Proposed -> Accepted only where the ADR is genuinely Accepted.

ruflo-core additionally had a stale version assertion (0.2.0 -> 0.2.2).

Left untouched: ruflo-adr, ruflo-browser, ruflo-intelligence — their
ADR-0001 is genuinely Proposed, so their smokes correctly assert it.
No plugin source or ADR changed — only the drifted test assertions.

All 32 plugin smoke contracts now pass; full-system-test is 4/4 green.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-29 15:00:34 -04:00
ReuvenandRuFlo 02eee0bcdc docs(adr): bulk-update plugin contract ADR statuses (sweep)
- 27 plugins moved Proposed → Accepted (shipped versions, in marketplace)
  - 0 plugins kept as Proposed (all have real versions ≥ 0.2.0)

Per-plugin breakdown:
  ruflo-aidefence    v0.2.0  Accepted — 3-gate pattern, 6 aidefence_* tools
  ruflo-autopilot    v0.2.0  Accepted — 10 autopilot_* tools, /loop integration
  ruflo-core         v0.2.1  Accepted — MCP server contract, plugin-catalog discovery
  ruflo-cost-tracker v0.16.1 Accepted — namespace-routing fix, ADR-097 budget integration
  ruflo-daa          v0.2.0  Accepted — 8 daa_* tools, intelligence-pipeline alignment
  ruflo-ddd          v0.2.0  Accepted — AgentDB domain graph, SPARC Architecture-phase
  ruflo-docs         v0.2.0  Accepted — document worker dispatch, drift detection
  ruflo-federation   v0.2.0  Accepted — ADR-097 Phase 1+2, 3-gate alignment
  ruflo-goals        v0.2.0  Accepted — 6 namespaces, GOAP + dossier ADR-099
  ruflo-iot-cognitum v0.2.0  Accepted — 5-tier trust, 6 background workers
  ruflo-jujutsu      v0.2.0  Accepted — 6 analyze_* tools, ADR-compliance cross-link
  ruflo-knowledge-graph v0.2.0 Accepted — embeddings_generate fix, pathfinder
  ruflo-loop-workers v0.2.0  Accepted — 12 worker triggers, 5 hooks_worker-* tools
  ruflo-market-data  v0.2.0  Accepted — embeddings + namespace-routing bugs fixed
  ruflo-migrations   v0.2.0  Accepted — namespace-routing bug fixed both skills
  ruflo-neural-trader v0.2.0 Accepted — 4 namespaces already compliant
  ruflo-observability v0.2.0 Accepted — namespace-routing bug fixed both skills
  ruflo-plugin-creator v0.2.0 Accepted — scaffolding templates updated with contract
  ruflo-rag-memory   v0.2.0  Accepted — claude-memories reserved namespace consumer
  ruflo-ruvllm       v0.2.0  Accepted — LLM-config + chat-format slice ownership
  ruflo-rvf          v0.2.0  Accepted — portable-memory + session-persistence slice
  ruflo-security-audit v0.2.0 Accepted — 3-gate + audit_1776853149979 regression class
  ruflo-sparc        v0.2.0  Accepted — all 5 SPARC phases cross-linked
  ruflo-swarm        v0.2.0  Accepted — 12 MCP tools (4 swarm_* + 8 agent_*)
  ruflo-testgen      v0.2.0  Accepted — testgaps worker + coverage CLI commands
  ruflo-wasm         v0.2.0  Accepted — 10 wasm_* tools, ADR-070 cross-ref
  ruflo-workflows    v0.2.0  Accepted — 10 workflow_* tools, SPARC phase transitions

Each ADR received: updated: 2026-05-09 in frontmatter + Implementation status
section noting version, marketplace presence, and contract element alignment.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-09 15:10:42 -04:00
ReuvenandRuFlo ab5ec6b882 feat(ruflo-ddd): v0.2.0 — adopt plugin contract (ADR-0001, namespace coordination, smoke as contract)
Plugin-internal scaffolding (no MCP tools of its own); REFERENCE.md
already follows the ADR-098 Part 2 token-diet pattern. Just needs the
contract pieces.

- ADR-0001 (Proposed) at docs/adrs/0001-ddd-contract.md
- README adds Compatibility (pin v3.6), Namespace coordination
  (claims ddd-patterns, defers to ruflo-agentdb ADR-0001), Verification +
  Architecture Decisions sections
- plugin.json bumps 0.1.1 → 0.2.0; description expanded; keywords add
  acl, value-objects, repositories, mcp
- scripts/smoke.sh — 10 structural checks: version + keywords, 3 skills
  with frontmatter, agent + command present, 6 subcommands documented,
  REFERENCE.md non-empty, v3.6 pin, namespace coordination,
  ddd-patterns claimed, ADR Proposed, no wildcard tools

Verification: bash plugins/ruflo-ddd/scripts/smoke.sh → 10/10

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-04 19:58:32 -04:00
Reuven 1e5a8ec897 perf(plugins): ADR-098 Part 2 (slice 2/4) — token diet for ruflo-ddd/domain-modeler
Moves DDD vocabulary, directory layout, and AgentDB graph-storage
catalogs out of the agent prompt into a sibling REFERENCE.md.

Before: 93 lines per spawn (~1115 tokens).
After:  46 lines per spawn (~550 tokens). Net savings ~565 tokens
        per domain-modeler spawn.

Reference content lives at plugins/ruflo-ddd/REFERENCE.md (76 lines):
  - 7-row DDD building blocks vocabulary table
  - 6-row bounded-context relationships table (added — wasn't in the
    original prompt; now first-class reference)
  - Per-context directory structure
  - AgentDB graph storage commands with 4 standard edge types
  - Naming conventions (added — wasn't in prompt)

The agent prompt keeps:
  - Responsibilities + 6-step scaffold workflow
  - Tools list (Read/Grep/Glob + memory store/search)
  - Cross-references to related plugins
  - Memory pre-search + Neural Learning tail (Part 4 invariant)

Net: prompt is now narrative + procedural; reference is tabular +
catalog. Each is read in different contexts, neither pays tokens for
the other.

ADR-098 acceptance progress:
  - device-coordinator: 30 ≤ 60 ✓
  - domain-modeler:     46 ≤ 60 ✓ (was 93)
  - Remaining: cost-analyst (105), adr-architect (96)

Plugin version: 0.1.0 → 0.1.1 (patch — token diet only).
2026-05-03 22:24:16 -04:00
Reuvenandclaude-flow f25bcf2073 feat: add 10 new ruflo plugins, optimize all 32, add READMEs and user guide
New plugins: ruflo-adr (ADR lifecycle), ruflo-ddd (domain-driven design),
ruflo-sparc (SPARC methodology), ruflo-neural-trader (trading strategies),
ruflo-ruvector (vector embeddings), ruflo-knowledge-graph (entity graphs),
ruflo-market-data (OHLCV ingestion), ruflo-migrations (schema management),
ruflo-observability (logging/tracing), ruflo-cost-tracker (token budgets).

Optimizations across all 32 plugins:
- All pass `claude plugin validate` (removed invalid manifest arrays)
- 51/51 skills have argument-hint frontmatter
- Model routing: 4 haiku, 24 sonnet, 2 opus (cost-optimized)
- Neural learning hooks on 25/30 agents
- Cross-references between 6 related plugin pairs
- Pathfinder graph traversal algo for researcher agent
- READMEs for all 32 plugins + plugins/README.md catalog
- discover-plugins skill updated with full 32-plugin catalog

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-04-29 23:46:54 -04:00