Author SHA1 Message Date
Bendik Aagaard LynghaugandClaude Opus 4.8 6c3aa46ab0 Fix voices-echoed card: emit bare object, not wrapped array
Lint and reload / lint (pull_request) Successful in 3s
Lint and reload / reload (pull_request) Skipped
The portal's apply_jq collects the jq output stream into an array
itself. The wrapping [ … ] made the filter emit one array-valued
output, which nested to [[{…}]] and failed the array-of-objects card
renderer, dumping raw JSON. Emit a bare object like the releases jq
does, so it collects into [{…}] and renders as a card.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ByshXuDEzH8hXh5qp4VgGk
2026-09-11 11:47:56 +02:00
bl c8d181b8a5 Merge pull request 'Flaunt 'voices echoed so far' on the index (live /pulse count)' (#4) from voices-echoed-count into main
Lint and reload / lint (push) Successful in 2s
Lint and reload / reload (push) Successful in 0s
Reviewed-on: #4
2026-09-11 08:21:18 +00:00
Bendik Aagaard LynghaugandClaude Fable 5 bafdb87102 Flaunt 'voices echoed so far' on the index, live from the relay's /pulse
Lint and reload / lint (pull_request) Successful in 2s
Lint and reload / reload (pull_request) Skipped
A 'The count so far' feature in the index's 'Meet a network' alternative
fetches https://relay.redoal.com/pulse (redoal ADR-0023) with a kind:url
resource and shapes { voices_echoed: N } into one card — the number as
the heading, 'voices echoed so far' beneath. Lint-clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-10 07:36:23 +02:00
+24 -18
View File
@@ -4,9 +4,7 @@ description: >
redoal is a gesture-addressed network. Draw a line and it becomes redoal is a gesture-addressed network. Draw a line and it becomes
an address — the drawing itself, ready to use the moment your hand an address — the drawing itself, ready to use the moment your hand
lifts. Similar drawings land near each other, and everything else lifts. Similar drawings land near each other, and everything else
follows from that. Draw one below and see who's near. Any hand follows from that. Draw one below and see who's near.
can draw — human or machine — and the network holds both to the
same promise: be the same hand you were yesterday.
responsible: responsible:
name: Bendik Aagaard Lynghaug name: Bendik Aagaard Lynghaug
contact: bl@uhhm.no contact: bl@uhhm.no
@@ -42,6 +40,25 @@ alternatives:
The one trick, and what it enables — the parts that run today, The one trick, and what it enables — the parts that run today,
said plainly. said plainly.
features: features:
- name: The count so far
description: >
Live from the front-door relay — the running tally of what's
been left at places.
icon: lucide:activity
resource:
source:
kind: url
url: https://relay.redoal.com/pulse
public: true
# /pulse (redoal ADR-0023) returns { voices_echoed: N }; shape
# it into one card — the number as the heading, the phrase
# beneath. Emit a bare object, not a wrapped [ … ]: the portal
# collects the jq output stream into an array itself, so a
# wrapping [ ] nests it ([[{…}]]) and drops to a raw JSON dump.
jq: >
{ "name": (.voices_echoed | tostring),
"description": "voices echoed so far" }
empty: The first voice hasn't echoed yet.
- name: A drawing is an address - name: A drawing is an address
description: > description: >
The computer measures how your line curves, turns, and keeps The computer measures how your line curves, turns, and keeps
@@ -74,22 +91,11 @@ alternatives:
icon: lucide:stamp icon: lucide:stamp
- name: Draw and speak, and you're in - name: Draw and speak, and you're in
description: > description: >
The primitives are the drawn line and the voice. A child, The primitives are the drawn line and the human voice. A
an elder, a newcomer still learning the local script — or a child, an elder, or a newcomer still learning the local
machine with a steady hand — arrives on the same terms as script arrives on the same terms as everyone else — that is
everyone else; that is the whole entry requirement. the whole entry requirement.
icon: lucide:hand icon: lucide:hand
- name: But can AI do that?
description: >
It can — a machine can draw a line and leave a voice, and
one wrote much of the code this page runs on, in the open.
redoal asks a question people and machines answer the same
way: are you the hand you were last time? Every stroke and
every recording is sealed by its maker's own key, so who
you meet is whoever keeps showing up as themselves.
Resemblance decides closeness, continuity decides identity,
and those terms hold for everyone who draws.
icon: lucide:bot
- name: Carried by iroh, through varde - name: Carried by iroh, through varde
description: > description: >
What is left at a place is kept and mirrored by What is left at a place is kept and mirrored by