Skip to content

Centralize Harbor pin and sync backend workers to dsh revision - #1286

Draft
RishiDesai wants to merge 1 commit into
stagingfrom
cursor/harbor-pin-single-source-8338
Draft

Centralize Harbor pin and sync backend workers to dsh revision#1286
RishiDesai wants to merge 1 commit into
stagingfrom
cursor/harbor-pin-single-source-8338

Conversation

@RishiDesai

Copy link
Copy Markdown
Contributor

Summary

Production workers were still building Harbor from ca4fda6, which does not include the dsh agent, even after PR #1256 promoted Oddish routing to main. That PR bumped only oddish/pyproject.toml, while backend/pyproject.toml (the image the Modal workers actually build from) was left behind.

This PR fixes that drift and makes the pin harder to split again:

  • Adds oddish/src/oddish/harbor-pin.toml as the single source of truth for the locked abundant-ai/harbor revision
  • Loads HARBOR_DEFAULT_SOURCE / HARBOR_DEFAULT_SHA from that file at runtime
  • Adds oddish/scripts/sync_harbor_pin.py to propagate the pin into both oddish/pyproject.toml and backend/pyproject.toml
  • Adds a CI guard (.github/workflows/harbor-pin-guard.yml) that fails if either pyproject drifts from harbor-pin.toml
  • Bumps the shared pin to 078136c5 (Harbor PR merge pending into queued on the FE #27: DeepSeek Harness / dsh agent) and regenerates backend/uv.lock

Why a separate pin file?

backend/pyproject.toml cannot inherit [tool.uv.sources] from the transitive oddish dependency because Modal worker images are built directly from the backend project. The pin must be duplicated in both pyproject files, but only edited in one place (harbor-pin.toml).

Test plan

  • uv run python scripts/sync_harbor_pin.py --check
  • uv run pytest tests/test_harbor_spec_parse.py
  • Merge to staging and confirm production deploy picks up 078136c5 on workers
  • Re-run dsh + fireworks/deepseek-v4-pro-0813 smoke trial on prod
Open in Web Open in Cursor 

Add oddish/src/oddish/harbor-pin.toml as the single source of truth for the
locked abundant-ai/harbor revision, load it from config at runtime, and add a
sync script plus CI guard so backend/pyproject.toml cannot drift from oddish
again. Bump production workers to 078136c5, which includes the dsh agent.

Co-authored-by: rishi <rishi@abundant.ai>
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
oddish-app Ready Ready Preview Aug 18, 2026 8:03pm

@github-actions

Copy link
Copy Markdown
Contributor

Oddish preview

Commit: c8d578e2f1ae1c79d5e0be24a1a697585f698c3a

Surface Link Target
Frontend https://pr-1286.oddish.app Vercel preview for c8d578e
Backend oddish-pr-1286 oddish-pr-1286
Database project mbjdzrbiwvhhpesaisjo project mbjdzrbiwvhhpesaisjo

Vercel deployment URL: https://oddish-qptqdm8u3.oddish.app

Plan:

  • Frontend deploy: true
  • Backend deploy: true
  • Migrations: false

This comment is updated by the PR Preview workflow.

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