Skip to content

chore: sync main into maintenance/v1 - #1943

Open
toiroakr wants to merge 175 commits into
maintenance/v1from
chore/sync-main-into-maintenance-v1
Open

chore: sync main into maintenance/v1#1943
toiroakr wants to merge 175 commits into
maintenance/v1from
chore/sync-main-into-maintenance-v1

Conversation

@toiroakr

Copy link
Copy Markdown
Contributor

Summary

  • Merge the current tip of main (7e6c87eaa) into maintenance/v1 so the 1.x maintenance branch keeps tracking main now that main is frozen for the v2 merge. Without this, 1.x patch releases would branch from a stale snapshot.
  • Range brought in: e46a78e69..7e6c87eaa (174 commits, 136 files). No merge conflicts — git merge-tree reported a clean merge before the merge was made.

Why a dedicated branch instead of a main -> maintenance/v1 PR

A PR with main as the head would silently absorb all of v2 the moment the v2 branch lands in main. This branch pins the merge to main'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/v1 after the merge:

  • .changeset/config.jsonbaseBranch: "maintenance/v1" intact (unchanged by the merge).
  • .github/workflows/release.yml — 1.x release channel / v1 npm dist-tag config intact (unchanged by the merge).
  • .github/workflows/changeset-check.yml — intact (unchanged by the merge).
  • AGENTS.md — the maintenance/v1 banner at the top is intact; the only change is main'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 because main already consumed them into the 1.85.0 release; both descriptions are present in packages/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 is e2e/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.

toiroakr and others added 30 commits July 23, 2026 21:25
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
dqn and others added 21 commits July 30, 2026 23:36
feat(seed): add --upsert flag to update existing rows
…tor-rpc

fix(cli): retry aborted idempotent requests
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
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.
@changeset-bot

changeset-bot Bot commented Jul 31, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: e6eb2b7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 31, 2026

Copy link
Copy Markdown

Open in StackBlitz

pnpm add https://pkg.pr.new/@tailor-platform/create-sdk@e6eb2b7
pnpm add https://pkg.pr.new/@tailor-platform/eslint-plugin-sdk@e6eb2b7
pnpm add https://pkg.pr.new/@tailor-platform/sdk@e6eb2b7

commit: e6eb2b7

@github-actions

Copy link
Copy Markdown

🗺️ ERD preview

No relevant ERD changes in this update.

@toiroakr
toiroakr marked this pull request as ready for review July 31, 2026 07:48
@toiroakr
toiroakr requested review from a team as code owners July 31, 2026 07:48

@github-actions github-actions 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.

📖 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 validate command documentation matches the implementation in packages/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 in packages/sdk/docs/services/executor.md and match the implementation in packages/sdk/src/configure/services/executor/trigger/event.ts
  • Workflow configuration: publishEvents field on createWorkflow and createWorkflowJob is documented in packages/sdk/docs/services/workflow.md and matches the implementation in packages/sdk/src/configure/services/workflow/
  • Seed generator: --upsert flag is documented in packages/sdk/docs/generator/builtin.md and matches the implementation in generated seed/exec.mjs files
  • Terminology fixes: Minor corrections from "apply" to "deploy" in idp.md and executor.md are accurate and consistent with current SDK terminology
  • Event payload interfaces: WorkflowExecutionContext and WorkflowJobExecutionContext interfaces documented in executor.md match the actual WorkflowExecutionEventArgs and WorkflowJobExecutionEventArgs types in the implementation
  • AGENTS.md: Developer-facing executor trigger additions are consistent with the implementation

Verification performed:

  • ✅ Command definitions match CLI docs (tailordb migration validate description 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-check label to the PR.


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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants