What problem does it solve?
KCC direct controller development often discovers that a GCP API field is missing from the generated Go types, fuzzer expectations, or proto-to-KRM mappings, which prevents reconciliation and breaks golden/mock-based tests.
Core Features & Use Cases
- Extend KCC types for Spec and ObservedState: Add the missing field to the appropriate struct in the resource’s
_types.go with correct naming and KCC reference usage for URI/URI fragments.
- Align the fuzzer with the new field: Remove the field from unimplemented lists and register it as an expected spec or status field so apichecks and generation logic reflect reality.
- Update mappers for correct round-tripping: Ensure
_FromProto and _ToProto mappings are updated symmetrically (including manual parent mappers when generators skip nested types).
- Regenerate outputs and tests: Run generators, update golden compare output, and create/adjust resource fixture testdata to cover the new field.
- Patch mockgcp if needed: Provide reasonable mock behavior for the new output/observed field so unit/golden tests validate it.
Quick Start
Tell the agent which KCC API group and resource kind you are working on and the exact missing field name from the issue or fuzzer output, and ask it to add the field end-to-end (types, fuzzer, mappers, generation, tests, and golden mocks).