From 18228288eb4eda9c77628d82513dc0505d8f1721 Mon Sep 17 00:00:00 2001 From: Chris Purcell <168346341+chrisdpurcell@users.noreply.github.com> Date: Tue, 1 Sep 2026 08:22:27 -0400 Subject: [PATCH 1/2] chore: exclude stale build artifacts from rexec sync; align the markdownlint pin comment Refs #14 --- .rexec.toml | 7 ++++++- tests/coherence/test_pins.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.rexec.toml b/.rexec.toml index 3b193689..ec69341b 100644 --- a/.rexec.toml +++ b/.rexec.toml @@ -26,7 +26,12 @@ git_context = true # Leg worktrees and orchestration state are workstation-only: mirroring them # made rexec abort with "local source tree changed continuously" whenever a # dispatched worker was editing in .claude/worktrees/ (2026-08-26). -exclude = [".claude/worktrees", ".workflow"] +# +# build/dist, build/release-dist, build/release-sdist are stale release +# artifacts (289 MiB) that rexec would otherwise mirror on every sync; +# build/wheel-runtime and build/release-wheel stay included because +# scripts/verify.sh:133-141 needs exactly one candidate wheel there. +exclude = [".claude/worktrees", ".workflow", "build/dist", "build/release-dist", "build/release-sdist"] [tools] diff --git a/tests/coherence/test_pins.py b/tests/coherence/test_pins.py index a67d9073..6d84c953 100644 --- a/tests/coherence/test_pins.py +++ b/tests/coherence/test_pins.py @@ -5,7 +5,7 @@ _REPO = Path(__file__).resolve().parent.parent.parent PRETTIER_PIN = "3.9.6" -MARKDOWNLINT_CLI2_PIN = "0.23.2" # Keep aligned with markdownlint-cli2-action@v24. +MARKDOWNLINT_CLI2_PIN = "0.23.2" # Keep aligned with markdownlint-cli2-action@v24.2.0. def test_package_json_pins_both_tools() -> None: From 597a5c4fa9982755e99534f0981f6a293a8db7d9 Mon Sep 17 00:00:00 2001 From: Chris Purcell <168346341+chrisdpurcell@users.noreply.github.com> Date: Tue, 1 Sep 2026 08:25:21 -0400 Subject: [PATCH 2/2] perf(projection): reuse the computed plan in sync-payload-projection --check Refs #14 --- src/project_standards/package_contract/projection.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/project_standards/package_contract/projection.py b/src/project_standards/package_contract/projection.py index 58106941..762e2e63 100644 --- a/src/project_standards/package_contract/projection.py +++ b/src/project_standards/package_contract/projection.py @@ -183,9 +183,11 @@ def _finding(code: str, plan: ProjectionPlan, path: Path, message: str) -> Packa ) -def projection_findings(root: Path) -> tuple[PackageFinding, ...]: +def projection_findings( + root: Path, *, plan: ProjectionPlan | None = None +) -> tuple[PackageFinding, ...]: """Return projection drift findings without modifying any filesystem entry.""" - plan = plan_payload_projection(root) + plan = plan if plan is not None else plan_payload_projection(root) expected = {link.destination: link for link in plan.links} canonical_roots = { plan.root / f"standards/{link.standard_id}/versions/{link.version}" @@ -330,7 +332,10 @@ def sync_payload_projection( ) -> tuple[PackageFinding, ...]: """Check read-only, or reconcile only projection symlinks and empty directories.""" plan = plan_payload_projection(root) - findings = projection_findings(plan.root) + # Reuse the plan just computed instead of re-scanning manifests and + # schemas a second time inside projection_findings (measured ~3.5s + # redundant over 212 manifests + 416 schemas). + findings = projection_findings(plan.root, plan=plan) if check or not findings: return findings blocking = {