Skip to content

refactor(DCT-587): rename aitaskbuilder command to taskbuilder - #554

Open
script-this wants to merge 2 commits into
mainfrom
dct-587-cli-taskbuilder-rename
Open

script-this wants to merge 2 commits into
mainfrom
dct-587-cli-taskbuilder-rename

Conversation

@script-this

@script-this script-this commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

What's been changed?

Drops "AI" from Task Builder in the CLI (DCT-587).

  • prolific aitaskbuilder is now prolific taskbuilder (package moved to cmd/taskbuilder). Help text, examples, output headings and the collection help now say "Task Builder".
  • prolific aitaskbuilder still works as a hidden alias: same subcommands, a "prolific aitaskbuilder has moved, did you mean prolific taskbuilder?" notice on stderr (on help, flag errors and normal runs), usage shown with the new command, stdout unchanged so scripts that parse output keep working.
  • Example files renamed (taskbuilder-model-evaluation.csv, standard-sample-taskbuilder.json, study-with-task-builder-collection.json) and the orchestration script updated. README, DEVELOPMENT.md, the changelog script and CHANGELOG (## next) updated.
  • Second commit: the contract test's coverage table and the README use the new taskBuilder_ operationId prefix, and the legacy aiTaskBuilder_ prefix in the live spec is mapped to it. Passes against the spec before and after the docs rename is published.

Unchanged on purpose: the AI_TASK_BUILDER_* wire values, client method names (tied to operationIds) and mocks.

Why?

Marketing is renaming AI Task Builder to Task Builder; no human should see the old name in the CLI, UI, API or docs.

How I tested

  • make test, make lint (Go 1.26), make build.
  • Ran against orange: taskbuilder batch list vs aitaskbuilder batch list gave identical stdout (exit 0), notice only on the old command's stderr; read commands (batch view/check/tasks/responses, dataset check, batch export list) matched; wrote a dataset, uploaded the renamed example CSV, created a batch, and created a dataset through the alias.
  • Contract test: TestAPICoverage passes against the live spec and against the regenerated new spec (served locally). TestClientMatchesAPISpec fails against the monolith's main spec in the same way with or without this change (studies_DuplicateStudy).

Breaking changes

None for users: aitaskbuilder keeps working with a notice. The README and contract table use the new operationId prefix.

Merge order

Merge after the monolith PR (prolific #17238) is deployed to production, which publishes the Fern docs. It would also pass before, because it accepts both prefixes. Remove the legacy-prefix mapping once only taskBuilder_ is published.

Screen recording

n/a

Checklist

  • I've conducted a self review of code and tested these changes
  • I've run an AI code review and responded to its suggestions, if any
  • I've attached a screen recording of the relevant changes
  • I've updated the README and command help where this change is user-facing
  • Changes are in line with CONTRIBUTING.md and DEVELOPMENT.md

🤖 Generated with Claude Code

script-this and others added 2 commits November 4, 2026 15:27
Drop "AI" from the Task Builder name in the CLI.

- Rename `prolific aitaskbuilder` to `prolific taskbuilder` and move the
  package to cmd/taskbuilder.
- Keep `prolific aitaskbuilder` as a hidden alias. It runs the same
  subcommands and prints a "has moved" notice to stderr (on help, flag
  errors and normal runs), with usage showing the new command. Stdout is
  unchanged.
- Update help text, output headings and examples from "AI Task Builder"
  to "Task Builder", including the collection commands.
- Rename the example files and orchestration script, and update the
  README, DEVELOPMENT.md, changelog script and CHANGELOG.

Wire identifiers (AI_TASK_BUILDER_* values, operationIds, client method
names) are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The published spec's operationIds change from aiTaskBuilder_<Op> to
taskBuilder_<Op> when the Task Builder rename is published to the docs site.

Use the new prefix in the contract test's coverage table and README, and map
the legacy prefix to it when reading the spec, so the contract test and
README generator pass against the spec both before and after that publish.
The mapping can be removed once only the new prefix is published.

Merge order: independent of the monolith docs publish (DCT-586); this branch
can merge before or after it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@prolific-snyk

prolific-snyk commented Nov 4, 2026 •

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues
✅ Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@script-this
script-this marked this pull request as ready for review November 4, 2026 18:15
@script-this
script-this requested a review from a team as a code owner November 4, 2026 18:15

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants