Repository navigation
Exercise mixed application capacity and recovery - #464
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The runner has a critical missing import and unresolved validation gaps.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Extends the application-capacity fixture with mixed HTTP, tenant-scoped SSE, and durable-job workloads across recovery phases.
Changes:
- Adds mixed workload validation and isolation checks.
- Adds tests, fixture updates, diagnostics, and documentation.
- Updates backlog and changelog.
| File | Summary |
|---|---|
tools/application_capacity.py |
Mixed workload runner and validation. |
tests/tools/test_application_capacity.py |
Unit and live coverage. |
skills/zigbase-app-genesis/references/testing.md |
Testing guidance updates. |
fixtures/application-capacity/main.zig |
Durable job fixture configuration. |
docs/testing.md |
Capacity testing documentation. |
diagnostics/application-capacity/batch-sizing/README.md |
Batch-sizing methodology. |
diagnostics/application-capacity/batch-sizing/batch-2.json |
Batch-2 raw results. |
diagnostics/application-capacity/batch-sizing/batch-128.json |
Batch-128 raw results. |
changelog.d/mixed-application-capacity.md |
Changelog entry. |
BACKLOG.md |
Capacity backlog updates. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
valthon
force-pushed
the
codex/mixed-application-capacity
branch
from
September 20, 2026 01:23
19e1464 to
67f1a96
Compare
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Critical SSE duplicate detection and durable-job kind validation issues remain unresolved.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 2
Open (2)
Resolved since last review (1)
Measure tenant reads and writes alongside live SSE delivery and durable job attempts. Verify individual acknowledged revisions, isolate tenants, and retain bounded stress and recovery evidence. Preserve a paired batch-sizing investigation without presenting a shared Debug host as production capacity. Keep response caching deferred.
valthon
force-pushed
the
codex/mixed-application-capacity
branch
from
September 20, 2026 01:56
67f1a96 to
2a12a5d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
The capacity fixture previously measured only HTTP reads and writes. It now verifies tenant-scoped SSE delivery and transactional durable jobs alongside those requests, with bounded normal-load, stress, drain, and recovery phases. Job payload identities and individual event revisions must match acknowledged writes; malformed, missing, duplicated, foreign, or incomplete work fails the report.
A paired raw-report walkthrough records a real configuration bottleneck: a serial claim batch of two took roughly ten seconds to drain 40 jobs, versus roughly 0.4 seconds with batch 128 on the same shared Debug host. This is evidence about polling/batching, not a production capacity claim. The backlog explicitly defers response caching.
Documentation & examples sync
Verification
Limits remain explicit: local SQLite, one server, closed-loop Python load, synthetic CPU jobs, and warm data. Drain completes before recovery traffic starts. A controlled small-machine saturation report remains open.