Skip to content

(CODUX-225) Prove all connector paths end to end - #3127

Merged
numnx merged 2 commits into
feature/CODUX-225-chat-connector-completeness-and-verificationfrom
task/feature-codux-22-t13-codex-a2114592-mrkgmj65
Jul 14, 2026
Merged

(CODUX-225) Prove all connector paths end to end#3127
numnx merged 2 commits into
feature/CODUX-225-chat-connector-completeness-and-verificationfrom
task/feature-codux-22-t13-codex-a2114592-mrkgmj65

Conversation

@numnx

@numnx numnx commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

🧩 Task: Prove all connector paths end to end

Automated task PR opened by Code UX for T13.

📋 Summary

Sprint: Sprint 225 · Chat connector completeness and verification · Task: T13

Complete and verify all six chat connectors through provider-specific profiles, correct authentication and session behavior, encrypted durable state, atomic routing and retries, REST/MCP/dashboard management, official-documentation evidence, deterministic contract coverage, and credential-gated checks limited to provider-controlled endpoints, with Discord prioritized.

🤖 Model & Provider

Provider Codex CLI
Model gpt-5.6-sol

⏱️ Timing

Started 2026-07-14 17:34:15 UTC
Finished 2026-07-14 17:46:25 UTC
Duration 12m 10s

📊 Token Usage

Metric Value
Input tokens 1,034,020
Cached input tokens 29,352,192
Output tokens 74,880
Total tokens 30,461,092
Invocations 8
Tool calls 211
Active time 58m 5s

Included usage estimate (subscription/local login): $22.09

✅ QA Review

⏳ QA review runs after this PR is opened. Check the task card in the dashboard for the outcome once it lands.

📝 Full Task Prompt
## Objective
Create the final fan-in acceptance harness that exercises all six completed connector profiles together and provides optional live evidence only against explicitly allowed provider-controlled endpoints.

## Scope
- Create `tests/backend/integration/chat-connectors-e2e.test.ts`
- Create `tests/backend/integration/chat-connectors-live.test.ts`
- Create provider-shaped fixtures under `tests/fixtures/chat-connectors/`
- Create `tests/e2e/settings/chat-connectors.spec.ts` and any focused helper under `tests/e2e/settings/`
- Update test configuration or scripts only where needed to expose the credential-gated live lane without changing default CI behavior

## Implementation Requirements
1. Build deterministic provider-shaped fixtures for WhatsApp messages and challenges, Telegram updates, Slack challenges/events, Teams Activities/JWT metadata, Discord interactions/Gateway events, and the versioned iMessage bridge protocol.
2. For each connector, create and verify a connection, bind a channel to an approved local test project, authenticate ingress, route one message into a chat thread, produce an assistant reply, deliver through a mocked provider/bridge boundary, and inspect the same redacted state through REST and MCP.
3. Cover invalid configuration, missing/incorrect authentication, stale or replayed requests, duplicate concurrent delivery, unbound and ambiguous routing, provider/network timeout, rate limiting, terminal versus retryable failure, cancellation, disabled connections, and secret/error redaction.
4. Reopen the same database and restart connector services to prove encrypted credentials remain usable, stale leases recover once, retry schedules persist, conversation/thread state survives, and resumable Discord state reconnects without duplicate chat or outbound messages.
5. Exercise the real dashboard workflow for loading all providers, required-field validation, connection verification, binding creation, error display, delivery retry/cancel confirmation, keyboard focus restoration, and narrow-viewport usability.
6. Add an opt-in live suite gated by `CODEUX_CHAT_CONNECTOR_LIVE_TESTS=1`; permit only read-only provider-controlled checks for Meta Graph phone-number resources, Telegram `getMe`, Slack `auth.test`, and Discord current user, and require a second explicit opt-in plus Meta test-number recipient variables before any WhatsApp test send.
7. Make the live harness reject non-HTTPS URLs, redirects away from the provider allowlist, production-looking fixture values, and unsupported Microsoft Teams or iMessage live requests; skipped credentials must be reported as skipped, never passed.
8. Keep all default CI tests deterministic and credential-free, and record a per-provider acceptance result that names whether evidence came from mocks, local emulator contracts, or an opted-in official endpoint.

## Constraints
- Use only the approved local test project for executable routing and never dispatch connector tests against a live project.
- Never print, snapshot, or persist live credentials, authorization headers, signed URLs, raw provider payloads containing personal data, or real external identifiers.
- Do not make credential-gated live tests mandatory for ordinary `pnpm run ci`.
- This task must add executable tests and harnesses; it is not a review or manual QA placeholder.

## Verification
- Run `pnpm run test:backend -- tests/backend/integration/chat-connectors-e2e.test.ts tests/backend/integration/chat-connectors-live.test.ts`; without credentials the deterministic suite must pass and live cases must report explicit skips.
- Run `pnpm exec playwright test tests/e2e/settings/chat-connectors.spec.ts`.
- Run `pnpm run ci`.
- When sanitized test credentials are available, run `CODEUX_CHAT_CONNECTOR_LIVE_TESTS=1 pnpm run test:backend -- tests/backend/integration/chat-connectors-live.test.ts` and record each attempted provider endpoint and outcome without exposing secrets.
🌿 Branch Info

Base: feature/CODUX-225-chat-connector-completeness-and-verification
Head: task/feature-codux-22-t13-codex-a2114592-mrkgmj65


🤖 Generated by Code UX

@numnx
numnx merged commit a78d941 into feature/CODUX-225-chat-connector-completeness-and-verification Jul 14, 2026
20 checks passed
@numnx
numnx deleted the task/feature-codux-22-t13-codex-a2114592-mrkgmj65 branch July 14, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant