Skip to content

v2.0.0 — Hardware Council + Sprint Tracking

Latest

Choose a tag to compare

@rdemeritt rdemeritt released this 05 Jun 18:56
· 5 commits to main since this release

v2.0.0 — Hardware Council + Sprint Tracking

Release date: 2026-06-05

The second major release of the Freelance Developer Harness. This release
takes the harness from a software-only agency operating system to a full
agency operating system that handles software, hardware, and hybrid
products end-to-end — with stronger guard rails, real sprint history, and
a clean sync pipeline between private and public harness instances.

Highlights

  • Hardware Council (9 new agents) — full New Product Introduction
    pipeline support: industrial design through certification and PVT.
  • Sprint tracking convention — per-project sprint history with a
    CURRENT symlink, stable entry point for automated orchestrators.
  • /mode command — Claude Code permission and plan-mode control from
    inside the harness.
  • Five new security patterns — captured from real client engagements.
  • scripts/sync-to-public.sh — repeatable downstream sync from a
    private harness to this public repo, with PII scrubbing.
  • PII CI guard — every PR is scanned for personal paths, client
    references, and personal git identity. Failing scans block merges.
  • README overhaul — full project documentation with Mermaid diagrams,
    complete agent roster, and the workflow gate model explained end-to-end.

What's New

Hardware Council (9 new agents)

The harness now supports physical-product engagements. The Hardware
Council runs the NPI pipeline (Concept → Architecture → EVT → DVT →
Certification → PVT → Ship) with its own stop-the-line gates, in parallel
with the software pipeline for hybrid products.

New agents:

Agent Responsibility
Hardware PM NPI ownership; BOM management; EVT/DVT/PVT gates
Industrial Designer Form factor, ergonomics, CMF specification, packaging
Electrical Engineer PCB design, schematics, power, signal integrity
Mechanical Engineer Enclosures, tolerances, thermal, DFM review
Firmware Engineer MCUs, RTOS, bare-metal C/Rust, HAL, OTA
Hardware Security Engineer Secure boot, root of trust, tamper resistance, provisioning
Manufacturing Engineer DFM/DFA sign-off, CM management, yield optimization
Supply Chain Specialist BOM sourcing, lead times, EOL, tariffs
Certification Specialist FCC, CE, UL, RoHS, REACH, WEEE

Cross-council coordination contracts were also added (Firmware ↔ Backend
API contract before EVT, combined HW+SW threat model, etc.).

/mode command

New slash command to control Claude Code's permission mode and plan mode
on the active session. Lets the user flip between default,
acceptEdits, plan, and bypass without leaving the harness.

Five new security patterns

Pattern library expanded with five reusable security patterns captured
from real client work (covering secret handling, IPC hardening,
provisioning flows, audit logging, and SBOM hygiene).

scripts/sync-to-public.sh

The private molt-and-deploy-harness is the upstream for this public
repo. The new sync script copies generic improvements downstream with
hard guarantees:

  • SOURCE is never modified
  • TARGET writes happen on a fresh branch (sync/from-molt-<date>)
  • Blocklist beats allowlist — client-specific paths and session files are
    never copied even if matched by an allowlist rule
  • A sed scrubber replaces hardcoded paths with $SOURCE_ROOT_BASE/
    placeholders
  • The Active Clients table in CLAUDE.md is reset to the template row

Exit codes: 0 success · 1 usage error · 2 PII detected post-scrub ·
3 source/target invalid.

PII CI guard

.github/workflows/pii-check.yml runs on every PR and push to main,
grepping for personal absolute paths (/Users/...), client references
(clients/self), and personal git identity. Failing scans block merge.
This is the safety net behind the sync script.

Sprint tracking convention (per-project)

Each project now owns its own sprint history:

clients/<client>/projects/<project>/sprints/
  sprint-001.md
  sprint-002.md
  ...
  CURRENT -> sprint-NNN.md      (symlink to the active sprint)
  • /sprint-plan auto-detects the next sprint number, creates
    sprint-NNN.md from the template, and repoints CURRENT.
  • /retro reads CURRENT, stamps status: closed and closed_date,
    and writes the retrospective into the same sprint file (no separate
    retro doc).
  • The sprint file holds frontmatter (status, dates, goal), milestone
    table, backlog with PR links, risks, definition of done, and the
    embedded retrospective.

Fixes a prior bug where /sprint-plan wrote to specs/. Sprint history
is now reviewable and stable enough for automated orchestrators to read
the active sprint via the CURRENT symlink.

README overhaul

The public-facing README has been rewritten as a proper open-source
project README:

  • Badges (stars, license, Claude Code)
  • "What It Is" framing — the core insight that Claude Code already
    supports the primitives; the harness composes them with intention
  • "How It Works" with a Mermaid pipeline flowchart
  • Full 25-agent roster table (including Hardware Council)
  • Mermaid diagrams for the team hierarchy and the sprint git-flow
  • Annotated directory structure
  • Getting Started, Key Commands, Workflow Gates
  • Sprint Tracking convention documented
  • Sync pipeline (sync-to-public.sh) usage documented
  • Contributing guidelines

Breaking Changes

  • /sprint-plan output path changed. Previously wrote to
    clients/<client>/specs/sprint-<n>-plan.md. Now writes to
    clients/<client>/projects/<project>/sprints/sprint-NNN.md. Existing
    sprint files in specs/ are not migrated automatically.
  • /retro output changed. Previously wrote a separate retro-*.md
    file. Now writes the retrospective into the active sprint file and
    flips status: closed. No separate retro file is created.

Migration Notes

If you have existing sprint plans under clients/<client>/specs/:

  1. Create clients/<client>/projects/<project>/sprints/ for each project
  2. Move (and renumber if needed) existing sprint files to
    sprints/sprint-NNN.md
  3. Add the new frontmatter (sprint_number, status, start_date,
    end_date, client, project, goal) to each migrated file
  4. Symlink CURRENT to the latest active sprint:
    ( cd sprints && ln -sfn sprint-NNN.md CURRENT )

Credits

Released by 10Legs. Built on Claude Code.