Repository navigation
Spec 006 T104: node answers /query/abridged/{id}, its attributes, and /query/{id}/more - #897
Merged
Merged
Conversation
… /query/{id}/more
Three endpoints Java answers but leaves out of its description, now in
the data-query family:
- /query/abridged/{id}: graph-core's findByIdNoRelations, the node alone
by the id as getIdentifier reads it, written as /query/{id} writes an
object.
- /query/abridged/{id}/{attributeName}: ControllerUtils.getProperty on
that object; a relationship getter loads its relationship, outgoing
ones too, as LazyFetchAspect does.
- /query/{id}/more: /query/enhanced/v2/{id} with its flags fixed, reading
no parameter (enhancedAnswer, shared with v2).
Spring's order is kept in the registry: /query/abridged/more and
/query/enhanced/more are the object called more. Dots alone are Java's
500 on all three and on /enhanced/v2/{id}, which answered a 404.
Routed in nginx and the dev proxy: one location now takes every
/query/{id}/{x}, and another the abridged attributes. /query/{id}/more
joins the contract as v2's answer; the description is regenerated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… as nothing calls it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dots
/query/enhanced/{id} answered 404 for an id of dots alone, where Java
answers 500 ("Index 0 out of bounds for length 0"), as v2 now does here;
measured live today and checked against Java after the change.
The /more test now compares what the graph is asked with v2's own under
/more's flags (seen failing with incoming relationships off), and the MORE
test checks the attribute route answers as for any other attribute name.
The ranking comment moves to /query/abridged/{id}, which it describes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spec 006 T104 (
specs/006-content-service-to-node): node answers three ContentService graph reads that Java answers but leaves out of its published description.GET /data/query/abridged/{id}returns graph-core'sfindByIdNoRelations: the node on its own, found by the id asgetIdentifierreads it, and written the way/query/{id}writes an object.GET /data/query/abridged/{id}/{attributeName}isControllerUtils.getPropertyon that object. A relationship getter loads its relationship, outgoing ones too, asLazyFetchAspectdoes. SohasEventgives the pathway's events.GET /data/query/{id}/moreis/query/enhanced/v2/{id}with its flags fixed: incoming relationships, no summary, and disease data only when nothing is found without it. It reads no parameters. It sharesenhancedAnswerwith v2.Routing.
/query/abridged/moreand/query/enhanced/moreare the object called "more", measured against Java. Six new pairs are inregistry.spec.ts, andfixtures/route-order.jsonis updated./query/{id}/{x}to node through one location, and/query/abridged/{id}/{x}through another. The exclusions they needed for these paths are gone, and so are those inclassify.tsand the/query/{id}/{attribute}handler.nginx -tpasses for dev, release and production (deploy/nginx/test-config.sh).A parity fix on the way. An id of only dots is Java's 500 (
Index 0 out of bounds for length 0) on all three endpoints, and on/enhanced/v2/{id}, which answered a 404 until now.Contract.
/query/{id}/morejoinsprojects/contract/routes.tsas v2's answer (GraphObject<JsogReference>), and the description is regenerated. The two abridged routes stay "not yet", like/query/{id}: an object without its relationships doesn't fitGraphObject's required fields.Compared with Java (local, 7 Nov 2026, spaced requests):
includeRef=trueviews (78 of 78).url, which is the existing declared difference. This covers the 404 for an unknown id, the attribute's 404,abridged/more,MOREas an attribute, the 500 for dots and the 500 for a dbId past a long.query-abridged.spec.ts, whose expected bodies are Java's bytes. A live diff after deploy is still needed:npm run content:diff -- --path /ContentService/data/query/abridged/{id}and the other two.Seen failing. The new spec fails 8 of 10 against main's handlers. Mutating
outgoingLoaded: falsetotruefails thehasEventtest. The route specs failed (12) before the routes changed.Declared differences. None new.
🤖 Generated with Claude Code