Skip to content

refactor: drop old deployment agent table#943

Merged
adityachoudhari26 merged 6 commits intomainfrom
drop-old-table
Apr 8, 2026
Merged

refactor: drop old deployment agent table#943
adityachoudhari26 merged 6 commits intomainfrom
drop-old-table

Conversation

@adityachoudhari26
Copy link
Copy Markdown
Member

@adityachoudhari26 adityachoudhari26 commented Apr 8, 2026

Resolves #934

Summary by CodeRabbit

  • Refactor
    • Removed per-agent fields from deployment APIs: jobAgentId and jobAgents no longer appear in requests/responses.
    • Deployments now use a single jobAgentSelector string plus optional jobAgentConfig for targeting.
    • UI no longer shows per-deployment job-agent lists; related endpoints and DB join-table behavior were removed.

Copilot AI review requested due to automatic review settings April 8, 2026 22:36
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

Warning

Rate limit exceeded

@adityachoudhari26 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 0 minutes and 0 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 0 minutes and 0 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d80c2b8a-dbf5-4a7f-84ef-b2cf3ee63068

📥 Commits

Reviewing files that changed from the base of the PR and between 65b5a2f and faf85a4.

📒 Files selected for processing (4)
  • apps/workspace-engine/pkg/db/convert_test.go
  • apps/workspace-engine/pkg/selector/langs/cel/cel_matches_test.go
  • apps/workspace-engine/pkg/workspace/jobs/factory_test.go
  • apps/workspace-engine/pkg/workspace/relationships/property_test.go
📝 Walkthrough

Walkthrough

This PR removes the DeploymentJobAgent model and the deployment_job_agent join table, eliminates jobAgentId/jobAgents across API, DB, SDK, and frontend, and switches deployment handling to jobAgentSelector + jobAgentConfig with a migration that drops the table. (49 words)

Changes

Cohort / File(s) Summary
OpenAPI / schemas
apps/api/openapi/schemas/deployments.jsonnet, apps/api/openapi/openapi.json, apps/workspace-engine/oapi/spec/schemas/deployments.jsonnet, apps/workspace-engine/oapi/openapi.json, packages/workspace-engine-sdk/src/schema.ts
Removed jobAgentId and jobAgents properties; deleted DeploymentJobAgent schema; simplified jobAgentSelector descriptions.
Typed API / generated models
apps/api/src/types/openapi.ts, apps/workspace-engine/pkg/oapi/oapi.gen.go
Removed jobAgentId, jobAgents, and DeploymentJobAgent types/fields; adjusted JSDoc/type shapes to selector+config-only representation.
API route logic
apps/api/src/routes/v1/workspaces/deployments.ts, packages/trpc/src/routes/deployments.ts
Deleted helper and join-table usage; stop loading/returning jobAgents; removed validation/upsert/delete of join rows; default selector/config from request body.
tRPC job-agents router
packages/trpc/src/routes/job-agents.ts
Removed jobAgentsRouter.deployments endpoint that queried deployments via the join table.
Database schema / migration
apps/workspace-engine/pkg/db/queries/schema.sql, packages/db/drizzle/0185_steep_scarecrow.sql, packages/db/drizzle/meta/_journal.json, packages/db/src/schema/deployment.ts
Dropped deployment_job_agent table and Drizzle schema relations; added migration to drop the table and journal entry.
DB queries & models
apps/workspace-engine/pkg/db/queries/deployments.sql, apps/workspace-engine/pkg/db/deployments.sql.go, apps/workspace-engine/pkg/db/models.go
Removed UpsertDeploymentJobAgent / DeleteDeploymentJobAgents SQL and Go wrappers, plus DeploymentJobAgent model and param types.
Selector / CEL context
apps/workspace-engine/pkg/selector/langs/cel/cel.go
Removed jobAgentId from deployment map used for CEL evaluation.
Frontend components & types
apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx, apps/web/app/routes/ws/deployments/settings/page.$deploymentId.job-agent.tsx, apps/web/app/routes/ws/runners/JobAgentCard.tsx
Updated Deployment shape to jobAgentSelector + jobAgentConfig; removed job-agent listing UI and related per-agent rendering.
Workspace property handling & tests
apps/workspace-engine/pkg/workspace/relationships/property.go, .../property_test.go, apps/workspace-engine/pkg/workspace/jobs/factory_test.go, various unit/e2e tests
Switched access/tests from job_agent_id to job_agent_selector; updated fixtures, tests, and test helpers to the selector/config model.

Sequence Diagram(s)

sequenceDiagram
    participant Client as Web / API Client
    participant API as Deployments API
    participant DB as Database
    rect rgba(100,150,240,0.5)
    Client->>API: POST /deployments { jobAgentSelector, jobAgentConfig, ... }
    API->>DB: INSERT/UPDATE deployment (no join-table)
    DB-->>API: OK (deployment row)
    API-->>Client: 201 Created { deployment with jobAgentSelector, jobAgentConfig }
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • jsbroks
  • mleonidas
  • zacharyblasczyk

Poem

🐰 A little hop, a missing row,
Selectors bloom where joins used to grow.
One string to call, one config to store,
The burrow's neat — no extra door.
🥕🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: removing the old deployment_job_agent table and its associated references throughout the codebase.
Linked Issues check ✅ Passed The PR changes comprehensively implement the objective to drop the deployment_job_agent table, removing database schema, queries, models, API schemas, and all related application logic.
Out of Scope Changes check ✅ Passed All changes are directly related to removing the deployment_job_agent table and its dependencies; no unrelated modifications are present.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch drop-old-table

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx (1)

9-10: Minor type inconsistency with API response.

The API's formatDeployment function returns jobAgentConfig: dep.jobAgentConfig ?? {}, which always produces an object (never null). However, this type allows null. Consider aligning with the API:

-  jobAgentConfig: Record<string, any> | null;
+  jobAgentConfig: Record<string, any>;

Alternatively, if the API can return null in some edge cases, this is fine as-is.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx` around
lines 9 - 10, Type mismatch: update the jobAgentConfig type to reflect the API's
guarantee (formatDeployment returns an object) by changing the declaration in
DeploymentProvider.tsx from "jobAgentConfig: Record<string, any> | null" to
"jobAgentConfig: Record<string, any>" and adjust any downstream
null-checks/usages (e.g., places referencing jobAgentConfig in this file or
components consuming DeploymentProvider) to treat it as an object;
alternatively, if you intend to accept null from other sources, keep the union
but add a comment referencing formatDeployment to document the discrepancy.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx`:
- Around line 9-10: Type mismatch: update the jobAgentConfig type to reflect the
API's guarantee (formatDeployment returns an object) by changing the declaration
in DeploymentProvider.tsx from "jobAgentConfig: Record<string, any> | null" to
"jobAgentConfig: Record<string, any>" and adjust any downstream
null-checks/usages (e.g., places referencing jobAgentConfig in this file or
components consuming DeploymentProvider) to treat it as an object;
alternatively, if you intend to accept null from other sources, keep the union
but add a comment referencing formatDeployment to document the discrepancy.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 26866e03-5e44-4a85-8278-82267764c219

📥 Commits

Reviewing files that changed from the base of the PR and between 9a2a5ae and 082bb5e.

📒 Files selected for processing (22)
  • apps/api/openapi/openapi.json
  • apps/api/openapi/schemas/deployments.jsonnet
  • apps/api/src/routes/v1/workspaces/deployments.ts
  • apps/api/src/types/openapi.ts
  • apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx
  • apps/web/app/routes/ws/deployments/settings/page.$deploymentId.job-agent.tsx
  • apps/web/app/routes/ws/runners/JobAgentCard.tsx
  • apps/workspace-engine/oapi/openapi.json
  • apps/workspace-engine/oapi/spec/schemas/deployments.jsonnet
  • apps/workspace-engine/pkg/db/deployments.sql.go
  • apps/workspace-engine/pkg/db/models.go
  • apps/workspace-engine/pkg/db/queries/deployments.sql
  • apps/workspace-engine/pkg/db/queries/schema.sql
  • apps/workspace-engine/pkg/oapi/oapi.gen.go
  • apps/workspace-engine/pkg/selector/langs/cel/cel.go
  • packages/db/drizzle/0185_steep_scarecrow.sql
  • packages/db/drizzle/meta/0185_snapshot.json
  • packages/db/drizzle/meta/_journal.json
  • packages/db/src/schema/deployment.ts
  • packages/trpc/src/routes/deployments.ts
  • packages/trpc/src/routes/job-agents.ts
  • packages/workspace-engine-sdk/src/schema.ts
💤 Files with no reviewable changes (12)
  • apps/web/app/routes/ws/deployments/settings/page.$deploymentId.job-agent.tsx
  • apps/web/app/routes/ws/runners/JobAgentCard.tsx
  • apps/workspace-engine/pkg/selector/langs/cel/cel.go
  • apps/workspace-engine/pkg/db/queries/deployments.sql
  • packages/trpc/src/routes/deployments.ts
  • apps/workspace-engine/pkg/db/models.go
  • apps/workspace-engine/oapi/spec/schemas/deployments.jsonnet
  • packages/db/src/schema/deployment.ts
  • packages/workspace-engine-sdk/src/schema.ts
  • apps/workspace-engine/oapi/openapi.json
  • apps/workspace-engine/pkg/db/deployments.sql.go
  • apps/workspace-engine/pkg/db/queries/schema.sql

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes the legacy deployment_job_agent join table and the related jobAgentId/jobAgents API surface area, consolidating deployment→agent configuration around jobAgentSelector + jobAgentConfig stored directly on the deployment record.

Changes:

  • Drops deployment_job_agent (Drizzle migration + schema cleanup) and removes query/model code that depended on it (TRPC + workspace-engine sqlc).
  • Updates OpenAPI specs and generated SDK/types to remove legacy deployment job-agent fields (jobAgentId, jobAgents, DeploymentJobAgent).
  • Removes UI/router endpoints that listed deployments per job agent (since the join table is gone).

Reviewed changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/workspace-engine-sdk/src/schema.ts Updates generated SDK types to remove legacy deployment job agent fields.
packages/trpc/src/routes/job-agents.ts Removes jobAgents.deployments endpoint that depended on deployment_job_agent.
packages/trpc/src/routes/deployments.ts Stops reading/writing deployment job agents via relations/join table.
packages/db/src/schema/deployment.ts Removes deploymentJobAgent table + relations from Drizzle schema.
packages/db/drizzle/meta/0185_snapshot.json Drizzle snapshot update reflecting dropped table.
packages/db/drizzle/meta/_journal.json Registers migration 0185_steep_scarecrow.
packages/db/drizzle/0185_steep_scarecrow.sql Drops deployment_job_agent table.
apps/workspace-engine/pkg/selector/langs/cel/cel.go Removes deployment.jobAgentId from CEL context mapping.
apps/workspace-engine/pkg/oapi/oapi.gen.go Removes JobAgentId and DeploymentJobAgent from generated OAPI models.
apps/workspace-engine/pkg/db/queries/schema.sql Removes deployment_job_agent table from sqlc schema.
apps/workspace-engine/pkg/db/queries/deployments.sql Removes sqlc queries for upserting/deleting deployment job agents.
apps/workspace-engine/pkg/db/models.go Removes DeploymentJobAgent sqlc model.
apps/workspace-engine/pkg/db/deployments.sql.go Removes generated sqlc methods for deployment job agents.
apps/workspace-engine/oapi/spec/schemas/deployments.jsonnet Removes legacy schema fields/types from workspace-engine OAPI spec source.
apps/workspace-engine/oapi/openapi.json Removes legacy fields/types from generated workspace-engine OpenAPI.
apps/web/app/routes/ws/runners/JobAgentCard.tsx Removes UI that fetched/displayed deployments for a job agent.
apps/web/app/routes/ws/deployments/settings/page.$deploymentId.job-agent.tsx Removes per-deployment job agent list UI.
apps/web/app/routes/ws/deployments/_components/DeploymentProvider.tsx Updates deployment context type to use selector/config instead of jobAgents[].
apps/api/src/types/openapi.ts Updates generated API types to remove legacy deployment job agent fields/types.
apps/api/src/routes/v1/workspaces/deployments.ts Stops populating/accepting legacy job-agent fields and stops joining via deployment_job_agent.
apps/api/openapi/schemas/deployments.jsonnet Removes legacy job-agent fields/types from API OpenAPI schema source.
apps/api/openapi/openapi.json Removes legacy job-agent fields/types from generated API OpenAPI document.
Comments suppressed due to low confidence (3)

apps/workspace-engine/pkg/oapi/oapi.gen.go:319

  • Deployment.JobAgentId / DeploymentJobAgent were removed from the generated OpenAPI types, but there are still Go call sites referencing deployment.JobAgentId (e.g. pkg/workspace/relationships/property.go, pkg/selector/langs/cel/cel_matches_test.go). The workspace-engine build/tests will fail until those references are removed or migrated to the new jobAgentSelector/jobAgentConfig model.
// Deployment defines model for Deployment.
type Deployment struct {
	Description    *string        `json:"description,omitempty"`
	Id             string         `json:"id"`
	JobAgentConfig JobAgentConfig `json:"jobAgentConfig"`

	// JobAgentSelector CEL expression to match job agents
	JobAgentSelector string            `json:"jobAgentSelector"`
	Metadata         map[string]string `json:"metadata"`
	Name             string            `json:"name"`

	// ResourceSelector CEL expression to determine if the deployment should be used
	ResourceSelector *string `json:"resourceSelector,omitempty"`
	Slug             string  `json:"slug"`
}

apps/workspace-engine/pkg/selector/langs/cel/cel.go:182

  • Removing jobAgentId from the CEL deployment context means any stored CEL expressions that reference deployment.jobAgentId may start erroring at evaluation time (map key no longer present). If backward compatibility is needed, consider keeping the key with a null value (or another migration strategy) while consumers transition to deployment.jobAgentSelector/config.
func deploymentToMap(d *oapi.Deployment) map[string]any {
	m := make(map[string]any, 8)
	m["id"] = d.Id
	m["name"] = d.Name
	m["slug"] = d.Slug
	m["jobAgentConfig"] = d.JobAgentConfig
	m["jobAgentSelector"] = d.JobAgentSelector
	m["metadata"] = d.Metadata
	if d.Metadata == nil {
		m["metadata"] = make(map[string]any)
	}
	if d.Description != nil {
		m["description"] = *d.Description
	}
	if d.ResourceSelector != nil {
		m["resourceSelector"] = d.ResourceSelector
	}
	return m

apps/web/app/routes/ws/deployments/settings/page.$deploymentId.job-agent.tsx:5

  • deployment is retrieved from useDeployment() but no longer used in the component after removing the job agent list. This will trigger a no-unused-vars / noUnusedLocals error in TS builds; either remove the destructuring or use deployment (e.g., to display selector/config).
export default function DeploymentJobAgentPage() {
  const { deployment } = useDeployment();


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 108 to 114
systemsByDeploymentId.set(link.deploymentId, arr);
}

const agentsByDeploymentId = await getJobAgentsByDeploymentId(deploymentIds);
const items = deployments.map((dep) => ({
deployment: {
...formatDeployment(dep),
jobAgents: (agentsByDeploymentId[dep.id] ?? []).map(
({ ref, config }) => ({ ref, config }),
),
},
deployment: formatDeployment(dep),
systems: (systemsByDeploymentId.get(dep.id) ?? []).map(formatSystem),
}));
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formatDeployment() can omit jobAgentSelector when the stored value is "false" (via parseSelector), but the OpenAPI schema marks jobAgentSelector as required. This will cause responses from listDeployments/getDeployment to violate the contract. Consider always returning the raw selector string (including "false") or updating the OpenAPI schema to make jobAgentSelector optional if omission is intended.

Copilot uses AI. Check for mistakes.
Comment on lines 51 to 57
"additionalProperties": true,
"type": "object"
},
"jobAgentId": {
"type": "string"
},
"jobAgentSelector": {
"description": "CEL expression to match job agents. Defaults to jobAgent.id == \"<jobAgentId>\" if not provided.",
"description": "CEL expression to match job agents",
"type": "string"
},
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This OpenAPI change removes jobAgentId/jobAgents from deployment requests/responses. Please ensure any generated clients/schemas are regenerated and any tests updated accordingly (e.g. the generated TS client types and e2e tests that still reference DeploymentJobAgent / jobAgents).

Copilot uses AI. Check for mistakes.
@@ -0,0 +1 @@
DROP TABLE "deployment_job_agent" CASCADE; No newline at end of file
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using DROP TABLE ... CASCADE can unintentionally drop dependent objects (views, constraints) without making them explicit in the migration diff. If CASCADE isn't required, prefer dropping the table without it; if it is required, consider documenting which dependencies are expected to be dropped.

Suggested change
DROP TABLE "deployment_job_agent" CASCADE;
DROP TABLE "deployment_job_agent";

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
apps/workspace-engine/pkg/workspace/relationships/property_test.go (1)

149-150: Strengthen selector-path assertions with value checks.

These new cases currently only verify val != nil; they would still pass if the wrong selector string is returned. Consider asserting the extracted string value too.

♻️ Proposed test hardening
@@
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			val, err := GetPropertyValue(entity, tt.path)
@@
 		})
 	}
+
+	t.Run("job_agent_selector value", func(t *testing.T) {
+		val, err := GetPropertyValue(entity, []string{"job_agent_selector"})
+		require.NoError(t, err)
+		assert.Equal(t, `jobAgent.id == "agent-1"`, extractValueAsString(val))
+	})
+
+	t.Run("jobagentselector alias value", func(t *testing.T) {
+		val, err := GetPropertyValue(entity, []string{"jobagentselector"})
+		require.NoError(t, err)
+		assert.Equal(t, `jobAgent.id == "agent-1"`, extractValueAsString(val))
+	})
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/workspace-engine/pkg/workspace/relationships/property_test.go` around
lines 149 - 150, The two test cases named "job_agent_selector" and
"jobagentselector" currently only assert that the extracted value (`val`) is
non-nil; update those assertions to also check the actual string content
returned by the selector extraction. Locate the testcase entries in
property_test.go (the slice with {name: "job_agent_selector", path: [...] } and
{name: "jobagentselector", ...}) and replace the lone `val != nil` check with a
type/assertion to string (or call the existing accessor used elsewhere in the
file) and assert it equals the expected selector string (e.g., the canonical
selector value you expect for those cases) so the test fails if the wrong
selector text is produced.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@apps/workspace-engine/pkg/workspace/relationships/property_test.go`:
- Around line 149-150: The two test cases named "job_agent_selector" and
"jobagentselector" currently only assert that the extracted value (`val`) is
non-nil; update those assertions to also check the actual string content
returned by the selector extraction. Locate the testcase entries in
property_test.go (the slice with {name: "job_agent_selector", path: [...] } and
{name: "jobagentselector", ...}) and replace the lone `val != nil` check with a
type/assertion to string (or call the existing accessor used elsewhere in the
file) and assert it equals the expected selector string (e.g., the canonical
selector value you expect for those cases) so the test fails if the wrong
selector text is produced.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 666d0707-63b6-43c3-900d-c53767cedb2b

📥 Commits

Reviewing files that changed from the base of the PR and between 082bb5e and 8a285c7.

📒 Files selected for processing (2)
  • apps/workspace-engine/pkg/workspace/relationships/property.go
  • apps/workspace-engine/pkg/workspace/relationships/property_test.go

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
apps/workspace-engine/pkg/workspace/jobs/factory_test.go (1)

204-204: Minor formatting: missing space after comma.

Several call sites have createTestDeployment(t, deployID,deploymentConfig) without a space after the second comma. This violates gofmt style. Line 571 shows the correct formatting with a space.

🧹 Suggested fix
-	deployment := createTestDeployment(t, deployID,deploymentConfig)
+	deployment := createTestDeployment(t, deployID, deploymentConfig)

Apply this spacing fix at lines 204, 262, 417, 468, 513, 614, 649, and 678.

As per coding guidelines: **/*.go: Keep Go code gofmt-compliant and follow existing patterns in the package.

Also applies to: 262-262, 417-417, 468-468, 513-513, 614-614, 649-649, 678-678

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/workspace-engine/pkg/workspace/jobs/factory_test.go` at line 204, The
createTestDeployment call sites in the test file are missing a space after the
comma (e.g., createTestDeployment(t,deployID,deploymentConfig); update every
occurrence of createTestDeployment(...) in this file to use the correct
formatting createTestDeployment(t, deployID, deploymentConfig) so they are
gofmt-compliant and consistent with existing patterns; ensure you update each
test invocation of createTestDeployment to include the space after the comma
between arguments.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@apps/workspace-engine/pkg/workspace/jobs/factory_test.go`:
- Line 204: The createTestDeployment call sites in the test file are missing a
space after the comma (e.g., createTestDeployment(t,deployID,deploymentConfig);
update every occurrence of createTestDeployment(...) in this file to use the
correct formatting createTestDeployment(t, deployID, deploymentConfig) so they
are gofmt-compliant and consistent with existing patterns; ensure you update
each test invocation of createTestDeployment to include the space after the
comma between arguments.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: cab951a4-388e-469f-b251-2e266d9a01c0

📥 Commits

Reviewing files that changed from the base of the PR and between 8a285c7 and 65b5a2f.

📒 Files selected for processing (4)
  • apps/workspace-engine/pkg/db/convert_test.go
  • apps/workspace-engine/pkg/selector/langs/cel/cel_matches_test.go
  • apps/workspace-engine/pkg/workspace/jobs/factory_test.go
  • e2e/tests/api/deployments.spec.ts

@adityachoudhari26 adityachoudhari26 merged commit 50c256f into main Apr 8, 2026
14 checks passed
@adityachoudhari26 adityachoudhari26 deleted the drop-old-table branch April 8, 2026 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: drop deployment_job_agent table

2 participants