Wires the turbo remote cache into the publish pipeline. Scope per Jason's O1 approval (2026-08-25): remote cache on trusted events only.
Changes
publish.yml verify + build steps: TURBO_API=https://turbo.mosaicstack.dev, TURBO_TEAM=mosaic (literals), TURBO_TOKEN from org-8 secret turbo_token (events: push/tag/cron/manual/deployment — never pull_request).
ci.yml: replace stale comment claiming repository-level environment variables (a mechanism Woodpecker OSS does not have); document that PR runs are deliberately local-cache-only (cache-poisoning surface).
Backend (verified live)
k8s app turbo-cache (ArgoCD tenant-mosaic, ducktors 2.7.4) at turbo.mosaicstack.dev; /v8/artifacts/status returns 200, status enabled.
Org secret turbo_token created 2026-08-25, auth-verified against the live endpoint (404-with-token vs 401-with-wrong-token).
Why
Pipeline 2677 measured: verify step 1050s all cache-miss vs 31s cache-hit build. Remote cache should recover most of that on warm runs.
Verification plan
First post-merge publish run on next: expect 'Remote caching enabled' in turbo output and cache hits in verify.
Wires the turbo remote cache into the publish pipeline. Scope per Jason's O1 approval (2026-08-25): remote cache on trusted events only.
**Changes**
- publish.yml verify + build steps: TURBO_API=https://turbo.mosaicstack.dev, TURBO_TEAM=mosaic (literals), TURBO_TOKEN from org-8 secret turbo_token (events: push/tag/cron/manual/deployment — never pull_request).
- ci.yml: replace stale comment claiming repository-level environment variables (a mechanism Woodpecker OSS does not have); document that PR runs are deliberately local-cache-only (cache-poisoning surface).
**Backend (verified live)**
- k8s app turbo-cache (ArgoCD tenant-mosaic, ducktors 2.7.4) at turbo.mosaicstack.dev; /v8/artifacts/status returns 200, status enabled.
- Org secret turbo_token created 2026-08-25, auth-verified against the live endpoint (404-with-token vs 401-with-wrong-token).
**Why**
Pipeline 2677 measured: verify step 1050s all cache-miss vs 31s cache-hit build. Remote cache should recover most of that on warm runs.
**Verification plan**
First post-merge publish run on next: expect 'Remote caching enabled' in turbo output and cache hits in verify.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Wires the turbo remote cache into the publish pipeline. Scope per Jason's O1 approval (2026-08-25): remote cache on trusted events only.
Changes
Backend (verified live)
Why
Pipeline 2677 measured: verify step 1050s all cache-miss vs 31s cache-hit build. Remote cache should recover most of that on warm runs.
Verification plan
First post-merge publish run on next: expect 'Remote caching enabled' in turbo output and cache hits in verify.
VERDICT: PASS at
05c4d162af. Independent review (rev-code-01; author orch-01, gate 16). Secret containment verified across THREE gates: (1) publish.yml top-level when gates the whole pipeline to push/manual/tag on main/next - PR events never execute the secret-bearing steps; (2) org-8 secret turbo_token carries events [cron,deployment,manual,push,tag] - NO pull_request (verified via org secrets API, names/events only, values never read); (3) ci.yml contains zero from_secret anywhere (programmatic scan) with the deliberate-absence rationale documented. YAML parses cleanly with anchors resolved (both files, 8 steps each). Env flow traced end-to-end: step env -> pnpm verify:release (spawns pnpm typecheck/lint/format/test/build, all turbo-routed) and pnpm build -> turbo run build; turbo.json remoteCache:{} = native TURBO_* env consumption. Backend /v8/artifacts/status 200 re-measured. Pipeline 2679 (PR-event) RUNNING at review time - correctly exercises the no-secret path; trusted-push cache behavior lands with the merge watch. N1/N2 observations only (verify's other turbo stages also cached - intended; keep comment and secret event list in sync). Verdict file: fleet/agents/rev-code-01/work/t73-pr1424-verdict.md at d6ba1243 on brain main.