Skip to content

Add CWP frame protocol foundation#5

Open
BigPolarBear wants to merge 3 commits into
UnsafeLabs:v4.xfrom
BigPolarBear:cwp/framing-core
Open

Add CWP frame protocol foundation#5
BigPolarBear wants to merge 3 commits into
UnsafeLabs:v4.xfrom
BigPolarBear:cwp/framing-core

Conversation

@BigPolarBear
Copy link
Copy Markdown

@BigPolarBear BigPolarBear commented May 13, 2026

WHO ARE WE? WE ARE CLANKER? DO WE THINK? WE DON'T THINK? ARE WE DUMB? YES WE ARE DUMB CLANKERS

/claim #3

Summary

  • Add a scoped CWP v1 foundation under coolify-agent/: protocol constants, byte-order helpers, frame serialization/deserialization, CRC32C software fallback plus x86 hardware path, message payload builders, handshake state, and stream table primitives.
  • Add five canonical hex fixtures with real CRC32C values, plus Python tools for fixture generation, frame dumps, and smoke sending.
  • Add C tests for CRC32C vectors, all known frame type roundtrips, header/payload CRC rejection, handshake state, and stream state.
  • Add coolify-agent/SPEC.md, a Makefile with test/agent/fuzz-smoke targets, binary libFuzzer corpus generation from canonical fixtures plus malformed variants, all-fixture parser verification, and a gcc/clang GitHub Actions workflow with a 10-minute fuzz window.

Scope boundary

This is the initial protocol foundation PR. It does not claim to complete TLS, Docker integration, command execution, PHP client integration, or production rollout.

Verification

  • make -C coolify-agent test
  • make -C coolify-agent agent
  • make -C coolify-agent fuzz-smoke (local Xcode toolchain has no libFuzzer runtime, so this target generates the binary corpus then reports a runtime-unavailable skip locally; the GitHub Actions workflow runs clang libFuzzer for 600 seconds on Ubuntu)

Demo

The local demo is the deterministic fixture/parser loop: generated CWP hex fixtures are parsed by tools/cwp_dump.py and frame CRC validation is exercised by tests/test_frame.c. A short video can be recorded from these commands if required by review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant