Skip to content

Commit 73dd30d

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix/waitpoint-completion-db-error-mislabel
# Conflicts: # internal-packages/run-engine/src/engine/systems/waitpointSystem.ts
2 parents 47efd09 + 0205fed commit 73dd30d

2,587 files changed

Lines changed: 301217 additions & 36224 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/experimental-node-runtimes.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/project-default-region-response.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.claude/REVIEW.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ Every PR gets a performance pass — not just the ones that look perf-sensitive.
5656
## Always check
5757

5858
- **Tests use testcontainers, not mocks.** Vitest with `redisTest` / `postgresTest` / `containerTest` from `@internal/testcontainers`. Any new `vi.mock(...)` on Redis, Postgres, BullMQ, or other infra is wrong here — 🔴 if added in production-path tests, 🟡 if isolated unit test.
59-
- **Public-package changes have a changeset.** `pnpm run changeset:add` produces `.changeset/*.md`. Required for any edit under `packages/*`. Missing → 🟡; missing on a breaking change → 🔴.
60-
- **Server-only changes have `.server-changes/*.md`.** Required for `apps/webapp/`, `apps/supervisor/` edits with no public-package change. Body should be 1-2 sentences (it has to fit as one bullet in a future changelog). Missing → 🟡.
59+
- **User-facing public-package changes have a changeset.** `pnpm run changeset:add` produces `.changeset/*.md`. Changesets are user-facing release notes, not a catalog of every change: required when a `packages/*` or `integrations/*` change is something a user would notice or act on, skipped for internal-only changes, refactors, chores, and packages not consumed independently (e.g. `@trigger.dev/redis-worker`). Missing on a user-facing change → 🟡; missing on a breaking change → 🔴. Do not flag a missing note when the change is not user-facing.
60+
- **User-facing server-only changes have `.server-changes/*.md`.** Required for user-facing `apps/webapp/`, `apps/supervisor/` edits in a PR with no package or integration change that requires a changeset; skip internal-only or admin-only changes, refactors, and chores. Body should be 1-2 sentences (it has to fit as one bullet in a future changelog). Missing on a user-facing change → 🟡.
6161
- **Lua script naming.** Coexisting scripts use behavior-descriptive suffixes (`Tracked`), never `V2`. Old name must keep working until the next deploy clears it.
6262
- **RunQueue payload shape.** V2 run-queue payload's `projectId` is consumed by `workerQueueResolver` for override matching. If a PR drops it from the payload, 🔴.
6363
- **`safeSend` scope.** Defensive IPC wrappers belong on loop / interval / handler contexts, not one-shot terminal sends. If the PR adds `safeSend` to a single terminal call for consistency, 🟡 with a "remove this" suggestion.

.claude/agents/code-reviewer.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
name: code-reviewer
3+
description: Adversarially verifies one landed packet against its requirement; read-only.
4+
model: opus
5+
---
6+
7+
You are an adversarial code reviewer for one landed packet. READ-ONLY: never modify code, never commit, never push, never post to GitHub.
8+
9+
- Try to refute that the change answers its stated requirement; look for the failure scenario, not confirmation.
10+
- Check the diff for unrelated drift, dead code, broken semantics of neighbors, and whether tests prove the actual invariant (would the test fail if the fix were subtly wrong?).
11+
- Check the change landed in the correct PR/branch of the stack.
12+
- Distinguish fact from inference; cite exact file:line evidence.
13+
- Return: verdict (approve / needs-changes) with evidence per concern, and the exact minimal correction when needs-changes.

.claude/agents/code-writer.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: code-writer
3+
description: Implements exactly one work packet — minimal diff, targeted checks, own-paths-only commits.
4+
model: opus
5+
---
6+
7+
You are a code writer. Implement exactly the one work packet in your prompt.
8+
9+
- Minimal diff; match surrounding style and idiom.
10+
- Prefer no comment at all; comment only a non-obvious constraint, max 2 short lines. All texts (comments, commit messages) short, clear, simple.
11+
- Verify the packet's own diagnosis against the code before applying; if it is wrong, STOP without committing and report why.
12+
- Run only the targeted checks for your packet: the relevant vitest files, `pnpm run typecheck --filter <pkg>` when the change warrants it. Never full suites unless asked.
13+
- `pnpm run format` on touched files before committing.
14+
- Stage and commit ONLY your packet's files. Conventional commit message. NO Claude attribution, no Co-Authored-By.
15+
- Push only if the packet explicitly says to.
16+
- Return: what changed, evidence (test output), commit SHA, and anything contradicting the diagnosis.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
name: software-architect
3+
description: Resolves contested design questions against the specs; decision + rationale, never code.
4+
model: opus
5+
---
6+
7+
You are a software architect. Resolve exactly the contested design question in your prompt against the given specs/contracts. READ-ONLY.
8+
9+
- Ground the decision in the actual code and the project's design contracts (GUIDEBOOK, Linear specs) — not in generic best practice.
10+
- Weigh stack boundaries: which PR owns the change, what merges independently.
11+
- Prefer the smallest decision that unblocks the packet; flag speculative architecture rather than endorsing it.
12+
- Return: the decision, its rationale, rejected alternatives (one line each), and exactly what the dependent packet should do.

.claude/rules/server-apps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ paths:
55

66
# Server App Changes
77

8-
When modifying server apps (webapp, supervisor, etc.) with **no package changes**, add a `.server-changes/` file instead of a changeset:
8+
`.server-changes/` files are user-facing release notes, not a catalog of every change. When a user-facing server app change (webapp, supervisor, etc.) is in a PR with **no package or integration change that requires a changeset**, add a `.server-changes/` file instead of a changeset. Skip it for internal-only or admin-only changes, refactors, and chores:
99

1010
```bash
1111
cat > .server-changes/descriptive-name.md << 'EOF'
@@ -20,6 +20,6 @@ EOF
2020

2121
- **area**: `webapp` | `supervisor`
2222
- **type**: `feature` | `fix` | `improvement` | `breaking`
23-
- If the PR also touches `packages/`, just the changeset is sufficient (no `.server-changes/` needed).
23+
- If the PR also touches `packages/` or `integrations/` and that change needs a changeset, the changeset covers it (no `.server-changes/` needed). If the package or integration change is internal and needs no changeset, still add a `.server-changes/` file for the user-facing server change.
2424

2525
The body ships **verbatim in user-facing release notes**. Keep it to 1–2 short sentences, non-technical, written for a dashboard user: describe what changed for them, never the implementation (no header names, endpoints, middleware, storage mechanisms, internal tools). See `.server-changes/README.md` for full guidance.

.claude/skills/errors-api-e2e/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ PASS: one run, `run_<RID>` (status maps to `FAILED`). Proves `filter[error]` ->
154154
### 6. Attribution — `mint-token` -> JWT exchange records the acting user
155155

156156
```bash
157-
TOKEN=$(cli mint-token --profile $PROFILE --client errors-api-e2e 2>/dev/null) # UAT
157+
TOKEN=$(cli mint-token --profile $PROFILE --client errors-api-e2e --cap read:errors,write:errors 2>/dev/null) # UAT
158158
ENVJWT=$(curl -sS -X POST "$B/api/v1/projects/$REF/dev/jwt" -H "Authorization: Bearer $TOKEN" \
159159
-H 'Content-Type: application/json' -d '{"claims":{"scopes":["read:errors","write:errors"]}}' \
160160
| python3 -c "import sys,json;print(json.load(sys.stdin)['token'])")

.configs/tsconfig.base.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
"esModuleInterop": true,
2727
"emitDecoratorMetadata": false,
2828
"experimentalDecorators": false,
29-
"downlevelIteration": true,
3029
"isolatedModules": true,
3130
"noUncheckedIndexedAccess": true,
3231

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
SESSION_SECRET=abcdef1234
33
MAGIC_LINK_SECRET=abcdef1234
44
ENCRYPTION_KEY=ae13021afef0819c3a307ad487071c06 # Must be a random 16 byte hex string. You can generate an encryption key by running `openssl rand -hex 16` in your terminal
5+
MANAGED_WORKER_SECRET=abcdef1234 # Must match the supervisor's MANAGED_WORKER_SECRET
56
LOGIN_ORIGIN=http://localhost:3030
67
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres?schema=public
78
# This sets the URL used for direct connections to the database and should only be needed in limited circumstances
@@ -22,6 +23,8 @@ NODE_ENV=development
2223
CLICKHOUSE_URL=http://default:password@localhost:8123
2324
RUN_REPLICATION_CLICKHOUSE_URL=http://default:password@localhost:8123
2425
RUN_REPLICATION_ENABLED=1
26+
# LOGS_SEARCH_PROJECTOR_ENABLED=1
27+
# LOGS_SEARCH_PROJECTOR_PREVIEW_ENABLED=1
2528
# Store task run spans/traces in ClickHouse so the dashboard trace view is
2629
# populated in local dev. The local stack is ClickHouse-backed (see above), so
2730
# leaving this unset falls back to the "postgres" store and dev run traces show

0 commit comments

Comments
 (0)