Advance simulation parity and 3-axis tutorial coverage

This commit is contained in:
2026-08-23 18:00:56 +08:00
parent 4a11d9692b
commit 938654b19d
107 changed files with 13537 additions and 3565 deletions

View File

@@ -31,7 +31,12 @@ def digest(value: Any) -> str:
def stable_output(value: str) -> str:
"""Remove browser diagnostic timestamps from repeatability evidence."""
return re.sub(r"\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b", "<time>", value)
normalized = re.sub(r"\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b", "<time>", value)
# Firefox installed through snap can emit a host-specific mount-namespace
# warning on stderr. It is not a browser result and its path/wording can
# differ between invocations, so retain only a deterministic marker.
normalized = re.sub(r"(?m)^update\.go:\d+: cannot change mount namespace.*$", "<environment-mount-diagnostic>", normalized)
return normalized
def file_digest(path: Path) -> str | None: