feat(silo): remove insertion and mutation field from responses - #1408
Conversation
insertion and mutation field from responsesinsertion and mutation field from responses
insertion and mutation field from responsesinsertion and mutation field from responses
There was a problem hiding this comment.
Pull request overview
This PR updates the query-engine response schema for mutations/aminoAcidMutations and insertions/aminoAcidInsertions by removing redundant, client-reconstructible string fields (mutation and insertion). This aligns the public query API with the issue request (#1403) and reduces response duplication.
Changes:
- Removed computed
mutationfield from mutations outputs and validation/schema handling. - Removed computed
insertionfield from insertions outputs and schema handling. - Updated unit tests, E2E expected outputs, and query documentation to reflect the new response schema.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/silo/query_engine/optimizer/node_resolution_pass.cpp | Drops default/validated use of the removed mutation field and updates the validation error text. |
| src/silo/query_engine/operators/unresolved_mutations_node.h | Removes mutation from unresolved mutations output schema. |
| src/silo/query_engine/operators/unresolved_insertions_node.h | Removes insertion from unresolved insertions output schema. |
| src/silo/query_engine/operators/mutations_node.h | Removes MUTATION_FIELD_NAME and updates valid/output fields accordingly. |
| src/silo/query_engine/operators/mutations_node.cpp | Stops emitting the formatted mutation string value (and removes now-unused fmt include). |
| src/silo/query_engine/operators/insertions_node.h | Removes INSERTION_FIELD_NAME from the insertions schema. |
| src/silo/query_engine/operators/insertions_node.cpp | Stops emitting the formatted insertion string value (and removes now-unused fmt include). |
| src/silo/query_engine/operators/union_all_node.test.cpp | Updates unionAll test query/result to avoid removed mutation field usage. |
| src/silo/query_engine/operators/schema_node.test.cpp | Updates schema expectations to no longer include mutation/insertion. |
| endToEndTests/test/queries/sequenceStartEndMutations.json | Removes mutation from expected mutation responses. |
| endToEndTests/test/queries/nOf_2of3_mutations.json | Removes mutation from expected mutation responses. |
| endToEndTests/test/queries/aaMutDistribution*.json | Removes mutation from expected AA mutation responses and adjusts ordering expectations where needed. |
| endToEndTests/test/queries/insertionsAction*.json | Removes insertion from expected insertion responses and updates ordering queries accordingly. |
| endToEndTests/test/queries/aaInsertionsAction*.json | Removes insertion from expected AA insertion responses and updates ordering queries accordingly. |
| documentation/query_documentation.md | Removes documentation/examples for the redundant mutation/insertion output fields. |
|
This is a preview of the changelog of the next release. If this branch is not up-to-date with the current main branch, the changelog may not be accurate. Rebase your branch on the main branch to get the most accurate changelog. Note that this might contain changes that are on main, but not yet released. Changelog: 0.13.0 (2026-07-29)⚠ BREAKING CHANGES
Features |
insertion and mutation field from responsesinsertion and mutation field from responses
resolves #1403
Summary
Removes the specialized
insertionfield frominsertions/aminoAcidInsertionsresponses and themutationfield frommutations/aminoAcidMutationsresponses. These were redundant concatenations (ins_<seq>:<pos>:<symbols>and<from><pos><to>) that clients can reconstruct from the remaining fields (sequenceName,position,insertedSymbols;mutationFrom,position,mutationTo).BREAKING CHANGE: Insertions response: removed
insertionfield. Mutations response: removedmutationfield. The string was constructed from information that is still present in the response.PR Checklist