Releases: AutoCookies/pomaiqueue
Pomai Queue V1.0.1
Summary
Added a mandatory Phase 0 system-understanding artifact with architecture flow (ingest→persist→consume→ack/retry/dead), determinism enforcement points, invariant table, and explicit “Do Not Change” semantics for state machine behavior, event ordering, and snapshot atomicity.
Added pre-code server runtime design notes documenting deterministic startup/shutdown behavior, failure policy, and bounded scope (runtime wrapper without protocol redesign).
Replaced the placeholder server main with a real runnable daemon entrypoint (pomaiqueue_server) that loads config, starts engine, bootstraps queues, handles SIGINT/SIGTERM, and shuts down gracefully with explicit logs.
Implemented strict server config loading (key=value) with typed parsing (ints, durations), deterministic option mapping, unknown-key rejection, and fsync policy validation.
Added a unit test validating config parse success and failure cases (including unknown key rejection).
Updated build system to compile the new server target and include test_server_config in test runs.
Documented server build/run usage in README and added a ready-to-run example config file.
pomai-queue-v1.0.0
Summary
Completed the mandatory baseline audit in docs/TEST_BENCH_AUDIT.md before implementation, with explicit gap/risk ranking and priorities for test rigor and performance proof.
Expanded the build/test matrix in CMake: added new unit/integration tests, crash runner gate invocation, stress binary, and four benchmark binaries (bench_enqueue, bench_lease_ack, bench_timeout_retry, bench_recovery).
Added failpoint infrastructure and integrated crash boundaries into engine transition/checkpoint paths (before_log_append, after_log_append, before_checkpoint_rename, before_lease_issue, before_ack_transition, before_timeout_transition, before_dlq_move) for deterministic crash-oracle coverage.
Upgraded checkpoint safety semantics to versioned + CRC-protected binary format (load-time validation + save-time checksum), matching safe-by-design persistence requirements.
Built out deterministic test pyramid coverage:
unit corruption/boundary tests for record, segment log, checkpoint, and queue state transitions/backpressure/idempotency;
integration test for bounded producer/consumer accounting, DLQ counts, restart replay;
failpoint-driven crash scenarios in crash harness.
Added stress harness pomaiqueue_stress with bounded workload CLI flags, JSON throughput/latency output, and invariant-based non-zero failure behavior.
Replaced single benchmark with a reproducible JSON suite + A/B tooling (scripts/bench/run_all.sh, scripts/bench/compare.py) and documented proof narrative.
Upgraded CI into explicit gates for debug+sanitizers/release tests, crash sample, benchmark smoke artifact upload, and sanity lint stage; updated README/docs and readiness scorecard accordingly.
Testing
✅ cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug && cmake --build build -j4
✅ ctest --test-dir build --output-on-failure
✅ ./build/pomaiqueue_stress --seconds 1 --producers 2 --consumers 2 --payload_bytes 64 --queues 1
✅ scripts/bench/run_all.sh build /tmp/pomaiqueue-results.json
✅ python3 scripts/bench/compare.py bench_results.json bench_results.json | head
Pomai Queue V0.2.0
Fixed the Release-mode segfault by hardening QueueEngine lifecycle/shard validation before every shard dispatch. I added ValidateShardConfig() and wired it into all public engine entrypoints so invalid startup/config states now return Status errors instead of dereferencing invalid shard pointers.
Added a strict startup guard so Start() now rejects shard_count == 0 with kInvalidArgument, preventing undefined behavior in optimized builds.
Added a regression unit test (TestInvalidShardConfigDoesNotCrash) to ensure invalid shard configuration fails safely (no crash) and to lock this failure mode down in CI.
Pomai Queue Base
Pomai Queue Base