Files
ruv 5b71c7ac13 release(alpha.43+44): pin neural→sona@0.1.5, republish modules w/ standalone READMEs, add npm download badges everywhere (#2022)
This commit closes the chain started in ca0a6fa5c (standalone use recipes
landed in repo but never reached npm because no version bumps shipped).

## Changes

### Module version bumps (alpha.43)
- @claude-flow/memory     → 3.0.0-alpha.17  (republish standalone use README)
- @claude-flow/embeddings → 3.0.0-alpha.18  (republish standalone use README)
- @claude-flow/security   → 3.0.0-alpha.8   (republish standalone use README)
- @claude-flow/neural     → 3.0.0-alpha.9   (pin @ruvector/sona to 0.1.5,
                                             republish standalone use README)
- @claude-flow/cli        → 3.7.0-alpha.43  (repin to new modules above)
- claude-flow             → 3.7.0-alpha.43  (umbrella)
- ruflo                   → 3.7.0-alpha.43  (umbrella)

### Umbrella bump (alpha.44) — npm download badges
- @claude-flow/cli        → 3.7.0-alpha.44
- claude-flow             → 3.7.0-alpha.44
- ruflo                   → 3.7.0-alpha.44

### Neural sona pin (root fix for #2022)
@claude-flow/neural alpha.8 had `"@ruvector/sona": "latest"`, and
@ruvector/sona@0.1.6 (current latest on npm) shipped as an empty publish
— README + package.json only, no index.js or native bins. So every
fresh `npm install @claude-flow/neural@alpha.8` broke at import time
with `Cannot find package '.../node_modules/@ruvector/sona/index.js'`.

Alpha.9 pins to the exact known-good 0.1.5 (which has index.js + 7
platform-specific .node bins). Will revert to a range once
@ruvector/sona@0.1.7+ ships with content (tracked in #2022).

### npm download badges across every published package README
Added `shields.io/npm/dm/<pkg>` (monthly downloads) badges to:
  - claims, cli-core, plugins (had no npm badges at all)
  - plugin-agent-federation, plugin-iot-cognitum (no npm badges)
  - browser, codex, mcp (had version badge, missing downloads)
  - umbrella root README (now badges both `ruflo` + `claude-flow`)
The ruflo/README.md and v3/@claude-flow/cli/README.md auto-copy from
root via prepublishOnly, so they inherit the new badges on publish.

Packages that already carried downloads badges (aidefence, deployment,
embeddings, guidance, hooks, integration, memory, neural, performance,
providers, security, shared, swarm, testing) are unchanged.

## Live functional check on the published artifacts

  - Fresh `npm install @claude-flow/neural@3.0.0-alpha.9`:
    sona resolves to 0.1.5; `import('@claude-flow/neural')` returns
    A2CAlgorithm, BalancedMode, BaseModeImplementation, BatchMode,
    CuriosityModule, ... (was broken before alpha.9).
  - Standalone use sections from ca0a6fa5c now visible on npmjs.com for
    memory@alpha.17, embeddings@alpha.18, security@alpha.8, neural@alpha.9.
  - npm dm/ badges resolve and render the current weekly download count.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-16 16:46:34 -04:00

4.5 KiB

@claude-flow/plugin-iot-cognitum

npm version npm downloads License: MIT

IoT Cognitum Seed device-agent bridge — treat every Seed as a Ruflo agent with hardware capabilities.

Hardware

This plugin requires a Cognitum Seed device. Get one at https://cognitum.one.

The Seed is an edge appliance with on-device vector store, Ed25519 cryptographic identity, OTA firmware updates, mesh networking, and a witness chain for provenance.

Default endpoints:

  • http://169.254.42.1 — link-local USB-C (no auth, read-only + pair window)
  • https://169.254.42.1:8443 — LAN/HTTPS with bearer token (full access including writes)

Install + run

npx -y -p @claude-flow/plugin-iot-cognitum@latest cognitum-iot --help

Authentication via .env

Create a .env file in your project root (or any parent directory):

COGNITUM_SEED_TOKEN=your-bearer-token-here
# Optional overrides:
COGNITUM_SEED_ENDPOINT=https://169.254.42.1:8443    # default when token is set
IOT_FLEET_ID=my-fleet
IOT_ZONE_ID=zone-1
IOT_TLS_INSECURE=true                                # accept self-signed cert (default: true)

The bin walks up from CWD looking for .env, loads it without overwriting existing process.env vars, then:

  • When COGNITUM_SEED_TOKEN is present → default endpoint switches to https://169.254.42.1:8443 (LAN/HTTPS) and the token is passed as the bearer/pairing token on register.
  • When no token → default endpoint stays at http://169.254.42.1 (USB-C link-local, read-only).

Token scope on Seed varies — read endpoints work with most tokens; store/ingest and some admin operations require a write-scoped token. See https://cognitum.one for token tier documentation.

Commands

Command Description
cognitum-iot init Show plugin configuration
cognitum-iot register [endpoint] Register a Seed device (defaults to http://169.254.42.1)
cognitum-iot list List registered devices
cognitum-iot status <device-id> Show device trust score, vectors, epoch
cognitum-iot mesh <device-id> Show mesh network topology
cognitum-iot witness <device-id> Show witness chain
cognitum-iot witness verify <device-id> Verify witness chain integrity
cognitum-iot query --device-id <id> --vector "[..]" k-NN search the on-device vector store
cognitum-iot ingest --device-id <id> --vector "[..]" Ingest a vector (requires bearer auth)
cognitum-iot pair --device-id <id> Pair (requires open pair window on device)
cognitum-iot unpair --device-id <id> Unpair (requires bearer auth)
cognitum-iot fleet create --fleet-id <id> --name <name> Create a fleet
cognitum-iot fleet list List fleets
cognitum-iot fleet add --fleet-id <fid> --device-id <did> Add device to fleet
cognitum-iot fleet remove --fleet-id <fid> --device-id <did> Remove device from fleet
cognitum-iot fleet delete --fleet-id <id> Delete a fleet
cognitum-iot firmware list List firmware rollouts
cognitum-iot firmware status <rollout-id> Rollout status
cognitum-iot firmware deploy <fleet-id> --version <ver> Start an OTA rollout
cognitum-iot firmware advance <rollout-id> Advance rollout stage
cognitum-iot firmware rollback <rollout-id> Force rollback

Programmatic use

import { IoTCognitumPlugin } from '@claude-flow/plugin-iot-cognitum';

const plugin = new IoTCognitumPlugin();
await plugin.initialize({ /* PluginContext */ });
const coordinator = plugin['coordinator'];
const device = await coordinator.registerDevice('http://169.254.42.1');
console.log(`Trust: ${device.trustLevel}, vectors: ${device.vectorStoreStats.totalVectors}`);

Tests

239 unit + integration tests, plus a chained-command live-device smoke harness at __tests__/integration/full-plugin-smoke.mjs. Run:

npm test                                      # unit + SDK integration
SEED_ENDPOINT=http://169.254.42.1 \
  node __tests__/integration/full-plugin-smoke.mjs   # live device smoke

License

MIT — Claude Flow Team.

Cognitum Seed hardware: see https://cognitum.one for licensing and acquisition.