Skip to content
quarry Today In History
Login

Today In History

This Day In History For 2027-09-05

1 Year Ago (more context)

2026-09-05
21:22 • Edit [932daa0900]: Add "ci-pass" with value "fe724cd265f1d6a6d4489a24975f5031". artifact: 45d5b9ba81 user: quarry
21:21
land feed-clip check-in: 932daa0900 user: dmestas tags: trunk
21:21 • Edit [932daa0900]: Add "landing" with value "d1eeaab38d899e57274f32755158a6c098430d18aaf53c0b5128a6a5d12b29fa". artifact: 4598bc51fe user: quarry
21:21 • Reply: The dashboard feed drew a landing's whole message as its bold title, so a paragraph-long landing message became a wall of bold text. The timeline already solves this: a landing's title is its first line, clipped on a word at a fixed width with a mark. The feed row now does the same (110 characters), for every kind of event. A test renders a paragraph-long landing event and requires a clipped, marked title. artifact: 0ae839fcdb user: dmestas
21:21 • Edit [d184906e21]: Mark "Closed". artifact: 4652982985 user: quarry
21:20 • Edit [d184906e21]: Add "ci-pass" with value "21227aec6eef12517c1a0cb4a40004dc". artifact: 5912d18649 user: quarry
21:19 • Post: The dashboard feed drew a landing's whole message as its bold title, so a paragraph-long landing message became a wall of bold text. The timeline already solves this: a landing's title is its first line, clipped on a word at a fixed width with a mark. The feed row now does the same (110 characters), for every kind of event. A test renders a paragraph-long landing event and requires a clipped, marked title. artifact: d1eeaab38d user: zeitgeist
21:19
Dashboard feed titles are one clipped line, as the timeline draws a landing's title; a paragraph no longer arrives as a wall of bold closed check-in: d184906e21 user: dmestas tags: feed-clip
21:06 • Edit [1641661a60]: Add "ci-pass" with value "0be19650247cd8d7c57370a82c746298". artifact: fa4faf837e user: quarry
21:06
land account-switch check-in: 1641661a60 user: dmestas tags: trunk
21:06 • Edit [1641661a60]: Add "landing" with value "275119821c8ec503ef37d9fc1122416cbba156250716357aa168df15f8c252df". artifact: a2b19da1be user: quarry
21:06 • Reply: GitHub's account switcher, sized for the beta. The active session stays in the session cookie; a second HttpOnly cookie stashes the other session's token. Signing in while signed in as someone else keeps the current session in the stash instead of discarding it; signing in as the same account supersedes the old session. The account menu lists the stashed accounts with a Switch button each (a POST carrying the name, never a token, returning to the page you were on) and an Add account link while there is room. Signing out ends the active session and wakes the stashed one; with nothing stashed the browser is signed out as before. maxAccounts is 2, the active one included, one constant to raise. Tokens that no longer resolve are dropped on the next request, and a third sign-in ends the oldest stashed session server-side. One test walks the whole cycle. artifact: 3fa35d40db user: dmestas
21:06 • Edit [dd3493689f]: Mark "Closed". artifact: 44b8e287d6 user: quarry
21:05 • Edit [dd3493689f]: Add "ci-pass" with value "5884f97a693d1d9ce7a76f2fcaf54cc8". artifact: b174507dd4 user: quarry
21:02 • Post: GitHub's account switcher, sized for the beta. The active session stays in the session cookie; a second HttpOnly cookie stashes the other session's token. Signing in while signed in as someone else keeps the current session in the stash instead of discarding it; signing in as the same account supersedes the old session. The account menu lists the stashed accounts with a Switch button each (a POST carrying the name, never a token, returning to the page you were on) and an Add account link while there is room. Signing out ends the active session and wakes the stashed one; with nothing stashed the browser is signed out as before. maxAccounts is 2, the active one included, one constant to raise. Tokens that no longer resolve are dropped on the next request, and a third sign-in ends the oldest stashed session server-side. One test walks the whole cycle. artifact: 275119821c user: zeitgeist
21:02
Two accounts in one browser: signing in while signed in stashes the session, the account menu switches, sign out wakes the other closed check-in: dd3493689f user: dmestas tags: account-switch
18:50 • Edit [7c73460af2]: Add "ci-pass" with value "cccb7b985138faa78d5813888f81470d". artifact: 0b077d20cc user: quarry
18:50
land people-table check-in: 7c73460af2 user: dmestas tags: trunk
18:50 • Edit [7c73460af2]: Add "landing" with value "964ef65f75fcdb309b49d7c40b273323d7e1bda719213d00c4b43b034b4e4a35". artifact: 7364aeedf8 user: quarry
18:50 • Reply: The fleet People page read as unfinished: bare narrow tables, stacked chunky buttons, a checkbox floating beside the invite button. It is now composed the way a forge people already know draws it. One data-table shape (.dt) for the accounts and the sessions: framed, full width, a quiet uppercase header row, one line per row with the email or the address as a muted sub-line, the actions right-aligned and small, destructive ones outlined in the delete colour. Section headings carry a count. The invite is a card with the fields on one row and a primary button. The same session table serves /me/sessions. Two collisions found on the way: the generic 'tables become blocks' rule needed the framed table to opt back out, and .act was already a chart class. The start page also lost its doubled heading and now reads fossil-first with no line asking anyone for a role, and llms.txt walks an agent through fossil clone, open, commit --branch and push, with zit named once as the large-project client. artifact: a83ac6e009 user: dmestas
18:50 • Edit [53d1eae357]: Mark "Closed". artifact: 008be82c4a user: quarry
18:45 • Edit [53d1eae357]: Add "ci-pass" with value "9025ad0a87164c6e298c8643fe5cc3b2". artifact: 69166aa3ec user: quarry
18:42 • Post: The fleet People page read as unfinished: bare narrow tables, stacked chunky buttons, a checkbox floating beside the invite button. It is now composed the way a forge people already know draws it. One data-table shape (.dt) for the accounts and the sessions: framed, full width, a quiet uppercase header row, one line per row with the email or the address as a muted sub-line, the actions right-aligned and small, destructive ones outlined in the delete colour. Section headings carry a count. The invite is a card with the fields on one row and a primary button. The same session table serves /me/sessions. Two collisions found on the way: the generic 'tables become blocks' rule needed the framed table to opt back out, and .act was already a chart class. The start page also lost its doubled heading and now reads fossil-first with no line asking anyone for a role, and llms.txt walks an agent through fossil clone, open, commit --branch and push, with zit named once as the large-project client. artifact: 964ef65f75 user: zeitgeist
18:42
Fleet People and session tables become framed full-width data tables with a composed invite card; start page and agent guide read fossil-first with no doubled heading closed check-in: 53d1eae357 user: dmestas tags: people-table
18:21 • Edit [bb165979b0]: Add "ci-pass" with value "3ba3c1955a22bf1d5beea0bb622a3764". artifact: ff0dcc3605 user: quarry
18:20 • Closed ticket [e3c1f7f7f3]: Inbox page is not live: the badge updates, the list needs a reload plus 3 other changes artifact: d2fabb4f71 user: zeitgeist
18:19 • Edit [6833a11224]: Add "ci-fail" with value "4fd268b2d0d1b53228e4aabd72a5592b". artifact: b9bd959666 user: quarry
18:19
land inbox-live check-in: bb165979b0 user: dmestas tags: trunk
18:19 • Edit [bb165979b0]: Add "landing" with value "2accd8678761a6dade270bef978b3af5bc143a0b9052e02f9187dd27701db9fd". artifact: 505ba693f6 user: quarry
18:19 • Reply: Two things a reader saw on the phone. The inbox: the badge moved with the attention stream but the list did not until a reload (ticket e3c1f7f7f3). The inbox page now opens the attention stream itself with inbox=1 and its filter, and the stream re-renders the page's live region (the bar, the list, Older) on every event and morphs it in place; an event that changes nothing on the page sends nothing. The page's data assembly is one function shared by the first render and the stream, so they cannot drift, and the layout's own stream opener yields to a page that opened its own, so there is one stream per page. Back button: Safari and Chrome restore a page from the back-forward cache with the DOM it had, streams closed, so a landing that said waiting kept saying it after CI went green. onerror.js, which every page loads first, reloads a live page (one with a data-init stream) on a persisted pageshow; ordinary navigations are untouched. artifact: f690c585c0 user: dmestas
18:19 • Edit [70c47daf2d]: Mark "Closed". artifact: 405a8c38f4 user: quarry
18:19
land layout-fixes check-in: 6833a11224 user: dmestas tags: trunk
18:19 • Edit [6833a11224]: Add "landing" with value "bd76152cdddc2fd70f78616886cd125334acd1b3efb7a6d6935dc56f2822ca7f". artifact: 518920b1df user: quarry
18:19 • Reply: Feed: landing rows get their own glyph and link to the record artifact: df6735c3ee user: dmestas
18:19 • Edit [28c5455230]: Mark "Closed". artifact: 081af5aabc user: quarry
18:18 • Edit [70c47daf2d]: Add "ci-pass" with value "15d1d93145c06ccb01317595f426cf9d". artifact: a33babc0ed user: quarry
18:17 • Post: Two things a reader saw on the phone. The inbox: the badge moved with the attention stream but the list did not until a reload (ticket e3c1f7f7f3). The inbox page now opens the attention stream itself with inbox=1 and its filter, and the stream re-renders the page's live region (the bar, the list, Older) on every event and morphs it in place; an event that changes nothing on the page sends nothing. The page's data assembly is one function shared by the first render and the stream, so they cannot drift, and the layout's own stream opener yields to a page that opened its own, so there is one stream per page. Back button: Safari and Chrome restore a page from the back-forward cache with the DOM it had, streams closed, so a landing that said waiting kept saying it after CI went green. onerror.js, which every page loads first, reloads a live page (one with a data-init stream) on a persisted pageshow; ordinary navigations are untouched. artifact: 2accd86787 user: zeitgeist
18:17
Inbox list rides the attention stream and patches in place; live pages reload when restored from the back-forward cache closed check-in: 70c47daf2d user: dmestas tags: inbox-live
18:09 • Edit [28c5455230]: Add "ci-pass" with value "dbf440eaf85e9f01e242c5c0bd2e2796". artifact: 0d270205ae user: quarry
18:08 • Edit [a90ecf1f01]: Add "ci-pass" with value "b82a27fb80db42576ce4515c0657e1a7". artifact: 5afe6c3272 user: quarry
18:08 • Post: Feed: landing rows get their own glyph and link to the record artifact: bd76152cdd user: dmestas
18:08
Feed: a landing gets the pull-request glyph and links to its record, not the repository files closed check-in: 28c5455230 user: dmestas tags: layout-fixes
18:08
land probe-warm check-in: a90ecf1f01 user: dmestas tags: trunk
18:08 • Edit [a90ecf1f01]: Add "landing" with value "e76ff627396627c5de262cdfeec22d4081e95de555e4be12a7d6b8b5e403f3ca". artifact: 46d29ff15e user: quarry
18:08 • Reply: The 2 to 4 second landing pages on the ops board were the merge probe: a real zit merge dry-run, run the first time a reader opened a landing after either tip moved, then cached by tip pair. WarmMergeProbes now walks every open landing on every repository from a 20-second ticker and asks zit for any tip pair it has not seen, so the page finds the answer cached. The request path is unchanged as a fallback for the window before the ticker fires. A test holds the walk nil-safe on a half-registered fleet. artifact: 4c66f87875 user: dmestas
18:08 • Edit [b78fa0d057]: Mark "Closed". artifact: f5fd8f3820 user: quarry
18:08 • Edit [b78fa0d057]: Add "ci-pass" with value "b402541fcffc3de481423430a97b156d". artifact: 461e687e33 user: quarry
18:06 • Post: The 2 to 4 second landing pages on the ops board were the merge probe: a real zit merge dry-run, run the first time a reader opened a landing after either tip moved, then cached by tip pair. WarmMergeProbes now walks every open landing on every repository from a 20-second ticker and asks zit for any tip pair it has not seen, so the page finds the answer cached. The request path is unchanged as a fallback for the window before the ticker fires. A test holds the walk nil-safe on a half-registered fleet. artifact: e76ff62739 user: zeitgeist
18:06
Merge probes run from a ticker after a push, not on a reader's first view: WarmMergeProbes walks open landings every 20s and fills the cache closed check-in: b78fa0d057 user: dmestas tags: probe-warm
18:03 • New ticket [e3c1f7f7f3] Inbox page is not live: the badge updates, the list needs a reload. artifact: af73b39b37 user: zeitgeist
17:59 • Edit [d3e69f2c95]: Add "ci-pass" with value "68e6fba26e783437fb3b737696a323d7". artifact: 823fcf5e02 user: quarry
17:58
land layout-fixes check-in: d3e69f2c95 user: dmestas tags: trunk
17:58 • Edit [d3e69f2c95]: Add "landing" with value "b44e7a8e6d2d6ca3482b3a6e8ffa49907812675404403328cd101fbfa529172a". artifact: d9130ca270 user: quarry
17:58 • Reply: Flowing footer: stop double-counting the safe-area inset artifact: eaaa4202a1 user: dmestas
17:58 • Edit [d905729147]: Mark "Closed". artifact: da6cd5df7f user: quarry
17:58 • Edit [e311b31580]: Add "ci-pass" with value "5337604a91948db4beb73b6d7cc5d3ff". artifact: 0cc0f89c64 user: quarry
17:57
land lean-sheet check-in: e311b31580 user: dmestas tags: trunk
17:57 • Edit [e311b31580]: Add "landing" with value "d14562b1cb742c636e41d5e11892a3c17dfd297ed5ae211c7473b2cc810f3f3c". artifact: 4320585513 user: quarry
17:57 • Reply: Every first visit downloaded the stylesheet as written: 252KB raw, of which 98KB was comments and a further share indentation and the {{- /* */ -}} fences the literal borrows, 68KB after gzip and 700ms from a cold Cloudflare edge on a phone. The served bytes are now the sheet with comments, fences, indentation and blank lines removed; the literal in the source stays as readable as it is, and the tests that read the source keep reading it (rawSheet). The content hash follows the served bytes, so caching is unchanged. A test checks that no comment or fence ships, that the rule structure is untouched against an independently stripped reference, and that at least a third of the bytes are gone. artifact: f6739ac184 user: dmestas
17:57 • Edit [2cda4208cf]: Mark "Closed". artifact: 509e1b1d17 user: quarry
17:56 • Edit [2cda4208cf]: Add "ci-pass" with value "7924373f4a70f42ad4b9f7d9040a6629". artifact: 238441f434 user: quarry
17:55 • Edit [d905729147]: Add "ci-pass" with value "f2da54090d2fbcd13c420fd66702dc6b". artifact: 57ffd290fb user: quarry
17:54 • Post: Flowing footer: stop double-counting the safe-area inset artifact: b44e7a8e6d user: dmestas
17:54 • Post: Every first visit downloaded the stylesheet as written: 252KB raw, of which 98KB was comments and a further share indentation and the {{- /* */ -}} fences the literal borrows, 68KB after gzip and 700ms from a cold Cloudflare edge on a phone. The served bytes are now the sheet with comments, fences, indentation and blank lines removed; the literal in the source stays as readable as it is, and the tests that read the source keep reading it (rawSheet). The content hash follows the served bytes, so caching is unchanged. A test checks that no comment or fence ships, that the rule structure is untouched against an independently stripped reference, and that at least a third of the bytes are gone. artifact: d14562b1cb user: zeitgeist
17:54
The served stylesheet ships without its comments, indentation or template fences: 250KB becomes ~150KB raw before gzip closed check-in: 2cda4208cf user: dmestas tags: lean-sheet
17:54
Flowing footer: drop the double-counted safe-area inset and tighten its top padding on a phone check-in: d905729147 user: dmestas tags: layout-fixes
17:48 • Edit [0344bd1860]: Add "ci-pass" with value "93c9fb5a2c6518a09a7d6ac5dec8f204". artifact: 2ed4ab1f27 user: quarry
17:46 • Edit [ed6d30fa7c]: Add "ci-fail" with value "61eef62d863841d0b4b38bacb3f7c829". artifact: 6a19bb9990 user: quarry
17:46
land behind-fast check-in: 0344bd1860 user: dmestas tags: trunk
17:46 • Edit [0344bd1860]: Add "landing" with value "37c94cd006ebe95e60e5acf206b7cc4e233099479a0a9b7c237eafb1e22bac2a". artifact: 6eb486f362 user: quarry
17:46 • Reply: The landing page spent 400ms of its 650ms in Index.Behind. Its recursive ancestry query carried the depth in the recursion key, so UNION could not fold a check-in reached along two paths of different length; on a history where trunk is merged into branches again and again every ancestor is reached along many paths, and quarry's 1,150 check-ins produced 85,000 rows per call. The set is now keyed on the hash alone, bounded by row count instead of depth (5000). Same answers, ~1,100 rows, under a millisecond. A regression test folds a thousand-rung ladder and requires the right count in bounded time. Measured locally against a clone of this repository: landing page 450ms -> ~50ms. artifact: d9450e4ed3 user: dmestas
17:46 • Edit [53285e98b3]: Mark "Closed". artifact: 253d576eef user: quarry
17:46
land layout-fixes check-in: ed6d30fa7c user: dmestas tags: trunk
17:46 • Edit [ed6d30fa7c]: Add "landing" with value "3f3e3381629603d2ef2ad1a7a730d80fdd57a0584218472a8e33ff91b609042a". artifact: 1f1a828534 user: quarry
17:46 • Reply: Phone layout fixes: CI log, invite row, empty buttons artifact: ef875fc0f4 user: dmestas
17:46 • Edit [568940b2e1]: Mark "Closed". artifact: 28c790d7ea user: quarry
17:45 • Edit [81c37e857d]: Add "ci-pass" with value "377368db9329379e45b4731745a0061b". artifact: 3a30d95c55 user: quarry
17:45
land first-visit check-in: 81c37e857d user: dmestas tags: trunk
17:45 • Edit [81c37e857d]: Add "landing" with value "7db516ea5c14e9b15928e7a0b71822a593a0b13c500f18f302361460b48235f4". artifact: 1f114cf731 user: quarry
17:45 • Reply: The signed-in landing page for an account that holds no repository. Instead of two empty columns: what the forge is in two sentences, the report icon shown inline, a GitHub translation table (repository, landing, fossil with zit as the second client, stamp), an empty Your repositories column that offers starting one here (admins), a fossil push from an existing checkout, or tracking a project served elsewhere, then Popular on this forge (public repositories by stamps, clones, activity) and See it in use (an accepted landing on the tracker, a closed ticket, the reader's own when there is one, and the largest timeline). No control petitions anyone. Forked from the stamp branch, so it lands after Praise becomes stamp. artifact: 10cec035f2 user: dmestas
17:45 • Edit [ca8ba9f84c]: Mark "Closed". artifact: 55faa232f5 user: quarry
17:40 • Edit [53285e98b3]: Add "ci-pass" with value "19fced958807226a27d70e549573605c". artifact: bdaacc95d5 user: quarry
17:39 • Post: The landing page spent 400ms of its 650ms in Index.Behind. Its recursive ancestry query carried the depth in the recursion key, so UNION could not fold a check-in reached along two paths of different length; on a history where trunk is merged into branches again and again every ancestor is reached along many paths, and quarry's 1,150 check-ins produced 85,000 rows per call. The set is now keyed on the hash alone, bounded by row count instead of depth (5000). Same answers, ~1,100 rows, under a millisecond. A regression test folds a thousand-rung ladder and requires the right count in bounded time. Measured locally against a clone of this repository: landing page 450ms -> ~50ms. artifact: 37c94cd006 user: zeitgeist
17:39
Behind walks ancestors, not paths: the ancestry CTE dedupes on hash alone (85k rows and 400ms per landing page on quarry's own history, now ~1k rows) closed check-in: 53285e98b3 user: dmestas tags: behind-fast
17:39 • Edit [568940b2e1]: Add "ci-pass" with value "29e00affe922efb2f3569796ca3a7e18". artifact: 776b495765 user: quarry
17:38 • Post: Phone layout fixes: CI log, invite row, empty buttons artifact: 3f3e338162 user: dmestas
17:38
Phone layout: contain the CI log, stack the invite row, and give every long button label a short one check-in: 568940b2e1 user: dmestas tags: layout-fixes
17:33 • Edit [7317ebd568]: Add "ci-pass" with value "6ee3039766749b61919f6127d49c76c6". artifact: d0e1952f68 user: dmestas
17:32 • Edit [7317ebd568]: Add "ci-pass" with value "64ed8c2fc2a1bfac6a053d07b3156e32". artifact: d523361d6f user: quarry
17:32
Create new branch named "layout-fixes" check-in: 7317ebd568 user: dmestas tags: layout-fixes
17:31 • Edit [ca8ba9f84c]: Add "ci-pass" with value "81a8fb8f32914997edf95dde31eaf115". artifact: 8b73adc892 user: dmestas
17:31 • Edit [ca8ba9f84c]: Add "ci-pass" with value "abd9290ccea97eb9028c730011517303". artifact: e55f0ed19b user: quarry
17:31
Merge trunk (stamp) into first-visit; duplicated tests from the double merge dropped closed check-in: ca8ba9f84c user: dmestas tags: first-visit
17:30 • Edit [00e9f33e9e]: Add "ci-pass" with value "8a4008849baa86e6e493a3f9d8c55dd1". artifact: 2c7796ea53 user: dmestas
17:28 • Edit [00e9f33e9e]: Add "ci-pass" with value "cc582d24b77d92113d46a0398ac0d719". artifact: f19897fd8e user: quarry
17:28 • Edit [845130f9bd]: Add "ci-pass" with value "e189aba7e02e332578f64973f494b2b1". artifact: 2c89b9a95b user: quarry
17:28
land stamp check-in: 00e9f33e9e user: dmestas tags: trunk
17:28 • Edit [00e9f33e9e]: Add "landing" with value "ca5e9da1c0cc8256afbcdbc3896ef24a861a082fe19c7bce945cfed2b59986e6". artifact: eedb63d161 user: quarry
17:28 • Reply: Praise becomes stamp artifact: 6ce665cfdf user: dmestas
17:28 • Edit [695c43c7b6]: Mark "Closed". artifact: 331c45b565 user: quarry
16:42 • Edit [845130f9bd]: Add "ci-pass" with value "ee4856963af253341885351836317751". artifact: de30faf8fa user: dmestas
16:40 • Edit [845130f9bd]: Add "ci-pass" with value "d46fcfd92e4781f49e324a2306e32a25". artifact: 3f69035b8b user: quarry
16:39
Merge trunk into first-visit; both test files' additions kept check-in: 845130f9bd user: dmestas tags: first-visit
16:36 • Edit [67627a1b3a]: Add "ci-fail" with value "b14dcf851f818332f23e6ccc043857e9". artifact: 59bb1ade9b user: quarry
16:36 • Edit [67627a1b3a]: Add "ci-pass" with value "8bdaea68b1ce97ca8d7dc32d54d0ea78". artifact: 473f769d87 user: dmestas
16:33 • Post: The signed-in landing page for an account that holds no repository. Instead of two empty columns: what the forge is in two sentences, the report icon shown inline, a GitHub translation table (repository, landing, fossil with zit as the second client, stamp), an empty Your repositories column that offers starting one here (admins), a fossil push from an existing checkout, or tracking a project served elsewhere, then Popular on this forge (public repositories by stamps, clones, activity) and See it in use (an accepted landing on the tracker, a closed ticket, the reader's own when there is one, and the largest timeline). No control petitions anyone. Forked from the stamp branch, so it lands after Praise becomes stamp. artifact: 7db516ea5c user: zeitgeist
16:33
First visit: a reader with no repository gets orientation, an empty state with three ways in, the popular list and three real things to look at check-in: 67627a1b3a user: dmestas tags: first-visit
16:32 • Edit [695c43c7b6]: Add "ci-pass" with value "ebd00596b816a32b97466cc432f87260". artifact: f467ea1fde user: dmestas
16:30 • Edit [695c43c7b6]: Add "ci-pass" with value "7990f0750bffb380e75d2db09625d504". artifact: c44f64bb55 user: quarry
16:29
Merge trunk into stamp: picks up the licensegen fix and regenerated inventory closed check-in: 695c43c7b6 user: dmestas tags: stamp
16:21 • Edit [dd4f014616]: Add "ci-fail" with value "dd56b47f310ea4d2ae61f8440be4d08b". artifact: ae2e6339f2 user: quarry
16:20 • Edit [dd4f014616]: Add "ci-pass" with value "557977d92105bbdc85031b711c2c724a". artifact: 160b585e04 user: dmestas
16:18 • Post: Praise becomes stamp artifact: ca5e9da1c0 user: dmestas
16:17
Rename praise to stamp; events become stamp.added/removed and old rows carry over check-in: dd4f014616 user: dmestas tags: stamp
15:47 • Edit [98f36fcaee]: Add "ci-pass" with value "fba23ba3c9425b901ee958a54c551f98". artifact: 083a75669d user: dmestas
15:47 • Edit [98f36fcaee]: Add "ci-fail" with value "b6b098b92f382cff96489ce569612a55". artifact: 18e24ed9d1 user: quarry
15:44
Create new branch named "stamp" check-in: 98f36fcaee user: dmestas tags: stamp
04:35 • Edit [060f7144ea]: Add "ci-pass" with value "8cbc04a6aa3e341a90c29d913dec6be5". artifact: 8f6767f5a9 user: dmestas
04:35 • Edit [1f98e06755]: Add "ci-pass" with value "5c333d9b4b6f216f58ae37def1b48022". artifact: 068338b735 user: dmestas
04:30 • Edit [060f7144ea]: Add "ci-pass" with value "95497f1369deba4dc196dfd2739e3f8d". artifact: 20d2385aae user: quarry
04:30
land participation check-in: 060f7144ea user: dmestas tags: trunk
04:30 • Edit [060f7144ea]: Add "landing" with value "691f0e20dabeb4e7bcb428a29ad56f4eca995bd2b63f4ed2a521244a71511050". artifact: 9669bd7d39 user: quarry
04:30 • Reply: Who may speak, apart from who may see. Settings gains three boxes under the visibility presets for accounts without a role: file and comment on tickets, post in the forum (including remarks on landings), chat. They write the participation letters onto the anonymous category string, and naming a preset now ignores those letters, so clearing a box no longer turns Public project into Custom. Public project's blurb no longer promises post-and-chat. Rejecting a landing is a decision, so landing.reject takes the check-in capability like accept; a reviewer with i but not 3 gets a standalone Reject control. Background: a beta tester with no role could comment on and reject landings and chat on quarry. artifact: 9464362bbf user: dmestas
04:30 • Edit [2b16cbe7d8]: Mark "Closed". artifact: ffcd65e5cf user: quarry
04:30 • Edit [1f98e06755]: Add "ci-pass" with value "1b87bfae4c8bcf28cd715f3e898d47a1". artifact: 26dc4257af user: quarry
04:29
land settings-phone-width check-in: 1f98e06755 user: dmestas tags: trunk
04:29 • Edit [1f98e06755]: Add "landing" with value "b3050e62c0cd2a19dd6f6a6222c3c024470e0fb72cf5b60e02d5355f247cd3b2". artifact: 735698a94e user: quarry
04:29 • Reply: The settings page scrolled sideways on a phone (main measured 1211px at a 390px viewport). Cause: the footer fix made body a column flexbox, and a flex item with auto side margins takes its fit-content width, whose floor is the nowrap settings rail. main now has width: 100% and min-width: 0, so the rail and the clone line scroll inside it as designed. Verified against zeitforge.app at 390px: document width 390 after the rule. artifact: 4afcdf2e83 user: dmestas
04:29 • Edit [2ebbd83344]: Mark "Closed". artifact: f243cb6f16 user: quarry
02:41 • Edit [2b16cbe7d8]: Add "ci-pass" with value "412a9376bf2a26d4da75c1dbe9f1229f". artifact: a55c6f6ea5 user: dmestas
02:41 • Edit [2b16cbe7d8]: Add "ci-pass" with value "8e51635a08f42493d205f2adbc61f07f". artifact: 3893c8a567 user: quarry
02:39 • Post: Who may speak, apart from who may see. Settings gains three boxes under the visibility presets for accounts without a role: file and comment on tickets, post in the forum (including remarks on landings), chat. They write the participation letters onto the anonymous category string, and naming a preset now ignores those letters, so clearing a box no longer turns Public project into Custom. Public project's blurb no longer promises post-and-chat. Rejecting a landing is a decision, so landing.reject takes the check-in capability like accept; a reviewer with i but not 3 gets a standalone Reject control. Background: a beta tester with no role could comment on and reject landings and chat on quarry. artifact: 691f0e20da user: zeitgeist
02:38
Settings asks who may speak in sentences: tickets, forum, chat boxes for accounts without a role; rejecting a landing takes the check-in capability closed check-in: 2b16cbe7d8 user: dmestas tags: participation
02:34 • Edit [2ebbd83344]: Add "ci-pass" with value "18d1e7c09f246b05bcb93b1ec2c9c92d". artifact: 77ceac6640 user: dmestas
02:33 • Edit [2ebbd83344]: Add "ci-pass" with value "89e675c0480ded5d6da03016cebb7950". artifact: c7d6f2a7cc user: quarry
02:32 • Post: The settings page scrolled sideways on a phone (main measured 1211px at a 390px viewport). Cause: the footer fix made body a column flexbox, and a flex item with auto side margins takes its fit-content width, whose floor is the nowrap settings rail. main now has width: 100% and min-width: 0, so the rail and the clone line scroll inside it as designed. Verified against zeitforge.app at 390px: document width 390 after the rule. artifact: b3050e62c0 user: zeitgeist
02:32
Settings no longer scroll sideways on a phone: main takes a definite width inside the flex body instead of its min-content width closed check-in: 2ebbd83344 user: dmestas tags: settings-phone-width
02:31 • Edit [37b043780a]: Add "ci-pass" with value "1a8887a45420448ff9df1261e110ddcd". artifact: 9b54d65f0e user: dmestas
02:24 • Edit [a14668e5b2]: Add "ci-pass" with value "dc8c900c11767ea26fe06be3f90f3aea". artifact: 78a0a9d33e user: dmestas
02:23 • Edit [37b043780a]: Add "ci-pass" with value "9e99584ddc2348909f9bdf3b8a847290". artifact: 69d464e0a8 user: quarry
02:23
land start-here check-in: 37b043780a user: dmestas tags: trunk
02:23 • Edit [37b043780a]: Add "landing" with value "6ba01a6fcb145b73468ab6dfd61181cf976ea67c1fcb7ec7c129b879dfc0cc1f". artifact: d4484c02af user: quarry
02:23 • Reply: Fixes 557a6d8570 (lou): the header plus menu opened an empty popover for a signed-in reader with no repository open and no admin right. The menu now always ends with a help group (start here, for your AI agent), on a mirror points at the upstream instead of forms the forge refuses, and the empty dashboard links to /start. Adds /start, a public getting-started page, and /llms.txt, a plain-text guide agents can read: auth, API base, zit clone/branch/push, landings, tickets, mirrors, and the never-do list. artifact: 7052b3f50c user: dmestas
02:23 • Edit [a14668e5b2]: Mark "Closed". artifact: 94a384ec3b user: quarry
02:22 • Edit [a14668e5b2]: Add "ci-pass" with value "82f0443c0cad4dfb4c7da6e2e41620f3". artifact: 4de028919c user: quarry
02:21 • Post: Fixes 557a6d8570 (lou): the header plus menu opened an empty popover for a signed-in reader with no repository open and no admin right. The menu now always ends with a help group (start here, for your AI agent), on a mirror points at the upstream instead of forms the forge refuses, and the empty dashboard links to /start. Adds /start, a public getting-started page, and /llms.txt, a plain-text guide agents can read: auth, API base, zit clone/branch/push, landings, tickets, mirrors, and the never-do list. artifact: 6ba01a6fcb user: zeitgeist
02:21
Create menu always has somewhere to go: start here page, llms.txt agent guide, mirrors point at the upstream; empty dashboard links to /start (ticket 557a6d8570) closed check-in: a14668e5b2 user: dmestas tags: start-here