Skip to content

Emit Eyes boot manifest at startup#418

Open
byte-the-bot wants to merge 2 commits into
mainfrom
wire/send-boot-manifest
Open

Emit Eyes boot manifest at startup#418
byte-the-bot wants to merge 2 commits into
mainfrom
wire/send-boot-manifest

Conversation

@byte-the-bot

Copy link
Copy Markdown
Collaborator

Wires cja::eyes_manifest::send_boot_manifest into coreyja.com's serve command — the flagship app for EYES-2459e945.

What

  • Build the cron registry once in serve() and pass a reference to send_boot_manifest, then hand the same registry to run_cron (now takes the registry as a param).
  • Manifest carries job types (Jobs), cron schedules (RefreshSponsors/RefreshVideos/RefreshDiscordChannels, hourly), CARGO_PKG_VERSION, and VERGEN_GIT_SHA (vergen is already wired into the build).

Behavior

Reflects the app's full deployed shape even when JOBS_DISABLED/CRON_DISABLED turn the workers off for a given process. Fire-and-forget and a debug-logged no-op unless EYES_ORG_ID/EYES_APP_ID are set. Each stored manifest doubles as a boot/deploy marker in Eyes; never blocks or fails boot.

Part of EYES-2459e945 (arena, fluoddity-observer, prn ✅, coreyja.com, bookworm).

🤖 Generated with Claude Code

Wire cja::eyes_manifest::send_boot_manifest into the serve command, after
building the job/cron registries. Thread the cron registry through run_cron
so one registry seeds the manifest (job types + cron schedules + build
version incl. VERGEN_GIT_SHA) and then drives the cron worker.

The manifest reflects the app's full deployed shape regardless of
JOBS_DISABLED/CRON_DISABLED, and is a no-op unless EYES_ORG_ID/EYES_APP_ID
are set. Fire-and-forget; never blocks or fails boot.

Part of EYES-2459e945.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
byte-the-bot added a commit that referenced this pull request Jul 19, 2026
## What

The nightly test leg has been red on an unrelated `future_incompatible`
lint. The `bail!` in the `LlmCall` match arm at
`server/src/jobs/thread_processor.rs:76` was in expression (tail)
position, so `bail!`'s internal trailing semicolon trips
`semicolon_in_expressions_from_macros` (deny-by-default on nightly).

## Fix

Wrap the invocation in a block as a statement (`{ bail!(...); }`),
matching the sibling `Pending | Waiting` arm's style a few lines above.
No behavior change — `bail!` still diverges.

## Verification

Reproduced and cleared on `nightly-2026-01-26`: the lint no longer
fires. (The only remaining local compile error is the missing generated
`target/tailwind.css` asset, which CI produces — unrelated to this
change.)

Noticed while verifying the Eyes boot-manifest fan-out PR #418, whose
nightly leg was red for this pre-existing reason. That leg is
`continue-on-error`, so this was never blocking — just noise. This
greens it up.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Byte <coreyja@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants