Skip to content

feat: [DBOPS-2504]: dbops resource targets new /v1/llm-authoring/execute-pipeline contract#309

Draft
vivonk wants to merge 3 commits into
harness:mainfrom
vivonk:feat/llm-authoring-pipeline-execute
Draft

feat: [DBOPS-2504]: dbops resource targets new /v1/llm-authoring/execute-pipeline contract#309
vivonk wants to merge 3 commits into
harness:mainfrom
vivonk:feat/llm-authoring-pipeline-execute

Conversation

@vivonk

@vivonk vivonk commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Description

Updates the + "database_execute_llm_authoring_pipeline" + dbops resource to call the new server-side orchestrator endpoint shipped in db-devops-service, which atomically triggers an LLM-authoring validate-and-preview pipeline and persists the billable + "ChangeAuthoringExecutionEvent" + for flex billing.

What changed in src/registry/toolsets/dbops.ts:

  • Path: /dbops/v1/orgs/{org}/projects/{project}/execute-llm-authoring-pipeline/v1/orgs/{org}/projects/{project}/llm-authoring/execute-pipeline (matches the new db-devops-service endpoint).
  • bodyBuilder rewritten: accepts input.body ?? input (dual-shape) and either snake_case or camelCase keys; always emits the five required fields conversationId, schemaId, instanceId, changeset, k8sConnectorRef; exactly-one branch enforced (useDefaultPipeline=true OR pipelineIdentifier + optional runtimeInputs).
  • bodySchema documents all eight input fields for harness_describe.
  • Description and actionDescription updated to call out the NG setting (dbops_llm_authoring_pipeline), mutual exclusivity, and the four reserved input keys.

Tests:

  • New tests/registry/toolsets/dbops.test.ts — 5 vitest unit cases covering: path; custom-pipeline branch; default-pipeline branch; double-wrap (input.body); already-camelCase passthrough.
  • Existing tests/registry/dbops.test.ts — 1 stale dispatch test replaced with 2 tests that exercise both branches via the registry. Without this update the full suite would stay red because the old test asserted the old contract.
  • Full suite: pnpm test1864/1864 passed, pnpm typecheck clean, pnpm build clean.

Cross-repo PRs needed for end-to-end:

  • db-devops-service ships the new endpoint and orchestration service.
  • ml-infra rewrites the dbops_changeset skill to call this resource (NG-setting branch + AskUserQuestion + drop in-skill polling).

Type of Change

  • Bug fix
  • New feature
  • Refactor (retargets an existing resource to the new server contract; the resource itself is not new but its target is)
  • Documentation
  • Other

Checklist

  • Tests pass (pnpm test → 1864 passed)
  • Typecheck passes (pnpm typecheck clean)

vivonk added 2 commits June 8, 2026 14:46
…ute-pipeline contract

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

AI-Session-Id: db29f72a-8854-4dae-add7-5eb45b95868f
AI-Tool: claude-code
AI-Model: unknown
The db-devops-service execute endpoint now resolves the K8s connector
server-side from the DBOPS instance (PR #1422 commit 0cd71a8f). The
skill should not need to know about K8s connectors or how to resolve
one from instance.connector — it's a server-side detail.

Removed from src/registry/toolsets/dbops.ts:
- Resource bodySchema field 'k8s_connector_ref'
- bodyBuilder forwarding of k8s_connector_ref / k8sConnectorRef
- Mentions in description / actionDescription

Tests updated to match. Required body fields are now schema_id,
instance_id, conversation_id, changeset (plus mutually-exclusive
pipeline_identifier or use_default_pipeline).
@thisrohangupta thisrohangupta marked this pull request as ready for review June 9, 2026 00:44
@vivonk vivonk marked this pull request as draft June 9, 2026 15:56
…ction

Move database_execute_llm_authoring_pipeline from operations.create to
executeActions.run with risk=low_write. The action triggers an existing
pipeline (not creating a YAML resource), and the user has already consented
via the changeset review card — a medium_write elicitation prompt was
redundant and stacked multiple approval cards on the Harness chat client.

- operations.create -> executeActions.run
- risk: medium_write -> low_write (below requiresConfirmation threshold)
- Preserve bodyBuilder / bodySchema / responseExtractor verbatim
- Resource description now points the model at harness_execute action=run
- Update unit tests in tests/registry/dbops.test.ts (dispatchExecute / "run")
  and tests/registry/toolsets/dbops.test.ts (executeActions.run lookup) to
  match the new resource shape

Co-Authored-By: Claude <noreply@anthropic.com>

AI-Session-Id: db29f72a-8854-4dae-add7-5eb45b95868f
AI-Tool: claude-code
AI-Model: unknown
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