DeepSeek V4 tool rounds fail with reasoning_content errors when stable
goosed hits api.deepseek.com directly. Default stable portal startup to
the 18036 compat proxy and add a standalone recovery script for 103 ops.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stable remount checks required exactly 9 compose containers, but the
shared goosed-prod project also runs canary. Count only goosed-1..9 and
verify the /opt/portal bind plus a root marker under the live runtime.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fall back to workspace share thumbnails so already-published HTML can be
sent instead of blocking on REQUIRED_FRESH. Also allow an explicit
ALLOW_DIRECT_STABLE_RELEASE path matching the pre-2026-07-23 direct
stable packaging flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
Recognize retry, HTML page, page edits, and poem content edits as session continuations so delivery skips fresh-thumbnail forcing and retains agent context for multi-turn page work.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match phrases like「生成一个精美的 HTML 页面」so poem follow-ups skip fresh-thumbnail forcing and reuse the same session poem context.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip fresh thumbnail forcing and retry in-session when load_skill completes without HTML落盘, so「把刚才的诗做成页面」can deliver the prior poem as a static page.
Co-authored-by: Cursor <cursoragent@cursor.com>
Short follow-ups like "把刚才的诗做成页面" must keep the existing agent
session so Goose still sees the adjacent poem in snapshot history. Rotating
orphan routes before these requests dropped the poem and revived stale memory.
Co-authored-by: Cursor <cursoragent@cursor.com>
Normal Portal releases should not block when commit status stays pending
after the candidate is already pushed to origin/main.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ignore local .runtime build output in REL-01, accept missing Gitea CI when
origin/main matches HEAD, and compare two clean runtime rebuilds for REL-03.
Co-authored-by: Cursor <cursoragent@cursor.com>
Publication routes and share shells were missing the Rybbit tracker, and
bootstrap now reuses the stored MindSpace analytics secret when Rybbit env
secret is absent.
Co-authored-by: Cursor <cursoragent@cursor.com>
When the runtime artifact is unchanged, carry forward prior gate results and
re-run only REL scenarios; resolve REL-02 from Gitea commit status and allow
stable promotion when canary matches the same artifact bundle.
Co-authored-by: Cursor <cursoragent@cursor.com>