Skip to content

v1.0.3

Choose a tag to compare

@enriquephl enriquephl released this 06 Aug 12:59
· 109 commits to main since this release
v1.0.3
9743ad3

Features

  • #230feat(prompt): iron rule ⑫ — no bracket action blocks in chat replies

    The engine injects a [你给对方发送了一张照片:…] marker into assistant history rows so the chat model knows it previously sent an image. Models learn that format from their own context and emit it as their own reply text — and a deployment whose output_regex strips square brackets then strips such a reply to empty, producing a pseudo-ghost (fallback_reason="regex_strip") that the end user experiences as the companion silently not replying.

    Measured on 30 days of production traffic: 15 of 2486 assistant replies (0.60%), spread across five model families, every one of them a bracket-only echo of the engine's own marker — and 8 of the 15 on turns where the user never asked for a photo.

    The pollution source is prompt scaffolding the engine writes, not a defect in any single model, and downstream deployments pick their own chat models. So the fix ships in the engine's prompt: a new iron rule forbidding square-bracket action blocks, disowning the injected marker, and requiring every reply to carry body text. Round-bracket action prose is untouched, and the rule grants the model no authority over whether a photo is sent — that stays with the PDE and the image-prompt composer.

    Design spec: docs/superpowers/specs/2026-08-06-iron-rule-no-bracket-blocks-design.md

Full changelog: v1.0.2...v1.0.3