chore: sync main into maintenance/v1 - #1943
Conversation
createTriggerTransformPlugin now returns undefined when the trigger context has no workflow/job bindings, so resolver, executor, and auth bundles skip the per-file AST scan entirely in projects that don't define workflows.
fix(deps): update dependency p-limit to v7.3.1
chore(deps): update dependency pkg-pr-new to v0.0.79
…-evaluated flag The Lockfile Audit Auto-fix workflow's has-runtime-changes==false path added a nonexistent .changeset/lockfile-audit-fix.md to create-pull-request's add-paths, so git add aborted on the missing pathspec and the whole PR step failed with no commit created (run 29988004582). add-paths, labels, and the skip-changeset label were each re-evaluating steps.changeset_check.outputs.has-runtime-changes independently instead of reading a single source of truth, and one of those copies resolved inconsistently with the others in that run. Give the file-creating step an id and gate the downstream add-paths/labels/skip-changeset-label decisions on steps.<id>.outcome instead, so they can't diverge from whether the file was actually created. Applied the same fix to add-renovate-changeset.yml, which used the identical pattern.
chore(deps): update dependency aquaproj/aqua-registry to v4.542.0
fix(deps): update dependency undici to v8.8.0
perf(workflow): skip trigger-call scan for workflow-less bundles
Extract the deploy-time TailorDB schema checks (migration file integrity, local types vs. migration snapshot, remote schema vs. migration checkpoint) into a shared validation module and expose them as a read-only 'tailordb migration validate' command with per-namespace reports, --json output, and a non-zero exit code on drift, so the checks can run in CI without applying a deploy.
Extract the remote-drift remediation hints into the shared validation module so deploy and 'tailordb migration validate' print the same guidance, and record why remote verification was skipped (no remote migration label, or no snapshot at the remote migration number) so validate reports skipped checks instead of showing them as passing.
Propagate remote metadata lookup failures instead of treating them as a missing migration label (only NotFound now reads as first apply), report a remote migration checkpoint that does not exist in the local history as a validation failure, and fold malformed migration file contents into the per-namespace report so one broken namespace cannot suppress the reports of the others.
Distinguish an undeployed namespace from a deployed namespace whose migration state is missing when the remote check is skipped, and fail validation when a migration whose diff requires a data migration script has no migrate.ts on disk.
Run the same local TailorDB type-name uniqueness assertion as deploy after loading services, so a schema deploy would deterministically reject cannot pass validation.
Document 'tailordb migration validate' in the schema-verification and CI/CD sections, note the deploy-side lookup-failure propagation in the changeset, and consolidate the migration schema fixtures shared by the sync and validate test suites into a test helper.
…on-validate # Conflicts: # packages/sdk/docs/cli-reference.md # packages/sdk/docs/cli/tailordb.md # packages/sdk/src/cli/commands/deploy/tailordb/index.ts
main enforces the required_signatures ruleset, so the git-pushed commit from create-pull-request left the generated PR unmergeable. Create the commit through the API with the App token instead, which drops the now ignored author/committer inputs.
…tenance chore(deps): lock file maintenance
feat(seed): add --upsert flag to update existing rows
…tor-rpc fix(cli): retry aborted idempotent requests
fix(deps): update oxc
fix(deps): update dependency globals to v17.8.0
chore(deps): update dependency node to v24.18.1
….web-1.x fix(deps): update dependency @0no-co/graphql.web to v1.3.3
chore(deps): update dependency aquaproj/aqua-registry to v4.545.0
chore(deps): update dependency aquaproj/aqua to v2.62.2
Version Packages
Version Packages
Keeps the 1.x maintenance branch caught up with main now that main is frozen for the v2 merge, so 1.x patch releases branch from main's actual tip instead of a stale snapshot.
|
commit: |
🗺️ ERD previewNo relevant ERD changes in this update. |
There was a problem hiding this comment.
📖 Docs Quality & Consistency Check
✅ Docs are consistent with the implementation and contain no user-facing internal-detail leaks.
Checked areas:
- CLI command addition:
tailordb migration validatecommand documentation matches the implementation inpackages/sdk/src/cli/commands/tailordb/migrate/validate.ts - Workflow execution triggers: New workflow and job execution trigger functions (
workflowExecutionTrigger,workflowJobExecutionTrigger, and single-event helpers) are documented inpackages/sdk/docs/services/executor.mdand match the implementation inpackages/sdk/src/configure/services/executor/trigger/event.ts - Workflow configuration:
publishEventsfield oncreateWorkflowandcreateWorkflowJobis documented inpackages/sdk/docs/services/workflow.mdand matches the implementation inpackages/sdk/src/configure/services/workflow/ - Seed generator:
--upsertflag is documented inpackages/sdk/docs/generator/builtin.mdand matches the implementation in generatedseed/exec.mjsfiles - Terminology fixes: Minor corrections from "apply" to "deploy" in
idp.mdandexecutor.mdare accurate and consistent with current SDK terminology - Event payload interfaces:
WorkflowExecutionContextandWorkflowJobExecutionContextinterfaces documented inexecutor.mdmatch the actualWorkflowExecutionEventArgsandWorkflowJobExecutionEventArgstypes in the implementation - AGENTS.md: Developer-facing executor trigger additions are consistent with the implementation
Verification performed:
- ✅ Command definitions match CLI docs (
tailordb migration validatedescription and options) - ✅ Trigger factory functions exist with documented signatures and JSDoc
- ✅ Configuration fields (
publishEvents) exist on workflow and job types - ✅ Event payload interfaces match implementation types
- ✅ Example code uses correct API patterns
- ✅ No internal SDK/Platform details leaked in user-facing docs (no parser/configure/cli internal references, no proto/gRPC terms, no internal class names)
Re-run this check by adding the
docs-checklabel to the PR.
Summary
main(7e6c87eaa) intomaintenance/v1so the 1.x maintenance branch keeps trackingmainnow thatmainis frozen for the v2 merge. Without this, 1.x patch releases would branch from a stale snapshot.e46a78e69..7e6c87eaa(174 commits, 136 files). No merge conflicts —git merge-treereported a clean merge before the merge was made.Why a dedicated branch instead of a
main->maintenance/v1PRA PR with
mainas the head would silently absorb all of v2 the moment the v2 branch lands inmain. This branch pins the merge tomain's current tip so the reviewed diff cannot change under us.maintenance/v1-specific configuration is preserved
Verified by diffing each file against
origin/maintenance/v1after the merge:.changeset/config.json—baseBranch: "maintenance/v1"intact (unchanged by the merge)..github/workflows/release.yml— 1.x release channel /v1npm dist-tag config intact (unchanged by the merge)..github/workflows/changeset-check.yml— intact (unchanged by the merge).AGENTS.md— themaintenance/v1banner at the top is intact; the only change ismain's new workflow-execution trigger documentation being appended to the Executors section.Changesets
No changeset is added: this is a branch sync, not a release-bearing code change.
The two changesets that were pending on
maintenance/v1(decimal-scale-breaking-migration.md,migration-missing-script-fail-fast.md) are deleted by the merge becausemainalready consumed them into the 1.85.0 release; both descriptions are present inpackages/sdk/CHANGELOG.md..changeset/now holds no unreleased entries, so nothing unexpected will be picked up by the next 1.x release. Package versions stay on 1.85.0.Verification
pnpm install --frozen-lockfile— clean.pnpm check— passed (generate, format, lint, typecheck, knip, publint, JSDoc, agent-rule drift, import cycles), and left the working tree clean.pnpm test— 270/271 test files passed, 4100 tests passed, 10 skipped. The single failure ise2e/function-test-run.test.ts, which fails on an expired local login token ("Failed to refresh token. Your session may have expired."), not on anything from this merge.