Skip to content

Sync upstream: heartbeat refactoring, chunking, tau-rpc (v1.3.1-1.3.2)#15

Closed
shuv1337 wants to merge 15 commits intoopenclaw:mainfrom
shuv1337:main
Closed

Sync upstream: heartbeat refactoring, chunking, tau-rpc (v1.3.1-1.3.2)#15
shuv1337 wants to merge 15 commits intoopenclaw:mainfrom
shuv1337:main

Conversation

@shuv1337
Copy link

@shuv1337 shuv1337 commented Dec 3, 2025

Summary

Syncs 30 commits from upstream (steipete/warelay) with 3 merge conflict resolutions, preserving fork-specific customizations while adopting upstream's architectural improvements.

Key Changes

Heartbeat Architecture Simplification

  • Removed heartbeat-prehook module — Upstream consolidated heartbeat handling by adding an isHeartbeat flag to GetReplyOptions instead of a separate prehook system
  • Simplified Twilio monitor — Removed ~150 lines of inline heartbeat timer/lock logic from monitorTwilio(), making it purely a polling loop
  • Heartbeat array normalization — Heartbeat replies now properly handle array payloads for both web and Twilio paths

Text Chunking for Long Messages

  • New chunk.ts module — Splits outbound text at platform limits (1600 chars for Twilio, 4000 for web) with smart word/newline boundary detection
  • Prevents message truncation — Long AI responses are now chunked into multiple messages instead of being silently cut off

Tau RPC Process Management

  • New tau-rpc.ts module — Keeps a single long-lived Pi agent process in RPC mode instead of spawning per message
  • Performance improvement — Eliminates cold-start latency for Pi agent auto-replies
  • Streaming JSON handling — Buffers output until assistant turn completes, preventing duplicate/partial messages

Media Improvements

  • Follow redirects — Media downloads now follow up to 5 redirects when fetching Twilio media
  • Post-response cleanup — Media files are deleted immediately after the response finishes (not on a timer)
  • Redirect test coverage — New store.redirect.test.ts for redirect handling

Agent Enhancements

  • Gemini agent support — New gemini.ts agent definition
  • Multi-text RPC outputs — Command auto-replies now support agents returning multiple text chunks
  • Session metadata logging — Agent/session context logged at command start

Fork Customizations Preserved

Conflict resolutions kept fork-specific settings in AGENTS.md:

  • tmux-based relay management (vs upstream's launchctl approach)
  • --provider twilio preference for starting relay
  • Global warelay command usage (vs pnpm warelay)

Breaking Changes

None — the heartbeat-prehook removal is internal; external API remains unchanged.

Files Deleted (upstream removal)

  • src/auto-reply/heartbeat-prehook.ts
  • src/auto-reply/heartbeat-prehook.test.ts

Testing

Upstream tests pass. The merge was tested locally with conflict resolutions verified.

shuv1337 and others added 15 commits November 30, 2025 22:01
Merged 11 commits from upstream/main:
- feat(web): batch inbound messages
- Agents: add pluggable CLIs (claude, codex, opencode, pi)
- chore: bump version to 1.3.0
- chore(security): harden ipc socket
- chore(security): purge session store on logout
- chore(logs): rotate daily and prune after 24h
- Fix path traversal vulnerability in media server
- fix(media): block symlink traversal

Conflict resolution:
- package.json: took upstream version 1.3.0
- src/web/auto-reply.ts: merged batching with heartbeat pre-hook logic
- src/web/auto-reply.test.ts: kept upstream import statement
Merged 30 commits from upstream (steipete/warelay) including:
- Heartbeat array handling and normalization
- Text chunking for Twilio/web replies
- Tau RPC process management
- Agent/session metadata logging
- Media cleanup and redirect handling
- Gemini agent support
- Simplified Twilio monitor (removed inline heartbeat)

Conflict resolutions:
- AGENTS.md: Kept fork-specific agent notes (tmux, --provider twilio)
- src/auto-reply/types.ts: Accepted upstream isHeartbeat flag
- src/web/auto-reply.ts: Accepted upstream chunking, removed heartbeat-prehook
- src/twilio/heartbeat.ts: Accepted upstream simplified version
- Fixed typing indicator return type (Promise<void> wrapper)

Deleted files (removed in upstream):
- src/auto-reply/heartbeat-prehook.ts
- src/auto-reply/heartbeat-prehook.test.ts
@shuv1337
Copy link
Author

shuv1337 commented Dec 3, 2025

Created against wrong repo - should be fork

@shuv1337 shuv1337 closed this Dec 3, 2025
Pastorsimon1798 pushed a commit to Pastorsimon1798/openclaw that referenced this pull request Feb 1, 2026
- Create analyze.py (profile, describe, groupby, pivot, filter)
- Create excel.py (read, write, list-sheets, merge/VLOOKUP)
- Create visualize.py (bar, line, scatter, heatmap, histogram, pie, box)
- Update SKILL.md with venv instructions
- Mark openclaw#14 Blogwatcher RESOLVED (installed)
- Mark openclaw#15 Data Analytics RESOLVED
- Mark openclaw#17 Calendar CANCELLED (using GOG)
- Mark openclaw#18 Edison PAUSED
- Mark openclaw#23 Network Fallback PAUSED
dgarson referenced this pull request in dgarson/clawdbot Feb 2, 2026
alexprime1889-prog pushed a commit to alexprime1889-prog/moltbot that referenced this pull request Feb 8, 2026
…override

- Create railway-entrypoint.sh with proper --allow-unconfigured flag
- Update Dockerfile to use entrypoint script as CMD
- Increment CACHE_BUST to force rebuild
- This should work around Railway's start command override issue
slathrop referenced this pull request in slathrop/openclaw-js Feb 11, 2026
Tasks completed: 2/2
- Port PR/issue guides + Install sharpening (commits #15, #17, #23)
- Port PR sign-off + guide revisions + markdownlint fixes (commits #24, #26, #35)

SUMMARY: .planning/phases/17-docs/17-03-SUMMARY.md
kristjanakkermann pushed a commit to kristjanakkermann/archiclaw that referenced this pull request Feb 13, 2026
)

- Add optional AUTH_TOKEN bearer auth for agent/chat routes (openclaw#2)
- DRY CI with composite action, replace npx bun with setup-bun (openclaw#3, openclaw#4)
- Fix smoke test URL to use CF_WORKER_SUBDOMAIN secret (openclaw#5)
- Deduplicate types: import canonical model types in landscape-loader (openclaw#6, openclaw#7)
- Fix C4 direction logic to respect actual integration direction (openclaw#8)
- Add edges connecting current→target nodes in comparison diagram (openclaw#9)
- Add agents CDN version sync comment in index.html (openclaw#11)
- Add missing landscape directory guard in bundle script (openclaw#12)
- Update wrangler compatibility_date to 2026-02-13 (openclaw#13)
- Rename prebuild to predev/predeploy in package.json (openclaw#14)
- Remove sk- prefix from .dev.vars.example placeholder (openclaw#15)

Co-Authored-By: Claude Opus 4.6 <[email protected]>
kristjanakkermann added a commit to kristjanakkermann/archiclaw that referenced this pull request Feb 13, 2026
…dflare Worker (#1)

* ArchiClaw Phase 1: foundation scaffold, data model, skills, and harness

Add the ArchiClaw enterprise architecture management foundation:

- Zod schemas for all EA data types (application passports, capabilities,
  data entities, change requests, domains, integrations, ADRs, IDs)
- ID generation system with domain-prefixed sequential IDs (FIN-APP-001)
- Landscape directory structure with config, templates, registries
- Landscape validation (schema compliance, ID uniqueness, cross-refs)
- Mermaid render wrapper using beautiful-mermaid with Archimate theming
- 3 initial skills: interview, passport-manage, landscape-query
- Evaluation harness framework with per-skill scoring and examples
- 5 seeded applications (SAP ERP, SAP BPC, TM1, Workday HR, Salesforce CRM)
  with passports, context diagrams, data matrices
- 5 data entities, 10 capabilities, 5 integrations across 5 domains
- 58 tests passing across 8 test files

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* ArchiClaw: address PR #1 review feedback

- Add TODO comment on nextId() race condition (file locking needed)
- Add negative landscape validation tests (duplicate IDs, folder mismatch,
  broken cross-refs, sequence counter exceeded)
- Clarify eval harness test names to "eval fixtures" with comments
- Wrap readIdSequences/writeIdSequences in try-catch with descriptive messages
- Validate IdSequencesSchema keys against EntityTypeSchema via refine()
- Fix CLI entrypoint detection in runner.ts using path.resolve()
- Fill empty domain lead fields with placeholder names
- Add expandTemplate() utility with tests
- Add render CLI (src/archiclaw/render/cli.ts) and update skill SKILL.md files
  with rendering documentation sections

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* ArchiClaw: add entire.io session tracking, entire skill, and enhance skill-creator

* ArchiClaw: address PR #1 review feedback (phantom refs, validation cross-refs, mermaid nits)

* ArchiClaw: deploy as Cloudflare Worker (Agents SDK)

* ArchiClaw: add Teams outgoing webhook integration (query-only MVP)

Pattern-matching dispatcher routes @mentions to landscape accessors for
sub-second responses without LLM. HMAC-SHA256 validation via CF Workers
Web Crypto API. Adaptive Card v1.5 responses for rich Teams rendering.

Co-Authored-By: Claude Opus 4.6 <[email protected]>

* ArchiClaw: address review feedback for Cloudflare Worker deploy (469580b)

- Add optional AUTH_TOKEN bearer auth for agent/chat routes (openclaw#2)
- DRY CI with composite action, replace npx bun with setup-bun (openclaw#3, openclaw#4)
- Fix smoke test URL to use CF_WORKER_SUBDOMAIN secret (openclaw#5)
- Deduplicate types: import canonical model types in landscape-loader (openclaw#6, openclaw#7)
- Fix C4 direction logic to respect actual integration direction (openclaw#8)
- Add edges connecting current→target nodes in comparison diagram (openclaw#9)
- Add agents CDN version sync comment in index.html (openclaw#11)
- Add missing landscape directory guard in bundle script (openclaw#12)
- Update wrangler compatibility_date to 2026-02-13 (openclaw#13)
- Rename prebuild to predev/predeploy in package.json (openclaw#14)
- Remove sk- prefix from .dev.vars.example placeholder (openclaw#15)

Co-Authored-By: Claude Opus 4.6 <[email protected]>

---------

Co-authored-by: KristjanAkk <[email protected]>
Co-authored-by: Claude Opus 4.6 <[email protected]>
heliosarchitect pushed a commit to heliosarchitect/openclaw that referenced this pull request Feb 18, 2026
Triggered by sanitizeToolCallInputs regression (2026-02-18):
- Post-merge export validation catches silent reversions
- Build-passes-runtime-fails gotcha documented
- Gateway smoke test as mandatory gate before push
- Rollback procedure with pre-merge safety tags

SOP openclaw#15, stored in cortex process category at importance 3.0
jamie-dit pushed a commit to jamie-dit/zulip-claw that referenced this pull request Feb 20, 2026
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

Comments