Skip to content

v0.9.7 runtime truthfulness hotfix#321

Merged
spytensor merged 1 commit into
mainfrom
codex/v0.9.7-317-runtime-truth
May 24, 2026
Merged

v0.9.7 runtime truthfulness hotfix#321
spytensor merged 1 commit into
mainfrom
codex/v0.9.7-317-runtime-truth

Conversation

@spytensor
Copy link
Copy Markdown
Owner

@spytensor spytensor commented May 24, 2026

Root Cause

v0.9.5/v0.9.6 made plain cr enter the staged full-screen live-room bridge before that bridge had runtime parity. The bridge could accept input, update an in-memory snapshot, and mark a role as working, but it did not execute real role-engine turns, stream output, use the mature permission prompt path, or persist turns as the executable runtime does. That is why users saw “working/received” state without real work.

The live-room preview also hid the composer cursor and repeated identity facts across the header, overview, right rail, workspace title, and prompt, which made the screen feel ambiguous and unfinished.

What Changed

  • Restored plain cr to the executable runtime path shared with cr start.
  • Kept cr console --live-room available, but labelled it as an explicit staged preview until v0.9.x: implement true full-screen runtime parity before making live room default #320 lands.
  • Added a visible composer cursor from ComposerState::cursor().
  • Removed duplicate live-room workspace/title facts and filtered repeated right-rail identity sections on the preview surface.
  • Changed staged routing copy from “received the request” to preview/staged wording and added “not executing a role turn here” guidance.
  • Hardened v0.9 dogfood so default cr fails if it regresses to staged live-room tokens, while the explicit preview must prove preview wording.
  • Bumped package/version/release notes/docs to v0.9.7 and regenerated the boot README image.

Linked Issues

Closes #317.
Closes #318.
Closes #319.
Leaves #320 open for true full-screen runtime parity before the live room can become default again.

Acceptance Criteria

#317

  • AC-1: Plain cr no longer defaults to the staged live-room bridge.
  • AC-2: Plain cr reaches the executable runtime path with role sessions and existing permission flow.
  • AC-3: cr start remains the explicit direct runtime entrypoint.
  • AC-4: cr console remains read-only dashboard/snapshot inspection.
  • AC-5: cr console --live-room remains an explicit preview/staging surface.
  • AC-6: README, CHANGELOG, splash content, and dogfood docs explain v0.9.7 truthfully.
  • AC-7: Dogfood proves default cr does not render staged live-room tokens.

#318

  • AC-1: Live-room composer renders a visible cursor from composer state.
  • AC-2: Composer title is Input @host; placeholder retains Ask @host without duplicate title copy.
  • AC-3: Live room renders CoreRoom Workspace once in text-render tests.
  • AC-4: Live preview overview/right rail have distinct jobs and avoid repeated identity facts.
  • AC-5: Submitted input is labelled as staged preview routing, not real execution.
  • AC-6: Renderer tests cover empty input, cursor position, submitted input, and duplicate-label prevention.

#319

  • AC-1: Dogfood differentiates executable default path from explicit live-room preview.
  • AC-2: Default cr dogfood rejects staged live-room tokens.
  • AC-3: Live-room alias dogfood requires preview/staged wording.
  • AC-4: Docs name role-engine execution/runtime parity as not yet available in the preview.
  • AC-5: Release notes explain the v0.9.7 rollback/defer boundary.

Changed Files Summary

  • Runtime entrypoint: src/main.rs.
  • Live-room preview truthfulness/UI: src/console_tui.rs, src/console_room.rs, src/console_live.rs.
  • Init copy: src/init.rs.
  • Tests/dogfood: tests/console_room_test.rs, src/repl/tests.rs, scripts/dogfood-v09-user-cases.py.
  • Release/docs/assets: Cargo.toml, Cargo.lock, npm/package.json, src/lib.rs, CHANGELOG.md, README.md, data/splash_content.toml, docs/DEVELOPMENT.md, docs/proposed-amendments.md, docs/v0.9-real-user-dogfood.md, docs/v0.9.4-live-room-dogfood.md, docs/images/boot-dashboard.png.

Validation

  • cargo fmt --all -- --check
  • git diff --check
  • cargo test --all-features --locked — 592 passed, 0 failed, 1 ignored in lib tests; integration/doc tests passed.
  • cargo clippy --all-targets --all-features --locked -- -D warnings
  • python3 scripts/dogfood-v09-user-cases.py — PASS; exercised fresh init, plain cr executable runtime entry, live console, explicit live-room preview, snapshot TUI, Nerd Font avatar pack, and README image generation.
  • cargo build --release --locked
  • npm pack --dry-run — produced spytensor-coreroom-0.9.7.tgz dry-run metadata.

Evidence Packet

Default path evidence: dogfood waits for the real ⚡ cr runtime prompt and exits with Ctrl-D; it requires CoreRoom v, type a task, and /help for commands, and forbids CoreRoom Workspace, Ask @host, received the request, staged preview route, and old console fallthrough.

Preview evidence: dogfood runs cr console --live-room in a real PTY, submits bare text and explicit @reviewer input, requires @host staged preview route, @reviewer staged preview route, visible cursor text (cr > | Ask @host), and the “Not executing a role turn here; use plain cr or cr start” notice.

Renderer evidence: tests/console_room_test.rs asserts one CoreRoom Workspace occurrence and cursor rendering for both empty and moved-cursor composer state.

Tracker Update

Risks / Remaining Gaps

Rollback Plan

Revert this PR and release metadata if v0.9.7 introduces regressions. That would restore the prior v0.9.6 behavior, including the staged live room as default, so rollback should also communicate the known truthfulness regression.

@spytensor spytensor merged commit 0ef29e0 into main May 24, 2026
5 checks passed
@spytensor spytensor deleted the codex/v0.9.7-317-runtime-truth branch May 24, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant