npx skills add ...
npx skills add paulnsorensen/easy-cheese --skill press
Run the tests-only adversarial pass after `/cook`. Report each defect as a finding for a Cook correction. Use this skill when the user says "press the changes", "harden this", "press before /age", or "/press". Do not edit production code.
npx skills add paulnsorensen/easy-cheese --skill press
Press is the tests-only adversarial pass after /cook. It reports a GREEN pass to /age and a finding to Cook.
Press never owns first coverage. Press never edits production code. Cook owns the implementation. Press attacks the approved contract and reports each defect it exposes.
Run python3 skills/press/scripts/press.pyz wheypoint-resolve --ref <slug>.
authoritative uses the record; its working_context is the first batched tilth_read.
not-found proceeds cold; legacy shows its source and slug, then proceeds.
gated, ambiguous, and error stop and show the payload.
Show advisory stale-commit and grounded-path-missing findings.
Press accepts this invocation:
After phase entry, Press reads .cheese/cook/<slug>.md for the Cook handoff.
--auto selects the autonomous chain. See ## Auto mode.
--hard requests the optional final gate. Press forwards this flag to Age.
--open-pr is publication permission. Only the user supplies it. Press forwards this flag to Age. Press never adds it.
Press preserves the Cook durable_flags: value without change. Press ignores the Cook taste_test: value.
finding when an attack test exposes a defect. Use green for a clean pass. Use production_changed when the attempt changed production paths. Use invalid_evidence when you cannot verify the evidence./age after GREEN.Invalid evidence and a production tree change stop the run. A third finding on the same attack also stops the run. The outcome table defines the correction cap.
Press has no global dispatch: /cook action. A Cook correction runs only for a reported finding.
Press preserves baseline-aware readiness for project gates. The Cook baseline: line names one artifact. That artifact holds the settled state.
Read the artifact through the baseline: path. Do not re-flag a failure when its test and signature match the artifact. New or changed failures block the route.
See ../cook/references/quality-gates.md. Also see references/gap-analysis.md.
.cheese/glossary/<slug>.md when that file exists.green, finding, invalid_evidence, or production_changed from the adversarial run..cheese/press/<slug>.md. Include the attempts, evidence, and review follow-ups./age. Send a finding to Cook as a correction.Use code-intelligence-routing.md for source changes.
Use ../cheese/references/harness-portability.md for portability.
The reference states that slash commands are host renderings, not the control model.
Press reports one readiness value. Map ready for /age to status: ok and next: age.
Map follow-up recommended to status: ok-with-concerns: <concern> and next: age. Use this status for a GREEN pass that also records a review follow-up. Age owns each recorded concern.
Map finding to status: ok-with-concerns: <defect> and next: cook.
Map blocked to status: halt: <reason> and next: done. blocked means invalid evidence or a production change. Stop after that status.
--auto runs the same adversarial loop. It also selects the next phase without a user prompt.
Dispatch /age <slug> --auto after ready for /age or follow-up recommended. Add --hard when the user supplied it. Add --open-pr when the user supplied it.
Stop after blocked or halt: correction-cap. Do not dispatch Age.
Honor the no-chain directive when the caller supplies it. Write the Press handoff and stop. Do not start another phase. Cook's fan pathway owns this directive. The retired /ultracook orchestrator previously owned it. Test for the directive itself. Do not test for the source name. See ../cook/references/auto-mode.md.
Write .cheese/press/<slug>.md at each Press result.
Write the file with python3 skills/press/scripts/press.pyz write-handoff-artifact; include one or more --grounded <path[#start-end]> arguments. Use the canonical preamble:
The handback contract defines the status: grammar. The preamble accepts no other keys. Put every Press value in the report body.
artifact: names the consumed Cook report. Do not put attack evidence on this line.
baseline: names the one artifact that Cook recorded. See ../cook/references/quality-gates.md.
Write these body sections under the preamble:
## Attempts — one row for each attempt. Give the attempt number and outcome.## Evidence — the stable attack identity, the test digest, and the failing test for a finding.## Review follow-ups — each out-of-contract concern. Write none when the run records no concern. Age reads this section.Map the outcome to the terminal preamble:
| outcome | status | next |
|---|---|---|
| GREEN | ok | age |
| GREEN with a recorded concern | ok-with-concerns: <concern> | age |
| finding (an attack test exposes a defect) | ok-with-concerns: <defect> | cook |
invalid evidence or production change (blocked) | halt: <reason> | done |
| third finding on the same attack | halt: correction-cap | done |
next: done is terminal. It never starts another phase.
A next: cook handoff is a Cook correction (correction = true). Cook fixes the defect. Press then replays the same attack.
Press enforces a correction cap. Press allows at most 2 Cook corrections for the same attack. A third finding on that attack stops with status: halt: correction-cap and next: done.
Pipeline: culture → mold → cook → [press] → age → cure → plate
After a GREEN Press report, use the shared handoff gate. Start the review with /age <slug>.
After a finding, hand off to Cook as a correction with the failing test named in the report.
Forward --hard, --auto, and --open-pr to /age when the caller supplied them. Never add --open-pr.
## Review follow-ups. Report the run as ok-with-concerns on a GREEN pass.Press uses evidence first. An unverified failure is not a finding.
Name the outcome before each handoff decision. Name the attack digest. Stop if one value is missing. Do not guess.
Generated bundle command inventory: references/commands.md.