Sign In

@walwal-harness/cli

Package Overview
Dependencies
Maintainers
1
Versions
170
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@walwal-harness/cli

Company-style AI agent harness for Claude and Codex. Installs commands, CXX agents, skills, HR-Resource hiring pool, and project-local .harness runtime state.

latest
Source
npmnpm
Version
7.1.54
Version published
Weekly downloads
401
6583.33%
Maintainers
1
Weekly downloads
 
Created
Source

@walwal-harness/cli

v7.1 — Company-mode AI agent harness for Claude Code and Codex.

One project = one company. The Owner speaks only to the CEO. The CEO speaks only to CXX agents. CXX agents hire specialist workers. No one skips a level.

Company Structure

Owner
  └─ /goal · /submission · /hot-fix
      └─ harness-ceo          orchestrator — Owner's only contact
          ├─ harness-coo      research, hypothesis, service direction
          ├─ harness-cdo      branding, UI/UX, design review
          ├─ harness-cto      architecture, API, platform, implementation
          ├─ harness-cqo      quality gates, regression, archive, gotcha/convention
          └─ harness-ops      build monitoring, log analysis, service events

Hierarchy Rules (non-negotiable)

  • CEO → CXX only. CEO never dispatches or hires workers directly. All worker contact goes through the responsible CXX.
  • CTO → dev workers. CTO hires and briefs implementation workers. cto.md must exist before any worker is dispatched.
  • CQO → evaluator/tester workers. CQO hires evaluation workers and bases its verdict entirely on their evidence. Self-inspection by CQO is not valid evidence.
  • No CXX self-execution. CXX agents coordinate and manage only. A CXX that produces specialist deliverables without matching worker records has violated its scope.
  • No verdict without worker evidence. CQO cannot issue ACCEPTED/REJECTED without a Worker Evidence Manifest referencing at least one evaluator worker.

Install

npm i @walwal-harness/cli

Restart Claude Code after install.

To initialize a project:

npx walwal-harness init

What init installs:

PathContents
.claude/commands/goal.md/goal Owner command
.claude/commands/submission.md/submission Owner command
.claude/commands/hot-fix.md/hot-fix Owner command
.claude/skills/harness-{ceo,coo,cdo,cto,cqo,ops}/CXX agent skills
.harness/shared/HR-Resource/Hireable worker skill pool
.harness/events.jsonlStructured append-only runtime event stream
.harness/todos/state.jsonMachine-readable CXX todo queues
.harness/todos/events.jsonlStructured todo transition history
AGENTS.md + CLAUDE.md symlinkProject AI operating rules

Project Docs Merge

AGENTS.md is the source of truth for project AI operating rules. CLAUDE.md is normalized to a symlink that points at AGENTS.md.

Install and migrate preserve existing project instructions:

  • Existing AGENTS.md is not replaced. The harness adds or updates a marked section between <!-- walwal-harness:agents:start --> and <!-- walwal-harness:agents:end -->.
  • The top of AGENTS.md gets a small walwal-harness enabled marker so agents know the harness section applies.
  • Existing CLAUDE.md file content is appended into AGENTS.md under a preserved-claude marked section, then CLAUDE.md is replaced with a symlink to AGENTS.md.
  • Re-running init, init --force, or migrate is idempotent: marked sections are replaced, not duplicated.
  • Existing docs and symlink targets are backed up under .harness/archive/pre-harness-backup/ or the migration backup directory before modification.

Mission Flow

Goal

Owner /goal → CEO → [COO] → [CDO] → CTO → [dev workers] → CQO → [evaluator workers]
  • CEO reads Owner request, writes ceo.md, routes to relevant CXX.
  • Each CXX writes its own {cxx}.md, hires workers, collects evidence.
  • CEO aggregates CXX outputs and reports to Owner.
  • Every goal/submission/hot-fix mission has mission-state.json with lifecycle and active.

Hot Fix

Owner /hot-fix → CEO → CTO → [dev workers] → CQO → [evaluator workers]
  • CEO summons CTO and CQO immediately.
  • CTO designs minimum patch, hires implementation workers, writes cto.md.
  • CQO runs regression gate with evaluator workers, registers gotcha/convention, writes cqo.md.

Complete when: cto.md + cqo.md + at least one .harness/gotchas/ or .harness/conventions/ entry exist.

Submission

Owner /submission → CEO → [relevant CXX] → [workers] → [convention updates]
  • CEO locates the active .harness/documents/goal-{index}-{name}/.
  • CEO creates .harness/documents/goal-{index}-{name}/submission-{index}-{name}/.
  • Relevant CXX update .harness/conventions/ when the new requirement changes durable project rules.

Hard Rules

#Rule
1No source edit without {mission}/cto.md — CTO scope sign-off required
2No CXX impersonation — use installed harness skills in fresh sessions
3No unnamed workers — all work routes through harness-hiringharness-resource-manager
4No archive without CQO verdict — {mission}/cqo.md with explicit PASS must exist
5No gotcha skip — every hot-fix produces at least one gotcha or convention entry
6CEO routes only to CXX — never directly to workers
7No CXX self-execution — deliverables without matching worker records are rejected
8No verdict without worker evidence — CQO self-inspection is not valid
9Hierarchical worker ownership — worker reports live under .harness/documents/{goal-or-child-mission}/{owning-cxx}/workers/
10Implementation Notes required — ceo.md, every {cxx}.md, and every worker report must end with one English ## Implementation Notes section in the same file
11Structured runtime state — queues, heartbeats, preemption/resume state, and harness-parsed evidence belong in JSON/JSONL, not free-form Markdown

Implementation Notes Format

Every ceo.md, {cxx}.md, and worker report must end with:

## Implementation Notes

### Design Decisions
- How the role interpreted the Owner request

### Deviations
- Where the role intentionally diverged from the request

### Tradeoffs
- Alternatives considered and why they were rejected

### Open Questions
- What still needs Owner or CXX confirmation

Use None when a subsection has no entries. This section is mandatory even for small or emergency work. Do not create a separate sidecar notes file; the notes belong at the bottom of the same role or worker report that produced the decision/evidence. CEO must reject any CXX report that omits it. CTO and CQO must not accept worker output that omits it.

Harness Dashboard

The harness ships with a real-time dashboard that reads .harness/ runtime state directly. The current dashboard is process-oriented: it highlights CXX todo readiness, active workers, incidents, mission flow, and structured runtime events alongside the organization view.

bash scripts/harness-dashboard-up.sh

Run on a different port:

bash scripts/harness-dashboard-up.sh --port 3002

Force-rebuild the shared dashboard install when an older dashboard is still shown:

bash scripts/harness-dashboard-up.sh --port 3002 --reinstall

Dashboard options:

OptionRole
--port <port>Run Brick Office on a custom port, e.g. 3002
--reinstallDiscard and rebuild the shared dashboard install for this version

The dashboard code is identical across all projects, so it is installed once per version under ~/.walwal-harness/dashboard/<version>/ and shared by every project — a single node_modules plus one production build (npm install + next build) the first time, then reused. Each project is served with its own HARNESS_ROOT and port via next start, so you can run many dashboards at once without duplicating dependencies (100 projects still cost ~640MB, not 100×). Override the base directory with WALWAL_HARNESS_HOME.

Company Auto-Chain State

/goal, /submission, and /hot-fix mark the v7 company loop as running in .harness/progress.json:

  • company_state.state = "running"
  • conductor.state = "running"
  • current_agent = "ceo"
  • next_agent = "ceo"

Claude's Stop hook uses this state to prevent an unfinished CEO/CXX/worker loop from ending after a partial routing step such as hiring. Hookless executors such as Codex should drive the same state through an external runner or dashboard auto-mode process.

When the mission is genuinely complete, the common completion transition is:

bash scripts/harness-company-complete.sh . mission-complete

This sets company_state.state = "idle", conductor.state = "completed", next_agent = "none", and owner_prompt.status = "completed" so dashboards, runners, and hooks agree that auto-mode can stop.

It also closes structured work state:

  • active/pending/paused todos in .harness/todos/state.json become done
  • active mission-state.json files become {"lifecycle":"complete","active":false}
  • the dashboard stops treating recent worker report mtimes as live activity after runtime completion
  • heatmap activity is persisted in .harness/activity/YYYY-MM-DD.jsonl and pruned after 7 days

Existing users should update and migrate from the target project:

npm i @walwal-harness/cli@latest
npx walwal-harness migrate

If command discovery or installed harness files look stale, refresh the install contract:

npx walwal-harness init --force

For an explicit project root:

npx walwal-harness migrate --project-root /path/to/project
npx walwal-harness init --force --project-root /path/to/project

Features:

  • Company Harness Observatory — glass/aurora process monitor showing active CXX todos, workers, incidents, missions, and current loop state
  • Layer Activity by CXX/Worker — Layer Activity rows match the heatmap hierarchy, grouping each CXX with its workers and sorting groups by remaining work first, completed groups next, empty CXX groups last
  • Explicit Mission Lifecycle — goal/submission/hot-fix directories use mission-state.json; init, init --force, and migrate backfill missing lifecycle files for existing projects
  • Structured Runtime State/goal, /submission, and /hot-fix append to .harness/events.jsonl and update .harness/todos/state.json; migrate backfills these files for existing projects
  • Split Workspace — full-viewport left/right panes keep Org Tree + Mission Timeline beside the selected mission detail; both panes scroll independently with hidden scrollbars, and the detail pane resets to top on selection changes
  • Org Tree — live status of Owner → CEO → CXX → Workers hierarchy, with worker cards created only from hired hr-roster.json entries backed by .harness/shared/HR-Resource/{worker}/SKILL.md; running hired workers are highlighted under their owning CXX
  • Mission Timeline — clickable history of goal/submission/hot-fix missions showing the full dispatch chain
  • Mission Flow tab — per-mission flow: Owner prompt → CEO routing → CXX → owner-specific worker evidence → CQO verdict
  • CDO Preview — clicking harness-cdo opens a dashboard iframe preview from .harness/documents/{mission}/cdo/preview.html; CDO completion requires this visual summary artifact
  • History tab — mission-specific Owner request (from CEO summary + closest progress.log match)
  • Gotchas tab — searchable .harness/gotchas/*.md knowledge base, click to read full markdown
  • Document tab — per-CXX markdown doc viewer
  • Owner Acceptance Gate — Owner is final acceptance only; CEO/CXX must complete worker-backed verification before asking for Owner review

Hourly autonomous wake:

  • Init/migrate does not auto-register launchd wake by default. Use --enable-wake or WALWAL_ENABLE_WAKE=1 when you want installation/migration to register it; otherwise run bash scripts/harness-wake-install.sh install . from the target project.
  • HARNESS_WAKE_EXECUTOR=claude|codex selects claude -p or codex exec.
  • HARNESS_WAKE_MODEL=<model> optionally pins the Claude model for wake ticks.
  • Each wake tick prompts CEO to convene CXX + OPS, collect progress and decisions, dispatch the next action without asking Owner, and require CQO/OPS verification until the active goal works.
  • npx @walwal-harness/cli migrate refreshes package-owned runtime scripts, so existing projects receive wake prompt updates without a full re-init.
  • In Codex, .codex/skills/**/SKILL.md files are the runtime protocol. .codex/agents/ is not required; Codex should manually read the relevant skill if it is not auto-listed.
  • Convention/gotcha topic files lazy-load through CXX index links: migrate preserves files such as .harness/gotchas/i18n-locale-hotfix.md and links them from relevant CXX files like cto.md and cqo.md.
  • COO can use support-support-mcp-registry-steward to inventory Claude/Codex MCP capabilities, registration risk, credentials, and maintenance notes before recommending MCP use.

Harness Runtime Paths

PathRole
.harness/documents/goal-{index}-{name}/Goal-level CXX decisions and worker reports
.harness/documents/goal-{index}-{name}/submission-{index}-{name}/Additional requirement under the active goal
.harness/documents/goal-{index}-{name}/hotfix-{index}-{name}/Emergency fix under the active goal
.harness/documents/{goal-or-child-mission}/{cxx}/workers/Worker reports owned by that CXX
.harness/conventions/Durable rules and CXX lazy-loading indexes
.harness/gotchas/Recurrence-prevention records and CXX lazy-loading indexes
.harness/shared/HR-Resource/Hireable worker skill pool
.harness/archive/CQO-approved completed missions (immutable)
.harness/logs/YYYY-MM-DD/OPS exception logs

Hiring

Any CXX uses harness-hiring before assigning work to a specialist not yet on roster.

harness-resource-manager → find available worker
harness-hiring           → register and onboard worker
{cxx} → hired worker     → deliverable → {cxx} evidence manifest

Version History

VersionSummary
7.1.38CEO can approve reversible routine operations without Owner confirmation, including monitoring cadence, local scheduler activation, Telegram briefing formats with existing credentials, dashboard refresh, and consolidation/supersede cleanup
7.1.37Project-local dashboard runtime under .harness/dashboard/, unfiltered all-mission heatmap, worker telemetry parsing, and opt-in hourly wake registration/status
7.1.36Stop hook only validates worker evidence while chaining the active loop, scopes validation to the newest active mission, and makes the 24h heatmap visible at 10-minute resolution
7.1.35Fix dashboard heatmap mission scoping, choose the newest active mission for activity recording, and normalize duplicate active child mission states during init/migrate
7.1.34Fix dashboard 500 when company_state.workers is recorded as a keyed worker map instead of an array
7.1.33Dashboard keeps recently written worker reports active even when docmeta is present, and CXX skills now record worker activity telemetry for live dashboard state
7.1.31Persist dashboard heatmap activity to 7-day JSONL logs, load persisted samples in the dashboard, and backfill activity during migrate from existing mission docs/progress logs
7.1.29Idempotent AGENTS/CLAUDE doc merge with marked harness sections, mission lifecycle backfill for init/migrate, completion closes todos and mission-state, and Layer Activity now lists CXX/worker rows sorted by remaining work
7.1.28Dashboard APM rewrite: top header consolidation, Knowledge Base panel (gotchas/conventions), Layer Activity (CEO/CXX/Worker TODO·DONE·Remain via goal-scope inference), Recent Report list (worker mtime desc), Cadence strip with click-to-prompt tooltip in local timezone, heatmap click-tooltip with empty-cell guard, Document Viewer expand-to-50vw with docmeta hidden, Command Log bubble popover
7.1.19migrate now carries OPS verification rules into existing installs: runtime.verification merge, HARNESS refresh, and AGENTS migration block
7.1.18OPS watches CQO runnable verification and production incidents; Implementation Notes stay in the same role/worker report
7.1.17Dashboard: fix /submission and /hot-fix missions displaying as /goal; runtime strip shows live owner command in mission flow tab
7.1.16migrate now always fully replaces /goal, /submission, /hot-fix commands regardless of current state
7.1.15Dashboard: reset embedded View Doc state when the selected mission or document target changes
7.1.14Owner acceptance gate: Owner is final reviewer, not tester; dashboard org-node clicks initialize the detail pane
7.1.13Dashboard: full-viewport split workspace, hidden pane scrollbars, and detail scroll reset on selection
7.1.12Dashboard: split workspace panes now scroll independently
7.1.11Dashboard: persistent 50/50 split workspace and CXX-owned worker grouping in the org tree
7.1.10Adds /submission and nested goal/submission/hot-fix mission history
7.1.9Dashboard is packaged with npm and auto-syncs isolated cache by package version; README documents dashboard port/reinstall and update/migrate commands
7.1.8HR-Resource: replace China-platform-specific workers with global equivalents; refine cross-border/video/livestream skills
7.1.7Implementation Notes mandatory in all CXX docs and worker reports; harness-worker-evidence-validate.sh
7.1.6CXX hierarchy enforcement: CEO→CXX-only gate, CTO prerequisite gate, CQO worker-evidence mandate; dashboard gotchas tab, mission-specific history tab, worker file list in flow
7.1.5Dashboard: mission flow timeline, markdown viewer, 50vw drawer
7.1.4Dashboard: org-tree redesign with real .harness/documents/ data
7.1.3Karpathy-style AGENTS.md rewrite, ko templates, hot-fix harness gate rules
7.1.2v7 CEO routing migration, legacy command removal
7.1.1CEO no-git hiring fix, gotcha/convention migration
7.1.0v7.1 merge: OPS monitoring, CXX hiring enforcement

License

MIT

Keywords

harness-engineering

FAQs

Package last updated on 08 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts