Skip to content

fix(presenter-mode): sentinel→workspace; remove vestigial stage-readiness.sh#1879

Open
sonichi wants to merge 1 commit into
mainfrom
fix/presenter-sentinel-workspace-path
Open

fix(presenter-mode): sentinel→workspace; remove vestigial stage-readiness.sh#1879
sonichi wants to merge 1 commit into
mainfrom
fix/presenter-sentinel-workspace-path

Conversation

@sonichi

@sonichi sonichi commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Presenter-mode sentinel path fix (owner hit live)

presenter-mode.sh wrote the sentinel to <repo>/state/, but every runtime reader — discord/slack/telegram-bridge.py, inline-tools.ts, web-client.ts, check-pending-questions.py, and the talk-highlight deck — resolves it via resolve_workspace() = <workspace>/state/. So presenter mode set via the script silently never reached the readers. Fixed to resolve state/ via scripts/sutando-config.sh workspace.

Remove stage-readiness.sh (owner call)

scripts/stage-readiness.sh was a manual-only pre-talk checklist wired to nothing (no cron/startup/skill). Its memory-sync check + repo-root paths were stale, and the presentation tooling has moved to the talk-highlight skill. Per owner (2026-07-01), removing rather than folding — most of its checks (voice-agent/bodhi/conversation-server/ngrok/quota) are Sutando-infra concerns that don't belong in a standalone slide skill. Also removes scripts/test-pr435.sh, its only reference (a POC test for the removed script).

Verification

  • presenter-mode.sh start now writes <workspace>/state/presenter-mode.sentinel (confirmed), not <repo>/state/; bash -n clean.
  • PR touches exactly 3 files (verified via GitHub file list): presenter-mode.sh (fix), stage-readiness.sh + test-pr435.sh (removed).
  • No remaining references to either removed script (grep-verified; not in CI).

🤖 Generated with Claude Code

Stand: Echo Act IV Pro

…age-readiness

presenter-mode.sh wrote the presenter-mode sentinel to <repo>/state/, but every
runtime reader (discord/slack/telegram-bridge, inline-tools.ts, web-client.ts,
check-pending-questions.py, the talk-highlight deck) resolves it via
resolve_workspace() = <workspace>/state/. Setting presenter mode via the script
silently never reached the readers (owner hit this live 2026-07-01). Fixed to
resolve state/ via scripts/sutando-config.sh workspace.

Also removes scripts/stage-readiness.sh (a manual-only pre-talk checklist,
wired to nothing; its memory-sync check + repo-root paths were stale, and the
presentation tooling has moved to the talk-highlight skill — owner call to
remove rather than fold) and scripts/test-pr435.sh (its only reference, a POC
test for the now-removed script).

Stand: Echo Act IV Pro
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sonichi sonichi force-pushed the fix/presenter-sentinel-workspace-path branch from b975d3d to 0df1696 Compare July 1, 2026 01:25
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@cla-assistant check

@sonichi sonichi changed the title fix(paths): presenter-mode + stage-readiness resolve state/ & logs/ from workspace fix(presenter-mode): sentinel→workspace; remove vestigial stage-readiness.sh Jul 1, 2026

@qingyun-wu qingyun-wu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM on the core change. The presenter-mode.sh fix is correct per the workspace contract — state/ lives under the workspace and every reader resolves it via sutando-config.sh workspace, so writing the sentinel to <repo>/state/ genuinely never reached them. Good catch, and removing the vestigial stage-readiness.sh (one-off ICLR pre-flight) is reasonable.

One non-blocking follow-up, from a repo-wide grep of the removed path:

  • scripts/test-pr435.sh still references scripts/stage-readiness.sh — it's the POC for the long-merged PR #435 and reads the file via git show "$PARENT:$FILE" / git show "$HEAD:$FILE". It won't hard-error (the historical blobs still resolve), but its $HEAD:$FILE read (line ~77) will now return empty, so the "head" assertions silently no-op. Since test-pr435.sh is itself vestigial (PR #435 shipped long ago), consider deleting it in the same cleanup for consistency — otherwise it's a dead POC pointing at a deleted file.

Minor (optional): WORKSPACE="$(bash "$REPO/scripts/sutando-config.sh" workspace)" under set -euo pipefail aborts the script if the resolver ever exits non-zero (plain var-assign isn't on bash's set-e exempt list). That's defensible fail-fast for a resolver that should always succeed — just flagging the pattern.

Neither blocks merge.

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