Harness
Defines the constraints, tools, roles, environments, and quality gates that make engineering repeatable and failure visible.
Reliable products do not emerge from code generation alone. VLSC combines explicit constraints, a repeatable execution environment, nested feedback loops, and a living design contract so field evidence can continuously correct architecture and delivery.
Harness, Loop, and SDD are not product families. They are the three cooperating structures that turn a field problem into a tested increment, traceable evidence, an operable product, and reusable knowledge.
Defines the constraints, tools, roles, environments, and quality gates that make engineering repeatable and failure visible.
Moves intent through implementation, verification, observation, and learning—inside every FDE stage.
Links design intent to implementation facts, evidence, deviations, known issues, and reusable decisions.
An engineering harness is the complete environment that constrains, executes, verifies, and repeats work—not merely an AI coding tool or a document template.
Why a harness at all — why every incident has to become a rule:
千丈之堤,以蝼蚁之穴溃;百尺之室,以突隙之烟焚。
A dike a thousand zhang tall collapses through an ant hole; a house a hundred chi high burns down from a spark in a chimney crack. trans.
Han Feizi, *Yu Lao* (《韩非子·喻老》)
The outer loop reduces product risk. The inner loop makes every increment implementable, reviewable, observable, and correctable.
Declare intent, constraints, interfaces, acceptance conditions, and required evidence. Build the smallest increment that can invalidate an assumption.
Use the verification method appropriate to the claim. Review specification compliance, code quality, safety boundaries, and factual wording.
Collect operating behavior, performance, and failures. Feed decisions, deviations, evidence, and known issues back into the living contract.
FDE's fourth loop practice: the support chain iterating on itself. A 🐞 report becomes cited evidence, a public answer, a board card — and, for scheduled bugs, a tested patch waiting for a human yes.
| Classification | Automatic action | Boundary |
|---|---|---|
| noise — environment / false alarm / already-fixed signature | Answer the user; board column answered — terminal | No code work; the answer already exists on the public answers page |
| bug — a locatable product defect | Answer the user and auto-schedule into the unattended implementation queue | Fixing is a verification problem, not a product choice |
| feature — new capability / parameter | Answer the user; board column backlog | Scheduling is a product decision; the operator decides |
| need_more_info | Never closes — stays in the backlog | An un-answered report must not pretend the loop closed |
Read-only model; patch delivered as a unified-diff JSON contract; protected paths (tooling-guard JS, certs/, win/, packaging/, .iss) refused; at most 8 files per patch; git apply --check first.
The patch applies only on a fresh fde/<id> branch from a clean main worktree. main is never touched by an unattended process; merging is a human act.
The full unittest suite decides: green commits to the branch (the board records branch@hash plus the test line); red deletes the branch, restores the worktree, and records the reason.
fde_board.py list|decide|implement.Triage · 10 min → Answer · same day → Implement · hours (single-flight) → Release · days → Immunity · permanentA system's learning rate is set by the fastest loop able to capture each class of incident. The field loop adds the outermost period: the classes that never appear inside the repository — sound-card-less VMs, USB re-enumeration, macOS permission dialogs, Gatekeeper.
A Software Design Document guides implementation and is corrected by implementation. Planned architecture and observed maturity remain explicit, never blended.
Why the system exists, what boundary it owns, which quality attributes matter, and why one architecture was chosen over another.
What exists, how it was verified, where it operates, what failed, and which limitations remain open.
plannedSpecified, not yet implemented.
implementedExists in code; verification remains bounded.
testedPassed named automated or simulation tests.
bench-verifiedVerified with physical hardware on a bench.
field-verifiedObserved in the intended operating environment.
releasedPublicly released or operational.
deferredExplicitly postponed with scope visible.
known-issueKnown gap; never represented as complete.
Claim · Source artifact · Version / commit · Environment · Verification method · Result · Limitations · DateWithout these fields, a status label is an assertion without provenance.
Harness constrains execution, Loop produces evidence and feedback, and SDD preserves the contract they continuously revise.
Tools and rules exist, but the system does not learn.
Iteration may be fast, but results are not repeatable or auditable.
The document becomes an outdated prediction.
Knowledge remains in individuals, terminals, or chat history.
Agents, tests, and deployment lack shared semantics and acceptance criteria.
The matrix demonstrates how the same Engineering System adapts to each product family. It is not a ranking.
| Product family | Harness focus | Loop breakthrough | SDD role | Engineering evidence |
|---|---|---|---|---|
| MRRC Universal | Hamlib, server authority, Web/PWA | Field network and state-drift feedback | Stabilizes the universal radio boundary | Released and field-operational evidence |
| MRRC Direct USB | USB, model backends, client safety gates | FT-710 vertical validation → Modern platform | Extracts RadioBackend and RadioCapabilities | FT-710: 439 tests; Modern: 1897 tests. Physical-radio acceptance stays separate. FT710Mobile P0 PTT remains a known issue. |
| SunMRRC | Packet capture, DSP, media diagnostics, native client | Unknown protocol → Direct-IQ product | Keeps protocol, media, and safety contracts synchronized | Server, Web, and SunsdrMobile client evidence remain separate |
| MRRC-FT8 | Clock, audio, workflow state, TX guards | Field QSO cycles drive state-machine evolution | Separates public release from SDD V1.8 field evolution | Release evidence and later field evolution are not the same artifact |
| EFHW | Firmware, sensor, servo, RF bench | Bounded measurement–actuation search | Separates design, firmware, PCB, bench, and field states | V3.0 design/firmware complete; PCB and bench verification pending |
Maturity describes the engineering system, not product quality or team worth. Documentation volume and test counts alone do not advance a level.
Knowledge lives in individual actions and temporary notes.
A basic harness and repeatable execution path exist.
Specification, code, tests, release, and evidence can be linked.
Claims include source, environment, method, result, and limitations.
Validated architecture, constraints, and assets transfer across products.
A detailed SDD does not prove hardware behavior.
Coverage volume does not establish environment, scope, or physical acceptance.
Fast output still requires specification, quality, safety, and provenance gates.
A package can be published while a scenario or client remains unverified.
A contract that ignores implementation and field evidence becomes fiction.
Planned, implemented, tested, and field-verified are different statements.
Projects may use different chapter numbers. Semantic responsibility, lifecycle status, and evidence fields are the stable contract.
Claim:
Source artifact:
Version / commit:
Environment:
Verification method:
Result:
Limitations:
Date:Agentic Engineering explains why field evidence is allowed to change five product families; this volume explains how each increment stays constrained, reviewable, traceable, and reusable. FDE — Echo, Delta, Product — is the outer loop that still signs off what an agent may not.
The practice journal: the coda on what stands outside every loop · why attempts matter · the method end to end · the support loop · the solo loop · the faculties · the distillation.