You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This document is the single source of truth for "executable evidence" behind
every closed sub-issue of #5296. Each row links an acceptance criterion to:
the PR that landed the change,
the implementation commit on develop,
the test files (JUnit / TCK) that exercise the change,
the test command to reproduce the result,
the CI run that observed the pass/fail,
the backend + version under which the test runs,
the deployment topology (single / multi-instance / crash-recovery),
the observed result (link or literal).
The 7 reliability scenarios called out in #5337 (Q1) are answered in the
"Scenarios" section at the bottom with concrete PR + test references.
Status legend
MERGED — PR merged to develop; squash-commit hash listed.
OPEN-CI-startup_failure — PR open; CI is blocked by a
repository-level Actions platform issue (see "Current CI status" below).
Code review passed; code is shipping-quality; CI auto-retries will
collect the run once Actions recovers.
Current CI status (as of 2026-09-08 09:50 GMT+8)
A repository-level startup_failure is affecting every workflow that
requires a GitHub-hosted runner. 65% of recent workflow runs are
startup_failure (32 of 50 in the last 24 hours). Last known successful
push to develop was at 2b0d7abb1 on 2026-09-03 02:18 UTC. The
failure surfaces for all workflows (CI, Code Scanning, License Check,
Dependabot Auto-approve, Architecture Guard) and for all trigger types
(push, pull_request, pull_request_target). Workflow file content is
unchanged between the last successful and current failing runs (verified
for architecture-guard.yml by git show 2b0d7abb1:... == working tree).
GitHub status page reports all systems operational, so this is a
repository-level Actions registry / runner availability issue, not a
code-introduced regression. Auto-retries will collect evidence once
Actions recovers. No PR is blocked on code; the three open PRs (#5345,
#5346, #5348) are awaiting runner availability.
ArchitectureRulesTest (2 new *_check + 1 new *_catches); new FakeStorageCanary. Plus docs/feature/storage-spi.md + docs/feature/architecture-guard.md + CONTRIBUTING.md
All 7 scenarios have at least one merged PR with the test
implementation. Scenarios 1, 2, 5, 6, 7 have CI-passing runs on
record (the merged PR's CI before the platform outage). Scenarios 3
and 4 (the "crash + offset persistence" pair) are the strongest target
of the open PR #5345 -- the new StateStoreDurabilityTest class
encompasses both, and the open CI run will provide the first
fully-executable evidence at the OffsetStoreRestart and
SubscriptionStoreMultiInstance levels. The corresponding
docs/feature/control-plane.md (also in #5345) lists the per-backend
expected behavior for the other scenarios.
Items lacking evidence (out of scope or follow-up)
#5340 D2b (Testcontainers E2E for A2A Gateway) -- tracked at #5347.
Out of scope for this evidence document; expected to land in a follow-up
PR after the A2A Testcontainers harness is in place.
#5342 Q6 plugin-load-time capability validation -- explicitly
documented as future work in docs/feature/storage-spi.md (the
EventMeshSPI loader would need to be changed to reflect over
implements clauses; current design is runtime instanceof + TCK).
Scenario 4 (Crash recovery) on a non-Kafka backend (RocketMQ 5.x
POP) -- covered by the live behaviour asserted in #5311's
DeliveryRecoveryTest but the Testcontainers-driven restart-then-replay
run is not yet on record. Follow-up tracking is implied by #5347
(Testcontainers E2E).
How to update this document
Land the PR.
Add or update the row in the relevant table.
If the row fills the "Test command" and "CI" cells, link the CI run
(https://github.com/apache/eventmesh/actions/runs/<id>) and the
squash-commit hash.
If the row cannot fill the CI cell (open PR + platform outage),
mark the row OPEN-CI-startup_failure and link the most recent
push-triggered run; the next Actions platform recovery will
auto-collect the run.
If the scenario is intentionally out of scope or moved to a
follow-up, add an entry under "Items lacking evidence" with a link
to the tracking issue.
References
#5296 -- parent issue
#5337 -- tracking issue for this evidence document
#5342 -- this evidence document's "Q6 + Q7 governance" PR
All rows verified by the FULL local CI pipeline (Temurin 21.0.11 — the CI runner JDK),
mirroring .github/workflows/ci.yml + architecture-guard.yml task-for-task:
clean generateGrammarSource, architectureCheck, clean build dist jacocoTestReport
(same -x set), installPlugin. The GitHub Actions platform has been under a
repository-level startup_failure outage since 2026-09-07; local CI parity is the
verification of record until it recovers (see "Current CI status" above).
Sub-issue
PR
Commit
Test files
Test command
Backend
Topology
Result
#5356 fail-fast + guards
#5367
3dffe9551
UniRuntimeTopologyWiringTest (incl. partitionOwnedPullWithoutMetaStoreFailsFast), ArchitectureRulesTest (2 new *_check)
Blind-merge repairs carried by #5367 (develop was compile-red before it)
The 2026-09-07/08 Actions-outage blind merges left develop failing compileJava
outright. #5367 (commit 3dffe9551) repaired: the missing DeliveryTopology import
(#5344), the guard module's missing rocketmq5 dependency + org.lz4/at.yawk.lz4
capability conflict (#5348), the FakeStorageCanary package mismatch that made
ruleStoragePluginsIsolated_catches unfailable-then-failing (#5348), the
ClusterSubscriptionStore empty-bucket leak (#5345), and 5 checkstyle
maxWarnings=0 violations (#5345/#5346). The full local CI run that surfaced these
is the pipeline described above.
C5-C8 (docs/metrics/alerts): partially covered by code-level metrics (UniMetrics, StaleOwnerException); full runbook deferred with the container harness