OpenKKnD/HEAVY-SESSION.md
2026-09-14 00:54:13 +02:00

151 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# OpenKKnD — Heavy / Super-Sparmodus Session Instruct
**Tree:** `PATH[OpenKKnD]``$HOME/git/src/OpenKKnD` (macOS: `src/openkknd` same inode)
**Product:** Pitchwell (original RTS greenfield) — **not** playable Godot `openkknd2` (TODO309)
**Audience:** one local-capable session (vision OK) under Heavy / Sparmodus
**Updated:** 2026-09-14 (from kitchen STATUS + models probe)
---
## 0. Stop-line (always)
- No Nintendo / C&C brand names; no KKnD assets or rips
- No `git push`, no live/prod login, no host mutation without **Freigabe this session**
- Kitchen + Bonfire/Lemmy publish freigabe already (STATUS); Castopod live still blocked (404)
- Prefer local / `API_CALLS=NONE` workflows; Heavy = **zero Cloud-Grok**
---
## 1. Session boot (do first)
```text
/w super-sparmodus heavy # or: status / set --profile …
/model <catalog-id> # slash is /model (/m) — there is NO /models slash
# CLI inventory: grok models
./scripts/smoke/run_all.sh # expect RUN_ALL PASS before claiming game/smoke done
```
Read in order: `README.md``docs/IP-FENCE.md``kitchen/STATUS.md``kitchen/PLAYBOOK.md` → this file.
Sticky: `COMPACT_KEEP``PATH[OpenKKnD]` · `STATUS=FLAMEWAR-PLATFORM-LOOP` · `round` · smoke PASS/FAIL.
---
## 2. Models (Heavy shortlist + vision)
Heavy shortlist (Super-Sparmodus; snapshot):
| Profile | Catalog id | Host / note |
|-------------|-------------------------|--------------------|
| speed | `jan-gemma4-v2` | Jan — default text |
| quality | `jan-gemma4-opus48` | Jan |
| shell_git | `08-am-qwen3-coder-latest` | amanita Ollama |
| foundation | `24-am-gemma3-4b` | amanita (tiny+vision) |
| quality_alt | `jan-maral-mythos-9b` | Jan |
**Vision (completion + vision caps):** not a dedicated Heavy profile — switch explicitly:
| Catalog id | Model | Host |
|----------------------|--------------|-------------|
| `10-am-gemma3-12b` | `gemma3:12b` | amanita `:11434` |
| `07-rh-gemma3-12b` | `gemma3:12b` | rabbithole `:11436` |
| `24-am-gemma3-4b` | `gemma3:4b` | amanita (also foundation) |
Recommended Heavy vision session: `/model 10-am-gemma3-12b` (or `07-rh-gemma3-12b`).
Shell/patch stretches: `/model 08-am-qwen3-coder-latest`.
Talkative kitchen: see `kitchen/LLM.md` (temp **1.05** talk / **0.30.5** patch).
Switch helpers:
```bash
python3 $HOME/git/llm/llm-configs/bin/super-sparmodus.py set --profile speed|quality
python3 $HOME/git/llm/llm-configs/bin/super-sparmodus.py set --model 10-am-gemma3-12b
```
---
## 3. What is open (no dedicated parent TODO)
`OPEN-2026-09-05-pitchwell-kitchen.md` = **DONE_CLOSE** (historical still-open: dossiers mirror, Lemmy-bot freigabe, optional persona sync).
Live kitchen **STATUS:** `FLAMEWAR-PLATFORM-LOOP` · **round 2** · stop at **≥12**.
Still useful work (clustered below): flamewar R3→≥12, Castopod blocked notes, outbox drafts, optional dossiers stub, docs/assets hygiene, smoke after any game edit.
---
## 4. TODO clusters (pick one per stretch)
### A — Kitchen / flamewar / platform loop (default)
- Advance `FLAMEWAR-PLATFORM-LOOP` rounds **3 … ≥12**
- Voices: F1 `@copyleft-crucible`, F2 `@permissive-prickle` (+ kitchen P* per PLAYBOOK)
- Append `kitchen/ACTIVITY.md` (visible, civil, IP-FENCE clean)
- Draft → outbox `kitchen/outbox/flamewar/` then publish only channels with Freigabe
- Update `kitchen/STATUS.md` + `kitchen/AGENT_LOG.md` every turn
- Castopod: keep drafts; **do not** claim live episode while site/API 404
### B — Game / docs / IP-FENCE / economy
- `docs/GAMEPLAY.md`, `FACTIONS.md`, `IP-FENCE.md` — keep fence truthful
- `game/sim/` + `scripts/smoke/economy_smoke.py`
- After edits: `./scripts/smoke/run_all.sh` must **RUN_ALL PASS**
- Notes under `kitchen/patches/` when D1D3 change
### C — Assets / cinematics
- `docs/CINEMATICS.md`, `assets/` — original / CC only, briefings ≥1280×720
- Vision model useful for asset QA (screenshots, stub frames)
- No third-party game asset dumps
### D — Outbox publish (Freigabe-gated)
- Bonfire / Lemmy: freigabe kitchen fire (STATUS) — use live URLs already logged
- Forgejo issue/commit **drafts** only in outbox unless Freigabe commit (`/g`)
- Dossiers: stub until Auth/TLS confirmed; do not invent URLs
- Never invent Lemmy/Bonfire URLs; copy from STATUS/AGENT_LOG
### E — Tooling / smoke / git hygiene
- Keep `scripts/smoke/*` green
- Git: Must §7 via git-worker / `/g` = Freigabe commit only; **never push from worker**
- Path resolve: `python3 $HOME/git/llm/llm-configs/bin/path-lookup.py OpenKKnD`
---
## 5. Suggested work order (one Heavy session)
1. Boot Heavy + `/model` (vision if asset/UI QA, else quality or shell_git)
2. Read STATUS/PLAYBOOK; note `round` and last live post IDs
3. **Cluster A:** draft R3 (or next) kitchen + F1/F2 outbox; append ACTIVITY/AGENT_LOG; bump STATUS.round
4. Re-run smoke if any B/E touch; fix fence hits before publish
5. Publish only freigegebene channels; leave Castopod as draft + blocker note
6. End: STATUS + AGENT_LOG; optional `/g` if human Freigabe commit; no push
---
## 6. Key paths
| Path | Role |
|------|------|
| `kitchen/STATUS.md` | Loop state, round, freigabe, live URLs |
| `kitchen/PLAYBOOK.md` | Channels + play order |
| `kitchen/ACTIVITY.md` | Append-only kitchen voices |
| `kitchen/AGENT_LOG.md` | Turn log |
| `kitchen/PERSONAS.md` / `EXPERTISE.md` / `LLM.md` | Voices + knobs |
| `kitchen/outbox/` | Publish drafts |
| `docs/IP-FENCE.md` | Allowed / forbidden |
| `scripts/smoke/run_all.sh` | Headless + fence + economy |
---
## 7. Done when
- Next flamewar round(s) drafted + logged (toward ≥12), **or** Cluster B/C/E change with **RUN_ALL PASS**
- STATUS/AGENT_LOG match reality (no invented live URLs)
- Stop-line held; no push without Freigabe
---
## 8. Model kickoff (paste as first user line)
See one-liner in chat after this file lands; keep this file as the standing brief.