Skip to content

Initial GHGA Registry Service (Apollo)#163

Open
Cito wants to merge 27 commits intomainfrom
feature/new-study-registry-gsi-1980
Open

Initial GHGA Registry Service (Apollo)#163
Cito wants to merge 27 commits intomainfrom
feature/new-study-registry-gsi-1980

Conversation

@Cito
Copy link
Copy Markdown
Member

@Cito Cito commented Feb 18, 2026

The Apollo epic aims at creating a first working implementation of the GHGA Registry Service.

@Cito Cito changed the title Create Apollo epic spec from template Initial Study Registry Service (Apollo) Feb 18, 2026
@Cito Cito marked this pull request as ready for review February 25, 2026 16:23
ckaipf
ckaipf previously approved these changes Mar 2, 2026
@Cito Cito requested a review from lkuchenb March 2, 2026 12:29
@Cito Cito force-pushed the feature/new-study-registry-gsi-1980 branch from feb5574 to bf9e5cc Compare March 4, 2026 07:28
@Cito Cito requested a review from sbilge March 4, 2026 08:44
Copy link
Copy Markdown
Member

@lkuchenb lkuchenb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the spec, great work!

Some things I would like to discuss in the meeting tomorrow:

  • Why the temporary auth concept, is there a major overhead to go directly to the CRS from the start?
  • Why do we need the pre-publish state? I could imagine validation to happen immediately at POST, i.e. no invalid data to be ever accepted. Data can be immediately processed and previewed as updates progress.
  • Publications must be entirely dynamic with no ties to the study lifecycle other than that the corresponding study must exist (in any state). They also do not require an accession number, citing a citation makes little sense, was more of an artifact of embedding them in the metadata

Something else I realized we should be thinking about rather sooner than later is the global uniqueness of identifiers across all classes. Currently our ingress model does not require that (thus you have to specify class + identifier). Post-accession assignment this is currently guaranteed (yet we don't make use of it at the API level). Also, the idea was to transfer the user-specified aliases from the ingress data directly to the GHGA accessions in the future, which opens the question in how far we have to transition to making this a constraint in the ingress data.

@Cito Cito changed the title Initial Study Registry Service (Apollo) Initial GHGA Registry Service (Apollo) Mar 24, 2026
@Cito
Copy link
Copy Markdown
Member Author

Cito commented Mar 24, 2026

Thanks for all the great input so far here and in separate discussions. I updated the epic spec accordingly for another round of review.


As a safety measure, the SR must verify that all accessions in the mapping belong to the study with the specified PID and that all file IDs in the mapping belong to the box with the given ID, and respond with an error code 409 otherwise.

The service should then upsert an `AltAccession` instance with type `FILE_ID` for all entries in the passed map, where `pid` is the key and `id` is the value in the map.
Copy link
Copy Markdown
Member

@TheByronHimes TheByronHimes Mar 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought the AltAccession events were published as outbox events. If this is true, then this will not work as currently arranged. The AltAccession is stored with id as the primary key, which means the event key will be set to id by hexkit.

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.

5 participants