Skip to content

chore: remove Knative jobs runtime - #1448

Merged
pyramation merged 3 commits into
mainfrom
feat/remove-jobs-runtime
Jul 25, 2026
Merged

chore: remove Knative jobs runtime#1448
pyramation merged 3 commits into
mainfrom
feat/remove-jobs-runtime

Conversation

@pyramation

@pyramation pyramation commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

this removes the repo-local Knative jobs runtime AND the now-vestigial jobs config schema. Straight deletion — no behavior is reimplemented here.

1. Jobs runtime (commit 1)

  • All 9 jobs/* packages (job-pg, job-utils, job-scheduler, job-worker, knative-job-fn, knative-job-server, knative-job-service, knative-job-worker, knative-job-example) + the - 'jobs/*' glob in pnpm-workspace.yaml.
  • The cnc jobs CLI command (packages/cli/src/commands/jobs.ts), its entry in the command map, and its help text.
  • @constructive-io/knative-job-service dependency from packages/cli.
  • docker-compose.jobs.yml and the @constructive-io/knative-job-fn ambient module decl in types/external-modules.d.ts.
  • jobs/knative-job-service from the pg-core CI test batch.
  • Jobs workspace-group rows in CLAUDE.md / AGENTS.md.

2. Jobs config schema (commit 2)

Confirmed unused by constructive-db (it runs jobs with its own functions/ packages + config, and doesn't import @pgpmjs/types at all), so the config block was dead in this repo:

  • Delete pgpm/types/src/jobs.ts (JobsConfig/jobsDefaults + the Job*Config/*JobParams types) and its export.
  • Drop the jobs field/default from PgpmOptions (pgpm/types/src/pgpm.ts) and ConstructiveOptions (graphql/types/src/constructive.ts).
  • Remove the JOBS_* / INTERNAL_GATEWAY_URL / INTERNAL_JOBS_CALLBACK_* env parsing and the jobs.gateway.* production-safety asserts from pgpm/env.
  • Drop the jobs cases from the env merge/assert tests and re-record the pgpm/env + graphql/env merge snapshots (the "jobs": {…} block is gone).

Deliberately kept (per @pyramation — schema-modeling, not runtime)

  • JobTrigger blueprint node and everything under packages/node-type-registry (it declares triggers that call app_jobs.add_job(); it does not run jobs).

Verification

  • pnpm install (workspace 113→104 projects), pnpm build:dev — green.
  • pgpm/env (26) + graphql/env (9) + packages/cli tests pass; snapshots re-recorded.
  • No remaining references to the removed packages/command/config symbols (grep-confirmed; the only JOBS_SCHEMA hits left are generic sample keys in packages/12factor-env's own parser tests, unrelated to jobs).

Follow-up

Removal recorded on planning issue #1252 (commit SHA 783fda96) so constructive-db parity can be diffed against this revision. Also flagged there: constructive-db's functions/job-worker currently imports the published @constructive-io/job-utils (published from this repo) — it needs its own jobs/job-utils package rather than depending on constructive's published one.

Link to Devin session: https://app.devin.ai/sessions/7f3cb2f4bf1147d6a97b30fd9aa56236

Remove the repo-local jobs runtime packages and their wiring; job
scheduling now lives in constructive-db. Keeps the JobTrigger blueprint
node (node-type-registry) and the shared jobs config types.

- Delete all jobs/* packages (worker, scheduler, service, fn, server,
  example, job-pg, job-utils, knative-job-worker) + 'jobs/*' workspace glob
- Remove the 'cnc jobs' CLI command and its help text
- Drop @constructive-io/knative-job-service dep from packages/cli
- Remove docker-compose.jobs.yml and the knative-job-fn ambient decl
- Drop jobs/knative-job-service from the pg-core CI test batch
- Update CLAUDE.md/AGENTS.md workspace docs
@pyramation pyramation self-assigned this Jul 25, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

The jobs runtime that consumed this config was removed; constructive-db
runs jobs with its own config, so this block is dead in this repo.

- Delete pgpm/types/src/jobs.ts + its export
- Drop the jobs field/default from PgpmOptions (pgpm.ts) and
  ConstructiveOptions (graphql/types/constructive.ts)
- Remove JOBS_*/INTERNAL_GATEWAY/INTERNAL_JOBS_CALLBACK env parsing and
  the jobs.gateway production-safety asserts (pgpm/env)
- Drop jobs cases from env merge/assert tests; re-record env snapshots
Resolve docker-compose.jobs.yml conflict by keeping the deletion (jobs
runtime removed; file modified on main by #1445 no longer applies).
@pyramation pyramation changed the title chore: remove Knative jobs runtime (moved to constructive-db) chore: remove Knative jobs runtime Jul 25, 2026
@pyramation
pyramation merged commit 30d5f36 into main Jul 25, 2026
15 checks passed
@pyramation
pyramation deleted the feat/remove-jobs-runtime branch July 25, 2026 17:50
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.

1 participant