Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat!: remove the Coder Tasks RBAC resource, scopes and permissions - #28750

Open
ibetitsmike wants to merge 3 commits into
mainfrom
mike/remove-coder-tasks
Open

feat!: remove the Coder Tasks RBAC resource, scopes and permissions#28750
ibetitsmike wants to merge 3 commits into
mainfrom
mike/remove-coder-tasks

Conversation

@ibetitsmike

@ibetitsmike ibetitsmike commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Removes the task RBAC resource, its five task:* API key scopes, and every persisted reference to them. Custom role permission arrays drop their task entries; API keys and OAuth2 codes and tokens lose task scopes, and task-only ones are revoked; OAuth2 apps whose scope list named only task scopes get a whitespace-only scope so they stay restricted instead of reading as unconfigured; then api_key_scope is recreated without the task values. Generated RBAC, SDK, site and API doc artifacts are regenerated. The resource_type enum keeps task so historical audit log rows remain queryable.

Breaking change: migration 000595 revokes task-only keys and grants. The down migration restores the enum values only.

Review changes: the api_keys scope cleanup deletes any key left without a non-task scope (redundant EXISTS dropped), the allow-list comment states the real reason (allow_list cannot be empty), and the migration test keeps each fixture next to its expected post-migration value. Renumbered from 000594 to 000595.

Stack context: Coder Tasks removal stack (CODAGT-642): #28743 frontend → #28788 CLI → #28789 API → #28790 provisioner → #29084 notifications → #29085 build reasons → #29086 tables → #28750 permissions. The last four PRs replace the single data-drop migration that used to live in #28750; each carries one concern and its own migration number.

Created by Xum (AI agent) on behalf of @ibetitsmike.

Delivery record

Status (2026-09-11 16:30Z): not merged; awaiting re-review. Head 80ee30141ee81287a03de3f46407f6a421387778 on main.

Review history relevant to this diff: 10 completed Codex code reviews on the monolithic diff (2026-08-28 to 2026-09-01) plus spikecurtis CHANGES_REQUESTED (2026-09-04, asked for the split), spikecurtis COMMENTED 2026-09-08 (three findings on the migration and test, all applied and resolved) and spikecurtis COMMENTED 2026-09-11 (r3990045458, r3990067224, both applied in 80ee30141ee and resolved). The review budget is exhausted, so no further discretionary review or final advisory was commissioned; a fresh independent final advisory for the final diff does not exist and remains a documented gap. The reviewer's own re-review is the remaining gate.

Findings and dispositions on the current head:

  • OAuth-linked API key fixtures were confusing (deletion came from the token trigger, not the migration): removed from keys; the grants loop creates its backing api_keys row inline and asserts only code/token rows.
  • Missing cases: added multi-task-scopes-key, multi-task-allows-key, and task-only-key (only task scopes and only task allows, deleted).
  • Earlier round: redundant EXISTS on the api_keys scope DELETE dropped; allow-list comment corrected (allow_list cannot be empty); test restructured as before/after tables; renumbered to 000595.

Test evidence for 80ee30141ee: TestMigration000595RemoveTaskPermissions passes (up, down, re-up); red-green: removing the token DELETE and UPDATE from the migration fails the test at the grants/tokens assertion, file restored byte-identically. Full repository pre-push hook passed before the push (test 97s, test-js 45s, site build; pre-push passed (143s)). Note: this workspace runs a service on loopback:3000, jsdom's default origin, which made test-js fail on unmocked inbox requests for any commit; the hook run used an LD_PRELOAD shim that only makes connect() to loopback:3000 return ECONNREFUSED, matching CI, with no change to sources, tests, config, or the host. Exact-head CI: run 34622204759 in progress at the time of writing.

Deferred: AI Documentation Check failures on this stack come from the dormant doc-check-pr-* workspace (CODAGT-1025), not code.

@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Docs preview

Check off each page once it's been reviewed. If a page changes in a later push, its checkbox clears automatically so it gets a fresh look. Pages not yet wired into the docs navigation aren't listed here.

@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-01T00:43:22.895662Z 5662beb Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 872e2cda95

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread coderd/database/migrations/000595_remove_task_permissions.up.sql
Comment thread site/src/utils/workspace.tsx Outdated
Comment thread coderd/searchquery/search.go
Comment thread coderd/autobuild/lifecycle_executor_internal_test.go
Comment thread site/static/icon/tasks.svg
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8f0a9d706e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread coderd/coderd.go
Comment thread coderd/database/migrations/000589_remove_tasks.up.sql Outdated
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: bd90a735ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ibetitsmike
ibetitsmike marked this pull request as ready for review August 29, 2026 00:50
@github-actions github-actions Bot added the release/breaking This label is applied to PRs to detect breaking changes as part of the release process label Aug 29, 2026
@coderagents

coderagents Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Documentation Check

The docs changes in this PR are in good shape. The tasks-to-chats migration guide is now retained (wording updated to say Coder Tasks "has been removed"), its docs/manifest.json entry is kept, the notification "Task Events" section is dropped, and the auto-generated API/audit-log docs are regenerated. The remaining "Coder Tasks" mentions in docs/install/releases/esr-* are intentional historical deprecation notes.

Updates Needed

  • Redirect required (separate repo): docs/ai-coder/agents/tasks-to-chats-migration.md deletion needs a redirects.json entry in coder/coder.com. (no longer needed: the migration guide was restored in c006f6e, so the published URL is preserved and no redirect is required)

No outstanding documentation changes needed.


Automated review via Coder Agents

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bd90a735ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread coderd/database/migrations/000589_remove_tasks.up.sql Outdated
Comment thread docs/ai-coder/agents/tasks-to-chats-migration.md Outdated
Comment thread coderd/database/migrations/000595_remove_task_permissions.up.sql
Comment thread site/src/utils/workspace.tsx
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c006f6e5f2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/ai-coder/agents/tasks-to-chats-migration.md Outdated
Comment thread coderd/database/migrations/000589_remove_tasks.up.sql Outdated
Comment thread coderd/audit.go
Comment thread site/src/pages/AuditPage/AuditLogRow/AuditLogRow.stories.tsx Outdated
Comment thread site/src/utils/workspace.tsx Outdated
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d45304d251

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread coderd/database/migrations/000589_remove_tasks.up.sql Outdated
Comment thread coderd/coderd.go
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5e97e0e390

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread coderd/database/migrations/000589_remove_tasks.up.sql Outdated
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 40174854a8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codersdk/deployment.go
Comment thread docs/ai-coder/agents/tasks-to-chats-migration.md Outdated
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 879f6fa2b0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread site/src/pages/AuditPage/AuditLogRow/AuditLogRow.stories.tsx
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

Reviewed commit: c3beb6b923

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from a64b8cd to a714ebe Compare September 8, 2026 10:41
@ibetitsmike
ibetitsmike changed the base branch from mike/remove-tasks-provisioner to mike/remove-tasks-tables September 8, 2026 10:41
@ibetitsmike ibetitsmike changed the title feat!: drop Coder Tasks data and finish the removal feat!: remove the Coder Tasks RBAC resource, scopes and permissions Sep 8, 2026
Comment thread coderd/database/migrations/000595_remove_task_permissions.up.sql
Comment thread coderd/database/migrations/000594_remove_task_permissions.up.sql Outdated
Comment thread coderd/database/migrations/migrate_test.go Outdated
ibetitsmike added a commit that referenced this pull request Sep 10, 2026
Removes every in-repo Tasks client: the `coder exp tasks` CLI command
family, the tasks scaletest runner, and the task-driven triage
automation (`traiage.yaml`, `code-review.yaml`,
`classify-issue-severity.yml`, `scripts/traiage.sh`). Triage runs
through `triage-via-chat-api.yaml` and coder/create-agent-chat-action
instead.

**Stack context:** Coder Tasks removal stack (CODAGT-642): #28743
frontend → #28788 CLI → #28789 API → #28790 provisioner → #29084
notifications and usage → #29085 build reasons → #29086 tables → #28750
permissions. The last four PRs replace the single data-drop migration
that used to live in #28750; each carries one concern and a focused
migration test.

**Why:** clients come off before the API they call. After this layer
nothing in the repo invokes the Tasks API outside coderd itself.

**What to scrutinize:** all but three files are whole-file deletions.
`triage-via-chat-api.yaml` gets a comment fix. `NavbarView.tsx` and its
stories carry two small repairs to the frontend layer below (unused
`user` prop, stale `TasksFilter` story wiring) so the stack lints clean
from this layer up; they rebase away if folded into #28743.

**Validation:** `go build ./...`, `go test ./cli -run TestCommandHelp`,
site tsc, pre-commit hooks (gen, fmt, lint).

**Size:** +4/-6,938 over 42 files; effectively pure deletion, so it
reads much faster than the line count suggests.

> Created by Xum (AI agent) on behalf of @ibetitsmike.
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from a714ebe to 73b0c19 Compare September 11, 2026 01:32
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from 73b0c19 to e166545 Compare September 11, 2026 01:49
pull Bot pushed a commit to Abaso007/coder that referenced this pull request Sep 11, 2026
Removes the Tasks API and task orchestration from coderd and codersdk:
the `/api/v2/tasks` handlers, task middleware and search filters, task
name generation, autobuild pause/resume logic, task notification
enqueues, telemetry, and the codersdk task types. Regenerates apidoc,
the API reference docs, and `typesGenerated.ts`.

**Breaking change:** the Tasks API is removed; requests to
`/api/v2/tasks` fail. Tasks was deprecated in v2.34.

**Stack context:** Coder Tasks removal stack (CODAGT-642): coder#28743
frontend → coder#28788 CLI → coder#28789 API → coder#28790 provisioner → coder#29084
notifications → coder#29085 build reasons → coder#29086 tables → coder#28750
permissions. The last four PRs replace the single data-drop migration
that used to live in coder#28750; each carries one concern and its own
migration number.

**Why:** with the UI (coder#28743) and CLI (coder#28788) gone, this deletes the
server surface. Database tables, RBAC, and notification templates stay
until the top of the stack so every layer builds and migrates
independently.

**What to scrutinize:**
- The `enable-ai-tasks` option is removed outright (review feedback):
configs still carrying `enableAITasks` fail to parse until the key is
deleted.
- provisionerdserver now writes `HasAITask: false` on template/build
flags; the column and these lines are dropped in coder#29085.
- `codersdk.ResourceTypeTask` stays so audit logs recorded before the
removal keep rendering.

**Validation:** `go build ./...`, `go vet ./...`, `go test
./codersdk/...`, site biome and tsc, CLI goldens regenerated, pre-commit
hooks.

**Size:** +242/-10,792 over 76 files; additions are regenerated
docs/goldens and test fixture updates.

> Created by Xum (AI agent) on behalf of @ibetitsmike.
ibetitsmike added a commit that referenced this pull request Sep 11, 2026
Removes AI task support from the provisioner protocol: the task-related
proto fields, terraform scanning for `coder_ai_task` resources, echo
provisioner support, the regenerated `.pb.go` and
`provisionerGenerated.ts`, and the terraform testdata that exercised
them. The provisioner API version change lives in
`provisionerd/proto/version.go`.

**Stack context:** Coder Tasks removal stack (CODAGT-642): #28743
frontend → #28788 CLI → #28789 API → #28790 provisioner → #29084
notifications and usage → #29085 build reasons → #29086 tables → #28750
permissions. The last four PRs replace the single data-drop migration
that used to live in #28750; each carries one concern and a focused
migration test.

**Why:** the proto fields lost their last consumer in #28789; this
deletes the producer side and the wire format.

**What to scrutinize:** the proto/version handling, and that
`coder_ai_task` resources in existing templates are now ignored rather
than errors (template imports simply no longer scan for them).

**Validation:** `go build ./...`, `go test ./provisionersdk/...
./provisionerd/...`, `go test ./provisioner/terraform -run
TestConvertResources`, provisioner list golden regenerated, site tsc,
pre-commit hooks.

**Size:** +580/-1,286 over 76 files; most files are mechanical testdata
and generated-code updates.

> Created by Xum (AI agent) on behalf of @ibetitsmike.
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from e166545 to 23ce938 Compare September 11, 2026 02:06
ibetitsmike added a commit that referenced this pull request Sep 11, 2026
Removes the six Coder Tasks notification templates (their preferences
and inbox history go with them via cascade) and the
`preference_task_notification_alert_dismissed` user setting with its two
queries. The `task` value of `ai_seat_usage_reason` stays: seats
consumed through tasks remain consumed, and remapping their reason would
misstate billing history.

**Breaking change:** migration 000592 deletes data. The down migration
restores the template definitions, not the deleted preferences or
notification history.

**Review changes:** dropped the `ai_seat_state` remap and enum swap and
the migration unit test (both per review); moved the migration from
000591 to 000592 because main took 000591.

**Stack context:** Coder Tasks removal stack (CODAGT-642): #28743
frontend → #28788 CLI → #28789 API → #28790 provisioner → **#29084
notifications** → #29085 build reasons → #29086 tables → #28750
permissions. The last four PRs replace the single data-drop migration
that used to live in #28750; each carries one concern and its own
migration number.

> Created by Xum (AI agent) on behalf of @ibetitsmike.
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from 23ce938 to 2c4c613 Compare September 11, 2026 08:06
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from 2c4c613 to 8d7af7c Compare September 11, 2026 08:47
pull Bot pushed a commit to Klomgor/coder that referenced this pull request Sep 11, 2026
Drops the `has_ai_task` column from `template_versions` and
`workspace_builds` (with its index and view projections) and removes the
three task build reasons (`task_auto_pause`, `task_manual_pause`,
`task_resume`) from the `build_reason` enum. Existing rows are remapped
before the enum swap: automatic pauses become `autostop`, manual pauses
and resumes become `initiator`, and
`workspace_build_orchestrations.child_reason` follows the same mapping.
The query filters, provisionerdserver flag writes, and audit ignore
entries for the column go with it.

**Migration cost:** recreating `build_reason` rewrites
`workspace_builds`. `TestMigration000593TaskBuildReasonRewriteTiming`
seeds 1,000 workspaces, 100,000 builds (30,000 with task reasons) and
5,000 orchestrations and asserts the migration stays under a two-minute
bound; locally it takes about 0.7 to 1.0 s. The test is skipped under
`-short`.

**Breaking change:** the down migration re-adds `has_ai_task` as `false`
and restores the enum values; remapped reasons keep their new values.

**Review changes:** the migration test now asserts only the row remaps
(schema and enum introspection removed per review); renumbered from
000592 to 000593.

**Stack context:** Coder Tasks removal stack (CODAGT-642): coder#28743
frontend → coder#28788 CLI → coder#28789 API → coder#28790 provisioner → coder#29084
notifications → **coder#29085 build reasons** → coder#29086 tables → coder#28750
permissions. The last four PRs replace the single data-drop migration
that used to live in coder#28750; each carries one concern and its own
migration number.

> Created by Xum (AI agent) on behalf of @ibetitsmike.

@spikecurtis spikecurtis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Much improved, but I think the test is not quite across the finish line

Comment thread coderd/database/migrations/migrate_test.go Outdated
Comment thread coderd/database/migrations/migrate_test.go Outdated
Base automatically changed from mike/remove-tasks-tables to main September 11, 2026 14:24
ibetitsmike added a commit that referenced this pull request Sep 11, 2026
Drops the `tasks`, `task_workspace_apps` and `task_snapshots` tables,
the `tasks_with_status` view and the `task_status` enum, and recreates
`workspaces_expanded` without the `tasks` join and `task_id` column.
Deletes `queries/tasks.sql` and every wrapper, fixture and test that
existed only for those queries (dbauthz, dbmock, dbmetrics, dbfake,
dbgen, querier_test), plus the `task_id` projection in
`GetWorkspaceAgentAndWorkspaceByAuthToken`.

**Breaking change:** migration 000594 deletes all task rows. The down
migration restores the schema (tables, constraints, indexes, views), not
the data.

**Review changes:** the schema-only migration test was removed per
review (`TestMigrate/UpDownUp` still exercises the down path), the test
file no longer reorders existing tests, and the migration moved from
000593 to 000594. The `dump.sql` reorder is pg_dump dependency ordering:
`tasks_with_status` pulled its four workspace tables ahead of it, and
without the view they return to alphabetical positions.

**Stack context:** Coder Tasks removal stack (CODAGT-642): #28743
frontend → #28788 CLI → #28789 API → #28790 provisioner → #29084
notifications → #29085 build reasons → **#29086 tables** → #28750
permissions. The last four PRs replace the single data-drop migration
that used to live in #28750; each carries one concern and its own
migration number.

> Created by Xum (AI agent) on behalf of @ibetitsmike.


## Delivery record

**Decision (2026-09-11 ~14:40Z): merge** through the stack merge
endpoint, squash, pinned to head
`f1d236a0c82f123b8a0d6878799c227ef9bd5776` (merge SHA appended below
once landed).

**Independent substantive reviews on this PR (3):**

| # | Kind | Reviewed commit | Findings and disposition | Source |
|---|---|---|---|---|
| 1 | Codex code review (bot), PR opened | `24535f8410` | No findings,
no threads |
[summary](#29086 (comment))
|
| 2 | Human review, spikecurtis (COMMENTED) | `24535f8410` | 4 findings:
dump.sql reorder question (answered: pg_dump dependency hoisting by
`tasks_with_status`); two moved tests (undone, the test file is no
longer touched); schema-only migration test (deleted). All resolved. |
[review](#29086 (review))
|
| 3 | Human review, spikecurtis (APPROVED) | `f1d236a0c8` (this head) |
Approval on the exact final head |
[review](#29086 (review))
|

The four COMMENTED reviews by @ibetitsmike on `f35688f40b` are
thread-reply wrappers and are not counted.

**Pre-split history relevant to this diff:** this layer's content lived
in the monolithic #28750 until 2026-09-08, which received 10 completed
Codex code reviews (2026-08-28 to 2026-09-01) and spikecurtis's
CHANGES_REQUESTED review of 2026-09-04 that asked for the split.
Counting those, the completed-review total relevant to this diff exceeds
the six-review budget, so no further discretionary review or fresh final
advisory was commissioned. The usable final recommendation for the final
diff is review 3 above: the reviewer who authored every finding on this
layer approved the exact head.

**Exact-head checks:** `required` SUCCESS in [run
34580949353](https://github.com/coder/coder/actions/runs/34580949353/job/103205933212);
rollup 15 success, 8 skipped, 1 failure. The failure is the non-required
`Analyze PR for Documentation Updates Needed` job
([103204101137](https://github.com/coder/coder/actions/runs/34580949071/job/103204101137)),
caused by the dormant `doc-check-pr-29086` review workspace
(CODAGT-1025), not a code finding; GitHub flags only `required` as
required for this PR. Merge-ref freshness: `refs/pull/29086/merge` has
the exact head as second parent and `25af21b5d5d` (the #29085 squash) as
first parent; main has since gained #29231, #28639 and #29218 (12 files,
none overlapping this PR). The composed tree (`git merge-tree` of
current main and this head) builds (`go build ./...`) and vets (`go vet`
on `coderd`, `coderd/database/...`, `coderd/wsrelated/...`) cleanly.
Layer diff parity with the previously pushed layer verified by numstat
after both GitHub restacks. `gh stack push` did not run the local
pre-push suite; CI is the validation evidence.

**Deferred:** the dormant doc-check workspace (CODAGT-1025) is outside
this PR. Next in the stack, #28750, stays blocked: CHANGES_REQUESTED,
its approval and CI predate the restack, and its review budget is
exhausted.
Remove the task RBAC resource and its API key scopes from the authorization catalogs. Strip persisted task permissions and scopes, revoke task-only grants, and preserve restrictive OAuth2 app allow lists. Regenerate the database models, SDK bindings, and API documentation. Add a focused migration round-trip test covering retained permissions and revoked grants.
@ibetitsmike
ibetitsmike force-pushed the mike/remove-coder-tasks branch from 8d7af7c to 7f5b2f8 Compare September 11, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release/breaking This label is applied to PRs to detect breaking changes as part of the release process

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants