Skip to content

feat(oracle-epm): add guarded foundation - #7469

Merged
waleedlatif1 merged 1 commit into
stagingfrom
feat/oracle-epm-foundation
Oct 8, 2026
Merged

waleedlatif1 merged 1 commit into
stagingfrom
feat/oracle-epm-foundation

Conversation

@BillLeoutsakosvl346

@BillLeoutsakosvl346 BillLeoutsakosvl346 commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Adds the Oracle EPM integration-user credential and guarded transport shared by nine product PRs. The foundation provides environment-bound Basic authentication, child-owned endpoint/route policies, validated returned links, bounded requests/responses, polling, and file-transfer primitives. Product blocks, tools, selectors, and response schemas remain child-owned.

EPM uses the same connection/reconnect modal and encrypted credential lifecycle as Vanta and Ramp, with a canonical Oracle family registration. Password bytes are preserved through every credential boundary. JSON request budgets are enforced before serialization; cancellation and deadlines survive provider error parsing. Source files enter through shared execution materialization authorization. Setup guidance explains that Basic authentication requires a user without MFA and authenticates on the first product request. No shared Oracle OAuth app or deployment secret is required.

Validation:

  • Repeated validate-integration against Oracle's official authentication documentation, covering credential/model boundaries, destination restrictions, memory budgets, polling, file authorization, and shared-modal wiring.
  • All 1,347 focused tests pass in the combined OCI/Fusion/EPM checkout, including Vanta/Ramp credential paths.
  • Root lint, all 26 workspace type-checks, all 58 audits, generated deployment configuration, docs manifest, and block-registry checks pass.
  • Full CI passed on 840c4f5: build, lint, both unit shards, all eight database integration shards, HTTP E2E suites, and desktop live tests. The final rebase onto the merged foundations changed history only; its source tree is identical. No open review threads.
  • Request-budget, cancellation, password, and execution-file-scope regressions were demonstrated red before their fixes.
  • Full local root run: 386 script tests passed; the app had 36,601 passes and four timeouts in three unchanged files. All 32 tests in those files passed in isolation with the original timeouts.

Live EPM testing is pending an EPM tenant and integration-user credentials; no live-account pass is claimed. Product connection buttons appear when their visible child blocks ship. Restack and independently validate all nine children, passing ExecutionMaterializationContext as authorization to openOracleEpmSourceFile. Shared ordinary token resolution must enforce the consuming tool's registered service before the first product ships.

@vercel

vercel Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Oct 8, 2026 3:44pm UTC

Request Review

@gitguardian

gitguardian Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@greptile-apps

greptile-apps Bot commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR adds a guarded Oracle EPM foundation without exposing a product integration.

  • Registers an environment-bound Oracle EPM integration-user credential and locally generates Basic authentication.
  • Adds validated route, endpoint, returned-link, polling, HTTP-client, error, and bounded file primitives.
  • Serializes download cleanup around multipart completion and presigned-link generation.
  • Enforces polling deadlines even when a child read does not settle cooperatively.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/lib/internal/oracle-epm/files.server.ts Adds authorized, size-bounded file streaming and serialized multipart cleanup; the previously reported completion race is addressed.
apps/sim/lib/internal/oracle-epm/jobs.ts Adds bounded polling with combined cancellation and deadline enforcement; the previously reported non-settling-reader overrun is addressed.
apps/sim/lib/internal/oracle-epm/client.server.ts Implements the guarded Oracle EPM request boundary over validated endpoint declarations and destinations.
apps/sim/lib/internal/oracle-epm/endpoint.ts Defines validated and frozen route, endpoint, query, header, retry, and response contracts.
apps/sim/lib/credentials/client-credential-accounts/minters/oracle-epm.ts Locally generates bounded Basic-auth credentials and binds them to a normalized Oracle EPM environment.
apps/sim/lib/credentials/client-credential-accounts/descriptors.ts Registers the Oracle EPM integration-user credential descriptor and required fields.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Credential[Oracle EPM integration-user credential] --> Minter[Local Basic-auth minter]
  Minter --> Destination[Normalized environment destination]
  Child[Future child-owned integration] --> Endpoint[Branded route and endpoint declaration]
  Endpoint --> Client[Guarded Oracle EPM client]
  Client --> Destination
  Client --> Links[Validated returned links]
  Client --> Files[Bounded file primitives]
  Client --> Polling[Deadline-bound job polling]
Loading

Reviews (14): Last reviewed commit: "fix(oracle-epm): reject raw backslashes ..." | Re-trigger Greptile

Comment thread apps/sim/lib/internal/oracle-epm/files.server.ts
Comment thread apps/sim/lib/internal/oracle-epm/jobs.ts Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 33 files

Re-trigger cubic

Comment thread apps/sim/lib/oauth/token-resolution.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/endpoint.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/destination.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/jobs.ts
Comment thread apps/sim/lib/internal/oracle-epm/files.server.ts
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
Comment thread apps/sim/lib/credentials/orchestration/index.test.ts Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 34 files

Re-trigger cubic

Comment thread apps/sim/lib/oauth/token-resolution.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/files.server.ts
Comment thread apps/sim/lib/internal/oracle-epm/destination.ts
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts
Comment thread apps/sim/lib/internal/oracle-epm/client.server.test.ts Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 34 files

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 34 files

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 34 files

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/oauth/token-resolution.ts Outdated
@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 26 files

Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Fix all with cubic | Re-trigger cubic

Comment thread apps/sim/lib/internal/oracle-epm/client.server.ts Outdated
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@BillLeoutsakosvl346 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 26 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Re-trigger cubic

@waleedlatif1
waleedlatif1 force-pushed the feat/oracle-epm-foundation branch from 9e95590 to 3f2d37b Compare October 8, 2026 05:02
@waleedlatif1
waleedlatif1 force-pushed the feat/oracle-epm-foundation branch from 3f2d37b to 3f4e39e Compare October 8, 2026 15:18
@waleedlatif1
waleedlatif1 force-pushed the feat/oracle-epm-foundation branch from 3f4e39e to 840c4f5 Compare October 8, 2026 15:21
@waleedlatif1
waleedlatif1 force-pushed the feat/oracle-epm-foundation branch from 840c4f5 to dd493d9 Compare October 8, 2026 15:44
@waleedlatif1
waleedlatif1 merged commit 999483f into staging Oct 8, 2026
34 of 35 checks passed
@waleedlatif1
waleedlatif1 deleted the feat/oracle-epm-foundation branch October 8, 2026 18:42

This branch was previously deployed

1 inactive deployment
Preview — dd493d99 Deployed Oct 8, 2026 by vercel[bot]
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.

2 participants