Skip to content

Spec 006 T103: how the events hierarchy is ported (research D25, tasks) - #929

Merged
adamjohnwright merged 3 commits into
mainfrom
spec006/t103-plan
Nov 11, 2026
Merged

adamjohnwright merged 3 commits into
mainfrom
spec006/t103-plan

Conversation

@adamjohnwright

@adamjohnwright adamjohnwright commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Plans T103, GET /data/eventsHierarchy/{species}, the tree the Pathway Browser's Reacfoam draws. Docs only: specs/006-content-service-to-node/research.md (D25) and tasks.md.

Finding: Java's sizes come from analysis-core's in-memory hierarchy, loaded from the AnalysisService's data file. Computed from the graph:

  • totalEntity matches every pathway of five species (3,067 human).
  • totalEntityAndInteractors matches four species exactly, but 79 of 3,067 human pathways come out one or two higher.

The cause is a bug in analysis-core: a partner whose identifier is another protein's alias is merged into it, in hash-map order. It is reported as reactome/analysis-core#13, with a fix in reactome/analysis-core#14.

Decision: node computes the sizes from the graph, once per release, and the 79 are a recorded difference. The comparison with Java expects exactly them and fails on any other. The gap is too small to see in the Reacfoam, and a release-time Java step would be a library build the project is not set up to keep current. Once the fix is released, Java's numbers become node's.

Tasks: T103 splits into four PRs:

  • T103a: the sizes from the graph.
  • T103b: pathwaysOnly without a token.
  • T103c: the token overlay.
  • T103d: the full tree.

🤖 Generated with Claude Code

Java's /data/eventsHierarchy sizes come from analysis-core's in-memory
hierarchy, loaded from the AnalysisService's data file. From the graph,
totalEntity matches every pathway of five species, but
totalEntityAndInteractors misses 79 of 3,067 human pathways by one or two:
analysis-core merges an interaction partner into another's alias in
hash-map order. So the sizes, and the pathwaysOnly tree, are snapshotted
from the data file at each release with analysis-core itself (T103a), and
node answers from the snapshot (T103b-e). The token overlay comes through
the analysis gateway; Java's own order below a hit node is random.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright enabled auto-merge (squash) November 11, 2026 22:35
…fference

A gap of one or two entities on 79 human pathways is not visible in the
Reacfoam, and a release-time Java step reading the data file would be a
library build the project is not set up to keep current. The cause is
reported to analysis-core (reactome/analysis-core#13, fix in
reactome/analysis-core#14). T103 is now four tasks, with no release step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright enabled auto-merge (squash) November 11, 2026 23:16
@adamjohnwright
adamjohnwright merged commit d347a75 into main Nov 11, 2026
8 checks passed
@adamjohnwright
adamjohnwright deleted the spec006/t103-plan branch November 11, 2026 23:29
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