feat(oracle-fusion-learning): add Learning integration - #7539
feat(oracle-fusion-learning): add Learning integration#7539BillLeoutsakosvl346 wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryAdds an Oracle Fusion Learning integration backed by the existing secured Oracle Fusion HCM foundation.
Confidence Score: 5/5The 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
|
| 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]
Reviews (3): Last reviewed commit: "style(oracle-fusion-learning): finish te..." | Re-trigger Greptile
|
@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. |
|
@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 |
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, currently15294a2b40aaeb176f6ec79599ce790eadd969e9). 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.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~1fallback for diff-based audits does not replace the separately reviewed full foundation-relative diff. No shared runtime or workflow changes are included.