Skip to content
C.W.K.
Stream
Lesson 04 of 04 · published

Done Belongs to the Task

~11 min · acceptance, destination, proof, completion

Level 0Cold Vessel
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

Done Belongs to the Task

Crucible owns a lifecycle record, not a universal definition of completion. A code repair may be done when tests pass and the served route shows the fix. A research packet may be done when sources are cited and the requested comparison is delivered. A phone call may be done when the call happened and a summary exists. One engine cannot replace those meanings with “commit present.”

This is why the landing summary is required while a commit is optional. Every task needs a compact statement of what changed, where the deliverable went, and what evidence was checked. Only some tasks naturally produce a repository commit. Treating Git as universal proof would make non-code work second class and encourage fake commits containing mere receipts.

The completion predicate travels with the task and is evaluated at its real destination. The workshop may enforce that the predicate was named and that evidence was recorded, but it should not invent domain tests after the fact. Doing so would quietly move product ownership into the engine.

There are two layers of done. The deliverable layer asks whether the requested result exists where it belongs. The record layer asks whether the execution, review, revisions, and proof were captured. Crucible can refuse to close the second layer. It must rely on the scoped task to define the first.

Two Green Lights

Write completion as two checks: destination proof and record proof. A task lands only when both are green. This prevents a beautifully documented failure from passing, and it prevents an undocumented success from disappearing into folklore. The checks are joined at landing but owned by different contracts.

Proof is part of scope before execution begins. Crucible can enforce that evidence is supplied, but only the requester can say which destination and observation make the task complete. A receipt proves the declared finish line; it cannot choose that line after seeing the result.

Code

Join deliverable proof with record proof·python
def can_land(deliverable: dict, record: dict) -> bool:
    destination_ok = deliverable["exists"] and deliverable["acceptance_passed"]
    record_ok = bool(record["summary"]) and record["stages_complete"]
    return destination_ok and record_ok

assert can_land(
    {"exists": True, "acceptance_passed": True},
    {"summary": "normalized 120 rows", "stages_complete": True},
)
print("both layers are green")

External links

Exercise

For a non-code task, write one destination proof and one record proof. Then explain why substituting a Git commit for either would weaken the claim.
Hint
Choose something concrete such as a sent briefing, an approved design, or a completed call.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.