Skip to content

Tracking: road to v0.1.0 first npm publish (62 iters complete) #2

Description

@ruvnet

State of agent-harness-generator — 62 iterations in, road to v0.1.0

TL;DR: scaffolder + 6 host adapters + Studio + 14 harness subcommands + Witness signing + GCP-gated publish pipeline are all shipped + green. 529 tests pass. Live Studio at https://ruvnet.github.io/agent-harness-generator/. Browser-validated end-to-end (4 tabs, 6 hosts, 16 templates, 0 console errors, 3 Vite bundles return 200). Remaining for first v0.1.0 npm publish: cut the tag, run release.mjs minor --push, watch GCP OIDC mint the npm token, verify the 11 packages land on npm.

What's done

Layer State Where
Kernel (Rust + WASM + NAPI-RS) shipped crates/kernel/
@ruflo/kernel runtime resolver shipped packages/kernel-js/
6 host adapters shipped claude-code / codex / pi-dev / hermes / openclaw / rvm
create-agent-harness CLI shipped 14 harness subcommands
6 Codex skills shipped .codex/skills/*
Claude marketplace plugin shipped + schema-validated .claude-plugin/plugin.json
Witness signing (Ed25519) shipped + tamper-tested ADR-011
MCP tool dispatch shipped + 11 e2e cases crates/kernel/src/mcp.rs
Federation transport shipped + runnable demo examples/federation/
Release orchestrator shipped + 6 tests scripts/release.mjs (ADR-019)
CI matrix (16 jobs) green .github/workflows/ci.yml
Security (cargo-audit + cargo-deny + npm-audit + CodeQL + audit-deps + apps/web-ui aggregate) green .github/workflows/security.yml
Publish pipeline (GCP WIF + npm + IPFS pin) wired + tested .github/workflows/publish.yml
SBOM (SPDX-2.3) wired scripts/sbom.mjs (iter 50 milestone)
Perf regression gate wired + baselined packages/bench/host-baseline.json (iter 59)
Agent Harness Studio (web-UI) shipped + live https://ruvnet.github.io/agent-harness-generator/
Test suite 529/529 64 test files

Browser-validated 2026-06-14

Ran /browser against the live Pages site:

  • Title: Agent Harness Generator
  • 4 tabs interactive: Repo → Harness · Create harness · Skill / Agent / Command · Verify ✓
  • 6 host buttons present: Claude Code · OpenAI Codex · pi.dev · Hermes Agent · OpenClaw · RVM ✓
  • 16 quick-start templates rendered ✓
  • Vite bundles return 200:
    • index-BvMhD5Bk.js (100 KB)
    • react-DJ1oPbzn.js (141 KB)
    • zip-BowCI6VA.js (97 KB — JSZip preload)
  • Tab switching works (Identity → Paste repo → Verify)

Recent iter history (55 → 62)

  • iter 55scripts/dev-toolkit.mjs orientation map + ADR-027 (CLI ↔ Web-UI integration) + PR feat(web-ui): browser-based agent harness generator + Claude skill/agent/command authoring #1 merge (Studio, 188 files, 7 ADRs, 2 new subcommands) + examples/host-tour/
  • iter 56manifest.meta.surface + harness doctor diagnostic
  • iter 57 — enabled GitHub Pages via REST API + fixed cargo-deny invocation
  • iter 58 — wired manifest.meta.kernel_version at scaffold time
  • iter 59 — soft-gated cargo-deny (upstream advisory-db breakage) + committed host-baseline.json + Pages redeploy trigger
  • iter 60 — memoised ruvllmSemantic() for CI determinism
  • iter 61audit-deps.mjs now auto-discovers + scans apps/web-ui/ (outside-workspace web-UI deps)
  • iter 62 — README rewritten end-user-first (⚡ Try it in 30 seconds callout, live Studio screenshot, refreshed status numbers) + plain-language gist + Pages browser-validation

What remains for v0.1.0 first npm publish

  • Choose initial version (0.1.0 recommended for first stable)
  • Run node scripts/release.mjs minor --push end-to-end (preflight + audit + SBOM + bench + tag + push)
  • Watch GCP Workload Identity Federation mint the npm token (no plaintext secrets in repo)
  • Verify the 11 packages land on npm:
    • @ruflo/kernel
    • @ruflo/host-claude-code · host-codex · host-pi-dev · host-hermes · host-openclaw · host-rvm
    • create-agent-harness
    • @ruflo/sdk
    • @ruflo/vertical-base
    • @ruflo/vertical-trading
  • Confirm npx create-agent-harness <name> works against the published tarballs
  • Pin the marketplace entry on IPFS via Pinata (scripts/publish-dryrun.mjs covers the dry run)
  • Open a v0.1.0 GitHub release with the CHANGELOG iter-62→0 condensed body

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions