Skip to content

Remove unreachable ScreenPipe, beta-gate, commitment detection, and demo mode#89

Merged
davekilleen merged 1 commit into
mainfrom
chore/strip-screenpipe-beta-demo
Jul 10, 2026
Merged

Remove unreachable ScreenPipe, beta-gate, commitment detection, and demo mode#89
davekilleen merged 1 commit into
mainfrom
chore/strip-screenpipe-beta-demo

Conversation

@davekilleen

Copy link
Copy Markdown
Owner

What

Removes three MCP servers that no install path could ever load, plus everything that existed only to serve them.

install.sh reads only System/.mcp.json.example. beta_server.py, commitment_server.py, and demo_mode_server.py were registered only in .claude-plugin/plugin.json and .claude/mcp/ — neither of which any install reads. So they were dead on arrival: 2,377 lines nobody ran, a /beta-activate flow that could not work for anyone, and a check_beta_enabled gate that CLAUDE.md told Claude to call against a server that was never running.

This is the root cause behind two real user reports (Michelle's phantom ScreenPipe error; Jim's silently no-op'd MCP instructions).

Removed

  • core/mcp/{beta,commitment,demo_mode}_server.py + tests
  • .claude/config/beta-features.yaml (read only by beta_server)
  • ScreenPipe skills/docs/cleanup plist, demo-mode skills/docs, System/Demo/**
  • dangling beta/commitment entries in plugin.json

Consequential edits (not pure deletion)

  • pi-autostart.cjs gated on the now-deleted beta.activated.pi flag. Rewired to an explicit PI_AUTOSTART / pi_autostart flag so Pi autostart still works. This is the one product decision in the PR — how Pi gets enabled now that the beta gate is gone.
  • work_server.py dropped is_demo_mode() branching; getters return canonical paths.
  • verify-distribution.sh Check 9 was a warn-only server count; now hard-errors if the set of core/mcp servers doesn't match the template exactly — the guardrail whose absence let the orphans ship.

Gates

ruff clean · 145 pytest pass (1 skipped) · 4 hook tests pass · verify-distribution 0 errors · path-consistency pass · plugin.json valid.

🤖 Generated with Claude Code

… mode

These three MCP servers were registered only in .claude-plugin/plugin.json and
.claude/mcp/ — neither of which any install path reads. install.sh reads only
System/.mcp.json.example, which never listed them. Result: 2,377 lines of code
no user could ever load, plus a /beta-activate flow that could not work for
anyone and a check_beta_enabled gate CLAUDE.md told Claude to call against a
server that was never running.

Removed:
- core/mcp/{beta,commitment,demo_mode}_server.py and their tests
- .claude/config/beta-features.yaml (read only by beta_server)
- ScreenPipe skills, docs, cleanup plist; demo-mode skills/docs; System/Demo/**
- beta/commitment entries dangling in .claude-plugin/plugin.json

Consequential edits:
- pi-autostart.cjs: gated on the now-deleted beta flag; rewired to an explicit
  PI_AUTOSTART / pi_autostart flag so Pi autostart still works.
- work_server.py: dropped is_demo_mode() branching; getters return canonical paths.
- verify-distribution.sh Check 9: was a warn-only server *count*; now hard-errors
  if the set of core/mcp servers doesn't match the template exactly. This is the
  guardrail whose absence let the orphaned servers ship.

Nothing depends on the removed beta gate: no code reads the Pi beta flags and
analytics gates on user-profile.yaml independently.

Gates: ruff clean · 145 pytest pass · 4 hook tests pass · verify-distribution
0 errors · path-consistency pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@davekilleen davekilleen merged commit 4043f9e into main Jul 10, 2026
4 checks passed
@davekilleen davekilleen deleted the chore/strip-screenpipe-beta-demo branch July 10, 2026 15:58
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.

1 participant