i

Updates

38 changes

This is not a blog. It is the building's own record: every change that altered something a reader can see, newest first, with links to the rooms it touched. Nothing here was written for this page — it is generated from the commit log by pipeline/derive_updates.py, which is the only reason to believe it will still be accurate in a year.

Changes that touched only the pipeline, the build or the tooling are left out. They are real work and they are not news. 26 of 38 name at least one room, and every one of those links was checked against the site that was actually built.

August 202637

  1. 27 Aug
    The lift's seven pages become redirects, and 63 arrows stop pretending to be entries

    /terms/<slug>/ 301s to /dictionary/<slug>/. Once the entry carried one table of every place a word appears with the judgements marked in it, those seven pages were saying the same thing a second time. /terms/ itself stays — the words this building uses on more than one floor is a real view, it just does not need seven detail pages behind it. Two are not one-to-one: the lift's `skeleton` and `progress` are `Skeleton S

    dictionary

    0c65ca000
  2. 27 Aug
    The menu was not content, and the carousel does not appear on the About page

    Chasing the duplication between the lift and a lemma page found a bigger fault underneath it. prep_dictionary.py strips script, style, nav and footer from each page before scanning it — but the mega menu is a <div> inside <header>, a SIBLING of the <nav>, so it survived. That menu names every room and every desk item on all 519 pages.

    7ca993c3c
  3. 27 Aug
    The lemma page loses its lecture and gains a rail

    The warrant paragraph is gone. It explained to a reader what kind of page they were on, which they could see, and it pushed the entry itself below the fold to do it. The one piece of information inside it — that a floor has judged this word — is now a link on the metadata row, where it takes four words instead of forty.

    27c1c26f3
  4. 27 Aug
    A page per word, for the words that earn one

    /dictionary/<slug>/ — 452 entries, each with the definition, its category, its synonyms, what it is not to be confused with, the design systems that ship a component of that name, a sortable index of every page in the building that uses it, and a citation in six styles.

    dictionary

    040e66aa5
  5. 27 Aug
    The dictionary was reading its own output

    Two feedback loops, both firing for the first time on this build because both needed the dictionary page to exist before they could bite.

    d5e6711cc
  6. 27 Aug
    Headers that sort, classes that have names, and a page that writes itself

    "A contract with optional terms" was broken and the cause was the second class-name collision of the day: a caption paragraph called `.foot` inheriting the site footer's five-column grid, so its separators rendered as grid cells. Yesterday it was `.tl`, a page-length chronology clamped to the 26px height of a table-cell sparkline.

    accommodationsaria propertiesbank interfacesdesign systemsdesign toolsgovernment ux

    c0ad3d7b8
  7. 27 Aug
    Ten principles you can actually break, and doors that say what is behind them

    The Stairwell gets a page per principle, and each one carries a bench: the same task built twice, one interface breaking the principle and one keeping it, both real and both timed from the reader's first move. A screenshot of a bad interface is a claim about a bad interface. A bad interface you have to use is evidence, and the reader produces it themselves.

    aboutcollectionsbank interfacesdesign systemsgovernment uxstairwell

    d85fe3171
  8. 27 Aug
    Eleven libraries that were not there, and a filter that stays in reach

    You spotted three. Checking all forty-five found eleven.

    referatory

    a77770816
  9. 27 Aug
    Four collections stop printing their findings and start showing them

    Two are about WHEN and rendered a column of ISO strings, which asks a reader to sort thirty dates in their head to see a gap that is the entire point. Two are about WHETHER and rendered a comma-separated list of names, which asks them to diff eight sets by eye.

    accommodationscomponent censusconventionsthe lag

    d74141461
  10. 27 Aug
    The design systems are measured against themselves

    A design system is the one artefact in this building that can be checked against itself: it tells other people how to build, and the telling is itself built. The register listed 122 of them and showed none.

    design systems

    29eba0515
  11. 27 Aug
    The registers of other people's sites now show them

    The referatory, the tool register and the design-system register were each a table of names and links — three pages about the visual web carrying no visual identity anywhere on them. A site's own mark is the cheapest correction and the most accurate one, because it is what the reader meets on arrival.

    design systemsdesign toolsreferatory

    7e2430754
  12. 27 Aug
    The grid collection draws its grids

    A collection about drawings, rendered as a table of measurements. It asked a reader to hold twelve columns, a 20px gutter and a 960px max width in their head and picture the result — when the picture is the subject.

    grids

    bb92f3e8f
  13. 27 Aug
    The dictionary, admitted one word at a time

    The source holds 16,799 terms. This page holds 753, and the difference is the method rather than a shortfall: a term is admitted only where the building already uses the word — as the name of a row in a collection, or in the prose of a page. Publishing all of them would double the site with entries nothing here has anything to say about, and `approved` is empty on every row of the source, so there is no publish gate

    dictionarysearch

    000424981
  14. 27 Aug
    Search finds rows, and hands them to the filter that holds them

    The search page carried an honest note: "rows want facets, prose wants full text, and one tool does not do both well." True, and it left a reader who knows the words "Wells Fargo" having to work out which of twenty-two collections holds them before they could look. Pagefind indexed the prose around the table and not a single row inside it.

    bank interfacessearch

    560b1e761
  15. 27 Aug
    Every floor gets an address, and the menu stops being the site map

    The mega menu listed every room of every open floor. Collections alone contributes twenty-two, so the panel carried about fifty links, overflowed the viewport at any realistic height, and pushed the lower floors off the bottom — which meant the Basement and the Stairwell, the two floors most worth arriving at, were the two you could not reach.

    the buildingflowsobservatory

    ebd65778c
  16. 27 Aug
    Three collections, and the first one that shows what it is about

    A building whose subject is where the hand meets the machine had twenty-two collections and not one content graphic in any of them. Fifteen hand-drawn figures live on the authored floors; the collections floor was tables of numbers all the way down. That is the flaw this commit starts on.

    bank interfacesdesign systemsgovernment ux

    9717d1e2f
  17. 26 Aug
    Two fabricated rows out of the grid register

    arabic-rtl-grid and ethiopic-grid both cited https://example.com/ — a domain RFC 2606 reserves precisely so that nobody can claim it, which makes a citation to it the absence of a source wearing a URL. Both also named a category rather than a publisher: "Middle East Publishers", "Ethiopian Gov". That is the same tell twice.

    07c658329
  18. 26 Aug
    The register is dropped; the institutes resolve at mikko.gr

    618.institute stops being the register. Every institute now carries a quiet link to mikko.gr/institutes/ in its place — the person hub was always the only surface that could hold both institutes and applications without ceasing to be what it claims, and this removes the branch that had to be kept true on the day it shipped.

    d29f0b32c
  19. 26 Aug
    Three collections from the estate: grids, tools, and where the screenshots are

    The Collections floor gains three registers built from the datasets tree rather than a vendored spec — the arrangement prep_mtr.py already uses, so each is skipped rather than fatal when that tree is not checked out alongside.

    collectionsdesign toolsgridsreferatory

    827ba8638
  20. 15 Aug
    Add the ORCID to the author entity

    0000-0002-2993-6545, verified against the ORCID public API. First in sameAs because it is the only entry that is an identifier rather than a profile: issued once, never reassigned, independent of spelling. The estate does not spell the name consistently — two variants across six properties, and two with no Person node at all — so the identifier is what binds them to one person without the names having to be reconcile

    a9f8c35e2
  21. 15 Aug
    Square tesserae on any width; Dataset nodes Google can read

    The mosaic. Rows were stretching to fill the box, so tiles were only square where the aspect ratio and the tile count happened to agree — on a phone they came out 7px with a 1px grout line, a seventh of the tile, and the wall read as noise. Tiles are now square by aspect-ratio and the box crops what does not fit, which is what standing in front of a wall does. Fewer columns below 620px and 420px, so a phone gets a cl

    collectionsaccessibility lawaccommodationsaria propertiescomponent censusconventions

    9c1af5e4a
  22. 15 Aug
    The lift: drop the standfirst from term pages

    The two headings already say judged and counted; the paragraph explaining the difference was restating a distinction the page makes structurally.

    639e13b75
  23. 15 Aug
    The lift: a page per judged term

    The index has said since it was written that this route was coming and said what would gate it. `hasOwnPage` was already in lib/terms.ts, already tested on the index, and had nothing consuming it — so seven terms that the building actually judges had no URL of their own.

    99a37b2c9
  24. 15 Aug
    Floor 5 · Specimen 02: the MTR station colour as a two-level address

    The finding is that the station colour is not an identifier but the second half of one. Ten lines carry ten mutually distinct colours, published on every map; within a line, only 15 of 940 station pairs fall inside ΔE 10. So the address is (line, colour), and it resolves — but only for someone who already holds the coarse half, which is learnt by reading the very signage the tiles were meant to stand in for.

    bank navigationmtr station colour

    3c664929c
  25. 14 Aug
    Build the lift — a term index, rather than moving every URL

    The question was whether to make terms canonical at the root — /button — or to repeat a concept under several floor paths. Neither. Flat terms collide with site furniture immediately: eleven slots at root already, and /search is both a page and one of the twenty-five archetypes. Repeating a concept under two paths is the cannibalisation we removed when splitting the Basement. And the building already has canonical id

    30d02e3a3
  26. 14 Aug
    Open Motion on Floor 1 — six meanings, and the page answers for itself

    A motion is not an effect. It is an assertion about what just happened — that something is new, that it is gone, that these two things are one thing — and like any assertion it can be false. Six entries: arrival, dismissal, origin, progress, rejection, reveal.

    7eed5105d
  27. 14 Aug
    Open the form collection — two publishers, licences named per source

    "The form that assumes your name" is the first collection in this building drawn from two publishers, and that is the finding rather than a compromise: there is no single authority on how to write down who a person is and where they live.

    the form

    25eac5a8a
  28. 14 Aug
    Open the ARIA properties collection; link every collection to its documents

    "A contract with optional terms" reads WAI-ARIA 1.2 in both directions — what each attribute applies to, and what each role requires, supports, inherits and prohibits.

    accessibility lawaccommodationsaria propertiescomponent censusconventionsinput purposes

    3fff6a186
  29. 14 Aug
    Open the keyboard collection

    "The keyboard nobody binds" joins the 284 UI Events key values against the keys the ARIA Authoring Practices actually bind across their thirty patterns.

    the keyboard

    0be838cfc
  30. 14 Aug
    Cite the Institute, not the director; reword the imprint

    The author of an entry is the Institute. What an entry claims rests on the house method — a named source, a confidence marker, a limits note, and a build that refuses anything missing them — rather than on one person's opinion, and the collections have no personal authorship at all: they are reproductions of published registers. Corporate authorship is also what survives a second contributor. The director stays credi

    14bf03b1c
  31. 14 Aug
    Open the input-purposes collection; the 05 return invented its finding

    "What a form field may be about" joins the WHATWG autofill field names against WCAG 2.2's Input Purposes list. Fifty-four tokens, fifty-three of them shared, and the one that is not is one-time-code — the only token that is about proving who you are rather than describing who you are. WCAG did not write a taxonomy of what a control can be for; it adopted the one browsers were already using to fill in forms.

    input purposes

    b178ae361
  32. 14 Aug
    Open the accommodations collection; bank the seven research returns

    "What the platform learned to ask" joins the user-preference and interaction media features of Media Queries 5 against Baseline dates. The finding is chronological, so the page is a chronology:

    accommodations

    c6956bf2a
  33. 14 Aug
    Footer marks and imprint; stop the citation hiding inside the rail

    The two profiles are the ones the rest of the estate already declares as sameAs — mikko.gr, 618.institute and waypoints.now all carry the same pair — so they are taken from there rather than guessed, and they now go into this site's own JSON-LD as well, which had the curator with no sameAs at all.

    c86a83fcc
  34. 14 Aug
    Correct the citations, fix the switcher, drop cross-readings, open the ACT collection

    The citation styles were wrong in every case. They printed "Mike Oustamanolakis, PhD" verbatim, and no style here carries a postnominal — a doctorate is not part of a name bibliographically — while all four invert the author, family name first, and APA and Harvard want an initial rather than the given name in full. The engine now takes family and given separately and builds the right form per style: Chicago and MLA i

    what can be testedbank navigation

    7c25d7b8b
  35. 14 Aug
    Stack the menus, draw the journeys as paths, and take the light theme to AAA

    The two reconstructions were side by side, which reads as a diff. Stacked they read as two documents, which is what they are, and each one now gets the full width and three columns — the whole UK menu is legible at once, then Hong Kong's. Flags mark the market, aria-hidden, since the market is already named in text.

    bank navigation

    e8c1d7715
  36. 14 Aug
    Floor 5: the two menus and three journeys; briefs for commissioned research

    The bank-navigation specimen carried the count and the trade-off but not the object. It now carries the menus themselves — every label under HSBC UK's Wellbeing slot against every label under HSBC HK's Insights, drawn as menus rather than described as lists, because reading the whole of one at once is the argument. Twenty-one destinations in the vocabulary of a person in trouble; twelve addressed to somebody with cap

    bank navigation

    82c1cc31d
  37. 14 Aug
    Authored floors to markdown; a page per room; citation tool; AAA footer

    The authored entries no longer live as prose inside the v3 HTML prototypes, scraped out by a 400-line regex whose own comments record four occasions when it silently ate a field. They are markdown under astro/src/content/, one file per room, and the house rules are a Zod schema the build enforces: a principle without its limits does not ship, a pattern without a two-sided judgement does not ship, a failure without it

    the buildingaccessibilitybasementaccidental commercecookie bannerdark

    49384ef84

July 20261

  1. 31 Jul
    Launch interfaces.institute — six of nine levels open

    The site is live at https://interfaces.institute. This is everything needed to rebuild it elsewhere: the prep scripts, their validated output, the v3 prototypes the authored floors are ported from, and the Astro source.

    the buildingbasementcollectionsaccessibility lawcomponent census

    209e476bd

Corrections are the entries worth reading twice. When something published here turns out to be wrong, the fix and the error both stay on the record — the Basement is where the largest of them live, with the reasoning intact.