Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
96e5c8b
docs(RUST-CI-031): start extended parity soak
Oct 30, 2026
58a999f
docs(RUST-CI-031): record extended green gate
Oct 30, 2026
6c785d1
docs(RUST-CI-031): focus client UDP parity proof
Oct 30, 2026
288df06
docs(RUST-CI-031): record bounded transfer harness
Oct 30, 2026
638eff1
docs(RUST-CI-031): record focused transfer findings
Oct 31, 2026
df6f0f8
docs(RUST-CI-031): record UDP reask instrumentation
Oct 31, 2026
549b9ae
docs(RUST-CI-031): record exhausted fixture blocker
Oct 31, 2026
e23481b
docs(RUST-CI-031): require fixture-owned UDP proof
Nov 1, 2026
0fd3baa
docs(RUST-CI-031): record UDP producer correlation
Nov 1, 2026
8db9b60
docs(RUST-CI-031): record fixture-owned UDP proof
Nov 1, 2026
ec8f289
docs(RUST-CI-031): record maintained soak checkpoint
Nov 1, 2026
50082d3
docs(rust): checkpoint canonical parity soak
Nov 1, 2026
c752d35
docs(rust): record causal soak gate evidence
Nov 1, 2026
0fa207d
docs(policy): focus protocol parity evidence
Nov 1, 2026
184718c
docs(policy): separate stable and head protocol authorities
Nov 1, 2026
68a9167
refactor(policy): drop the retired tracing worktree
Nov 1, 2026
4f27e75
docs(rust): checkpoint parity harness consolidation
Nov 1, 2026
d583061
docs(rust): record upstream server gate
Nov 1, 2026
596817d
docs(rust): record server gate validation
Nov 1, 2026
2c3f561
docs(rust): record canonical Rust-MFC transfer proof
Nov 1, 2026
79e97f8
docs(rust): record causal transfer evidence
Nov 1, 2026
ef7c52a
docs(rust): record per-ID parity coverage
Nov 1, 2026
f920f25
docs(rust): record canonical transport matrix
Nov 1, 2026
dc93e6a
docs(rust): record startup metadata recovery
Nov 1, 2026
fb303be
docs(rust): record canonical server search
Nov 1, 2026
5ec73ee
docs(parity): record bilateral server login proof
Nov 1, 2026
ba7499c
docs(rust): record bilateral server transports
Nov 1, 2026
e71ffbe
docs(RUST-CI-031): focus parity harness execution
Nov 1, 2026
3c9971e
docs(RUST-CI-031): record fallback parity proof
Nov 1, 2026
a67ca0b
docs(RUST-CI-031): record bilateral search proof
Nov 1, 2026
9bed9a3
docs(RUST-CI-031): record TCP metadata parity proof
Nov 1, 2026
ab7b299
docs(RUST-CI-031): record UDP metadata parity
Nov 1, 2026
82c128c
docs(RUST-CI-031): focus parity harness objective
Nov 1, 2026
007bc83
docs(RUST-CI-031): record TCP source parity
Nov 2, 2026
a214a82
docs(RUST-CI-031): record obfuscated source parity
Nov 2, 2026
1f7da37
docs(rust): record UDP source v1 parity [RUST-CI-031]
Nov 2, 2026
344a86e
docs(rust): record UDP source v2 parity [RUST-CI-031]
Nov 2, 2026
dd87a18
docs(rust): record advanced server search parity [RUST-CI-031]
Nov 2, 2026
ccbd90c
docs(rust): record server callback parity [RUST-CI-031]
Nov 2, 2026
c6384e9
docs(rust): document diagnostic bundle budget [RUST-CI-031]
Nov 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions ci/check-workspace-policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,6 @@ def audit_project_entrypoints(root: Path) -> None:
for variant in (
r"workspaces\workspace\app\emulebb-main",
r"workspaces\workspace\app\emulebb-community-baseline",
r"workspaces\workspace\app\emulebb-community-tracing-harness",
):
app_root = resolve_workspace_path(root, variant)
assert_path_missing(app_root / r"srchybrid\emule.sln")
Expand Down Expand Up @@ -645,7 +644,6 @@ def audit_powershell_boundary(root: Path) -> None:
resolve_workspace_path(root, r"repos\emulebb"),
resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-main"),
resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-baseline"),
resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-tracing-harness"),
)
issues: list[str] = []
for repo_root in scan_roots:
Expand Down Expand Up @@ -706,7 +704,6 @@ def audit_editorconfig_policy(root: Path) -> None:
("tests", resolve_workspace_path(root, r"repos\emulebb-build-tests")),
("app-main", resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-main")),
("app-community", resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-baseline")),
("app-tracing-harness", resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-tracing-harness")),
):
if not repo_root.is_dir():
raise RuntimeError(f"Editorconfig audit root is missing: {repo_root}")
Expand Down Expand Up @@ -749,7 +746,6 @@ def collect_doc_path_issues(root: Path) -> list[str]:
(resolve_workspace_path(root, r"repos\emulebb-build-tests"), ("README.md", "AGENTS.md")),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-main"), ("README.md", "AGENTS.md")),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-baseline"), ("AGENTS.md",)),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-tracing-harness"), ("AGENTS.md",)),
)
absolute_path_re = re.compile(r"\b[a-z]:\\", re.IGNORECASE)
for repo_root, patterns in scan_scopes:
Expand Down Expand Up @@ -907,7 +903,6 @@ def audit_doc_paths(root: Path) -> None:
(resolve_workspace_path(root, r"repos\emulebb-build-tests"), "AGENTS.md"),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-main"), "AGENTS.md"),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-baseline"), "AGENTS.md"),
(resolve_workspace_path(root, r"workspaces\workspace\app\emulebb-community-tracing-harness"), "AGENTS.md"),
)
for repo_root, relative_path in agent_files:
assert_text_contains(issues, repo_root, relative_path, policy_text, "AGENTS.md must point to the central workspace policy.")
Expand Down
2 changes: 1 addition & 1 deletion ci/policy_guards.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def __init__(self, issues: tuple[str, ...]) -> None:
WORKSPACE_CLEAN_REPO_PATHS = (
"repos/emulebb",
"repos/amule",
"repos/amule-stable",
"repos/emulebb-build",
"repos/emulebb-build-tests",
"repos/ed2k-server",
Expand All @@ -62,7 +63,6 @@ def __init__(self, issues: tuple[str, ...]) -> None:
"repos/third_party/emulebb-zlib",
"workspaces/workspace/app/emulebb-main",
"workspaces/workspace/app/emulebb-community-baseline",
"workspaces/workspace/app/emulebb-community-tracing-harness",
)


Expand Down
23 changes: 14 additions & 9 deletions docs/active/TEST-STRATEGY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Test Strategy

Status: active lifecycle policy. Updated 2026-10-02.
Status: active lifecycle policy. Updated 2026-11-01.

There is no forward cross-product “Suite” release gate. Test depth follows each
repository's current lifecycle and the risk of the proposed change.
Expand All @@ -10,22 +10,27 @@ repository's current lifecycle and the risk of the proposed change.
| Lane | Required direction |
|---|---|
| **emulebb-rust** | Active beta. Repo-native quality, test, and cross-platform build gates are primary; add targeted workspace evidence as needed. |
| **emulebb-mfc `0.7.x`** | Diagnostics and critical-fix maintenance. Keep it buildable and shippable; require proof proportional to the touched surface. |
| **ed2k-server** | Sole local deterministic server and upstream-aligned Rust fork. Use minimal upstreamable changes and focused harness proof; no production-service gate. |
| **aMule upstream** | Managed official upstream used for interoperability and protocol parity. It is not an eMuleBB product release lane. |
| **emulebb-mfc `0.7.x`** | Preferred observable protocol oracle. Diagnostics, deterministic controls, and oracle buildability only; no product or protocol evolution. |
| **ed2k-server** | Upstream-clean local deterministic dependency. Keep emulebb-specific protocol behavior out of the fork and adapt tests in the harness. |
| **aMule stable** | Frozen independent protocol-parity reference at one exact release and diagnostics-only patch revision. |
| **aMule HEAD** | Moving upstream source-analysis and future-interoperability lane; never a current parity gate. |

## Shared rules

- Keep fast deterministic unit and contract checks close to the owning repo.
- Use `emulebb-build-tests` only for cross-process, protocol, package, soak, or
live evidence that cannot be proved cleanly in one repository.
- MFC source/parity checks do not gate Rust beta work, and paused/frozen fork
coverage does not gate an unrelated Rust change.
- MFC product-release checks do not gate Rust beta work. A selected protocol
campaign may require causally attributed MFC oracle evidence for the exact
supported states it claims to cover.
- Public-network, VM, long soak, and destructive scenarios remain explicit,
evidence-bound lanes rather than default fast checks.
- Native Windows VPN integration is not a forward product priority. If a test
explicitly selects a VPN mode, it must fail closed and must never silently
fall back to a direct route.
- The persisted native-Windows hide.me lane is discovery-only, treats provider
state as inherited and read-only, requires full-tunnel mode plus VPN Guard
Block, and must never silently fall back to a direct route.

Protocol-parity evidence semantics, oracle roles, and consolidation rules are
defined by the [Harness And Live Policy](../reference/HARNESS-LIVE-POLICY.md).

The superseded cross-product planning document is recoverable from the archival
commit recorded in the [history overview](../history/INDEX.md).
2 changes: 1 addition & 1 deletion docs/products/emulebb-rust/active/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ exception; new Rust items always use the `RUST-*` form.
| [RUST-CI-008](items/RUST-CI-008.md) | Evidence | Prove Unicode and long-path large-library behavior across platforms |
| [RUST-CI-009](items/RUST-CI-009.md) | Evidence | Certify a Beta 3 candidate without publishing |
| [RUST-CI-030](items/RUST-CI-030.md) | Evidence | Verify Rust FFI layouts against vendored C headers |
| [RUST-CI-031](items/RUST-CI-031.md) | Evidence | Build persisted full-tunnel protocol parity soaks |
| [RUST-CI-031](items/RUST-CI-031.md) | Evidence | Consolidate deterministic eD2K and Kad protocol-parity testing |
| [CI-054](items/CI-054.md) | Evidence | Add native Windows Rust/MFC protocol-parity diagnostics campaign |
| [RUST-REF-005](items/RUST-REF-005.md) | Refactor | Decompose oversized Rust modules by responsibility |
| [RUST-REF-006](items/RUST-REF-006.md) | Refactor | Consolidate Rust NAT and runtime safety internals |
Expand Down
Loading
Loading