Nightly green-main guardian run @ origin/main 5892202 (2026-07-25).
Failing checks (3)
1. Unit tests — 1 fail (tests/unit/deployments/deploy-readiness.spec.ts)
# Subtest: computeDeployReadiness — Tier-0-available telephony
# Subtest: neither BYO nor Tier-0 → telephony requirement UNMET with the dual-option copy
not ok 2 - neither BYO nor Tier-0 → telephony requirement UNMET with the dual-option copy
---
duration_ms: 2.450064
type: 'test'
location: '/home/user/seldonframe/packages/crm/tests/unit/deployments/deploy-readiness.spec.ts:2:4277'
failureType: 'testCodeFailure'
error: |-
Expected values to be strictly equal:
+ actual - expected
+ 'Top up your wallet for an instant Seldon number, or connect your own Twilio.'
- 'Top up your wallet for an instant SF number, or connect your own Twilio.'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: 'Top up your wallet for an instant SF number, or connect your own Twilio.'
actual: 'Top up your wallet for an instant Seldon number, or connect your own Twilio.'
operator: 'strictEqual'
stack: |-
TestContext.<anonymous> (/home/user/seldonframe/packages/crm/tests/unit/deployments/deploy-readiness.spec.ts:91:12)
Source copy says "Seldon number", test expects "SF number" — a naming-convention drift between the deploy-readiness message string and its test, not an environment flake.
Totals: # tests 1020 / # pass 1018 / # fail 1 / # skipped 1 (skip is the known env-conditional AGENCY_WORKSPACE_OVERAGE_PRICE_ID skip — allowed).
2. Types — tsc -p tsconfig.json --noEmit, 1 error
src/app/api/copilot/turn/route.ts(315,9): error TS2353: Object literal may only specify known properties, and 'persist' does not exist in type '{ conversationId: string; userMessage: string; blueprintOverride?: AgentBlueprint | undefined; bookingBinding?: CalendarBinding | undefined; bookingPolicy?: BookingPolicy | undefined; persona?: DeploymentPromptPersona | undefined; }'.
src/app/api/copilot/turn/route.ts:315 passes a persist field into a call whose parameter type has no such property — looks like a caller left behind after that field was removed/renamed on the callee's type, or a new caller added without updating the type.
3. Cloud-loop tripwire — persona-loop silent
The activation-persona-loop routine (nightly, 07:17 UTC) is supposed to leave a visible PR or issue artifact every run. Searched seldonframe/seldonframe for persona-loop PRs/issues created since 2026-07-23 (48h window): 0 results. The most recent persona-loop artifact is issue #117, created 2026-07-17T07:21:34Z — 8 days old.
Check https://claude.ai/code/routines (trigger trig_01CCRPPjnRwapd7gL6LmcgEt). If its run report shows a push/PR attempt failing with 403, the Claude GitHub App likely still lacks write access to seldonframe/seldonframe.
Passing checks (4)
bash scripts/check-use-server.sh src → "All 'use server' files export only async functions / types."
node scripts/check-migrations-journaled.mjs → "0 orphans" (99 .sql files; 55 journaled, 44 known out-of-band)
- Live production smoke — 5/5:
https://app.seldonframe.com/api/version → 200, sha=589220221106fedf38e370f3ecbddbfaa52ee122 (confirmed ancestor of origin/main)
https://www.seldonframe.com/ → 200, "SeldonFrame" present
https://www.seldonframe.com/pricing → 200, both "$29" and "$99" present
https://rapid-rooter-plumbing-828a.app.seldonframe.com/ → 200, "Rapid Rooter" present
https://www.seldonframe.com/alternative-to-gohighlevel → 200, "Best GoHighLevel Alternative" present
Filed automatically by the nightly green-main guardian routine. Report-only — no code was changed.
Nightly green-main guardian run @ origin/main
5892202(2026-07-25).Failing checks (3)
1. Unit tests — 1 fail (
tests/unit/deployments/deploy-readiness.spec.ts)Source copy says "Seldon number", test expects "SF number" — a naming-convention drift between the deploy-readiness message string and its test, not an environment flake.
Totals:
# tests 1020 / # pass 1018 / # fail 1 / # skipped 1(skip is the known env-conditionalAGENCY_WORKSPACE_OVERAGE_PRICE_IDskip — allowed).2. Types —
tsc -p tsconfig.json --noEmit, 1 errorsrc/app/api/copilot/turn/route.ts:315passes apersistfield into a call whose parameter type has no such property — looks like a caller left behind after that field was removed/renamed on the callee's type, or a new caller added without updating the type.3. Cloud-loop tripwire — persona-loop silent
The activation-persona-loop routine (nightly, 07:17 UTC) is supposed to leave a visible PR or issue artifact every run. Searched
seldonframe/seldonframefor persona-loop PRs/issues created since 2026-07-23 (48h window): 0 results. The most recent persona-loop artifact is issue #117, created 2026-07-17T07:21:34Z — 8 days old.Check https://claude.ai/code/routines (trigger
trig_01CCRPPjnRwapd7gL6LmcgEt). If its run report shows a push/PR attempt failing with 403, the Claude GitHub App likely still lacks write access toseldonframe/seldonframe.Passing checks (4)
bash scripts/check-use-server.sh src→ "All 'use server' files export only async functions / types."node scripts/check-migrations-journaled.mjs→ "0 orphans" (99 .sql files; 55 journaled, 44 known out-of-band)https://app.seldonframe.com/api/version→ 200,sha=589220221106fedf38e370f3ecbddbfaa52ee122(confirmed ancestor oforigin/main)https://www.seldonframe.com/→ 200, "SeldonFrame" presenthttps://www.seldonframe.com/pricing→ 200, both "$29" and "$99" presenthttps://rapid-rooter-plumbing-828a.app.seldonframe.com/→ 200, "Rapid Rooter" presenthttps://www.seldonframe.com/alternative-to-gohighlevel→ 200, "Best GoHighLevel Alternative" presentFiled automatically by the nightly green-main guardian routine. Report-only — no code was changed.