Repository navigation
unison: refpulse, the live DOI check behind the site's button - #67
Merged
Merged
Conversation
Force the routes thunk ((health <|> check)()) and install @unison/base directly, so IO.net.URI.parse is no longer ambiguous. just unison-serve answered /health 200 and /check 302 / 404 with CORS *. The deploy to Unison Cloud still waits for the owner's login. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
just unison-deploy put refpulse on Unison Cloud; the button now asks its hash URL. Naming the service (/s/refpulse) failed with 401, so the name waits. The screenshot is the built site answered by the deployed service. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What Unison is (code named by its hash), and which step is a remote computation: the deploy sends the function itself to Unison Cloud; the click is an ordinary GET. Running the checks on many machines (Remote.fork) is named as the next step, not claimed. Each fact quotes a page of unison-lang.org or unison.cloud, read 15 October 2026. 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.
Task
The site's Live section gets a button, "Check the DOIs now". The button calls refpulse, a
Unison HTTP service, and shows if each DOI of the book resolves at doi.org (owner's request:
"I want the DOI check to be implemented in the website ASAP").
unison/refpulse/refpulse.u: the service.GET /health, andGET /check?doi=…(8 DOIs atmost), JSON with
Access-Control-Allow-Origin: *.unison/refpulse/README.md, "In plain words", and a short paragraph on the site: what Unisonis, and that the deploy is the remote computation (the function itself is sent to Unison Cloud),
while the click is an ordinary GET. Fanning out over machines (
Remote.fork) is the next step.site/: the button, its states, and?refpulse=<url>for a local test. The site still workswhen the service is down.
just unison-install,just unison-serve,just unison-deploy.ucmcomes from the new.#unisondev shell..claude/settings.json: themattpocock-skillsplugin is on for every reader of therepository (owner's request), listed in
.claude/skills/README.md.Proof
The site, built with
just site-build, in headless Chrome, with no?refpulse=override. Thebutton is answered by refpulse deployed on Unison Cloud:
just unison-install: exit 0.refpulse.ucompiles against@unison/base7.20.0,@unison/cloud27.3.1 and@unison/routes7.0.2.curl:/healthgave 200./checkgave 302 for the book's DOI and 404 for a made-up DOI, withthe CORS header.
just check: pass.cd site && gleam test: 20 passed.Deployed.
just unison-deployput refpulse on Unison Cloud.refpulse_urlis its hash URL,https://h0ffmann.unison-services.cloud/h/uidn3rn5oag2ww53c5h4tltjlje76o3nlm44ct7tyjarcn24j2eq;/healthgave 200, and/check302 and 404, with CORS. Open: naming the service(
/s/refpulse) failed with 401 Unauthorized. A hash URL changes when the code changes, so put/s/refpulseinrefpulse_urlonce the name works.Checklist
prose/is changed inprose-ste/andprose-pt-BR/too. (No prose changed.)docs/2-engineering/changes/. (No hard rule changed.)🤖 Generated with Claude Code