pulse-bridge v0: mirror shre-items ledger into Pulse (mib007 comms) posts

- daemon polls shre-items feed every 30s with inclusive-window (id,op,at) dedupe
- op:add -> post in 'activity' channel; op:update -> threaded comment
  (stage/kind/attempt/note, needs-you escalation mentions @nir);
  op:close -> done/dropped comment
- first run seeds currently-open items only
- state (checkpoint + ledger->post map) atomic at ~/.shre/pulse-bridge/state.json
- launchd ai.shre.pulse-bridge (KeepAlive, logs to bridge.log)
- '@' in ledger-derived text neutralised (zwsp) so comms agent-mention
  regex can never fire an AI reply from item content

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01YECpkAwQUwgu7NVy91R8fW
This commit is contained in:
Nirav Patel
2026-08-22 14:41:31 -04:00
co-authored by Claude Fable 5
commit 9a862bee2b
5 changed files with 447 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
# pulse-bridge configuration. Environment variables override these.
PULSE_BRIDGE_POLL_SEC=30
PULSE_BRIDGE_MIB_BASE=http://127.0.0.1:5520
# Nirlab Command Center (founder workspace) — where the Pulse/Activity feed lives
PULSE_BRIDGE_WORKSPACE_ID=293d29db-4978-4c54-a92e-b24d4c0a7115
PULSE_BRIDGE_CHANNEL=activity
# handle used in "@nir NEEDS YOU:" escalation comments
PULSE_BRIDGE_MENTION=nir
PULSE_BRIDGE_POSTER_NAME=Ledger
PULSE_BRIDGE_SHRE_ITEMS=/Users/aibot/.local/bin/shre-items
PULSE_BRIDGE_STATE=/Users/aibot/.shre/pulse-bridge/state.json
# mib007 service token (board-level, loopback): file + key
PULSE_BRIDGE_TOKEN_FILE=/Users/aibot/.shre/service-tokens.json
PULSE_BRIDGE_TOKEN_KEY=mib007