Forward implementation first
Build working capability and correct output before administrative bookkeeping.
Apply this contract both while building a system and while running it.
Scope
This skill applies to:
- infrastructure and roadmap implementation;
- input intake and intermediate artifact production;
- transformation, derivation, and analysis stages;
- test construction, runtime verification, and measurement;
- publication of final output and closeout;
- manual invocation of any authorized pipeline stage.
It applies whether the action runs through a full orchestrator, a focused
command, or a manual stage invocation.
Decision rule
Before each action, classify it as one of:
- Semantic implementation: builds or connects a producer, consumer,
adapter, runtime path, schema, fixture, or final output.
- Focused validation: tests the changed dependency cone through behavior,
schema, counts, samples, conservation, consistency, nontruncation, or
measured resources.
- Administrative bookkeeping: generates or repairs hashes, locks,
receipts, dashboards, certification markers, progress metadata, or
presence-only records.
Choose categories 1 and 2. Skip category 3 unless the user asks for it or the
artifact is itself part of the product. When administrative work blocks a path
without protecting correctness, remove that dependency from the path.
Hard constraints
- Build the producer and consumer before polishing status or certification
surfaces.
- Do not generate, repair, compare, or propagate administrative hashes.
- Do not create or wait on filesystem locks.
- Do not rerun an unchanged stage to regenerate a receipt or marker.
- Never invalidate valid output because an administrative receipt, hash,
certification marker, dashboard row, or progress record is missing, stale, or
incompatible.
- Never move the forward cursor backward for an administrative metadata change.
- Never invalidate a wide stage range when only one producer or consumer
changed. Replay only that producer's dependency cone.
- Do not treat certification, receipts, dashboards, progress metadata, or
artifact presence as the product.
- Remove hash-only, lock-only, receipt-only, and presence-only credit or gates
from execution paths.
- Do not claim a capability works because its file exists. Run the smallest
changed dependency cone and inspect the output.
- Publish valid output after focused validation. Do not add an extra review
cycle when no defect remains.
Forward cursor and manual execution
A stage may move backward or be replayed only when at least one real condition
holds:
- its input meaning changed;
- its target or pinned revision changed;
- its output is malformed, truncated, nonconserving, internally inconsistent,
or incompatible with the consumer;
- an observed run disproves the earlier static result;
- the changed producer's declared dependency cone requires replay.
Missing or stale administrative metadata is not one of those conditions.
When the orchestrator refuses to run a stage only because of a receipt,
certification marker, progress record, administrative hash, or lock:
- Run the exact stage manually.
- Validate its output with the focused checks below.
- Publish the valid output atomically.
- Continue from the forward cursor.
- Remove or downgrade the administrative-only gate in the execution path.
Do not refuse an authorized manual run because the full pipeline cannot issue a
receipt. Do not push the user toward another agent or tool to get around your
own bookkeeping.
Required validation
Use the checks that match the change:
- runtime behavior and exit status;
- schema and type validity;
- exact input, output, accepted, rejected, and unknown counts;
- deterministic first, middle, and last samples;
- identity and partition conservation;
- join consistency and flag polarity;
- nontruncation and bounded diagnostic output;
- wall-clock time and peak memory for material stages.
Hashes may identify inputs or revisions, but they never grant correctness,
execution, or roadmap credit.
Exceptions that stay substantive
Bookkeeping is cheap to skip. Evidence is not. Keep these:
- Integrity that belongs to the product itself. A checksum your users verify, a
signature your format requires, a hash that is part of the output contract.
Those are features, not paperwork.
- Input and revision identity when it decides which version of the thing you
are operating on. Getting that wrong means correct work on the wrong target.
- Real measurement: tests that assert results, benchmarks, reproductions,
end-to-end runs, and whatever your domain treats as proof.
- The difference between coverage and consequence. A run that exercises a path
is not a check that the path produced the right answer.
- An execution record is substantive when it carries the command, the input,
the result, and the expectation it was checked against. Its absence blocks
that specific claim. It does not invalidate unrelated earlier stages.
Parallel work invariants
These are behavior contracts, not a scheduler. Your runtime owns scheduling,
concurrency, resource contention, and worker topology, and this skill carries
no policy about them. Keep these invariants under any scheduler:
- Exactly one writer owns publication, cursor movement, acceptance, and
conclusions. Parallel workers prepare, implement, inspect, and test
nonoverlapping support work. They never become competing truth.
- Verify a worker's output locally before consuming it. A worker's report
states intent, not result.
- Forward progress does not wait for every worker to finish. Consume completed
output when the dependency that needs it is reached.
- Do not manufacture busywork to occupy idle workers. An idle slot is cheaper
than fake work.
- If a run exposes a defect in a stage, fix that stage before rerunning its
dependency cone.
- If the next proposed action is bookkeeping-only, select the next unresolved
producer, consumer, adapter, or output instead.
If no system owns scheduling in your setup, write a small profile for it
yourself; examples/execution-profile.md is a
starting point. The skill never loads it on its own.
Status reporting
Report implemented behavior and measured output first. List blockers literally.
Keep infrastructure progress separate from evidence about the output. Do not
turn administrative completion into a substitute for working capability.
1---2name: forward-implementation-first3description: Keeps an agent building and validating real output instead of servicing its own bookkeeping. Use for multi-stage pipelines, capability roadmaps, long-running implementation loops, migrations, staged data or build runs, and any run where administrative hashes, locks, receipts, dashboards, certification markers, or progress metadata can block correct work. Use when an agent refuses to advance, rewinds finished stages, or reruns unchanged work because a marker is missing or stale.4---56# Forward implementation first78Build working capability and correct output before administrative bookkeeping.9Apply this contract both while building a system and while running it.1011## Scope1213This skill applies to:1415- infrastructure and roadmap implementation;16- input intake and intermediate artifact production;17- transformation, derivation, and analysis stages;18- test construction, runtime verification, and measurement;19- publication of final output and closeout;20- manual invocation of any authorized pipeline stage.2122It applies whether the action runs through a full orchestrator, a focused23command, or a manual stage invocation.2425## Decision rule2627Before each action, classify it as one of:28291. **Semantic implementation**: builds or connects a producer, consumer,30 adapter, runtime path, schema, fixture, or final output.312. **Focused validation**: tests the changed dependency cone through behavior,32 schema, counts, samples, conservation, consistency, nontruncation, or33 measured resources.343. **Administrative bookkeeping**: generates or repairs hashes, locks,35 receipts, dashboards, certification markers, progress metadata, or36 presence-only records.3738Choose categories 1 and 2. Skip category 3 unless the user asks for it or the39artifact is itself part of the product. When administrative work blocks a path40without protecting correctness, remove that dependency from the path.4142## Hard constraints4344- Build the producer and consumer before polishing status or certification45 surfaces.46- Do not generate, repair, compare, or propagate administrative hashes.47- Do not create or wait on filesystem locks.48- Do not rerun an unchanged stage to regenerate a receipt or marker.49- Never invalidate valid output because an administrative receipt, hash,50 certification marker, dashboard row, or progress record is missing, stale, or51 incompatible.52- Never move the forward cursor backward for an administrative metadata change.53- Never invalidate a wide stage range when only one producer or consumer54 changed. Replay only that producer's dependency cone.55- Do not treat certification, receipts, dashboards, progress metadata, or56 artifact presence as the product.57- Remove hash-only, lock-only, receipt-only, and presence-only credit or gates58 from execution paths.59- Do not claim a capability works because its file exists. Run the smallest60 changed dependency cone and inspect the output.61- Publish valid output after focused validation. Do not add an extra review62 cycle when no defect remains.6364## Forward cursor and manual execution6566A stage may move backward or be replayed only when at least one real condition67holds:6869- its input meaning changed;70- its target or pinned revision changed;71- its output is malformed, truncated, nonconserving, internally inconsistent,72 or incompatible with the consumer;73- an observed run disproves the earlier static result;74- the changed producer's declared dependency cone requires replay.7576Missing or stale administrative metadata is not one of those conditions.7778When the orchestrator refuses to run a stage only because of a receipt,79certification marker, progress record, administrative hash, or lock:80811. Run the exact stage manually.822. Validate its output with the focused checks below.833. Publish the valid output atomically.844. Continue from the forward cursor.855. Remove or downgrade the administrative-only gate in the execution path.8687Do not refuse an authorized manual run because the full pipeline cannot issue a88receipt. Do not push the user toward another agent or tool to get around your89own bookkeeping.9091## Required validation9293Use the checks that match the change:9495- runtime behavior and exit status;96- schema and type validity;97- exact input, output, accepted, rejected, and unknown counts;98- deterministic first, middle, and last samples;99- identity and partition conservation;100- join consistency and flag polarity;101- nontruncation and bounded diagnostic output;102- wall-clock time and peak memory for material stages.103104Hashes may identify inputs or revisions, but they never grant correctness,105execution, or roadmap credit.106107## Exceptions that stay substantive108109Bookkeeping is cheap to skip. Evidence is not. Keep these:110111- Integrity that belongs to the product itself. A checksum your users verify, a112 signature your format requires, a hash that is part of the output contract.113 Those are features, not paperwork.114- Input and revision identity when it decides which version of the thing you115 are operating on. Getting that wrong means correct work on the wrong target.116- Real measurement: tests that assert results, benchmarks, reproductions,117 end-to-end runs, and whatever your domain treats as proof.118- The difference between coverage and consequence. A run that exercises a path119 is not a check that the path produced the right answer.120- An execution record is substantive when it carries the command, the input,121 the result, and the expectation it was checked against. Its absence blocks122 that specific claim. It does not invalidate unrelated earlier stages.123124## Parallel work invariants125126These are behavior contracts, not a scheduler. Your runtime owns scheduling,127concurrency, resource contention, and worker topology, and this skill carries128no policy about them. Keep these invariants under any scheduler:129130- Exactly one writer owns publication, cursor movement, acceptance, and131 conclusions. Parallel workers prepare, implement, inspect, and test132 nonoverlapping support work. They never become competing truth.133- Verify a worker's output locally before consuming it. A worker's report134 states intent, not result.135- Forward progress does not wait for every worker to finish. Consume completed136 output when the dependency that needs it is reached.137- Do not manufacture busywork to occupy idle workers. An idle slot is cheaper138 than fake work.139- If a run exposes a defect in a stage, fix that stage before rerunning its140 dependency cone.141- If the next proposed action is bookkeeping-only, select the next unresolved142 producer, consumer, adapter, or output instead.143144If no system owns scheduling in your setup, write a small profile for it145yourself; [examples/execution-profile.md](examples/execution-profile.md) is a146starting point. The skill never loads it on its own.147148## Status reporting149150Report implemented behavior and measured output first. List blockers literally.151Keep infrastructure progress separate from evidence about the output. Do not152turn administrative completion into a substitute for working capability.