PR #1306 — Standardizing Harness vs. Workspace Agent Separation Across CLI Flags, Configs, and Docs

PR #1306 — Standardizing Harness vs. Workspace Agent Separation Across CLI Flags, Configs, and Docs

The Core Distinction

In multi-agent architectures, confusing an actor with their tooling creates subtle yet pervasive systemic bugs:

  • Workspace Agents are the persistent org-chart roles (`pm`, `architect`, `tpm`, `dev`, `designer`, `qa`, `marketing`, `synlynk-bot`). They hold charters, durability policies, lifecycle accountability, and distinct GitHub App bot identities (`synlynk--[bot]`). They are who owns the work.
  • Harnesses are the swappable execution backends (`claude`, `codex`, `grok`, `agy`, `local`). They provide model access, process sandboxing, and token cost tracking. They are how compute and turn executions take place.

PR #1306 resolves issue #1255, completing the transition initiated by #1202 to eliminate conflation across CLI surfaces, configuration directories, and documentation.


What Changed

1. Documentation & Instruction Cleanliness (Phase 1)

  • Roadmap Precision: Corrected `docs/strategy/2026-08-15-two-imperatives-roadmap.md` line 7 to clearly state that autonomous workspace agents (`dev`, `qa`, `designer`, `marketing`) execute via autonomous harnesses (`codex`, `grok`, `agy`).
  • Vendor Instruction Preambles: Updated `GEMINI.md`, `CLAUDE.md`, and `GROK.md` preambles to explicitly state `- Harness: `.
  • Design & Plan Specs: Committed formal Design Spec (`docs/superpowers/specs/2026-08-30-harness-agent-separation-design.md`) and Implementation Plan (`docs/superpowers/plans/2026-08-30-harness-agent-separation.md`).

2. CLI Surface Standardization (Phase 2)

  • `synlynk dispatch`: Added canonical `--force-harness` flag to pin an execution backend, deprecating `--force-agent` with a non-breaking warning.
  • `synlynk jobs handoff`: Added canonical `--to-harness` flag alongside `--to` / `--to-agent`.
  • Deprecation Layer: Extended `_warn_deprecated_harness_flag` to warn on deprecated flags without breaking existing scripts.

3. Directory & Function Alignment (Phase 3)

  • `.harnesses/` Directory Support: Configuration loaders now inspect `.harnesses/` first, transparently falling back to legacy `.agents/`.
  • Internal Function Aliasing: Renamed `cmd_agent_add/configure/list/run` to `cmd_harness_add/configure/list/run`, preserving dual-exports for backward compatibility.
  • Database & Lock Safety: Prevented SQLite same-thread lock contention during probe and calibration sweeps by guarding unneeded DML updates and releasing read locks early.

Verification

  • Full Core Test Suite: 496/496 tests in `tests/test_synlynk.py` pass.
  • Dispatch Tests: 107/107 tests in `tests/test_dispatch.py` pass.
  • Agent CLI Tests: 72/72 tests in `tests/test_agent_cli.py` pass.