Skip to content

feat(source-control): add push-selection and operation-state foundation - #144

Merged
ClaudiaFang merged 1 commit into
claude/source-control-foundationfrom
refactor/e2e-tests-scanner-boundary
Aug 31, 2026
Merged

ClaudiaFang merged 1 commit into
claude/source-control-foundationfrom
refactor/e2e-tests-scanner-boundary

Conversation

@ClaudiaFang

Copy link
Copy Markdown
Member

Closes #128

… static runtime files

Relocates e2e/{config,shim,suites,support} to e2e-tests/provider/ and
replaces scripts/e2e-harness.sh's per-run generation of
obsidian-request-url.ts/window-timers.ts/git-verifier.ts (into
$E2E_RUNTIME_DIR, never committed) with committed static files under
e2e-tests/provider/runtime/ and e2e-tests/provider/support/git-verifier.ts.
GitVerifier now resolves its clone path from $E2E_WORKDIR at call time
instead of a shell-baked constructor default.

Updates scripts/run-e2e.sh, scripts/e2e-suites.txt, vitest.e2e.config.ts,
tsconfig.json, eslint.config.mts, and .github/workflows/ci.yml's
e2e-relevant path filter for the new layout, and extends
tests/ci-workflow.test.ts with contract assertions for it. The path filter
also gains src/logic/sync/** and src/logic/source-control/** (exercised by
the E2E suites but not previously watched) and scripts/e2e-suites.txt /
vitest.e2e.config.ts (previously not path-filtered, so a manifest-only
change could silently skip E2E).

Side effect: removing the generated-file heredoc also removed the file's
only ${var@Q} bash-4-ism, which previously blocked
scripts/e2e-harness.sh provision under macOS system bash 3.2.

Known gap, documented in docs/testing/real-provider-e2e.md and
docs/obsidian-scanner-audit.md: this PR's premise -- that committing these
files under e2e-tests/ (vs. e2e/) is scanner-safe -- is unverified against
the actual Obsidian scanner, and contradicts this repo's own prior audit
finding that the scanner flagged these same APIs regardless of directory.
A real rescan is required before relying on this.

Filed #143 separately for E2E CI retry/tiering
(rate-limit pressure) -- out of scope here, not touched by this commit.

Closes #142

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RQYgJEPDDLNpBxiW7pzibY
@ClaudiaFang
ClaudiaFang changed the base branch from main to claude/source-control-foundation August 31, 2026 04:00
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
4.0% Duplication on New Code (required ≤ 3%)
B Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@ClaudiaFang
ClaudiaFang merged commit 7d7db23 into claude/source-control-foundation Aug 31, 2026
10 of 24 checks passed
@ClaudiaFang
ClaudiaFang deleted the refactor/e2e-tests-scanner-boundary branch August 31, 2026 04:01
@ClaudiaFang

Copy link
Copy Markdown
Member Author

🎉 This PR is included in version 1.6.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(source-control): add push-selection and operation-state foundation

1 participant