Skip to content

Spec 015 T069, from #755's review: check.sh's silent stop, old work, a fair cap - #756

Merged
adamjohnwright merged 1 commit into
mainfrom
s015/t069-followup
Oct 29, 2026
Merged

adamjohnwright merged 1 commit into
mainfrom
s015/t069-followup

Conversation

@adamjohnwright

Copy link
Copy Markdown
Contributor

Spec 015 (specs/015-graph-exports), T069: a follow-up to #755 (merged), from its review.

  • check.sh (medium):
    • The event selection used grep … && echo inside a loop. Under pipefail, a last candidate not in its species file ended the script silently. It passed only because the last candidate happens to be in its file today. Reproduced in a minimal case: the old form exits 1 with no output, the new form reaches the end. It is an if now.
    • It also matches the event's own database-id xref, whose comment ends &ID={dbId}, rather than any numeric bp:id, such as a PubMed id.
  • Old work (low): the service now also clears work left in the layout before exports had a folder each (cache/tmp/{uuid}). Tested by workLeftInTheLayoutBeforeExportsHadFoldersIsRemoved. Beta's cache holds none today.
  • A fair cap (low): new Semaphore(2, true), so a waiting request of one export is not overtaken by later ones of the other.
  • Node's comment (low): it now says the queued worst case passes the 290 s headers' time and gets the 503, as T069 measured.

Checked here:

  • The image built, with its unit tests.
  • check.sh passed over both fixtures.

Not seen failing: I did not see the new Java test fail locally, which would mean a second image build with the change reverted. Its assertion is direct: the leftover folder is gone after construction.

🤖 Generated with Claude Code

…a fair cap

check.sh's event selection used `grep && echo` in a loop: under pipefail a
last candidate not in its file ended the script silently; it is an if
now, and it matches the event's own database-id xref (its comment ends
with the id), not any numeric id. The service clears work left in the
layout before exports had a folder each (cache/tmp/{uuid}), with a test.
The shared cap is fair, so a waiting request of one export is not
overtaken by later ones of the other. Node's comment says the queued
worst case passes the headers' time and gets the 503, as T069 measured.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adamjohnwright
adamjohnwright merged commit 14fd04a into main Oct 29, 2026
8 checks passed
@adamjohnwright
adamjohnwright deleted the s015/t069-followup branch October 29, 2026 19:58
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