Bendik Aagaard Lynghaug and Claude Opus 5
22d086f9e1
A resource can show only its newest few
...
docs / deploy (push) Successful in 2s
Test / test (push) Successful in 2m0s
`limit: n` on a resource spec, applied after `jq`.
The releases card is what asked for it: a page that grows by one card
per release gets longer forever, and the cut a visitor should run is the
newest one — the rest are history, not an invitation. redoal's card had
every release on it.
After `jq` rather than before, for two reasons: it caps what the page
will actually render whatever the filter did, and content that reorders
with the filter can then take the top of its own ordering rather than
the top of the source's. A source yielding a single record has no length
and passes through untouched — turning one record into an empty list
would be worse than ignoring a limit that cannot apply. `limit: 0` on a
list does mean nothing, and the `empty` line speaks instead, which is a
coherent thing for content to ask for.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01ByshXuDEzH8hXh5qp4VgGk
2026-10-04 22:51:12 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
48ae5e07c2
Release 0.6.18
...
docs / deploy (push) Successful in 2s
Test / test (push) Successful in 2m0s
Publish release / publish (push) Successful in 1m50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.6.18
2026-10-03 10:48:22 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
b619926a11
generate follows its findings through, and stops when it stalls
...
Each structure round is logged as fixed, still open, new and reopened;
a fix round sees the open findings with their fixes and only the files
they name; a change that reopens a closed finding is undone; a round
that closes nothing ends the phase with what is left in run.log. A
hesitant visitor alone no longer triggers a wording rewrite.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 10:48:09 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
706c8108df
iris check --findings: every finding as JSON with a stable id
...
The id hashes scope, need, code and subject, nothing of the wording, so
the same gap keeps its id across runs. Every message that knows its fix
says it after "fix:". Codes listed in docs/lint.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 10:48:09 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
2feeea0810
Release 0.6.17
...
docs / deploy (push) Successful in 2s
Test / test (push) Successful in 2m12s
Publish release / publish (push) Successful in 1m55s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MznPTC31w5mSUK4XMehcpi
v0.6.17
2026-10-02 11:26:13 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
6b91258ebe
One set of mail variables for every mail, and {link} in state mails
...
{site} and {site_name} everywhere; a state mail adds {self_link} (the
submitter's own page, when their record's state allows a move there),
{desk_link} and {link}, which picks by who the mail is to. gullberg's
{link} mails went out blank until now. Documented in docs/mail.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MznPTC31w5mSUK4XMehcpi
2026-10-02 11:25:49 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
ae119af987
A desk shows the three newest finished records, and older on request
...
Every record still moving stays; of those in a final state only the
three most recently decided, plus one so the page knows to offer
"Show older", three more at a time.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MznPTC31w5mSUK4XMehcpi
2026-10-02 11:25:49 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
92dd9bfc79
The lint walks every state of every bucket a need lands in
...
Clocks count as moves and a visitor's link only from its own states.
Per bucket: a state nothing reaches fails, a state a record can reach
and never leave fails (after done too), a declared move nobody offers
warns, a desk gated twice warns, and a mail from an unreachable state
or naming a field no form collects is caught. Working stages must
follow each other. Every finding ends in its fix, and a schema error no
longer hides the needs findings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MznPTC31w5mSUK4XMehcpi
2026-10-02 11:25:49 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
2cc74e3354
CI builds and lints every plan with this portal
...
Test / test (push) Successful in 2m35s
The check portal-trainer's CI ran with the standalone trainer, which
kept failing on a builder bug fixed here long ago. Now it runs where the
trainer lives, with the same binary.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01MznPTC31w5mSUK4XMehcpi
2026-10-02 09:27:44 +02:00
Bendik Aagaard Lynghaug
7b54c4c6d7
Release 0.6.16
Test / test (push) Successful in 1m8s
Publish release / publish (push) Successful in 1m56s
v0.6.16
2026-10-01 21:46:45 +02:00
bl
951fac9aec
Merge pull request 'Test fixtures get the action the lint now requires' ( #28 ) from fixture-action into main
Test / test (push) Successful in 1m10s
2026-10-01 19:46:29 +00:00
Bendik Aagaard Lynghaug and Claude Fable 5.1
738dbac7fe
Test fixtures: every form has the action the lint now requires
...
Test / test (pull_request) Successful in 21s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 21:46:24 +02:00
bl
98f93f5ad5
Merge pull request 'A form with no action is refused; portal iris' ( #27 ) from form-needs-action into main
docs / deploy (push) Successful in 3s
Test / test (push) Failing after 1m7s
2026-10-01 19:42:03 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
4049809aa4
The lint refuses a form with no action, which would have no button; portal iris names the lint
...
Test / test (pull_request) Failing after 1m11s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 21:41:56 +02:00
Bendik Aagaard Lynghaug
b43ff57eab
Release 0.6.15
Test / test (push) Successful in 1m14s
Publish release / publish (push) Successful in 2m5s
v0.6.15
2026-10-01 18:06:16 +02:00
bl
ed235cd134
Merge pull request 'An invite may carry its own mail' ( #26 ) from invite-mail into main
docs / deploy (push) Successful in 3s
Test / test (push) Successful in 1m52s
2026-10-01 16:06:14 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
cc9f1c5d87
An invite may carry its own mail, with the form's fields and a spoken date and time
...
Test / test (pull_request) Successful in 1m9s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 18:06:12 +02:00
bl
01abf79005
Merge pull request 'Klingenberg Bygg plan: Fredrik's caption corrections' ( #25 ) from kb-fredrik-captions into main
Test / test (push) Successful in 1m9s
2026-10-01 15:57:10 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
506bb712fe
Klingenberg Bygg plan: Fredrik's two caption corrections from the live site
...
Test / test (pull_request) Successful in 1m10s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 17:57:08 +02:00
Bendik Aagaard Lynghaug
74fd2d1750
Release 0.6.14
Test / test (push) Successful in 1m11s
Publish release / publish (push) Successful in 1m57s
v0.6.14
2026-10-01 17:47:51 +02:00
bl
ae521c0fa2
Merge pull request 'Less room above the wordmark' ( #24 ) from hero-top-space into main
docs / deploy (push) Successful in 11s
Test / test (push) Successful in 1m13s
2026-10-01 15:47:47 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
d0ee06f48c
Less room above the wordmark, now that who is here sits on its line
...
Test / test (pull_request) Successful in 1m51s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 17:47:45 +02:00
Bendik Aagaard Lynghaug
6a9be3bef4
Release 0.6.13
Test / test (push) Successful in 1m5s
Publish release / publish (push) Successful in 1m48s
v0.6.13
2026-10-01 11:40:32 +02:00
bl
49be010e8e
Merge pull request 'Who is here on the wordmark's line; signed-in people aren't asked for their name' ( #23 ) from prefill-everywhere into main
docs / deploy (push) Successful in 3s
Test / test (push) Successful in 1m5s
2026-10-01 09:40:29 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
78f42e6f8a
Who is here on the wordmark's line; every form carries a signed-in person's name and address
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 11:40:27 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
9b50c9cab8
Gullberg: i Ås, ikke på Ås
...
Test / test (push) Successful in 1m4s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 11:09:08 +02:00
bl
858a66d84e
Merge pull request 'GULLBERG sanatorium: plan, words, wordmark; a board may publish its own list' ( #20 ) from gullberg-plan into main
Test / test (push) Successful in 1m5s
2026-10-01 08:44:09 +00:00
Bendik Aagaard Lynghaug
bf92666b3e
Merge branch 'main' into gullberg-plan
Test / test (pull_request) Successful in 1m4s
2026-10-01 10:42:35 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
b070d77acd
Gullberg: the house behind Ås kirke, rooms for everyone with students first, mails written to the reader who opens them
...
Test / test (pull_request) Successful in 1m5s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 10:41:41 +02:00
Bendik Aagaard Lynghaug
cc07cd321d
Release 0.6.12
Test / test (push) Successful in 1m5s
Publish release / publish (push) Successful in 1m44s
v0.6.12
2026-10-01 10:41:31 +02:00
bl
7a2e45c6c4
Merge pull request 'Trainer: the words model knows who opens each mail' ( #22 ) from mail-recipients into main
docs / deploy (push) Successful in 3s
Test / test (push) Successful in 1m43s
2026-10-01 08:41:29 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
8f24e5483c
Trainer: tell the words model who opens each mail
...
Test / test (pull_request) Successful in 1m9s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 10:41:27 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
b970c64c6a
Gullberg wordmark: sanatorium set in a little from the edges
...
Test / test (pull_request) Successful in 1m7s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 10:19:43 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
8a1fbd92ba
Gullberg wordmark: sanatorium spread to GULLBERG's width
...
Test / test (pull_request) Successful in 1m8s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 10:16:04 +02:00
Bendik Aagaard Lynghaug
1929d2f44e
Release 0.6.11
Test / test (push) Successful in 1m8s
Publish release / publish (push) Successful in 1m50s
v0.6.11
2026-10-01 09:33:31 +02:00
bl
26c1d447f3
Merge pull request 'wordmark_ink: the wordmark in the page's own ink' ( #21 ) from wordmark-ink into main
docs / deploy (push) Successful in 3s
Test / test (push) Successful in 1m8s
2026-10-01 07:33:28 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
8376c68f8f
wordmark_ink: an SVG wordmark drawn in the page's own ink, following light and dark everywhere
...
Test / test (pull_request) Successful in 1m8s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 09:33:27 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
b9f69a5e7a
Gullberg wordmark as Futura outlines, cropped to the letters
...
Test / test (pull_request) Successful in 1m7s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 09:28:47 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
37624e8e2b
Gullberg: reviewed Norwegian words (nine misreadings fixed, invite mail written), tenants follow their own fault reports
...
Test / test (pull_request) Successful in 1m7s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:36:45 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
902dc36831
Gullberg: lighter on the bank, the co-owner offer held back, and the points the shareholder agreement must cover
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:28:28 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
54efedef56
Gullberg draft: the site as the bank's running proof that the company operates; the ownership transfer step by step; a read-only bank group
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:20:35 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
742be200a9
Gullberg draft: two of the four quarters are for sale; finding the co-owners comes first; the bank parts only if the company borrows
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:18:25 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
2d695f990b
Gullberg draft: four equal shareholders; faults go to Klingenberg Bygg, its estimates to the board and the reports
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:15:35 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
b016dfd964
Gullberg draft: the whole house in Gullberg AS, two shareholders, a bank lender; what the bank requires
...
Test / test (pull_request) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:11:44 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
35e9586e77
Gullberg draft: the repayment plan all shareholders approve, and the monthly rent ledger
...
Test / test (pull_request) Successful in 1m7s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 07:07:26 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
4e211ddbff
Draft: GULLBERG sanatorium's plan, business-plan outline and wordmark; a board's published list may be public
...
Test / test (pull_request) Successful in 1m14s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 22:34:33 +02:00
Bendik Aagaard Lynghaug
c8901558b2
Release 0.6.10
Test / test (push) Successful in 1m18s
Publish release / publish (push) Successful in 2m1s
v0.6.10
2026-09-30 21:52:28 +02:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
02c94ae5dc
Changelog: 0.6.10
...
docs / deploy (push) Successful in 2s
Test / test (push) Successful in 1m11s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 21:52:25 +02:00
bl
5fc29fe5a6
Merge pull request 'Who we are, on its own page; inside forms ask real questions' ( #19 ) from present-yourself into main
docs / deploy (push) Successful in 3s
Test / test (push) Successful in 1m10s
2026-09-30 19:52:24 +00:00
Bendik Aagaard Lynghaug and Claude Opus 5.5
e6c4f67db7
Who a business is gets a page of its own; inside forms ask real questions; build names untried needs
...
Test / test (pull_request) Successful in 1m12s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-09-30 21:52:23 +02:00