Skip to content

feat(oracle-fusion-learning): add Learning integration - #7539

Open
BillLeoutsakosvl346 wants to merge 4 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-learning-integration
Open

feat(oracle-fusion-learning): add Learning integration#7539
BillLeoutsakosvl346 wants to merge 4 commits into
feat/oracle-fusion-foundationfrom
investigate/oracle-fusion-learning-integration

Conversation

@BillLeoutsakosvl346

@BillLeoutsakosvl346 BillLeoutsakosvl346 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Adds Oracle Fusion Learning as a separate HR block with 40 tools and seven selectors. Workflows can author catalog drafts, schedule event activities, enroll learners, inspect or update documented completion states, and manage administrator assignment profiles through the public HCM REST APIs.

Stacked on #7427 (feat/oracle-fusion-foundation, currently 15294a2b40aaeb176f6ec79599ce790eadd969e9). Learning reuses its credential provider, secured HCM client, exact identifiers, pagination parsing, self-link validation, and mutation handling. The diff is limited to Learning, registrations, focused tests, and generated artifacts.

  • Catalog: self-paced items; Learning events and their activities; safe content metadata and URL-content creation.
  • Learner workflows: assignments/enrollments; assignment-scoped selected offerings; completion details and summaries; permitted-action hints; enrollment history.
  • Administration: assignment profiles, processing acknowledgements and results, selection criteria, and learning audiences.
  • Requests return one page (default 20, maximum 100), keep IDs lossless, and use explicit projections and writable-field schemas. PATCH preserves omission versus null. Uncertain mutation failures are non-retryable.

Selected offerings belong to existing assignments. Reading completion reports existing Oracle state; changing an activity attempt does not establish course completion. Profile processing returns Oracle’s numeric acknowledgement, with assignment results read separately. Enrollment may remain pending, approval-dependent, or waitlisted. Self-paced creation authors a draft and deletion is lifecycle constrained. Catalog APIs require enabled tenant features, and learner/manager data access remains governed by Oracle privileges. Publication, package uploads, external providers, HDL, and triggers are outside this integration.

API evidence: Learning use cases, learner records, selected offerings, completion-detail updates, and profile processing. Operation-specific schema links are included in the generated integration documentation.

Validation: GitHub Test and Build passed on 05a08011b71143e03a21c3818793ba6bbfbf0fe1: lint, repository audits, generated-artifact checks, workspace type checks, all three test shards, schema/migration synchronization, and application build. Greptile reviewed that same head at 5/5, with all review threads resolved. The independent integration reviewer cleared the implementation after the initial review/fix cycle and two focused follow-ups; no required foundation changes remain.

Tests cover credential declarations, selector binding/context, exact targeting, pagination/projections, lifecycle request contracts, PATCH semantics, bodyless deletes, processing results, and uncertain mutations. The nested-summary projection excludes assignment-only section counts, and a fixture preserves Oracle’s documented string duration contract. Existing generators were run; all validation commands ran on GitHub. No live Oracle tenant validation was available.

This foundation-targeted PR uses explicit workflow dispatch. The workflow’s HEAD~1 fallback for diff-based audits does not replace the separately reviewed full foundation-relative diff. No shared runtime or workflow changes are included.

@vercel

vercel Bot commented Sep 5, 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 Sep 5, 2026 11:57pm UTC

Request Review

@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds an Oracle Fusion Learning integration backed by the existing secured Oracle Fusion HCM foundation.

  • Registers 40 tools covering catalog drafts, learning events, learner records, completion data, assignment profiles, audiences, and content metadata.
  • Adds seven context-aware selectors with pagination, exact identifier handling, and sanitized provider errors.
  • Defines validated writable schemas, safe response projections, generated tool metadata, integration documentation, and focused tests.
  • Changes since the previous review are limited to formatting and type-export ordering and introduce no functional changes.

Confidence Score: 5/5

The current head appears safe to merge, with no outstanding correctness or repository-rule violations identified.

The changes since the previous review only reformat existing code and reorder a type-only export, leaving runtime behavior and documented completion contracts unchanged. The previous completion-summary finding was resolved after confirming Oracle documents expectedEffortInSeconds as a nullable string for those endpoints.

Important Files Changed

Filename Overview
apps/sim/lib/internal/oracle-fusion-learning/operations.ts Implements Learning REST operations, exact resource resolution, pagination, mutation handling, and nested-resource targeting; recent changes are formatting-only.
apps/sim/lib/internal/oracle-fusion-learning/schema.ts Defines validated operation inputs and writable-resource schemas; recent changes only reformat existing declarations.
apps/sim/lib/internal/oracle-fusion-learning/projectors.ts Projects Oracle responses into safe public shapes; the prior duration concern was correctly resolved because completion summaries document that field as a string.
apps/sim/lib/selectors/server/providers/oracle-fusion-learning.ts Provides scoped, paginated selectors for Learning resources; recent changes are formatting-only.
apps/sim/tools/oracle_fusion_learning/index.ts Re-exports all Learning tools and public types; moving the type-only export does not affect runtime behavior.
apps/sim/blocks/blocks/oracle_fusion_learning.ts Registers the Learning block, operation inputs, outputs, and workflow guidance; recent changes are formatting-only.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
    W[Workflow tool or selector] --> V[Learning input schemas]
    V --> D[Operation dispatcher]
    D --> C[Secured Oracle Fusion HCM client]
    C --> O[Oracle Fusion Learning REST APIs]
    O --> P[Safe resource projectors]
    P --> R[Tool output or selector options]
Loading

Reviews (3): Last reviewed commit: "style(oracle-fusion-learning): finish te..." | Re-trigger Greptile

Comment thread apps/sim/lib/internal/oracle-fusion-learning/projectors.ts
@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile Please review current head 20fbb86. The previous duration finding is a documented string contract on both summary endpoints; source links and independent verification are in the resolved thread. This revision adds a string-duration fixture and fixes the separate nested-summary field projection. CI was explicitly dispatched for this stacked PR; Cubic is excluded from review scope.

@BillLeoutsakosvl346

Copy link
Copy Markdown
Contributor Author

@greptile Please verify the current head 05a0801. Changes since your 5/5 revision only apply GitHub-requested formatting and export ordering. The approved functional scope and documented completion contracts are unchanged. Current-head CI: https://github.com/simstudioai/sim/actions/runs/34000023897

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