Repository navigation
Add Workspace CRD for reusable workspace configuration - #37
Merged
Merged
Conversation
There was a problem hiding this comment.
3 issues found across 21 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="internal/controller/job_builder.go">
<violation number="1" location="internal/controller/job_builder.go:170">
P1: Git credential helper missing `username` output. For HTTPS authentication to work, the credential helper must output both `username=` and `password=` attributes. Add `echo "username=x-access-token";` before the password output.</violation>
</file>
<file name="internal/controller/task_controller.go">
<violation number="1" location="internal/controller/task_controller.go:132">
P2: Error handling for workspace fetch doesn't distinguish between `NotFound` (permanent failure) and transient errors. For `NotFound`, returning the error causes endless retries for a non-existent workspace. Consider handling `IsNotFound` separately: mark as Failed and return `nil` (no requeue), while for other errors just return the error without marking as Failed yet.</violation>
</file>
<file name=".claude">
<violation number="1" location=".claude:1">
P2: The new `.claude` file contains a developer-specific absolute path, which is not portable and unnecessarily exposes local filesystem information. This should be removed or replaced with meaningful, repo-relative configuration if intended.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
gjkim42
force-pushed
the
fix-task-spawner
branch
5 times, most recently
from
February 6, 2026 23:25
db62433 to
c14bd02
Compare
gjkim42
force-pushed
the
fix-task-spawner
branch
from
February 6, 2026 23:33
c14bd02 to
b1f9cac
Compare
There was a problem hiding this comment.
1 issue found across 4 files (changes from recent commits).
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="internal/controller/taskspawner_controller.go">
<violation number="1" location="internal/controller/taskspawner_controller.go:102">
P2: Status update error is silently ignored, preventing reconciliation retry. This is inconsistent with other status update patterns in this file (lines 126-128, 177-179) which return the error to trigger a requeue. If the status update fails, the TaskSpawner may not reflect the Failed state and won't be reconciled again until something else triggers it.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
…ld, add tests - Surface NotFound error on TaskSpawner status when workspace is missing instead of silently retrying - Remove duplicate Workspace field in printTaskSpawnerDetail - Add unit tests for parseGitHubOwnerRepo - Add integration test for TaskSpawner with nonexistent workspace
gjkim42
force-pushed
the
fix-task-spawner
branch
from
February 6, 2026 23:52
d699d1d to
892b3b0
Compare
The workspace field in ~/.axon/config.yaml now accepts two forms: - workspace.name: reference an existing Workspace CR - workspace.repo/ref/token: CLI auto-creates a Workspace CR and Secret This lets CLI users specify workspace details directly without manually creating Workspace resources via kubectl.
gjkim42
force-pushed
the
fix-task-spawner
branch
from
February 7, 2026 00:34
b511190 to
afbc314
Compare
gjkim42
enabled auto-merge
February 7, 2026 00:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
WorkspaceCRD to define git repository configuration (repo, ref, secretRef) as a standalone resourcespec.workspaceon Task withspec.workspaceRefreferencing a Workspace by nametaskTemplate.workspacetowhen.githubIssues.workspaceRefspec.secretRefon Workspace (injectsGITHUB_TOKEN/GH_TOKENenv vars + git credential helper)--workspace-repo/--workspace-refflags with single--workspaceflag (name of Workspace CR)workspacefield is now a string (Workspace resource name) instead of an inline objectTest plan
make test)make test-integration) — 10 specs including workspace resolution, secretRef injection, and nonexistent workspace error handlingmake test-e2e) — updated for Workspace CRD creation and--workspaceflagaxon initproduces correct templateaxon run --workspace <name>works end-to-end🤖 Generated with Claude Code
Summary by cubic
Adds a Workspace CRD to centralize git repo/auth and let Tasks and TaskSpawner reference it by name. Controllers resolve the Workspace and set a clear Failed status if it’s missing; the CLI supports --workspace and inline config that auto-creates the Workspace and Secret.
New Features
Migration
Written for commit afbc314. Summary will update on new commits.