fix(presenter-mode): sentinel→workspace; remove vestigial stage-readiness.sh#1879
fix(presenter-mode): sentinel→workspace; remove vestigial stage-readiness.sh#1879sonichi wants to merge 1 commit into
Conversation
…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>
b975d3d to
0df1696
Compare
|
@cla-assistant check |
qingyun-wu
left a comment
There was a problem hiding this comment.
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.shstill referencesscripts/stage-readiness.sh— it's the POC for the long-merged PR #435 and reads the file viagit show "$PARENT:$FILE"/git show "$HEAD:$FILE". It won't hard-error (the historical blobs still resolve), but its$HEAD:$FILEread (line ~77) will now return empty, so the "head" assertions silently no-op. Sincetest-pr435.shis 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.
Presenter-mode sentinel path fix (owner hit live)
presenter-mode.shwrote 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 viaresolve_workspace()=<workspace>/state/. So presenter mode set via the script silently never reached the readers. Fixed to resolvestate/viascripts/sutando-config.sh workspace.Remove stage-readiness.sh (owner call)
scripts/stage-readiness.shwas 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 removesscripts/test-pr435.sh, its only reference (a POC test for the removed script).Verification
presenter-mode.sh startnow writes<workspace>/state/presenter-mode.sentinel(confirmed), not<repo>/state/;bash -nclean.🤖 Generated with Claude Code
Stand: Echo Act IV Pro