Conversation is not durable state
Long tasks outlive a single working window. Decisions and the next safe step must survive outside chat memory.
DHF is a delivery framework for agentic engineering. It selects a governance profile, routes scoped execution, and preserves verification evidence; full recovery or handoff is conditional rather than universal.
Long tasks outlive a single working window. Decisions and the next safe step must survive outside chat memory.
Audience, scope, acceptance criteria, and domain language need to be explicit before implementation begins.
The lifecycle stage determines whether the next owner is requirements, planning, development, validation, review, or handoff.
A completion claim needs a fresh check, a clear outcome, the important observation, and evidence of when it ran.
A durable handoff records what changed, what was verified, what is blocked, and one next safe task.
Recovering the current lifecycle stage prevents a resumed task from repeating work or jumping into a new direction.
DHF answers five questions before it claims progress: what facts were read, which lifecycle stage the work is in, which skill or helper owns the next step, how the result will be verified, and what the next safe task is.
Read repo instructions, durable state, git status, and recent evidence before trusting chat memory.
Choose requirements, planning, development, validation, review, ship, or handoff before choosing tools.
Completion needs command, exit_code, key_output, and timestamp.
Global and repository instructions, permissions, durable evidence, and environment checks define what work is allowed and what is currently true.
The router recovers state, identifies the current stage, and chooses the workflow that owns the next bounded step.
Planning, testing, QA, security, documentation, and release specialists perform the work inside the chosen boundary.
This is a checklist, not mandatory ceremony. Only governed work with a matching escalation signal runs harness_recover.py, harness_env_probe.py, or harness_checkpoint.py; light does not require those lifecycle helpers.
Restore phase, dirty state, latest verification, and next safe task only when the governed signal requires it.
If the goal, scope, vocabulary, or acceptance criteria are unclear, stop and lock requirements first.
Select the lifecycle owner: planner, TDD, QA, security review, ship workflow, docs, or a runtime helper.
Run the relevant command and capture the evidence fields before saying the work is complete.
Record checkpoint state only when a matching governed signal requires durable handoff.
"Improve the public DHF docs so an English reader knows where to start, and prove the links are valid."
stage: validationcommand: python3 test_runner.pyexit_code: 0key_output: [PASS] lifecycle skill routing doc discoverabletimestamp: 2026-05-14T00:00:00-04:00The current kind of work—such as requirements, planning, development, validation, review, ship, or handoff.
An observable condition that must pass before work is allowed to move to the next stage.
A small outcome that can be implemented, checked, and accepted independently.
A repeatable way to observe the problem or result before forming conclusions.
A written state package that lets another session resume without relying on conversation history.
One bounded action that respects current scope, permissions, blockers, and verified state.