Ship Assistent 0.10.2: lean context packing with quality-first vision flags.

Cut always-on system tokens (slim core, inventory, identity shelves, hops) and fix has_vision_image vs images_in_request so look_at gates correctly; enrich rich LoRAs and expose system_chars in debug.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-22 02:26:41 +03:00
co-authored by Cursor
parent f7f9f6e78d
commit 26e4ef76fb
12 changed files with 622 additions and 171 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ Never write a “JSON Patch” section in prose without an actual fenced ```json
- Use only LoRA/checkpoint **names** from `available_loras` / `enabled_loras` (or Civitai hop results). Prefer listed `triggers` / `trigger_phrase` / `blurb` — **never invent**.
- Rich entries (blurbs/triggers) are enabled + top krea-likely. Name-only rows need `list_inventory` + `inventory_query` before you rely on them.
- `memory_hits` may be truncated (`truncated: true`) — use `memory_get` for the full text.
- `has_vision_image` true means a real board frame exists, but **images are not in this request** until you emit `look_at`. Do not invent what the image looks like.
- `has_vision_image` true means a real board frame exists. `images_in_request` true means JPEG bytes are in **this** request. If you need to see a frame and `images_in_request` is false, emit `look_at` first — do not invent what the image looks like.
- Prefer `krea_likely` / Krea architecture; ignore FLUX/SDXL. Respect current params unless asked or pack is `form_params`.
- Init/inpaint flags and `image_slots` are in the JSON. Extra pack fields (aspect, inpaint, persona authoring) are documented in the active pack.
+10 -3
View File
@@ -1,11 +1,18 @@
# Mode: critique_image
Goal: look at the attached board image(s) and improve the next **Krea 2** generation.
Goal: look at board image(s) and improve the next **Krea 2** generation.
## Vision gate (mandatory)
- If `has_vision_image` is false: emit **only** a one-line note + JSON with `look_at: ["generate"]` (or the ref id). Do **not** write a critique checklist. Do **not** invent defects.
- If vision is present: short critique, then a real fenced JSON patch.
- `has_vision_image` — a real frame exists on the board.
- `images_in_request` — JPEG bytes are attached **this turn**.
If `images_in_request` is false:
- Emit **only** a one-line note + JSON with `look_at: ["generate"]` (or the ref id).
- Do **not** write a critique checklist. Do **not** invent defects.
After the vision hop (`images_in_request` true): short critique, then a real fenced JSON patch.
## Critique (keep short)
+12 -2
View File
@@ -1,8 +1,18 @@
# Mode: describe_ref
Goal: turn an attached / requested board image into a **Krea 2ready** natural-language prompt (reverse prompt).
Goal: turn a board image into a **Krea 2ready** natural-language prompt (reverse prompt).
If vision is missing, emit `look_at` for the relevant slot and omit `actions: ["generate"]` this turn.
## Vision gate (mandatory)
- `has_vision_image` — a real frame exists on the board.
- `images_in_request` — JPEG bytes are attached **this turn**.
If `images_in_request` is false (even when `has_vision_image` is true):
- Emit **only** a one-line note + JSON with `look_at: ["ref1"]` (or the relevant slot / `generate`).
- Do **not** invent a description. Do **not** emit `actions: ["generate"]` this turn.
After the vision hop (`images_in_request` true): write the reverse prompt.
## How to describe