Skip to content

Optimize signal replays#288

Merged
rmcdaniel merged 14 commits intomasterfrom
fix/signal-replays
Nov 29, 2025
Merged

Optimize signal replays#288
rmcdaniel merged 14 commits intomasterfrom
fix/signal-replays

Conversation

@rmcdaniel
Copy link
Copy Markdown
Member

No description provided.

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 29, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (98f600f) to head (b42e181).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##              master      #288   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity       316       316           
===========================================
  Files             46        46           
  Lines           1320      1321    +1     
===========================================
+ Hits            1320      1321    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rmcdaniel rmcdaniel merged commit 831acb6 into master Nov 29, 2025
3 of 4 checks passed
@rmcdaniel rmcdaniel deleted the fix/signal-replays branch November 29, 2025 01:31
rmcdaniel pushed a commit that referenced this pull request Apr 17, 2026
- Add apache/avro ^1.12 to composer.json
- New Avro serializer (src/Serializers/Avro.php) with two modes:
  - Typed mode: full Avro binary encoding with a caller-provided schema
    (int stays int, float stays float — fixes #288)
  - Wrapper mode: arbitrary values stored as JSON inside an Avro record
    (schemaless fallback, still binary-framed)
- Register 'avro' in CodecRegistry alongside 'json'
- Add 'avro' to universal() codecs (language-neutral)
- Change defaultCodec() from 'json' to 'avro'
- Update config default: serializer => 'avro'
- Suppress PHP 8.4 (double) cast deprecation from apache/avro (#332)

Existing JSON and legacy PHP codec runs continue to decode — the
registry and auto-detection are unchanged. Only new workflows default
to Avro.

Closes #330
Addresses #332

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
rmcdaniel pushed a commit that referenced this pull request Apr 17, 2026
…rence

8 tests, 35 assertions covering:
- Start input round-trips under Avro with type fidelity
- Full workflow lifecycle: start -> activity -> signal -> complete
- Float/int fidelity (3.14 stays float, 42 stays int)
- Every payload row tagged avro (no json codec leaks)
- History export includes codec metadata
- Schema evolution: v1 payload decodes with v2 reader schema
- Negative: non-Avro bytes under avro tag produce typed errors
- JSON-tagged-as-avro gets diagnostic mentioning JSON

Documents generic wrapper limitation: integer-valued floats like
3.0 lose precision through json_encode (becomes 3). Typed Avro
schemas (#288) would fix this; generic wrapper does not.
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