Skip to content

Prepare for tinycloud 0.3.19: the silent-stop fix — surface and recover output-token truncation (no floor raise) - #28

Merged
kdr merged 2 commits into
mainfrom
prep-0.3.19
Aug 10, 2026
Merged

Prepare for tinycloud 0.3.19: the silent-stop fix — surface and recover output-token truncation (no floor raise)#28
kdr merged 2 commits into
mainfrom
prep-0.3.19

Conversation

@kdr

@kdr kdr commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Prepares the distribution surfaces for tinycloud 0.3.19, a host-agent reliability release — the silent-stop fix. No new verbs, flags, or feature ids (verbs stay 17, features stay 42); the changes live in the interactive agent and headless -p, not the video-verb surface the skill drives.

The bug: adaptive-thinking chat models always stream a thinking block, and thinking spends from the same per-response max_tokens budget as text and tool calls. A long think could exhaust the old 8192-token cap, return stop_reason: max_tokens with no error, and the agent silently yielded mid-task with only a duration line (typing continue resumed it). 0.3.19:

  • surfaces length-stopped turns (and empty stop-ended ones, e.g. a dropped stream) as a status line instead of a quiet handoff
  • raises the cap 8192 → 32000, tunable via TINYCLOUD_MODEL_MAX_TOKENS (interactive + headless -p)
  • blocks the final tool call of a length-stopped message with an error result (truncated tool-call JSON gets repaired into valid-but-incomplete args) so the model re-issues it in smaller pieces — wired in both agents
  • auto-continues a truncated turn via a hidden prompt, bounded to 2 consecutive per user turn; disable with TINYCLOUD_AUTO_CONTINUE=0 or preferences.autoContinue: false
  • labels streamed thinking with a "Reasoning" loader; headless -p --json traces gain an additive stop_reason field plus a stderr warning on truncation

Changes

  • package.json, .claude-plugin/plugin.json, .claude-plugin/marketplace.json, tinycloud-skill.json skill_version → 0.3.19; README.md pin examples → 0.3.19
  • Skill floor stays 0.3.18 (min_version/supported_range/preflight.sh/REQUIRED_FEATURES untouched — the 0.3.13 no-raise pattern; nothing the skill teaches changed)
  • skills/tinycloud/reference/setup.mdTINYCLOUD_MODEL_MAX_TOKENS and TINYCLOUD_AUTO_CONTINUE added to the env-var table (0.3.19+), alongside the existing TINYCLOUD_MODEL_RETRIES host knob
  • CLAUDE.md — 0.3.19 paragraph appended to the binary-contract history (CDN-state note stays 0.3.18, current reality; it gets its own docs bump when the CDN moves)

Verification

  • npm test — 42/42 against the offline fixture CDN
  • shellcheck install.sh scripts/smoke-test.sh skills/tinycloud/scripts/preflight.sh clean
  • claude plugin validate . passed
  • CI metadata-sync check run locally — in sync: 31 features, range >=0.3.18 <0.4.0
  • TINYCLOUD_TEST_TARBALL=<real 0.3.19 tarball> npm test + smoke-test.sh against the extracted binary — pending the 0.3.19 binary release; run once artifacts exist, before merge

Merge gate

⚠️ Merge only after the CDN serves the 0.3.19 pinned tarballs and channels.stable = 0.3.19. No preflight-floor risk this time (floor stays 0.3.18), but the push-to-main npx-against-CDN leg packs the 0.3.19 launcher, which downloads exactly the pinned tinycloud-<platform>-v0.3.19.tar.gz — a CDN gap would fail the required live legs.


Note

Low Risk
Packaging and documentation-only changes; no runtime code or skill compatibility floor changes.

Overview
Prepares the public distribution repo for tinycloud 0.3.19 — a host-agent reliability release (the “silent-stop fix”) — without raising the skill’s binary floor.

Version pins move to 0.3.19 in package.json, Claude plugin/marketplace metadata, tinycloud-skill.json skill_version, and README npx/install examples. min_version / supported_range / preflight stay at 0.3.18 (same pattern as 0.3.13: no new video verbs, flags, or feature ids).

Docs add CLAUDE.md release notes for 0.3.19 (higher default max_tokens, truncation surfacing, auto-continue, headless -p parity on retries/errors/stop_reason) and CI’s expected CDN stable channel 0.3.19. setup.md documents new env knobs TINYCLOUD_MODEL_MAX_TOKENS and TINYCLOUD_AUTO_CONTINUE, and clarifies TINYCLOUD_MODEL_RETRIES applies to headless -p as of 0.3.19.

Reviewed by Cursor Bugbot for commit a6e6b7d. Bugbot is set up for automated code reviews on this repo. Configure here.

@kdr
kdr requested a review from amyxst August 10, 2026 18:44
…er output-token truncation (no floor raise)

tinycloud 0.3.19 is a host-agent reliability release: adaptive-thinking chat
models stream a thinking block that spends from the same per-response
max_tokens budget as text and tool calls, so a long think could exhaust the
old 8192-token cap, come back stop_reason: max_tokens with no error, and the
interactive agent silently yielded mid-task with only a duration line.
0.3.19 surfaces length-stopped (and empty stop-ended) turns as a status
line, raises the cap to 32000 (TINYCLOUD_MODEL_MAX_TOKENS), blocks the final
tool call of a truncated message so the model re-issues it, auto-continues
bounded to 2 per user turn (TINYCLOUD_AUTO_CONTINUE=0 /
preferences.autoContinue to disable), labels streamed thinking "Reasoning",
and adds an additive stop_reason field + stderr warning to headless -p
--json.

No new verbs, flags, or feature ids (verbs stay 17, features stay 42) and
nothing the skill teaches changed, so the skill floor stays 0.3.18
(min_version/supported_range/preflight/REQUIRED_FEATURES untouched — the
0.3.13 no-raise pattern).

- package.json, plugin.json, marketplace.json, tinycloud-skill.json
  skill_version → 0.3.19; README pin examples → 0.3.19
- CLAUDE.md: 0.3.19 paragraph appended to the binary-contract history
- skills/tinycloud/reference/setup.md: TINYCLOUD_MODEL_MAX_TOKENS and
  TINYCLOUD_AUTO_CONTINUE added to the env table (0.3.19+)

Verified: npm test 42/42 against the offline fixture CDN; shellcheck clean;
claude plugin validate passed; CI metadata-sync check run locally (in sync:
31 features, range >=0.3.18 <0.4.0). Real-tarball e2e pending the 0.3.19
binary release.

Merge only after the CDN serves the 0.3.19 pinned tarballs and
channels.stable = 0.3.19 — the push-to-main npx-against-CDN leg packs the
0.3.19 launcher and downloads exactly that pinned version.
… parity

The release's review follow-through commits extended the fix beyond the
original scope: headless -p gained the interactive agent's 0.3.7 chat-retry
layer (TINYCLOUD_MODEL_RETRIES now covers both agents) and errored turns
became truthful — "✖ turn failed" on stderr, an error field in the --json
trace, exit 1 (previously a backend blip could exit 0 with an empty,
zero-usage trace). Knob names and defaults verified against the merged
v0.3.19 source: DEFAULT_MODEL_MAX_TOKENS = 32000, MAX_AUTO_CONTINUES = 2,
preferences.autoContinue.

- setup.md: TINYCLOUD_MODEL_RETRIES row scoped "0.3.7+ interactive;
  0.3.19+ also headless -p"
- CLAUDE.md: headless-parity sentence appended to the 0.3.19 paragraph;
  live-CDN note → 0.3.19 (accurate at merge time — the CDN upload precedes
  the merge, per the 0.3.13 prep-PR precedent)
@kdr
kdr merged commit d3de749 into main Aug 10, 2026
7 checks passed
@kdr
kdr deleted the prep-0.3.19 branch August 10, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants