Skip to content

Preserve imported service endpoints - #32

Merged
davejohnson merged 1 commit into
mainfrom
agent/preserve-import-bindings
Jul 26, 2026
Merged

Preserve imported service endpoints#32
davejohnson merged 1 commit into
mainfrom
agent/preserve-import-bindings

Conversation

@davejohnson

Copy link
Copy Markdown
Owner

What changed

  • Preserve each imported service's public URL and custom domains in the generic HostingBindings record.
  • Resolve hv_health through the environment's declared domain when a web service has no provider URL binding.
  • Parse health bindings through the provider-neutral hosting binding schema.
  • Add Railway import regression coverage and Cloud Run-shaped coverage for declared-domain health resolution.

Root cause

Railway inspection collected per-environment service domains, but importRailwayProject persisted only the service ID. As a result, a freshly adopted service appeared healthy in live observation while repo-backed hv_health service=web failed with no URL binding.

The health fallback was also binding-only even when the desired-state spec already declared the public domain.

Impact

Fresh adoption now produces reconstructible endpoint bindings. Health checks can also use a declared web domain consistently across hosting providers; Railway remains the current import source, but the stored shape and health behavior are provider-neutral.

Validation

  • vitest run --configLoader runner: 108 files, 885 tests passed
  • tsc --noEmit
  • npm run build
  • Re-adopted Invoice Perfect staging and verified hv_health service=web returns HTTP 200 without an explicit URL

@davejohnson
davejohnson marked this pull request as ready for review July 26, 2026 05:45
@davejohnson
davejohnson merged commit a577c74 into main Jul 26, 2026
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.

1 participant