Repository navigation
feat: support optional skills packages - #1726
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 9 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 3 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
Gentle nudge on this one — it has been in Current state, in case it helps triage:
The field defaults to Happy to rebase, split the conversion change into its own PR, or narrow the scope if any of that would make it easier to review. |
|
/kelos claude-api-review |
|
🤖 Kelos Task Status Task |
|
Looks good to me. |
|
/kelos claude-review |
|
🤖 Kelos Task Status Task |
|
🤖 Kelos Claude API Reviewer Agent @gjkim42 API Design ReviewVerdict: APPROVE No blocking issues. The field is additive, correctly scoped to the storage version, and follows existing Kelos and upstream naming. Two documentation/contract clarifications are worth landing before merge; everything else is non-blocking. FindingsCompatibility (no issues)
Documentation (P2, non-blocking but please fix)
Naming and shape (P3, no change needed)
Conversion (P3)
Suggestions (optional)
/kelos needs-input |
|
🤖 Kelos Claude Reviewer Agent @gjkim42 Review SummaryVerdict: APPROVE Findings Overview
FindingsCorrectness
Tests
Correctness (low)
Key takeaways
|
|
Thanks — e2e added, plus the other findings from both review agents. Pushed as e2e (@gjkim42's request) —
API review (P2, docs) — godoc and Code review (P2) — Code review (P3) / cubic — the relocation loop counts moved entries and the required guard is now Code review (P3) / cubic — Follow-ups I did not fold in, as suggested: observability for optional failures beyond the init-container log, and Ran locally: |
7abe613 to
7336261
Compare
gjkim42
left a comment
There was a problem hiding this comment.
Lgtm
@scottt732
Can you squash commits for this?
Add an opt-in spec.skills[].optional field to the v1alpha2 AgentConfig API. Required packages keep the existing fail-fast behavior; an optional package logs its source and lets the remaining packages and agent startup continue when npx skills add fails, so an unavailable third-party package does not block an otherwise usable agent. The field defaults to false, is preserved across v1alpha1 conversion through an annotation, and is treated as a v1alpha2-only capability by the CLI v1alpha1 fallback. secretRef validation is unaffected: a missing Secret or missing/empty token still fails the Task before Job creation. The relocation loop counts moved entries and matches hidden ones, so a required package whose installer exits 0 without writing a skill still fails. Script-execution, conversion, CLI, and e2e tests cover optional continuation, required fail-fast, and the all-optional/all-failed case. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
7336261 to
b94c89d
Compare
|
@gjkim42 squashed into a single commit and force-pushed — now at The tree is byte-identical to the reviewed head |
What type of PR is this?
/kind api
What this PR does / why we need it:
Adds an opt-in
spec.skills[].optionalfield to the v1alpha2 AgentConfig API.Required packages keep the existing fail-fast behavior. An optional package logs its source and allows the remaining packages and agent startup to continue when
npx skills addfails. This prevents an unavailable third-party skills package from blocking an otherwise usable agent when the caller has explicitly accepted degraded capability.The field defaults to false, is preserved across v1alpha1 conversion through an annotation, and does not add new surface area to the compatibility API version.
Which issue(s) this PR is related to:
N/A
Special notes for your reviewer:
make verifypasses.make testpasses.make buildpasses after removing a HomebrewLDFLAGSvalue from the local environment; the Makefile forwards that variable to Go's-ldflags.Does this PR introduce a user-facing change?
Summary by cubic
Adds
spec.skills[].optionalto the v1alpha2 AgentConfig API so agent startup continues when an optional skills package fails to install, while required packages keep the existing fail-fast behavior.secretRefvalidation is unchanged and still fails before Job creation. The field defaults tofalseand is preserved across v1alpha1 conversion via an annotation.Written for commit b94c89d. Summary will update on new commits.