Skip to content

Spec 015 T070: node answers an event's BioPAX - #754

Merged
adamjohnwright merged 1 commit into
mainfrom
s015/t070-biopax-endpoint
Oct 29, 2026
Merged

adamjohnwright merged 1 commit into
mainfrom
s015/t070-biopax-endpoint

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Spec 015 (specs/015-graph-exports), T070.

What it does. /ContentService/exporter/event/{id}.biopax is answered from the library service's /biopax/{stId}, which T069 adds. It follows research R6:

  • application/rdf+xml, downloaded as {stId}.biopax;
  • SBML's 404 and 400 in the envelope, decided from the object's labels;
  • the body streamed;
  • its own share of two, apart from SBML's and the deep pool;
  • a 503 when the service cannot answer, never a fallback.

How:

  • SBML's answer is generalised into exportAnswer, with one format for each export.
  • /exporter/event/{id} dispatches by extension: .biopax to BioPAX, .sbml as before, and anything else to Java as before.
  • The service's address is still SBML_SERVICE, which now names the library service for both exports.
  • parameters.ts's kind for the id now takes .biopax, so the answer is in standard form and cached per release (spec 011).

Not routed yet. T071 adds the route once T049 and T050 are recorded. Until T069 merges, the service has no /biopax/ and would answer it with a 404.

Tests: biopax-export.spec.ts, 10 tests, against a stub service. Each of six mutants made at least one fail:

  • the two shares shared;
  • an .owl download name;
  • the service asked for SBML;
  • the dispatch always going to SBML;
  • a text/plain type;
  • .biopax left out of standard form.

SBML's own 14 tests pass unchanged, and so do all 965 of content-node's.

Also, from #753's review (tasks.md):

  • T032 now says it was next-release.sh cleanup that removed release 97.
  • T072's 16 minutes cites its measurement.
  • The dependencies say T072 needs a copy at beta's release.

🤖 Generated with Claude Code

/exporter/event/{id}.biopax is answered from the library service's
/biopax/ (T069), as research R6 decided: application/rdf+xml, a
{stId}.biopax download, SBML's 404 and 400 in the envelope, the body
streamed, its own share of two apart from SBML's and the deep pool, and a
503 when the service cannot answer, never a fallback. SBML's answer is
generalised to a format each; the event endpoint dispatches by extension
and leaves the rest to Java. The id's kind in parameters.ts takes
.biopax, so the answer is in standard form and cached per release. Not
routed yet: T071 does that once T049 and T050 are recorded.

Also from #753's review: T032 says it was next-release.sh's cleanup that
removed release 97, T072's 16 minutes cites its measurement, and the
dependencies say T072 needs a copy at beta's release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit 77c24d7 into main Oct 29, 2026
8 checks passed
@adamjohnwright
adamjohnwright deleted the s015/t070-biopax-endpoint branch October 29, 2026 18:40
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