Add prompt route smoke checks

This commit is contained in:
2026-06-26 14:50:45 +02:00
parent b3cd8d77a1
commit cff1a248ec
4 changed files with 435 additions and 7 deletions
+14 -6
View File
@@ -209,7 +209,8 @@ Improve later:
Near-term:
- Add final row hygiene already done through `prompt_hygiene.py`.
- Add a metadata invariant checker for rows before return.
- Add a metadata smoke checker for representative rows through
`tools/prompt_smoke.py`.
- Normalize every row with one function before JSON serialization.
Medium-term:
@@ -224,6 +225,8 @@ Near-term:
- Normalize pair metadata with one helper.
- Confirm pair prompts, captions, and soft/hard rows carry the same sanitized
scene/camera/clothing fields.
- Keep same-room pair continuity synchronized in both assembled prompt text and
`hardcore_row.scene_text`; `tools/prompt_smoke.py` covers this drift case.
Medium-term:
@@ -236,8 +239,10 @@ Medium-term:
Near-term:
- Add final prose hygiene already done through `prompt_hygiene.py`.
- Add tests for close foreplay, POV oral, POV penetration, aftercare, manual
stimulation, and camera-scene preservation.
- Add smoke coverage through `tools/prompt_smoke.py` for metadata-driven Krea2
formatting across built-in rows, hardcore rows, same-cast pairs, and POV
pairs. Expand it next for close foreplay, POV penetration, and camera-scene
preservation.
Medium-term:
@@ -249,7 +254,8 @@ Medium-term:
Near-term:
- Add final tag hygiene already done through `prompt_hygiene.py`.
- Add smoke tests for trigger preservation and duplicate tag removal.
- Add smoke tests for trigger preservation and duplicate tag removal through
`tools/prompt_smoke.py`.
Medium-term:
@@ -260,7 +266,8 @@ Medium-term:
Near-term:
- Add final prose hygiene already done through `prompt_hygiene.py`.
- Verify training captions keep trigger exactly once.
- Verify training captions keep trigger exactly once through
`tools/prompt_smoke.py`.
Medium-term:
@@ -293,7 +300,8 @@ Medium-term:
## Recommended Next Passes
1. Add metadata invariant checks and small smoke fixtures.
1. Expand `tools/prompt_smoke.py` with camera-scene, explicit nude, and
different-camera pair fixtures.
2. Split Krea action/POV/clothing helpers into separate modules.
3. Add category JSON pool reference validation to `tools/prompt_map_audit.py`.
4. Extract scene-camera adapters from `prompt_builder.py`.
+22
View File
@@ -655,6 +655,28 @@ The script does not import ComfyUI. It parses the repo and prints:
Use its output to spot doc drift after adding a new node or pool. If a new node
or pool appears there but not in this map, update the relevant route table.
## Behavioral Smoke Helper
Route behavior should be checked when changing prompt generation, pair assembly,
formatter metadata parsing, trigger handling, expression disabling, or scene
continuity. Run:
```bash
python tools/prompt_smoke.py
```
The script does not import ComfyUI. It builds representative metadata rows and
pair metadata through the core Python APIs, then verifies:
- generated rows keep prompt, negative prompt, scene, composition, action item,
and role graph metadata populated;
- Krea2, SDXL, and natural caption routes use metadata instead of text fallback;
- SDXL and caption trigger handling keeps one trigger;
- negative prompts do not duplicate comma-list items;
- same-room Insta/OF continuity keeps prompt text and `hardcore_row.scene_text`
synchronized;
- expression-disabled rows do not fall back to generated expression text.
## Editing Cheatsheet
| Symptom | First file/function to inspect |