/wheypoint
/wheypoint records the state a new agent needs to resume the work.
Use it for culture sessions, for work without a phase slug, and when a phase offers Checkpoint & stop.
Inputs
- The conversation is the primary input.
- The optional argument names the next session's focus.
- The focus shapes the orientation line only.
- The focus never removes a decision, question, blocker, or directive.
Runtime commands
Run every command through this skill's archive by its repository path; see ../cheese/references/harness-portability.md.
python3 skills/wheypoint/scripts/wheypoint.pyz turns [--session <id> | --transcript <path>]
python3 skills/wheypoint/scripts/wheypoint.pyz show --work-id <id>
python3 skills/wheypoint/scripts/wheypoint.pyz validate < intent.json
python3 skills/wheypoint/scripts/wheypoint.pyz checkpoint [--compacted <proof.json>] < intent.json
python3 skills/wheypoint/scripts/wheypoint.pyz schema checkpoint-intent
python3 skills/wheypoint/scripts/wheypoint.pyz resolve --ref <absolute-path | work-id | slug>
python3 skills/wheypoint/scripts/wheypoint.pyz lint <projection-path>
python3 skills/wheypoint/scripts/wheypoint.pyz list
python3 skills/wheypoint/scripts/wheypoint.pyz log --work-id <id>
resolve, lint, list, log, show, schema, and turns only read; direct invocations return output, and STOP before checkpoint writing.
/cheese --continue uses resolve and never invokes another archive; slash commands are host renderings, not the control model.
See references/commands.md for the generated command list.
Flow
- Read the user's words. Run
turnsand keep every user turn in view. - Map each turn to an entry, or write one line that says why the turn is not captured.
- Rehydrate. Run
showfor the work id; a first checkpoint binds the genesis sentinel itself. - After a compaction, rehydrate first and pass a proof with
--compacted. - Write the intent. Follow
references/intent-contract.md. - Put each user-stated constraint or preference in a
directiveentry with its verbatimquote. - Put each choice in a
decisionentry with arationale. - Put each open item in a
questionorblockerentry. - Record a parked fork in
decision_dossierwith its options, evidence, and prior leaning. - Put the report a cold reader needs in
notes. - Put paths and URLs in
artifact_linksandworking_context, not their contents. - Validate. Run
validateand fix every named problem. - Checkpoint. Run
checkpoint. - Report. State the durability the result reports and the resume commands.
What the runtime enforces
The runtime refuses an intent instead of dropping data.
- It refuses an unknown key and names its path.
- It refuses a first checkpoint that carries no entry and no notes.
- It refuses
next: affinagewithout a PR reference inartifact. - It refuses
next: cookornext: cutwithout anartifact. - It refuses text that matches a credential pattern and names the field.
- It refuses an empty
artifact_linksorremove_artifact_linkslist. - It derives
status:from the gating entries per the handback contract; no author sets it. - It refuses a
baselinekey rather than drop it; a Cook baseline stays in the Cook handoff. - It requires a dossier fork for each gating entry.
- It derives every identifier, digest, and revision.
Fix a refused intent and run checkpoint again.
Handoff slug
The checkpoint command writes the shared preamble at the top of the generated projection; every consumer reads it with parse_handoff_slug().
status: <canonical status field>
next: mold | cut | cook | press | age | cure | affinage | briesearch | culture | hold | tasks | done
artifact: <path, or PR#<n> / URL when next is affinage, else empty>
<one-line orientation: where the session is and what is mid-flight>
For next: tasks the projection adds a mode: parallel keyed line after artifact:; the keyed block after the orientation holds the Wheypoint pins.
The projection body shows gates, open entries, decisions, directives, notes, context, artifacts, the dossier, and tasks.
The projection is never the authority; never edit it and never resume from it by hand.
next: values
mold,cut,cook,press,age,cure: the next pipeline phase.affinage: PR review comments or failing CI;artifactnames the PR.briesearch,culture: a read-only next move that/cheese --continuedispatches.tasks: independent moves; seereferences/parallel-handoffs.md.hold: restore orientation and wait for instructions.done: the work is complete; the checkpoint is a record, not a baton.- A missing
next:makes the handoff malformed; useholdwhen no action follows.
Derive next: and status: from the open questions and blockers, not from expected success.
Use status: gated: for every human decision; the resumed agent asks through the shared handoff gate before it dispatches.
Handwritten notes, their legacy values, and their provenance fields are in references/legacy-notes.md and references/provenance-fields.md.
Rules
- Never run a Git commit, push, or publication to raise durability.
- Never write a note by hand, never edit a generated projection, and never include a secret value.
- Reference each artifact by path or URL; do not copy its contents.
- Use complete sentences; write one sentence per line.
Handoff
End with the orientation line, a Markdown link to the projection, and the resume commands.
Use this link form: Wheypoint dropped: [.cheese/notes/<slug>.md](<absolute-note-path>).
From the repository run /cheese --continue <slug>; from elsewhere run /cheese --continue <absolute-repo-path>/.cheese/notes/<slug>.md.