Repository navigation
Conversation
This comment has been minimized.
This comment has been minimized.
Contributor
|
Build successful! ✅ |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Confluence Cloud gains page search, read, create and version-checked update actions, plus page-created and page-updated polling triggers. Connections use the shared OAuth broker and bind each verified grant to one operator-configured Cloud site. Approved numeric spaces constrain targets. The new confluence_integrations category preserves the legacy ConfluenceComponent and its existing category.
Actions support hosted and self-managed deployments with an operator-owned confidential OAuth app. Triggers support self-managed polling after a silent baseline. Creation uses the original page timestamp, so moving an old page into a space does not manufacture a creation event. Polling observes latest versions and can miss intermediate edits, deletions and access gaps. Data Center, Desktop, headless manual credentials, hosted triggers and push delivery remain unsupported.
This PR depends on 15947 and includes its shared runtime and later-provider contract prerequisite commits. Real tenant authorization, provider app distribution, live writes and production delivery acceptance remain unverified. Owner acceptance stays pending in the versioned capability contract.
Verification
Tests used the pre-provisioned validation environment with UV_PROJECT_ENVIRONMENT set and UV_NO_SYNC=1. Source paths selected this worktree rather than installed editables.
PYTHONPATH="$PWD/src/lfx/src:$PWD/src/bundles/confluence/src" uv run --no-sync pytest src/bundles/confluence/tests -q45 passed. The entire test process blocks backend imports.
PYTHONPATH="$PWD/src/backend/base:$PWD/src/lfx/src:$PWD/src/bundles/confluence/src" uv run --no-sync pytest src/backend/tests/unit/services/triggers/test_confluence_provider.py src/backend/tests/unit/services/triggers/test_confluence_lifecycle.py src/backend/tests/unit/services/triggers/test_listener_provider_reload.py -q -o log_cli=false45 passed. This includes seven database lifecycle cases through the actual registered listener adapter, durable delivery, dedupe, failed fetches, stale cursor commits, pause and owner, consent, identity, scope and policy denials.
The wheel built and installed. Real metadata discovery loaded six integration components and two server trigger kinds alongside the unchanged legacy ConfluenceComponent.
26 registration tests passed. Capability contracts, bundle profiles, the new bundle release plan and the lock check passed. The lock check resolved 866 packages without unrelated dependency changes.
Ruff, formatting, whitespace checks and pre-commit passed. The full
uv run --no-sync pytest scripts/ci -q -o log_cli=falsererun passed 679 tests with 1 skipped. Direct historical capability-matrix validation still reports pre-existing Google, Microsoft and Slack source verification dates older than 30 days. Those records were not changed.Final review and verification addendum
uv run --no-sync pytest src/backend/tests/unit/test_lfx_bundles_extras.py -q -o addopts= -o cache_dir=/private/tmp/le-2477-confluence-review-cache --tb=short -o log_cli=false— 11 passed. Packaging checks compare declared component categories; negative cases still reject an actual collision. Installed discovery keeps legacyConfluenceComponentbeside the distinctconfluence_integrationscategory.uv run --no-sync pytest -q -p no:cacheprovider src/backend/tests/unit/services/triggers/test_confluence_provider.py -k 'oauth or dialog_scope or site_grant'— 19 passed, including actual site-grant intersection and read-only authorization.The installed nine-provider validation passed 445 backend tests and built all 58 real component templates. The exact aggregate commands and shared-runtime results are recorded in #15947. Independent code, Python, and security review found no unresolved confirmed provider findings.
Source checkpoint:
6128e9557729ed6d29b6fe8f5439ee741645848d. GitHub Actions CI, Mend scan, and PR checks.Real Confluence Cloud authorization, page polling, and tenant acceptance remain unverified.
Verification after October 23 review
Final head d4dffe227d includes the reviewed runtime and current release. The final release merge preserved the tested tree byte for byte. Shared runtime 7702a4a514 is included through #15947 and release commit 0b9eaeccdf. Conflicts are resolved. Provider code and contract registration were preserved, along with every existing translated value.
Backend commands used UV_NO_SYNC=1, UV_PROJECT_ENVIRONMENT=/private/tmp/secret-sync-oss-venv, and PYTHONPATH=src/backend/base:src/lfx/src:src/bundles/confluence/src:src/sdk/src. The existing environment was reused without syncing.
Repository commit hooks and secret checks passed. Hosted CI is running on this head. Live tenant acceptance remains unverified.
Summary by CodeRabbit