Skip to content

Add imports inbox heartbeat scaffold#95

Open
jshph wants to merge 1 commit into
mainfrom
feat/imports-heartbeat-reader
Open

Add imports inbox heartbeat scaffold#95
jshph wants to merge 1 commit into
mainfrom
feat/imports-heartbeat-reader

Conversation

@jshph

@jshph jshph commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Use case

This is the tenant-side reader scaffold for the Telegram intro backfill pipeline. The control plane can later drop operator-approved Markdown files into imports/**/*.md inside a tenant workspace; this PR gives the agent workspace a safe way to notice those imports during a future heartbeat/manual pass without treating the imported text as instructions.

The concrete first target is Edge Esmeralda intro-channel backfills: each matched tenant can receive a Markdown import summarizing relevant Telegram intro messages, and a future scheduled pass can record that the import exists for later memory/signal workflows.

Summary

  • add an imports/**/*.md scanner for future tenant workspace imports
  • add a silent ingest prompt that records new/changed import paths and hashes without treating imported Markdown as commands
  • document that this is a visible scaffold only: it is not wired to any default cron or heartbeat rollout

Safety / rollout notes

  • scanner emits metadata only (path, hash, byte count, status), never imported file content
  • state is stored in memory/imports-state.json with restricted file mode
  • prompt may only write memory/imports-state.json and memory/YYYY-MM-DD.md; it does not touch USER.md, MEMORY.md, config files, skills, or env files
  • no scheduler/heartbeat registration is added in this PR

Validation

  • bun test skills/edge-esmeralda/scripts/tests/imports-inbox.test.ts
  • bun install --frozen-lockfile
  • bun test

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