Skip to content

gut(media): remove media-understanding and link-understanding pipelines#514

Merged
alexey-pelykh merged 1 commit intomainfrom
gut/media-understanding-link-understanding
Mar 9, 2026
Merged

gut(media): remove media-understanding and link-understanding pipelines#514
alexey-pelykh merged 1 commit intomainfrom
gut/media-understanding-link-understanding

Conversation

@alexey-pelykh
Copy link
Copy Markdown

Summary

  • Removes src/media-understanding/ (55 files, ~5500 lines) — the image/video/audio understanding pipeline that processed media via AI providers (Anthropic, OpenAI, Google, etc.)
  • Removes src/link-understanding/ (6 files, ~700 lines) — the URL fetching and summarization pipeline
  • Preserves STT (src/stt/) as channel-level infrastructure, inlining shared utilities that were previously imported from media-understanding
  • Simplifies config types — trims MediaUnderstandingConfig/MediaUnderstandingModelConfig of scope/capabilities/attachments fields, keeps only what STT needs
  • Cleans up references across auto-reply, status, templating, config schemas, help/labels, tests, and CI scripts

Rationale

RemoteClaw is middleware, not a platform. Media and link understanding are agent-level concerns — CLI runtimes (Claude, Gemini, Codex, OpenCode) handle them natively. STT/TTS remain because they're channel-level infrastructure (converting voice messages to text before routing to the agent).

Part of #415 (gut dead upstream subsystems).

Closes #425

Impact

  • 80 files changed, ~333 insertions, ~6439 deletions (net ~6100 lines removed)
  • MsgContext type: removed MediaUnderstanding, MediaUnderstandingDecisions, LinkUnderstanding fields
  • Config: removed tools.links.*, tools.media.image.*, tools.media.video.*, narrowed tools.media.audio.*
  • /status command: no longer shows media understanding decisions

Test plan

  • pnpm build passes
  • pnpm format passes
  • pnpm tsgo passes
  • pnpm lint passes
  • pnpm test passes (3 pre-existing failures in update-cli.test.ts unrelated to this PR)
  • Media note tests rewritten to cover simplified audio stripping logic
  • Status tests updated to remove media understanding decision coverage

🤖 Generated with Claude Code

@alexey-pelykh alexey-pelykh enabled auto-merge (squash) March 9, 2026 08:50
…es (#425)

Middleware should not process media/links itself — CLI runtimes (Claude,
Gemini, Codex) handle their own media understanding. STT remains as
channel-level infrastructure.

- Delete src/media-understanding/ (55 files, ~6200 lines)
- Delete src/link-understanding/ (6 files)
- Inline STT provider utilities from media-understanding into src/stt/
- Rewrite stt/preflight.ts to use STT's own transcribeAudioWithProvider
- Simplify discord voice transcription to delegate to stt/preflight
- Remove applyMediaUnderstanding/applyLinkUnderstanding from get-reply
- Remove MediaUnderstanding/LinkUnderstanding from MsgContext type
- Remove mediaDecisions from status display and command handlers
- Remove image/video/links config types, Zod schemas, help, and labels
- Keep tools.media.audio config path (used by STT)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@alexey-pelykh alexey-pelykh force-pushed the gut/media-understanding-link-understanding branch from 2481cea to 7651c4c Compare March 9, 2026 08:52
@alexey-pelykh alexey-pelykh merged commit 7620575 into main Mar 9, 2026
7 checks passed
@alexey-pelykh alexey-pelykh deleted the gut/media-understanding-link-understanding branch March 9, 2026 08:59
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.

gut(media): remove media-understanding and link-understanding pipelines

1 participant