paulnsorensen/easy-cheeseMIT8 files

Wheypoint

>-

Specification
Skill ID
paulnsorensen/easy-cheese/wheypoint
Publisher
paulnsorensen
Repository
easy-cheese
Installs
0
Files
8
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

paulnsorensen/easy-cheese/wheypointInstalls these files
  • SKILL.md
  • references/commands.md
  • references/delta-contract.md
  • references/intent-contract.md
  • references/legacy-notes.md
  • references/parallel-handoffs.md
  • references/provenance-fields.md
  • scripts/wheypoint.pyz

What this skill tells the agent

/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 for a phase's Checkpoint & stop option. A phase checkpoint is a standalone, non-terminal Wheypoint record, not a terminal phase artifact. Workers at a hard limit return observations; the parent, not the worker, runs checkpoint persistence.

Inputs

  • The conversation is the primary input.
  • The optional argument shapes only the orientation line.
  • The focus never removes a decision, question, blocker, or directive.

Runtime commands

Run every command through this skill's archive by its resolved installed bundle path; see `../cheese/references/harness-portability.md`. When the consumer repository lacks skills/, resolve the installed bundle path before execution; never assume the easy-cheese checkout or current working directory.

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. The parent delegates persistence as one structured checkpoint task to this capability. Run validate before checkpoint; workers never invoke either command at a hard limit. Phase skills use their own wheypoint-resolve --ref <slug> command for resolution. The command returns authoritative, not-found, legacy, gated, ambiguous, or error. Use authoritative working_context as the first batched tilth_read; follow `references/delta-contract.md` for all outcomes and findings. phase-artifact is fallback context, and the handoff parser exposes its phase_slug.

Flow

  1. Read the user's words. Run turns and keep every user turn in view.
  2. Map each turn to an entry, or write one line that says why the turn is not captured.
  3. Rehydrate. Run show for the work id; a first checkpoint binds the genesis sentinel itself.
  4. After a compaction, rehydrate first and pass a proof with --compacted.
  5. Write the intent. Follow `references/intent-contract.md`.
  6. Put each user-stated constraint or preference in a directive entry with its verbatim quote.
  7. Put each choice in a decision entry with a rationale.
  8. Put each open item in a question or blocker entry.
  9. Record a parked fork in decision_dossier with its options, evidence, and prior leaning.
  10. Put the report a cold reader needs in notes.
  11. Put paths and URLs in artifact_links and working_context, not their contents.
  12. Validate. Run validate and fix every named problem.
  13. Checkpoint. Run checkpoint.
  14. 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: affinage without a PR reference in artifact.
  • It refuses next: cook or next: cut without an artifact.
  • It refuses text that matches a credential pattern and names the field.
  • It refuses an empty artifact_links or remove_artifact_links list.
  • It derives status: from the gating entries per the handback contract; no author sets it.
  • It refuses a baseline key 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. next: cook on a standalone checkpoint names the phase to resume; it does not publish a Cook→Cook phase artifact.
  • affinage: PR review comments or failing CI; artifact names the PR.
  • briesearch, culture: a read-only next move that /cheese --continue dispatches.
  • tasks: independent moves; see `references/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; use hold when 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 and this link: 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.

Use this skill in a project

Open any RiverX project, search the Skills panel for paulnsorensen/easy-cheese/wheypoint, and install it in one click.

Use this skill