Generative AI Agent Onboarding Audit¶
This audit is the US-105 baseline for onboarding
github.com/oracle/oci-go-sdk/v65/generativeaiagent before services.yaml
publishes the service.
Repo Input Status¶
go.modremains pinned togithub.com/oracle/oci-go-sdk/v65 v65.110.0.v65.110.0already contains thegenerativeaiagentpackage in the module cache; the repo lackedvendor/github.com/oracle/oci-go-sdk/v65/generativeaiagentonly because nothing imported that package yet.pkg/sdkimports/rollout_services.gonow blank-importsgithub.com/oracle/oci-go-sdk/v65/generativeaiagentsogo mod vendorkeeps the package in the branch-local inputs.
SDK Audit¶
KnowledgeBase¶
- Full CRUD family is present:
CreateKnowledgeBase,GetKnowledgeBase,ListKnowledgeBases,UpdateKnowledgeBase, andDeleteKnowledgeBase. - Additional mutator is present:
ChangeKnowledgeBaseCompartment. GetKnowledgeBaseResponsereturnsKnowledgeBase.ListKnowledgeBasesResponsereturnsKnowledgeBaseCollection.ListKnowledgeBasesRequestexposescompartmentId,lifecycleState, anddisplayName, plus page and sort controls.- Lifecycle states are
CREATING,UPDATING,ACTIVE,INACTIVE,DELETING,DELETED, andFAILED. CreateKnowledgeBaseResponsereturns the resource body andOpcWorkRequestId.UpdateKnowledgeBaseResponseandDeleteKnowledgeBaseResponseexposeOpcWorkRequestId; update and delete do not return aKnowledgeBasebody.- The package also exposes service-local
GetWorkRequest,ListWorkRequests,ListWorkRequestErrors, andListWorkRequestLogshelpers.
Auxiliary Families¶
- Additional full CRUD families are
Agent,AgentEndpoint,DataSource,ProvisionedCapacity, andTool. DataIngestionJobis create/get/list/delete only and ships withGetDataIngestionJobLogContentas an additional support surface.- All of those non-
KnowledgeBasefamilies should stay unpublished initially.
Generator Implications For US-115¶
KnowledgeBaseis the requested initial kind and it looks viable as the first published resource in the package.- Recommended
formalSpecisknowledgebase. - Recommended async classification is
workrequestwithworkRequest.source=service-sdkand phasescreate,update, anddelete. KnowledgeBaselooks viable as a direct controller-backed generated rollout because GET/list expose lifecycle state and the service ships the work-request helpers needed for mutation follow-up.- The required risk callout is explicit here:
generativeaiagent/KnowledgeBasemust remain clearly distinct from the existingadm/KnowledgeBaserollout.US-115must keep service-qualified formal rows, docs, catalog entries, and generated package metadata disambiguated so the new group does not overwrite or confuse the existing ADM surface.
Follow-through For US-135¶
Agentis now the second published controller-backed kind in thegenerativeaiagentpackage; the remainingAgentEndpoint,DataSource,DataIngestionJob,ProvisionedCapacity,Tool, and work-request helper families remain unpublished.Agentuses the same recommendedformalSpec/async posture asKnowledgeBase: repo-authored formal row plusasync.strategy=workrequestwithworkRequest.source=service-sdkandcreate,update, anddeletephases.CreateAgentreturns anAgentbody plusOpcWorkRequestId, whileUpdateAgent,DeleteAgent, andChangeAgentCompartmentreturn work-request headers only.GetAgentandListAgentsproject lifecycle directly, so the published runtime uses service-SDKGetWorkRequestfollow-up and recovers the created OCID from either the create response body or work-request resources.- The published runtime keeps
ChangeAgentCompartmentout of scope. The controller-backed contract treatscompartmentIdas replacement-only drift and confines in-place mutation todisplayName,description,welcomeMessage,knowledgeBaseIds,llmConfig,freeformTags, anddefinedTags. Agentneeds a handwritten create/update body builder even on top of the generated runtime shell becausellmConfig.routingLlmCustomizationand its nestedllmSelectionpolymorphism need concrete SDK bodies, and the CRD's zero-value nested structs would otherwise serialize empty objects that the published runtime should omit.
Provider-Facts Coverage¶
formal/sources.lockpins provider facts togithub.com/oracle/terraform-provider-oci@eb653febb1bab4cc6650a96d404a8baf36fdf671.- Matching provider surfaces are
oci_generative_ai_agent_knowledge_baseas the resource,oci_generative_ai_agent_knowledge_baseas the singular data source, andoci_generative_ai_agent_knowledge_basesas the list data source. - The follow-through
Agentrow usesoci_generative_ai_agent_agentas the resource and singular data source plusoci_generative_ai_agent_agentsas the list data source. The checked-in mutability docs fixture is used for that row because the live Terraform Registry resource page currently renders as a JavaScript shell instead of a deterministic argument-reference HTML page. - Provider docs publish the same knowledge-base family as both a resource and singular/list data sources, so the main risk is the repo-local naming collision with ADM rather than missing provider coverage.