Files
akushonkamen 87d8687f3f fix(ruflo-agentdb): stop the secret screen treating a hyphen-named memory key as a credential field (#4202) (#4211)
* fix(ruflo-agentdb): stop the secret screen treating a hyphen-named memory key as a credential field

assignmentSecret() ran the KEY_NAME key-assignment check on every match, so
any entry whose name starts with auth (auth-flow-notes) plus up to 40 name
characters looked like a config field, and keyedSecret()/plausibleSecret()
then judged the entry's value as a credential: a write of
{ key: 'auth-flow-notes', value: 'getUser-not-getSession' } was refused
(#4202). A key that is itself a multi-word hyphenated name is an entry's
name, not a field, so the keyed check now skips it; the secret shapes still
screen the whole text, and single-word credential keys (auth, api_key,
token) keep blocking keyed literals.

Synced to the 39 plugin copies with scripts/sync-mod-screen.mjs.

Fixes #4202
Assisted-by: AI (automated contributor session, disclosed on the issue)

* chore(ci): exclude plugins/ruflo-agentdb/tests/guard-keys.test.ts from the root vitest run

The new test imports claude-code/testing like its six siblings, so the root
ratchet run (scripts/ci-test-ratchet.mjs) cannot collect it outside Claude
Code; list it in scripts/ci-test-excluded.txt per the documented convention
so ci.yml stays green until 'claude plugin test plugins/ruflo-agentdb' runs
it in all-plugins-smoke.

Follow-up to #4202
Assisted-by: AI (automated contributor session, disclosed on the issue)
2026-10-17 14:58:08 +01:00
..

ruflo-graph-intelligence

Graph Intelligence Engine for RuFlo: single-entry personalized PageRank, streaming delta updates and witness-signed reasoning artifacts (ADR-123), built on sublinear-time-solver. Library: npm test, npm run build.

As a mod (0.2.0-alpha.6)

A function-hook mod ships beside the skills (ADR-445 pattern). Needs a Claude Code with mods (2.1.287+); older builds ignore it. No network, no process spawning: it only tightens calls to this plugin's own tools and reads through tools already connected.

Piece Default What it does
Write guard on Refuses a call to a sublinear/* (sublinear_*) tool whose input holds a key, token or password: graph, node and seed ids land in signed artifacts that federation can copy.
/graph-mod — status, scan <text>, tools (lists connected graph-intelligence tools); answered locally, no model call.
Status file — .claude-flow/graph-mod/status.json (version, updatedMs, mode flags and counters); written at session start and when a counter changes.

Options (userConfig): guard on|off. Refusals never echo the value they matched.

bash plugins/ruflo-graph-intelligence/scripts/smoke.sh   # stages the mod and runs claude plugin test (7 tests); the engine's own tests: npm test