# V10 Case Files daily cook

This Node job produces one communal V8 Case Files edition, proves it through the
Minos DPLL and V8 finite-domain CSP paths, runs the canonical release gates,
compiles the shipping case, creates a workday clue/witness schedule, and signs a
post-reveal fairness receipt with `@oshun/content-signing`.

Monday–Friday editions use the standard profile. Saturday and Sunday editions
are selected deterministically as the weekend profile: hard-band suspect/clue
counts, 35 minutes of VO, clue drops through 19:00, and an accusation/reveal
cadence that runs through 22:15 in the configured IANA zone.

It has no signing-key fallback. For a local run, provision an Ed25519 key pair
and invoke the Nx target with explicit edition and key inputs:

```sh
openssl genpkey -algorithm Ed25519 -out /secure/case-files-private.pem
openssl pkey -in /secure/case-files-private.pem -pubout \
  -out /secure/case-files-public.pem

pnpm exec nx run @oshun/v10-case-files-cook:cook -- \
  --date 2026-07-21 \
  --time-zone America/New_York \
  --issued-at 2026-07-20T12:00:00.000Z \
  --private-key-file /secure/case-files-private.pem \
  --public-key-file /secure/case-files-public.pem \
  --key-id case-files-local-1 \
  --g5-evidence-file /governed/case-files-g5.json \
  --human-quality-evidence-file /governed/case-files-human-quality.json \
  --out ./case-files-out
```

`--issued-at` is mandatory and must remain fixed for a governed re-cook. The
output is canonical JSON with an embedded provenance record and signed receipt.
An identical re-run reports `unchanged`; the job refuses to overwrite an
existing edition if any byte drifts.

## V5 period slow-drip mode

The same job can cook a V5-grounded Mind Palace case without bypassing the daily
case proof or release gates. Pass `--period-source-file` with a strict
`v10.case-files.v5-period-source.v1` JSON snapshot and optionally choose 3–14
whole local solve days:

```sh
pnpm exec nx run @oshun/v10-case-files-cook:cook -- \
  --date 2026-10-29 \
  --time-zone America/New_York \
  --issued-at 2026-10-28T12:00:00.000Z \
  --private-key-file /secure/case-files-private.pem \
  --public-key-file /secure/case-files-public.pem \
  --key-id case-files-period-1 \
  --g5-evidence-file /governed/period-case-g5.json \
  --human-quality-evidence-file /governed/period-case-human-quality.json \
  --period-source-file /governed/v5-period-source.json \
  --slow-drip-days 4 \
  --out ./case-files-out
```

The source contract requires a V5 snapshot identity, era, unique theme tags, at
least six cast records, and one to four location records. Each record carries
its stable V5 id, display name, summary, primitive state, and tags. The cooker
maps those records into the V8 `CanonContext` and `CaseSpec` cast/location
constraints before Clew generates any truth. Missing or duplicate source
identity fails before generation. The compiled case then traverses Minos, direct
DPLL, finite-domain CSP, G4–G8, Daedalus, signed receipt creation, and the same
immutable persistence boundary as a daily case. Clues and witnesses are paced
across local calendar days; the accusation and reveal remain explicit local-time
events and preserve their wall clock through daylight-saving changes.

For the one-shot tomorrow scheduler, required environment, local cron entry, and
real deployment seam, see [OPERATIONS.md](./OPERATIONS.md).

Production should supply secret-manager-mounted key material and a stable key id
whose public key is in the client trust registry. The output contains sealed
answer material and must not be served directly to a pre-reveal client.
