Skip to content

harden(core): validate release index app_id and require app-scoped prefix#79

Merged
peters merged 1 commit intomainfrom
fix/surge-delta-index-lineage
Apr 10, 2026
Merged

harden(core): validate release index app_id and require app-scoped prefix#79
peters merged 1 commit intomainfrom
fix/surge-delta-index-lineage

Conversation

@peters
Copy link
Copy Markdown
Contributor

@peters peters commented Apr 10, 2026

Summary

  • Pack builder rejects release index whose app_id does not match the current pack target, preventing silent cross-app index contamination.
  • Pack builder populates empty app_id on legacy indexes during update_release_index.
  • Update manager requires the app-scoped storage prefix when derivable, instead of probing root first and falling back on NotFound. Eliminates an unnecessary storage request and ensures the client reads from the same path the pack builder writes to.
  • Tests updated to use app-scoped storage layout matching production.

Test plan

  • Existing tests updated to use app-scoped storage layout
  • New test: test_update_release_index_rejects_existing_index_for_other_app
  • New test: test_check_for_updates_prefers_app_scoped_prefix_when_root_index_is_mismatched
  • New test: test_check_for_updates_requires_app_scoped_prefix_when_it_is_derivable

…orage prefix

- Pack builder rejects release index whose app_id does not match the
  current pack target, preventing silent cross-app contamination.
- Pack builder populates empty app_id on legacy indexes.
- Update manager requires the app-scoped storage prefix when derivable
  instead of probing root first and falling back. Eliminates an
  unnecessary storage request and ensures the client always reads from
  the same path the pack builder writes to.
- Tests updated to use app-scoped storage layout matching production.
@peters peters merged commit e11b75e into main Apr 10, 2026
12 checks passed
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