Repository navigation
Weir rounds through the public Ephemeris API - #87
Merged
Merged
Conversation
ParacastClient now accepts the public API (base URL ending in /api/v1) as well
as the raw backend: series sent as {values, freq} objects with the full history
as context_len, an Idempotency-Key per request reused across retries, /models
list unwrapped, health read from /api/status, and batches capped to the API's
120,000 output-value budget. Feedback goes to the gateway's /api/v1/feedback.
The round workflow's wake step reads the public status page for such URLs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FAm6t3mTkhrKZKke8GzULi
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The dashboard's paracast rounds currently call the raw backend at the old Chutes address, which runs image 0.7.5 without Timestral. This lets them call the public Ephemeris API instead. The API always fronts whatever backend customers use (Targon now), and it needs only a normal
pc_live_key, not the backend key.Client (
src/paracast_client.py): a base URL ending in/api/v1switches to the public API. Raw-backend behaviour is unchanged.{values, freq}objects.context_lenis the full history length, because the API otherwise reads only the last 256 points and scores would stop being comparable.Idempotency-Key, reused across retries, so a retry after a timeout replays the result instead of paying again./models(a bare list on the public API) is unwrapped, sopanel()works the same./api/statusand is mapped onto the raw/healthshape./api/v1/feedback, added in TensorLink-AI/paracast-web#43. Until that ships, feedback calls 404, are counted as failed, and never block a round.Workflow: for public URLs the wake step reads
/api/status. I ran it against production:panel ok -- 7 healthy workers.Tests: 6 new tests (flavour detection, request shape and key, key reuse on retry, models/status mapping, output-budget batching, feedback route). All 20 client tests pass and ruff is clean.
To switch after merging:
PARACAST_URL=https://ephemeris.cascade.industries/api/v1PARACAST_API_KEY= an Ephemeris key on a funded internal accountA round is about 256 series × (each of 7 models + ensemble + route), billed at the model prices: roughly 5k credits per round, about 10k a day at two rounds.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FAm6t3mTkhrKZKke8GzULi