oci-service-operator

Runtime Hook Adoption Audit

This audit was originally checked in for US-213, refreshed in US-218 after US-217 moved the three load-balancer proof packages onto the bounded path-identity and nested-read seams, and refreshed again in US-223 after US-222 and US-223 moved the seven-package core networking family onto the bounded phase-4 hook seam, and refreshed again in US-228 after US-227 and US-228 moved the four-package bind-guard family onto the bounded phase-5 Identity seam, and refreshed again in US-238 after redis/rediscluster moved onto the bounded async work-request seam, and refreshed again in US-239 after queue/queue moved onto the same bounded async seam, and refreshed again in US-240 after ailanguage/project moved onto that seam, and refreshed again in US-246 after dataflow/application moved onto the bounded delete/error seam, and refreshed again in US-248 after aispeech/transcriptionjob moved onto the bounded delete-hook seam, and refreshed again in US-252 after core/securitylist and nosql/table moved off the residual constructor-rewrite list.

The live residual set comes from:

rg -l "new[A-Za-z0-9]+ServiceClient\s*=" pkg/servicemanager | \
  rg -v '_serviceclient\.go$|_test\.go$'

That command now returns 1 live constructor rewrite. The core seven-package networking family and the four-package bind-guard family are no longer in the residual set, the former async-resume family is no longer in the live inventory, the delete-confirmation and OCI-error overlay family has now closed, and the prior three-package full-manual runtime-engine family has collapsed to one broader manual outlier:

Family Count Packages
Credential-backed broader manual outlier 1 psql/dbsystem

Current Hook Boundary

Family Inventory

Credential-backed broader manual outlier

The prior three-package full-manual runtime-engine family is no longer live: core/securitylist and nosql/table both moved onto the bounded generatedruntime surface in US-250 and US-251. That leaves one package in the constructor-rewrite inventory, and it still keeps broader handwritten runtime behavior instead of wrapping a generated delegate.

The remaining shape is:

Exhaustive Package Classification

Package Primary blocked shape Current live reason
psql/dbsystem Credential-backed broader manual outlier Keeps full create, update, delete, bind lookup, lifecycle handling, and credential-backed request construction in manual code.

Residual Design Input

With ailanguage/project off the residual list, the bounded async work-request seam no longer has any live constructor rewrites to retire.

With aispeech/transcriptionjob off the residual list, the bounded delete-only DeleteHooks seam no longer has any live constructor rewrites to retire.

The remaining residual need now stays concentrated in one shape:

This audit still records the live gaps only; it does not claim any broader hook surface beyond the current bounded runtime seams.

Contract Note

docs/api-generator-contract.md already records the checked-in bounded hook surface and says the remaining handwritten runtime seams stay explicit until later rollout work closes them. This audit refresh only updates the live residual inventory after US-250 and US-251, so no further contract change is required here.