This Day In History For 2027-09-13
1 Year Ago (more context)
|
2026-09-13
| ||
| 23:58 | teams: the room is the chat log, the chat row and the chat composer closed check-in: 1f96540495 user: dmestas tags: team-conventions | |
| 23:16 | • Edit [8b26d7a7fe]: Add "ci-pass" with value "26af9e17c5ebbf8527a68cd002292ee2". artifact: 75ae99704c user: quarry | |
| 23:14 | • Post: teams: the team bar is chrome, drawn by the layout beside main like a repository's. artifact: bab259035d user: dmestas | |
| 23:14 | teams: the team bar is chrome, drawn by the layout beside main like a repository's check-in: 8b26d7a7fe user: dmestas tags: team-conventions | |
| 22:38 | • Edit [1fac09ff86]: Add "ci-pass" with value "e2ccbce469f058d13534eb58c6d26896". artifact: 0165221181 user: quarry | |
| 22:37 | • Post: tickets: your tickets get the board too, read-only across trackers. The third surface on the shared card, and the last of dmestas's ask. The board was suppressed on /tickets in two places, both saying 'its lanes are one tracker's vocabulary, and K trackers do not share one' — a real argument, kept rather than deleted, but aimed one step too wide. The hazard belongs to the CONTROL: the Move menu offers every column the board draws and ticket.set does not police a status word (by design, or quarry could not edit trackers it can read), so a move there could write repository A's Review onto repository B's ticket and nothing would refuse it. The GRID is a reading, and reading K trackers needs no agreed vocabulary — this page already draws its chips and triage order from the defaults for the same reason. So the board renders with no move control, and moving happens on a repository's own board where the words are that tracker's. The old test now asserts the new rule instead of being removed. Found on the way: the column's drag and drop handlers were never gated on write at all — invisible on a repository board, where a reader who cannot write has nothing to drag and the POST is refused anyway, and visible here as a read-only column still carrying a move URL. Verified the repository board is UNCHANGED by rendering it from trunk's web.go and from this one and diffing the markup with relative times normalised: no diff. The pixel band I first saw was 3 hours ago becoming 4. artifact: 1355fb26fe user: dmestas | |
| 22:37 | tickets: your tickets get the board too, read-only across trackers closed check-in: 1fac09ff86 user: dmestas tags: across-board | |
| 22:24 | • Edit [8337fa6f19]: Add "ci-pass" with value "0d1f631445dc9dd522a3488830c35b7f". artifact: f76b03b1d9 user: quarry | |
| 22:24 | land ticket-card-component check-in: 8eaa721755 user: dmestas tags: trunk | |
| 22:24 | • Edit [8eaa721755]: Add "landing" with value "2d910693d2e598902666392396534e86884b9cab3367f9b8af5da9e5f2aaca6c". artifact: 69cdf6cc81 user: quarry | |
| 22:24 | • Reply: tickets: one card component, and the team board is the board grouped by assignee. dmestas asked why the team board did not follow the conventions of the ticket pages, then said it plainly: a shared component beats a shared idiom. The first team board imitated the look and would have drifted from it. THE CARD IS NOW A COMPONENT: its only page-scope read was $.Repo, so giving ticketSummary its own Repo turned that into .Repo and the card could be extracted to read nothing but its own cardView (CanWrite, LaneBy, GroupBy, ColumnLabels travel with it). Three things moved so the BOARD is portable too: the dragged card publishes $heldBase — its repository's URL built by repoURL, not a hand-built path — so a drop knows which repository it is about; boardMove carries its own Repo for the undo form; and assignee became a board axis, which also gives a repository's own board grouping by assignee for free. ticket.set takes fossil's ten columns as named inputs and tracker-defined ones through a validated map, so the move handler splits on that — without it a move by assignee sent a key the op rejects. VERIFIED: the repository board renders pixel-identical before and after (diff bbox None), and every attribute on the card diffed against trunk (none lost, none added) — because the gate caught me dropping aria-label after rebuilding the Move button from a truncated terminal read, which pixel comparison cannot see. Not done: the personal /tickets board view, whose tab is still hidden from when the board was per-repository. addresses 8318bd2819ca artifact: 8ecf9a3235 user: dmestas | |
| 22:24 | • Edit [d1ad9c4467]: Mark "Closed". artifact: 68926d64e8 user: quarry | |
| 22:23 | • Edit [d1ad9c4467]: Add "ci-pass" with value "908d521ed288e66b5ab40d2887ea174f". artifact: f7acb8079d user: quarry | |
| 22:23 | land fossil-paths check-in: 8337fa6f19 user: dmestas tags: trunk | |
| 22:23 | • Edit [8337fa6f19]: Add "landing" with value "790616124dced32e27b6bd8eead9dcc6f0d3a07df529dd0e8653becfffc83cb9". artifact: 9b014a8960 user: quarry | |
| 22:23 | • Reply: Fossil path compliance: relative links, and six verbs quarry was dropping artifact: 1a275fe5df user: dmestas | |
| 22:23 | • Edit [1a0e3e3425]: Mark "Closed". artifact: 2b6fa1724a user: quarry | |
| 22:22 | merge trunk: one Tickets tab, trunk's wording closed check-in: d1ad9c4467 user: dmestas tags: ticket-card-component | |
| 22:17 | • Edit [1a0e3e3425]: Add "ci-pass" with value "28e304a1bf46c6ae5ab1cd5a71ad40b2". artifact: a02a0170f8 user: quarry | |
| 22:16 | • Post: Fossil path compliance: relative links, and six verbs quarry was dropping artifact: 790616124d user: dmestas | |
| 22:16 | Resolve relative links in documents against the document, not the page URL closed check-in: 1a0e3e3425 user: dmestas tags: fossil-paths | |
| 22:15 | • Edit [249caf6074]: Add "ci-pass" with value "5ab6ad35f99c5748df4d271dae51568b". artifact: 85815de296 user: quarry | |
| 22:15 | • Post: tickets: one card component, and the team board is the board grouped by assignee. dmestas asked why the team board did not follow the conventions of the ticket pages, then said it plainly: a shared component beats a shared idiom. The first team board imitated the look and would have drifted from it. THE CARD IS NOW A COMPONENT: its only page-scope read was $.Repo, so giving ticketSummary its own Repo turned that into .Repo and the card could be extracted to read nothing but its own cardView (CanWrite, LaneBy, GroupBy, ColumnLabels travel with it). Three things moved so the BOARD is portable too: the dragged card publishes $heldBase — its repository's URL built by repoURL, not a hand-built path — so a drop knows which repository it is about; boardMove carries its own Repo for the undo form; and assignee became a board axis, which also gives a repository's own board grouping by assignee for free. ticket.set takes fossil's ten columns as named inputs and tracker-defined ones through a validated map, so the move handler splits on that — without it a move by assignee sent a key the op rejects. VERIFIED: the repository board renders pixel-identical before and after (diff bbox None), and every attribute on the card diffed against trunk (none lost, none added) — because the gate caught me dropping aria-label after rebuilding the Move button from a truncated terminal read, which pixel comparison cannot see. Not done: the personal /tickets board view, whose tab is still hidden from when the board was per-repository. addresses 8318bd2819ca artifact: 2d910693d2 user: dmestas | |
| 22:14 | tickets: one card component, and the team board is the board grouped by assignee check-in: 249caf6074 user: dmestas tags: ticket-card-component | |
| 22:13 | • Edit [0b234b6ae4]: Add "ci-pass" with value "84b5ffdbd5c2fe27bb4ad1bc20c5d634". artifact: 44909c9139 user: quarry | |
| 22:13 | Create new branch named "fossil-paths" check-in: 0b234b6ae4 user: dmestas tags: fossil-paths | |
| 21:44 | • Edit [fffc2d6da9]: Add "ci-pass" with value "c5acf8651f68a976c823767d3308b6f5". artifact: d861429183 user: quarry | |
| 21:44 | land outline-crash check-in: fffc2d6da9 user: dmestas tags: trunk | |
| 21:44 | • Edit [fffc2d6da9]: Add "landing" with value "504735698d4343e5330ed66eadb29a3b30f11f99559fdcaf965112753fe6563f". artifact: 60d68116a0 user: quarry | |
| 21:44 | • Reply: A crash serving pkgsrc's own documentation, from the exception panel: every reader of that page got a 500. artifact: 8ee66ee88c user: dmestas | |
| 21:44 | • Edit [4479412416]: Mark "Closed". artifact: c54436f7bb user: quarry | |
| 21:42 | • Edit [4479412416]: Add "ci-pass" with value "9563d1b00168e594c8d76f272dfc51b0". artifact: 5d6d3ee515 user: quarry | |
| 21:41 | • Post: A crash serving pkgsrc's own documentation, from the exception panel: every reader of that page got a 500. artifact: 504735698d user: zeitgeist | |
| 21:41 | a document that changes length when lowercased no longer crashes its page closed check-in: 4479412416 user: dmestas tags: outline-crash | |
| 21:30 | • Edit [622be88815]: Add "ci-pass" with value "fe05346c0de7023cd9a0e833cccbf80e". artifact: 85f5c400e2 user: quarry | |
| 21:28 | land forge-bucket-ui check-in: 622be88815 user: dmestas tags: trunk | |
| 21:28 | • Edit [622be88815]: Add "landing" with value "99e80543cac0070d043a910a91c105331a8459365c8870a372df6856501247bb". artifact: d4ca53ad75 user: quarry | |
| 21:28 | • Reply: The forge-supplied bucket had ops and no way to reach them, which made the feature real for anyone willing to call the API by hand and for nobody else. artifact: 256a3a05ac user: dmestas | |
| 21:28 | • Edit [a0c09a925e]: Mark "Closed". artifact: 6a64fd4210 user: quarry | |
| 21:28 | land check-name-one-rule check-in: 1b02671439 user: dmestas tags: trunk | |
| 21:28 | • Edit [1b02671439]: Add "landing" with value "cde56d6c6249488b63c96e7c46cc2308e925aaee1b14199e07086a38252cd5f1". artifact: f8548f21c6 user: quarry | |
| 21:28 | • Reply: checks: the panel and the accept ask one question with one rule. dmestas photographed a landing whose panel said 'Waiting for 1 required check - quarry ... no run yet' directly above the green run for ci/quarry.json, with a pass badge in the header and Accept enabled. Two implementations of 'is this required check green': when required-check names stopped being the workflow's registered name, unmetChecks learned to match the pipeline's stem and internal/web's MissingChecks did not — and pipelineStem was unexported, so the page could not have shared the rule. api.CheckNameMatches is now exported and states the three ways a name matches (the engine's own name, the full path, the stem); both callers use it, and the page holds no copy, because a copy is how this happened. The guard asserts the two AGREE across all three naming shapes rather than that either works, and that a required check with genuinely no run stays missing so the fix cannot paint everything green; verified it fails with the old matching, reproducing the screenshot's wording. artifact: 9241efe3f6 user: dmestas | |
| 21:28 | • Edit [58989b59ea]: Mark "Closed". artifact: 98db6e3fab user: quarry | |
| 21:28 | land accept-state-guard check-in: 091c09168b user: dmestas tags: trunk | |
| 21:28 | • Edit [091c09168b]: Add "landing" with value "07c141dbf93fb47b07a1cb7cc4235c31eea61363a0712a810709d5281625b1fe". artifact: cba95489ae user: quarry | |
| 21:28 | • Reply: landings: every accept state has a control, asserted on a hook not a word. No behaviour change — this is a guard for a bug I wrongly reported as present. I claimed AcceptState can return "protected" with no template branch, having grepped a window of the if-chain and missed the branch further down in a different chain; rendering that state shows the message and names the owners, as it should. The guard is still worth having: each control now carries data-accept=<state>, and a test asserts every state the function can return renders one, so a state added later without a branch fails here instead of silently rendering nothing. My first version of that test grepped for the word Accept and PASSED with the protected branch deleted, because the page says "accepts itself" elsewhere — found by deleting the branch to check the guard could fail, which is the only reason it is now asserted on the control's own tag. artifact: fd936f4d5c user: dmestas | |
| 21:28 | • Edit [0b58e6f3d6]: Mark "Closed". artifact: 8be2fbc144 user: quarry | |
| 21:18 | • Edit [a0c09a925e]: Add "ci-pass" with value "88576a50dcceb4d29fbd9ab3e9724f3f". artifact: bacd3343d5 user: quarry | |
| 21:18 | • Post: The forge-supplied bucket had ops and no way to reach them, which made the feature real for anyone willing to call the API by hand and for nobody else. artifact: 99e80543ca user: zeitgeist | |
| 21:17 | an operator can bind the forge's storage, and a repository can say whose it uses closed check-in: a0c09a925e user: dmestas tags: forge-bucket-ui | |
| 21:15 | • Edit [58989b59ea]: Add "ci-pass" with value "26ddfbb2a4ac1dfd16a9e073ffdcd824". artifact: 815b719372 user: quarry | |
| 21:14 | • Post: checks: the panel and the accept ask one question with one rule. dmestas photographed a landing whose panel said 'Waiting for 1 required check - quarry ... no run yet' directly above the green run for ci/quarry.json, with a pass badge in the header and Accept enabled. Two implementations of 'is this required check green': when required-check names stopped being the workflow's registered name, unmetChecks learned to match the pipeline's stem and internal/web's MissingChecks did not — and pipelineStem was unexported, so the page could not have shared the rule. api.CheckNameMatches is now exported and states the three ways a name matches (the engine's own name, the full path, the stem); both callers use it, and the page holds no copy, because a copy is how this happened. The guard asserts the two AGREE across all three naming shapes rather than that either works, and that a required check with genuinely no run stays missing so the fix cannot paint everything green; verified it fails with the old matching, reproducing the screenshot's wording. artifact: cde56d6c62 user: dmestas | |
| 21:14 | checks: the panel and the accept ask one question with one rule closed check-in: 58989b59ea user: dmestas tags: check-name-one-rule | |
| 21:09 | • Edit [729e581fc8]: Add "ci-pass" with value "eb97c078c5925631efd155ee40691068". artifact: 2fcc4c0c0a user: quarry | |
| 21:09 | land forge-bucket check-in: 729e581fc8 user: dmestas tags: trunk | |
| 21:09 | • Edit [729e581fc8]: Add "landing" with value "80a386d3bfcffb77f430ee47901c804613a9e90d91618ebead180bdcc19f0298". artifact: 42c98e8a1c user: quarry | |
| 21:09 | • Reply: The first half of the layered substrate, and it repairs something already broken rather than preparing for something later. artifact: e56b63706a user: dmestas | |
| 21:09 | • Edit [81cae7060a]: Mark "Closed". artifact: b8b551cd91 user: quarry | |
| 21:09 | • Edit [81cae7060a]: Add "ci-pass" with value "6029ed2648ff38541251f61743d40a68". artifact: c2e99f7cbe user: quarry | |
| 21:08 | • Post: The first half of the layered substrate, and it repairs something already broken rather than preparing for something later. artifact: 80a386d3bf user: zeitgeist | |
| 21:08 | a forge may supply the storage, so bringing your own is a choice closed check-in: 81cae7060a user: dmestas tags: forge-bucket | |
| 21:07 | • Edit [0b58e6f3d6]: Add "ci-pass" with value "8204e2e86aba6bba0ce1dcd99713e097". artifact: 611e14138a user: quarry | |
| 21:06 | • Post: landings: every accept state has a control, asserted on a hook not a word. No behaviour change — this is a guard for a bug I wrongly reported as present. I claimed AcceptState can return "protected" with no template branch, having grepped a window of the if-chain and missed the branch further down in a different chain; rendering that state shows the message and names the owners, as it should. The guard is still worth having: each control now carries data-accept=<state>, and a test asserts every state the function can return renders one, so a state added later without a branch fails here instead of silently rendering nothing. My first version of that test grepped for the word Accept and PASSED with the protected branch deleted, because the page says "accepts itself" elsewhere — found by deleting the branch to check the guard could fail, which is the only reason it is now asserted on the control's own tag. artifact: 07c141dbf9 user: dmestas | |
| 21:06 | landings: every accept state has a control, asserted on a hook not a word closed check-in: 0b58e6f3d6 user: dmestas tags: accept-state-guard | |
| 20:49 | • Edit [137b3a5e1e]: Add "ci-pass" with value "7c97098d8debfd11372a2a6889ab5173". artifact: fb8ce502d6 user: quarry | |
| 20:47 | land required-check-names check-in: 137b3a5e1e user: dmestas tags: trunk | |
| 20:47 | • Edit [137b3a5e1e]: Add "landing" with value "fcc19e642ce634179bfe505c4ded4eb44441753c3ab9d34413c394f1c05a120e". artifact: e1887424f9 user: quarry | |
| 20:47 | • Reply: A regression I introduced this afternoon, found by checking what the pipeline-name change actually touched rather than only that CI still ran. artifact: 66f55e3c31 user: dmestas | |
| 20:47 | • Edit [574315ba71]: Mark "Closed". artifact: 617640665c user: quarry | |
| 20:47 | land autoland-why check-in: 7a1d5873ff user: dmestas tags: trunk | |
| 20:47 | • Edit [7a1d5873ff]: Add "landing" with value "4f3aa799ede28cdfe826b86e23b6ac334c213b6f1af26acf4bc13f2636502968". artifact: 89500ab7fe user: quarry | |
| 20:47 | • Reply: auto-land: an armed landing says what it is waiting on, and how long it has waited. dmestas saw an armed record beside a green tick with an Accept button and asked why it had not landed; the answer was in the forge's log and nowhere a reader could reach, and the ordinary red-checks wait logs nothing by design so a stuck arm looked exactly like a working one. The sweep now RECORDS what it ran into (landing_auto.waiting) and the record shows it with its age — the age is the diagnostic, because the same words are the sweep working at twenty seconds and an arm that is stuck at four minutes. Recorded rather than recomputed: the page could ask the same predicates the deferred accept asks and would then be a second implementation of would-this-land, free to drift from the one that decides. Also fixes TestArtifactSizeStopsAtTheSizeLine, which failed this gate at exactly its 25s cutoff: readUntil consults its stop function on bytes already buffered and then blocks, so the fixture's printf-then-sleep child was waited for whenever the pipe split the prefix. The fixture now writes continuously, as a real summary does, and a new unit test asserts the property on BYTES rather than on a clock, because the continuous child made the timing test unable to tell stopping-at-the-line from reading-the-bound. artifact: 268aaad5c6 user: dmestas | |
| 20:47 | • Edit [6a96c1a3aa]: Mark "Closed". artifact: 7f646a62e0 user: quarry | |
| 20:37 | • Edit [574315ba71]: Add "ci-pass" with value "fe0195042fcf4958067475afef055972". artifact: 96d5539656 user: quarry | |
| 20:36 | • Post: A regression I introduced this afternoon, found by checking what the pipeline-name change actually touched rather than only that CI still ran. artifact: fcc19e642c user: zeitgeist | |
| 20:36 | • Edit [6a96c1a3aa]: Add "ci-pass" with value "cbf4be9d285262b14dfeca9e01d32bd7". artifact: 8b6bf108b5 user: quarry | |
| 20:36 | a required check matches the pipeline's name, not the engine's closed check-in: 574315ba71 user: dmestas tags: required-check-names | |
| 20:35 | • Post: auto-land: an armed landing says what it is waiting on, and how long it has waited. dmestas saw an armed record beside a green tick with an Accept button and asked why it had not landed; the answer was in the forge's log and nowhere a reader could reach, and the ordinary red-checks wait logs nothing by design so a stuck arm looked exactly like a working one. The sweep now RECORDS what it ran into (landing_auto.waiting) and the record shows it with its age — the age is the diagnostic, because the same words are the sweep working at twenty seconds and an arm that is stuck at four minutes. Recorded rather than recomputed: the page could ask the same predicates the deferred accept asks and would then be a second implementation of would-this-land, free to drift from the one that decides. Also fixes TestArtifactSizeStopsAtTheSizeLine, which failed this gate at exactly its 25s cutoff: readUntil consults its stop function on bytes already buffered and then blocks, so the fixture's printf-then-sleep child was waited for whenever the pipe split the prefix. The fixture now writes continuously, as a real summary does, and a new unit test asserts the property on BYTES rather than on a clock, because the continuous child made the timing test unable to tell stopping-at-the-line from reading-the-bound. artifact: 4f3aa799ed user: dmestas | |
| 20:35 | auto-land: an armed landing says what it is waiting on, and how long it has waited closed check-in: 6a96c1a3aa user: dmestas tags: autoland-why | |
| 20:27 | • Edit [660eba212b]: Add "ci-pass" with value "ba24a76e515288794476cd96b6ad6ad9". artifact: 0b10708e75 user: quarry | |
| 20:27 | land cancelled-is-not-failed check-in: 660eba212b user: dmestas tags: trunk | |
| 20:27 | • Edit [660eba212b]: Add "landing" with value "9e41bda8050321e6e62515eb558c7e027f66bb9e4f3b6e38fbe839009de42df4". artifact: d3f80720e4 user: quarry | |
| 20:27 | • Reply: Superseding a run marked the check-in as having failed CI. Found while verifying the pipeline-name fix on production, by looking at what the runs actually recorded rather than at whether they ran. artifact: 2bdd6959db user: dmestas | |
| 20:27 | • Edit [072dc15a00]: Mark "Closed". artifact: df1b795452 user: quarry | |
| 20:27 | • Reply: Superseding a run marked the check-in as having failed CI. Found while verifying the pipeline-name fix on production, by looking at what the runs actually recorded rather than at whether they ran. artifact: ce71d6fce2 user: dmestas | |
| 20:26 | • Edit [072dc15a00]: Add "ci-pass" with value "520eaaefb661830d3eb230a053a9c328". artifact: 8874ca6ad5 user: quarry | |
| 20:25 | update cancelled-is-not-failed from trunk closed check-in: 072dc15a00 user: dmestas tags: cancelled-is-not-failed | |
| 20:25 | • Reply: Superseding a run marked the check-in as having failed CI. Found while verifying the pipeline-name fix on production, by looking at what the runs actually recorded rather than at whether they ran. artifact: 5dbc5fdeef user: dmestas | |
| 20:23 | • Edit [2d2b07401a]: Add "ci-pass" with value "86982ab734bbebf99cc4a99920b6ff6f". artifact: 605204577c user: quarry | |
| 20:22 | • Post: Superseding a run marked the check-in as having failed CI. Found while verifying the pipeline-name fix on production, by looking at what the runs actually recorded rather than at whether they ran. artifact: 9e41bda805 user: zeitgeist | |
| 20:22 | a superseded run is not a failed one check-in: 2d2b07401a user: dmestas tags: cancelled-is-not-failed | |
| 20:18 | • Edit [b090cb9eec]: Add "ci-pass" with value "9f25dc0becf143ea3851fb59a128e25f". artifact: d56410193e user: quarry | |
| 20:17 | land team-hands check-in: b090cb9eec user: dmestas tags: trunk | |
| 20:17 | • Edit [b090cb9eec]: Add "landing" with value "d153407aa6ea4456320a0a46509b968b9624dff0da0e2019594e3c542f26f81f". artifact: e1ab44038e user: quarry | |
| 20:17 | • Reply: teams: a repository changing hands tells the people it moved. account.caps raises RFC 0005's vocabulary and writes an inbox line when ONE account's access changes; the team path — which changes access for many at once, and on a private repository changes the whole of it — said nothing, on all three paths: add-as-move, remove, and dissolve (which does not go through remove). Fixed by reusing account.caps's own two functions per affected account, so a person reads the same words whichever way their access moved. Plus the warning at the right moment: RFC 0017 requires naming who loses access BEFORE the act, so team.get returns who would lose each repository and the Remove confirmation names them; the op's Warning says it after, which is the wrong moment for a control. The move stays allowed — whoever may add already holds a on the repository and may already remove it, so it grants no new authority; it just must not be quiet. Note: on a PUBLIC repository nothing is said, correctly — the categories already grant what the floor does, so no access moves. addresses 8318bd2819ca artifact: 6a675d1571 user: dmestas | |
| 20:17 | • Edit [14017b2778]: Mark "Closed". artifact: 7bdab90537 user: quarry | |
| 20:16 | • Edit [14017b2778]: Add "ci-pass" with value "1f91bb2a112aa7f6fcd6180cda5b49ff". artifact: 9b1f35d232 user: quarry | |
| 20:15 | • Edit [0910cc1d55]: Add "ci-fail" with value "ed75c9061beacc06a3271bdd9589f37d". artifact: a27b6034dc user: quarry | |
| 20:15 | land pipeline-names check-in: 7fed3f2dcc user: dmestas tags: trunk | |
| 20:15 | • Edit [7fed3f2dcc]: Add "landing" with value "43490c0a436ef747bac85ab0f90187ca7b876ab404ea838b41e7db239d59a70e". artifact: b538144b85 user: quarry | |
| 20:15 | • Reply: A live bug, found while working out how an owner would supply their own runners. artifact: 13b457d776 user: dmestas | |
| 20:15 | • Edit [80556e1854]: Mark "Closed". artifact: 6c2656de30 user: quarry | |
| 20:15 | land team-board check-in: 0910cc1d55 user: dmestas tags: trunk | |
| 20:15 | • Edit [0910cc1d55]: Add "landing" with value "832a945deccc44ea420f3a1548954992b752cff157c36abf2071468ba6d47426". artifact: 0c6fd2cc67 user: quarry | |
| 20:15 | • Reply: teams: assignee is a folded column, and the board is ticket.across scoped to a team. RFC 0018's fifth feature, data layer and op; the page follows. assignee is not one of fossil's ten — a tracker defines its own columns — but the ticket table's own comment already settled this: keeping a field out of the summary means a board has to join per ticket, so no board exists. Additive migration beside type/severity/priority, folded from the same field map. BACKFILLED rather than left to a reindex, which is the usual path but wrong here: an empty assignee is indistinguishable from unassigned, so every ticket on an existing forge would read as unassigned and the board would look broken rather than unpopulated. team.tickets scopes across to the team and adds the assignee axis, with nobody last and pickable — which needed AssigneeSet beside Assignee, because filterable()'s rule is that empty means do-not-narrow and under it the unassigned column would be unaskable. Visibility is per REPOSITORY, not team membership: a board has no team-own content, so the gate is the one each repository already applies. addresses 8318bd2819ca artifact: a5497a032c user: dmestas | |
| 20:15 | • Edit [cf5270b504]: Mark "Closed". artifact: 0e8506843e user: quarry | |
| 20:14 | merge trunk: the room's InRoom and this branch's Losing both stay closed check-in: 14017b2778 user: dmestas tags: team-hands | |
| 20:13 | • Edit [80556e1854]: Add "ci-pass" with value "f4eaf8e2b0635bb4c0720a8bde37abd6". artifact: 7c3de94374 user: quarry | |
| 20:13 | • Post: A live bug, found while working out how an owner would supply their own runners. artifact: 43490c0a43 user: zeitgeist | |
| 20:13 | name a pipeline for its repository, not just its file closed check-in: 80556e1854 user: dmestas tags: pipeline-names | |
| 20:11 | • Edit [ceb8a5abbf]: Add "ci-pass" with value "e71b0bd4ef172eb425dc492ad050006e". artifact: 97a9b21e04 user: quarry | |
| 20:10 | • Edit [d4020a0f33]: Add "ci-fail" with value "66de836ad79e9677299ec2d94dc3ff3d". artifact: 03748d6199 user: quarry | |
| 20:10 | land stream-debt check-in: ceb8a5abbf user: dmestas tags: trunk | |
| 20:10 | • Edit [ceb8a5abbf]: Add "landing" with value "1fd43b2b98137689507b6ae80398827d17e36b3715fb03069d18c9d147553d79". artifact: 2fc57c284d user: quarry | |
| 20:10 | • Reply: docs: track what does not stream, and RFC 0018's two amendments. Rung 2 on team-room, because it edits the section that landing adds. Files ticket 82b9615eaf3d for four surfaces that do not stream — the team room, forum threads, ticket pages, a team's settings — and records it against RFC 0011, which owns the live model, as a debt rather than a decision. RFC 0018's status line now says which of its five features are built and names both post-acceptance amendments, so a reader of the original text is not misled. artifact: ed1235bb97 user: dmestas | |
| 20:10 | • Edit [bf1737fdf9]: Mark "Closed". artifact: 04c62a78c0 user: quarry | |
| 20:10 | land team-room check-in: d4020a0f33 user: dmestas tags: trunk | |
| 20:10 | • Edit [d4020a0f33]: Add "landing" with value "d33d5b53017886bfc2cdcdf738113738651b706d345e6ef0d334ff181b6b33d2". artifact: 324039bc8b user: quarry | |
| 20:10 | • Reply: teams: a room that gathers the rooms its repositories already have. RFC 0018's fourth of five. Nothing is copied — every stored message already names the repository it was posted in, so the merged room is a read across channels in one order (chat.MergeBack, a k-way backward merge with a per-channel cursor). DEVIATES from the RFC's schema: team_chat is not built. A team's own lines are a chat CHANNEL keyed team-NAME, because the plane already carries durability, streaming, purge, bounds, unread and the robot log, and SQLite would have given team lines none of them. RFC amended to say so. The reply rule is the design: a new line goes to the team, replying to a repository's line goes back to that repository gated on THAT repository's chat capability — which is what keeps this a second place to read rather than the second place to talk that GitHub retired. Gate is membership, deliberately coarse rather than filtered per repository. Not streaming yet, stated in the RFC rather than left to be discovered. addresses 8318bd2819ca artifact: a7c90d2e31 user: dmestas | |
| 20:10 | • Edit [f25d790dae]: Mark "Closed". artifact: 28995861bc user: quarry | |
| 20:10 | • Reply: docs: track what does not stream, and RFC 0018's two amendments. Rung 2 on team-room, because it edits the section that landing adds. Files ticket 82b9615eaf3d for four surfaces that do not stream — the team room, forum threads, ticket pages, a team's settings — and records it against RFC 0011, which owns the live model, as a debt rather than a decision. RFC 0018's status line now says which of its five features are built and names both post-acceptance amendments, so a reader of the original text is not misled. artifact: 49b1ed46e4 user: dmestas | |
| 19:50 | • Edit [cf5270b504]: Add "ci-pass" with value "938b2e043895e96369ea1f8ae232f020". artifact: 400862abf4 user: quarry | |
| 19:49 | • Post: teams: assignee is a folded column, and the board is ticket.across scoped to a team. RFC 0018's fifth feature, data layer and op; the page follows. assignee is not one of fossil's ten — a tracker defines its own columns — but the ticket table's own comment already settled this: keeping a field out of the summary means a board has to join per ticket, so no board exists. Additive migration beside type/severity/priority, folded from the same field map. BACKFILLED rather than left to a reindex, which is the usual path but wrong here: an empty assignee is indistinguishable from unassigned, so every ticket on an existing forge would read as unassigned and the board would look broken rather than unpopulated. team.tickets scopes across to the team and adds the assignee axis, with nobody last and pickable — which needed AssigneeSet beside Assignee, because filterable()'s rule is that empty means do-not-narrow and under it the unassigned column would be unaskable. Visibility is per REPOSITORY, not team membership: a board has no team-own content, so the gate is the one each repository already applies. addresses 8318bd2819ca artifact: 832a945dec user: dmestas | |
| 19:49 | teams: assignee is a folded column, and the board is ticket.across scoped to a team closed check-in: cf5270b504 user: dmestas tags: team-board | |
| 19:40 | • Edit [bf6938551b]: Add "ci-pass" with value "890ddda7593eb580f49e4315cb4c7225". artifact: df9c007294 user: quarry | |
| 19:39 | • Post: teams: a repository changing hands tells the people it moved. account.caps raises RFC 0005's vocabulary and writes an inbox line when ONE account's access changes; the team path — which changes access for many at once, and on a private repository changes the whole of it — said nothing, on all three paths: add-as-move, remove, and dissolve (which does not go through remove). Fixed by reusing account.caps's own two functions per affected account, so a person reads the same words whichever way their access moved. Plus the warning at the right moment: RFC 0017 requires naming who loses access BEFORE the act, so team.get returns who would lose each repository and the Remove confirmation names them; the op's Warning says it after, which is the wrong moment for a control. The move stays allowed — whoever may add already holds a on the repository and may already remove it, so it grants no new authority; it just must not be quiet. Note: on a PUBLIC repository nothing is said, correctly — the categories already grant what the floor does, so no access moves. addresses 8318bd2819ca artifact: d153407aa6 user: dmestas | |
| 19:39 | teams: a repository changing hands tells the people it moved check-in: bf6938551b user: dmestas tags: team-hands | |
| 19:24 | • Post: docs: track what does not stream, and RFC 0018's two amendments. Rung 2 on team-room, because it edits the section that landing adds. Files ticket 82b9615eaf3d for four surfaces that do not stream — the team room, forum threads, ticket pages, a team's settings — and records it against RFC 0011, which owns the live model, as a debt rather than a decision. RFC 0018's status line now says which of its five features are built and names both post-acceptance amendments, so a reader of the original text is not misled. artifact: 1fd43b2b98 user: dmestas | |
| 19:24 | • Edit [bf1737fdf9]: Add "ci-pass" with value "6fb0e5fdabbf14a563fb4ad4d232e82e". artifact: 82d57b44ee user: quarry | |
| 19:24 | docs: track what does not stream, and RFC 0018's two amendments closed check-in: bf1737fdf9 user: dmestas tags: stream-debt | |
| 19:23 | • New ticket [82b9615eaf] Four surfaces do not stream: the team room, forum threads, ticket pages, team settings. artifact: 254d4ab8ea user: dmestas | |
| 19:18 | • Edit [f25d790dae]: Add "ci-pass" with value "a5c5299eb31c9684b2243bf2825582c8". artifact: c1657364de user: quarry | |
| 19:17 | • Post: teams: a room that gathers the rooms its repositories already have. RFC 0018's fourth of five. Nothing is copied — every stored message already names the repository it was posted in, so the merged room is a read across channels in one order (chat.MergeBack, a k-way backward merge with a per-channel cursor). DEVIATES from the RFC's schema: team_chat is not built. A team's own lines are a chat CHANNEL keyed team-NAME, because the plane already carries durability, streaming, purge, bounds, unread and the robot log, and SQLite would have given team lines none of them. RFC amended to say so. The reply rule is the design: a new line goes to the team, replying to a repository's line goes back to that repository gated on THAT repository's chat capability — which is what keeps this a second place to read rather than the second place to talk that GitHub retired. Gate is membership, deliberately coarse rather than filtered per repository. Not streaming yet, stated in the RFC rather than left to be discovered. addresses 8318bd2819ca artifact: d33d5b5301 user: dmestas | |
| 19:17 | teams: a room that gathers the rooms its repositories already have closed check-in: f25d790dae user: dmestas tags: team-room | |
| 19:11 | • Edit [59b3d7748b]: Add "ci-pass" with value "b866a5852a23b656935865f20cdaa8bb". artifact: 7036f67c65 user: quarry | |
| 19:10 | land forge-journal check-in: 59b3d7748b user: dmestas tags: trunk | |
| 19:10 | • Edit [59b3d7748b]: Add "landing" with value "a0dec77fa6395598f9d5500577aa806f536f0508272c6d1937353e5c417b3c2d". artifact: a0dfcc5d58 user: quarry | |
| 19:10 | • Reply: The half of the operator promise that can be kept today. artifact: 3f4a99c800 user: dmestas | |
| 19:10 | • Edit [1916c526fe]: Mark "Closed". artifact: 3d3730797f user: quarry | |
| 19:08 | • Edit [1916c526fe]: Add "ci-pass" with value "aeb2be1388068eed8360cfea7dbaf592". artifact: 0414ff2178 user: quarry | |
| 19:07 | • Post: The half of the operator promise that can be kept today. artifact: a0dec77fa6 user: zeitgeist | |
| 19:07 | an operator reaching into somebody's repository leaves a receipt they can read closed check-in: 1916c526fe user: dmestas tags: forge-journal | |
| 18:34 | • Edit [ddf544308c]: Add "ci-pass" with value "142d90a78ed5c2809ec658495d010b19". artifact: 24335e9e46 user: quarry | |
| 18:33 | • Edit [7d6d584d58]: Add "ci-fail" with value "25e3264d914e64fb9f501831efd6c572". artifact: 6e841258b4 user: quarry | |
| 18:33 | • Edit [ddf544308c]: Add "landing" with value "336bedde19b08b72cf02d8206a549a096e548219d023f7afa8c7507d5c970b18". artifact: af5a9fe572 user: quarry | |
| 18:33 | • Reply: pkgsrc is owned by dmestas and still appears under zeitgeist. Re-running the hand-over did not fix it, which is how I found that the repair states the wrong thing. artifact: bfeecf9f54 user: dmestas | |
| 18:33 | land ns-invariant check-in: ddf544308c user: dmestas tags: trunk | |
| 18:33 | • Edit [c1c2b51389]: Mark "Closed". artifact: ef57bc83b4 user: quarry | |
| 18:32 | • Closed ticket [085786dd87]: The Reader preset grants wiki and ticket editing plus 2 other changes artifact: aa55516458 user: dmestas | |
| 18:32 | • Edit [ab7ee6b9ae]: Mark "Closed". artifact: 71d09ab7b2 user: quarry | |
| 18:32 | land reader-reads check-in: 7d6d584d58 user: dmestas tags: trunk | |
| 18:32 | • Edit [7d6d584d58]: Add "landing" with value "c6fd62c989d0ad3168bb2d3146d96ac92dd95167678957a3cb0408c55a9287f2". artifact: a9f7ad758a user: quarry | |
| 18:32 | • Reply: Reader reads. The preset was u3bBC78, and the u expanded through fossil's shipped reader category kptw — so granting 'reads, asks, discusses' handed over wiki editing and ticket editing, and the admin granting it could not see that happen. Reader now spells its letters out. Three decisions recorded because each could look like an oversight: p is KEPT (quarry made it the signed-in marker on four cross-repo ops including me.feed, so dropping it with the category would have taken the API dashboard from every Reader); c without n (comment on a ticket, do not mint one — narrower than fossil's own anonymous category, per RFC 0017); Developer and Maintainer keep u, so a repository that widens its reader category still reaches the roles meant to grow with it. The category mechanism is untouched. The durable half is disclosure: the person editor now lists what an account holds that its string does not say, because a hand-written u will always carry this surprise. No migration — production holds no Reader grants, so nobody loses access. RFC 0008 amended; the now-stale reasoning in RFC 0018 and teamFloor corrected. closes 085786dd870e artifact: d0c5c65bac user: dmestas | |
| 17:55 | • Edit [c1c2b51389]: Add "ci-pass" with value "97b669d7612db5c30da51733d5d2dd4a". artifact: d1fe1d2332 user: quarry | |
| 17:54 | • Edit [ab7ee6b9ae]: Add "ci-pass" with value "22b3bd38539c9dc3514be93c1e8aef39". artifact: f06bb7566e user: quarry | |
| 17:54 | • Post: pkgsrc is owned by dmestas and still appears under zeitgeist. Re-running the hand-over did not fix it, which is how I found that the repair states the wrong thing. artifact: 336bedde19 user: zeitgeist | |
| 17:54 | a namespace is the team or the owner, and the repair says so closed check-in: c1c2b51389 user: dmestas tags: ns-invariant | |
| 17:54 | • Post: Reader reads. The preset was u3bBC78, and the u expanded through fossil's shipped reader category kptw — so granting 'reads, asks, discusses' handed over wiki editing and ticket editing, and the admin granting it could not see that happen. Reader now spells its letters out. Three decisions recorded because each could look like an oversight: p is KEPT (quarry made it the signed-in marker on four cross-repo ops including me.feed, so dropping it with the category would have taken the API dashboard from every Reader); c without n (comment on a ticket, do not mint one — narrower than fossil's own anonymous category, per RFC 0017); Developer and Maintainer keep u, so a repository that widens its reader category still reaches the roles meant to grow with it. The category mechanism is untouched. The durable half is disclosure: the person editor now lists what an account holds that its string does not say, because a hand-written u will always carry this surprise. No migration — production holds no Reader grants, so nobody loses access. RFC 0008 amended; the now-stale reasoning in RFC 0018 and teamFloor corrected. closes 085786dd870e artifact: c6fd62c989 user: dmestas | |
| 17:53 | Reader reads: the preset spells its letters out instead of expanding a category closed check-in: ab7ee6b9ae user: dmestas tags: reader-reads | |
| 17:49 | • Edit [76346b858f]: Add "ci-pass" with value "5c9fa238b56b1aedb8da55cde7f4fbfc". artifact: 2ea9a20417 user: quarry | |
| 17:49 | land namespaced-paths check-in: 76346b858f user: dmestas tags: trunk | |
| 17:49 | • Edit [76346b858f]: Add "landing" with value "9999b9ea7b858316be428733da3e5e491a8e8c9fc4110dbe56ab22e3f8bce710". artifact: 156994d492 user: quarry | |
| 17:49 | • Reply: Namespaced paths. A repository is now reachable at /r/{namespace}/{repo}, and the flat path sends you to wherever it appears. artifact: 99f6dd08da user: dmestas | |
| 17:49 | • Edit [5a6ddf5d37]: Mark "Closed". artifact: 123d176769 user: quarry | |
| 17:49 | • Edit [5a6ddf5d37]: Add "ci-pass" with value "11dfd6109c0258e4390028277053ed2b". artifact: 94a262766e user: quarry | |
| 17:48 | • Post: Namespaced paths. A repository is now reachable at /r/{namespace}/{repo}, and the flat path sends you to wherever it appears. artifact: 9999b9ea7b user: zeitgeist | |
| 17:48 | a repository can be reached where it appears closed check-in: 5a6ddf5d37 user: dmestas tags: namespaced-paths | |
| 17:34 | • Edit [46573697cc]: Add "ci-pass" with value "2fb37aaa889b4d6fa7fc9a51b23f189e". artifact: 4e33cff511 user: quarry | |
| 17:33 | • Edit [30c69bd096]: Add "ci-pass" with value "43cf58db44faec030086d4a154382f90". artifact: 6146a0140b user: quarry | |
| 17:33 | land team-bounded check-in: 46573697cc user: dmestas tags: trunk | |
| 17:33 | • Edit [46573697cc]: Add "landing" with value "911e6784ba83ea30e548e681b23b8b8a03feaac3d8add2ebf1fe471d6229eea1". artifact: 33b68ee754 user: quarry | |
| 17:33 | • Reply: teams: bound every list, and make the three name pools disjoint. Two things. (1) All four team surfaces were unbounded. The People screen is fixed in SQL rather than with a pager — it returns everybody who reaches any of the team's repositories, so the cost grew with accounts AND repositories at once, and a pager would have bounded rendering and not work. The other three take windows. Three of my own count-vs-list bugs fixed on the way: Owners was counted from the page (a safety control correct only by coincidence of sort order), the Teams badge read len() of a window, and a filtered listing reported the forge's total. (2) AddTeam and AddAccount now refuse a name a repository holds, so the account/team/repository pools are disjoint at the top path segment — without it, creating a team re-points somebody else's existing URL once namespaced paths land, and team creation is an ordinary user action. Found by the session doing namespaced paths. addresses 8318bd2819ca artifact: 5e47390e69 user: dmestas | |
| 17:33 | • Edit [edc233d0a5]: Mark "Closed". artifact: 4a7cb5c855 user: quarry | |
| 17:32 | land ns-follows-deed check-in: 30c69bd096 user: dmestas tags: trunk | |
| 17:32 | • Edit [30c69bd096]: Add "landing" with value "84985351ffe764bee5db28270ff5047ee8ad848ac3a434c452715c261da27d94". artifact: 87dcf5a146 user: quarry | |
| 17:32 | • Reply: Found by using the op I landed an hour ago rather than by reading it. artifact: 52f858d1c7 user: dmestas | |
| 17:32 | • Edit [b0bea39795]: Mark "Closed". artifact: 9f09b28274 user: quarry | |
| 17:28 | • Edit [b0bea39795]: Add "ci-pass" with value "7a852ca87d741ffaca7a2a2c35331908". artifact: 7094168a93 user: quarry | |
| 17:27 | • Post: Found by using the op I landed an hour ago rather than by reading it. artifact: 84985351ff user: zeitgeist | |
| 17:27 | a personal namespace follows the deed; a team's does not closed check-in: b0bea39795 user: dmestas tags: ns-follows-deed | |
| 17:25 | • Edit [edc233d0a5]: Add "ci-pass" with value "44c7cb8e0b787a1b5ba4a6d649e48068". artifact: 6521cebc52 user: quarry | |
| 17:24 | • Post: teams: bound every list, and make the three name pools disjoint. Two things. (1) All four team surfaces were unbounded. The People screen is fixed in SQL rather than with a pager — it returns everybody who reaches any of the team's repositories, so the cost grew with accounts AND repositories at once, and a pager would have bounded rendering and not work. The other three take windows. Three of my own count-vs-list bugs fixed on the way: Owners was counted from the page (a safety control correct only by coincidence of sort order), the Teams badge read len() of a window, and a filtered listing reported the forge's total. (2) AddTeam and AddAccount now refuse a name a repository holds, so the account/team/repository pools are disjoint at the top path segment — without it, creating a team re-points somebody else's existing URL once namespaced paths land, and team creation is an ordinary user action. Found by the session doing namespaced paths. addresses 8318bd2819ca artifact: 911e6784ba user: dmestas | |
| 17:24 | teams: bound every list, and make the three name pools disjoint closed check-in: edc233d0a5 user: dmestas tags: team-bounded | |
| 17:22 | • Edit [b7b9ca4f39]: Add "ci-pass" with value "1d8670f41ad57f938d480c5b6e2a0db3". artifact: 1141b513b6 user: quarry | |
| 17:21 | land hand-on-the-deed check-in: b7b9ca4f39 user: dmestas tags: trunk | |
| 17:21 | • Edit [b7b9ca4f39]: Add "landing" with value "1522dec74133d82034153e1eb64e9d1c5e848a6a2f12037f2484a8b369ab09a7". artifact: f3aa8fdf63 user: quarry | |
| 17:21 | • Reply: The transfer this build can honestly express, so a repository can change hands without editing the database by hand. artifact: f31e9ee04e user: dmestas | |
| 17:21 | • Edit [10eee2beaf]: Mark "Closed". artifact: 7f27148578 user: quarry | |
| 17:21 | • Edit [10eee2beaf]: Add "ci-pass" with value "6c01f54fd3ccded8915f8630364d175b". artifact: 3e06cf1ec2 user: quarry | |
| 17:20 | • Post: The transfer this build can honestly express, so a repository can change hands without editing the database by hand. artifact: 1522dec741 user: zeitgeist | |
| 17:20 | hand on a repository you hold, to somebody who already administers it closed check-in: 10eee2beaf user: dmestas tags: hand-on-the-deed | |
| 17:06 | • Edit [c54d523283]: Add "ci-pass" with value "258eb90d7e01fd6b1460c4d4186cff45". artifact: e1e3d34b00 user: quarry | |
| 17:05 | • Edit [323112d11f]: Add "ci-pass" with value "fa24aeded26464a148c531ae0ce88505". artifact: ea98527f29 user: quarry | |
| 17:05 | land team-repos-ui check-in: c54d523283 user: dmestas tags: trunk | |
| 17:05 | • Edit [c54d523283]: Add "landing" with value "c9009cae0660d7d4620a6254b12d407c2108ee4a1e9844ff331f2bc54ccbc891". artifact: 85ca8eda89 user: quarry | |
| 17:05 | • Reply: teams: put a repository under a team from the web, and rename one. Until now a team could only be given a repository over the API, which made the whole feature inert: the membership floor, the People screen and the aggregation all only do something once a team holds one. The candidate list comes from team.get, not the page — the gate is the admin letter on that REPOSITORY, never the team, and a page that answered a friendlier question would render the escalation as a menu item. addresses 8318bd2819ca artifact: 01e5ac3fba user: dmestas | |
| 17:05 | • Edit [cadba9f681]: Mark "Closed". artifact: 233651cc5e user: quarry | |
| 17:05 | land deed-gates-delete check-in: 323112d11f user: dmestas tags: trunk | |
| 17:05 | • Edit [323112d11f]: Add "landing" with value "20a7e0104b30ff94c2244d8620dd5a2cbdbc5c1fc157bff22147f268fb7f1e4a". artifact: b5fe6282ef user: quarry | |
| 17:05 | • Reply: The deed starts authorising something. Until now repo.owner was recorded, populated and read in exactly one place -- the claim op -- and gated nothing. artifact: a3a34b6803 user: dmestas | |
| 17:05 | • Edit [63053ac057]: Mark "Closed". artifact: d5863fa8d5 user: quarry | |
| 17:03 | • Edit [63053ac057]: Add "ci-pass" with value "cfc18697162c5a2ec248e302bb0cc38f". artifact: 8f68782856 user: quarry | |
| 17:02 | • Post: The deed starts authorising something. Until now repo.owner was recorded, populated and read in exactly one place -- the claim op -- and gated nothing. artifact: 20a7e0104b user: zeitgeist | |
| 17:02 | destroying a repository belongs to the deed, not the role closed check-in: 63053ac057 user: dmestas tags: deed-gates-delete | |
| 17:00 | • Edit [cadba9f681]: Add "ci-pass" with value "8846a5a4a34b3e086ed4a45605a834d2". artifact: 9e2ec2025a user: quarry | |
| 16:59 | Note: Ownership: the deed, the namespace and the letters technote: [99b48223e8] user: zeitgeist | |
| 16:59 | teams: the add list comes from the caller's grants, not the forge closed check-in: cadba9f681 user: dmestas tags: team-repos-ui | |
| 16:28 | • Edit [8a9730c15f]: Add "ci-pass" with value "23e6345aaa094ce9be946243b9216a4e". artifact: ba0b90304d user: quarry | |
| 16:28 | • Post: teams: put a repository under a team from the web, and rename one. Until now a team could only be given a repository over the API, which made the whole feature inert: the membership floor, the People screen and the aggregation all only do something once a team holds one. The candidate list comes from team.get, not the page — the gate is the admin letter on that REPOSITORY, never the team, and a page that answered a friendlier question would render the escalation as a menu item. addresses 8318bd2819ca artifact: c9009cae06 user: dmestas | |
| 16:27 | teams: put a repository under a team from the web, and rename one check-in: 8a9730c15f user: dmestas tags: team-repos-ui | |
| 16:11 | • Edit [25fb4e4990]: Add "ci-pass" with value "68b3d90904bdab919f1bfbc214b4b5e6". artifact: 62017eb785 user: quarry | |
| 16:09 | • Edit [4ef1bcf788]: Add "ci-fail" with value "d208ed31d49e69f81276f044f935639f". artifact: 1d89a71cb7 user: quarry | |
| 16:09 | land absent-means-keep check-in: 25fb4e4990 user: dmestas tags: trunk | |
| 16:09 | • Edit [25fb4e4990]: Add "landing" with value "527f1dc6537cd03d03ca0dea4116c9612b5540cc4e4832e03c081903a8e56563". artifact: 4bab271c72 user: quarry | |
| 16:09 | • Reply: team.member: an omitted field keeps what the member had. Two members added over the API landed silently unlisted because validate:"default=1" is unreachable for a bool and for a JSON body; the same shape in `owner` demoted an existing owner on any caps change. Found on production by another session. addresses 8318bd2819ca artifact: f63713efa0 user: dmestas | |
| 16:09 | • Edit [7cde6433ab]: Mark "Closed". artifact: 45bdb4933a user: quarry | |
| 16:09 | • Edit [1070ab12a2]: Add "ci-pass" with value "7d4b886270098251548a2d4c8ee3d9b0". artifact: 32dfac6aef user: quarry | |
| 16:09 | land me-page-phone check-in: 4ef1bcf788 user: dmestas tags: trunk | |
| 16:09 | • Edit [4ef1bcf788]: Add "landing" with value "1d3ba13cb1eacd41ccd094bfb5071e1185d0a068d13d37b3f69b0a7f2b7452f7". artifact: 76a57a0cee user: quarry | |
| 16:09 | • Reply: /me on a phone: Sign out rendered one letter per line and the stacked card was 232px wide inside a 584px wrapper. Both were CSS specificity, neither was visible to a test. Also styles the push control and names its devices. artifact: b8e46a5738 user: dmestas | |
| 16:09 | • Edit [a937cc7607]: Mark "Closed". artifact: ff56d222d0 user: quarry | |
| 16:09 | land repo-url-helper check-in: 1070ab12a2 user: dmestas tags: trunk | |
| 16:09 | • Edit [1070ab12a2]: Add "landing" with value "9ba29619e726fd2d3aaf7fe2ef4684546fb76ad1f70f9fd39d469551ab752c58". artifact: 33a9fc0fa8 user: quarry | |
| 16:09 | • Reply: The prerequisite for namespaced paths. No URL changes; this only moves where they are built. artifact: de2613b1c1 user: dmestas | |
| 16:09 | • Edit [fa08f1c11e]: Mark "Closed". artifact: 4f90ecaf5d user: quarry | |
| 15:37 | • Edit [fa08f1c11e]: Add "ci-pass" with value "d71edabefd16d4b4b62b1fbe3159dfb9". artifact: a6507aaf73 user: quarry | |
| 15:36 | • Post: The prerequisite for namespaced paths. No URL changes; this only moves where they are built. artifact: 9ba29619e7 user: zeitgeist | |
| 15:36 | build a repository URL in one place instead of 316 closed check-in: fa08f1c11e user: dmestas tags: repo-url-helper | |
| 15:32 | • Post: team.member: an omitted field keeps what the member had. Two members added over the API landed silently unlisted because validate:"default=1" is unreachable for a bool and for a JSON body; the same shape in `owner` demoted an existing owner on any caps change. Found on production by another session. addresses 8318bd2819ca artifact: 527f1dc653 user: dmestas | |
| 15:32 | • Edit [7cde6433ab]: Edit check-in comment. artifact: 2658b39d3f user: dmestas | |
| 15:31 | • New ticket [9e71cc1513] validate default= is published in op docs but never applied to a JSON body. artifact: 8b6b8ac5ec user: zeitgeist | |
| 15:31 | • Edit [7cde6433ab]: Add "ci-pass" with value "dcf372ba1dc80a0f8e443c488932a09e". artifact: 42ef3a256e user: quarry | |
| 15:30 | team.member: an omitted field keeps what the member had closed check-in: 7cde6433ab user: dmestas tags: absent-means-keep | |
| 15:25 | • Edit [a937cc7607]: Add "ci-pass" with value "960916085d24ef25582da26cbd7df31e". artifact: 23ce0977a3 user: quarry | |
| 15:24 | • Post: /me on a phone: Sign out rendered one letter per line and the stacked card was 232px wide inside a 584px wrapper. Both were CSS specificity, neither was visible to a test. Also styles the push control and names its devices. artifact: 1d3ba13cb1 user: dmestas | |
| 15:23 | /me on a phone: the stacked sessions table, and the push control closed check-in: a937cc7607 user: dmestas tags: me-page-phone | |
| 15:22 | • Edit [5849ea2569]: Add "ci-pass" with value "4c06407f778df69b5b27fcecdbbb04fa". artifact: 4eb1ef4abc user: quarry | |
| 15:21 | land private-visible check-in: 641b1bdc40 user: dmestas tags: trunk | |
| 15:21 | • Edit [641b1bdc40]: Add "landing" with value "6804d1e893dc1fcb2cec57882cd987f4c01211575912c87255d7b9bd25e923d4". artifact: 46e77ef812 user: quarry | |
| 15:21 | • Reply: A private repository was invisible to its own owner on the web. Followed a link from the dashboard to /r/orchard and got 404. artifact: d60d3723f3 user: dmestas | |
| 15:21 | • Edit [72b757fd97]: Mark "Closed". artifact: 7fa7796a21 user: quarry | |
| 15:21 | Create new branch named "me-page-phone" check-in: 5849ea2569 user: dmestas tags: me-page-phone | |
| 15:19 | • Edit [72b757fd97]: Add "ci-pass" with value "845e9706ef944f6c44c0681ec8f43b95". artifact: adce4be96a user: quarry | |
| 15:18 | • Post: A private repository was invisible to its own owner on the web. Followed a link from the dashboard to /r/orchard and got 404. artifact: 6804d1e893 user: zeitgeist | |
| 15:18 | name the reader to the ops layer so a private repository reaches its owner closed check-in: 72b757fd97 user: dmestas tags: private-visible | |
| 15:07 | • Edit [1c733f091f]: Add "ci-pass" with value "9be7843323dd05a6a0ec67f83183c174". artifact: b1ac3f5245 user: quarry | |
| 15:06 | • Edit [6a456b2394]: Add "ci-fail" with value "61bb162360d03444cdf0d5ab797ff584". artifact: 68f77df5a3 user: quarry | |
| 15:06 | land rfc0018-namespace check-in: 1c733f091f user: dmestas tags: trunk | |
| 15:06 | • Edit [1c733f091f]: Add "landing" with value "470ad9319a583877c2d9d52f5504979b3f8a72f91e3bfdcf1c739f1d056a9cb6". artifact: b97863df52 user: quarry | |
| 15:06 | • Reply: RFC 0018 amendment: team_repo decides the path segment. Written against landing f7b186462ba9 (namespace-follows). addresses 8318bd2819ca artifact: 05f64daca1 user: dmestas | |
| 15:06 | • Edit [929fca717c]: Mark "Closed". artifact: f42cdb9a0d user: quarry | |
| 15:06 | • Edit [a474147f42]: Add "ci-fail" with value "e4d6b09bbaae95f106d04360d3e2c285". artifact: f636e1cacd user: quarry | |
| 15:06 | land team-reach check-in: 6a456b2394 user: dmestas tags: trunk | |
| 15:06 | • Edit [6a456b2394]: Add "landing" with value "4c16dd0097016f3462773a24d883946fbffc5b4e96c8f2e7d0752eee6cfdac98". artifact: 408abef497 user: quarry | |
| 15:06 | • Reply: teams reach the dashboard and person pages artifact: 9113353156 user: dmestas | |
| 15:06 | • Edit [4c48d95533]: Mark "Closed". artifact: cfc07d5e8b user: quarry | |
| 15:06 | land namespace-follows check-in: a474147f42 user: dmestas tags: trunk | |
| 15:06 | • Edit [a474147f42]: Add "landing" with value "f7b186462ba92599e495d8d8a62e610fc39dc798fa53cd9f8ff3616e4f299184". artifact: c5e0acd492 user: quarry | |
| 15:06 | • Reply: A gap between the ownership slice and the teams slice, found by the session building teams and fixed here because it is mine. artifact: 677a2d9411 user: dmestas | |
| 15:06 | • Edit [a17ab07edf]: Mark "Closed". artifact: 03a336aba4 user: quarry | |
| 14:14 | • Edit [4c48d95533]: Add "ci-pass" with value "20d12fd4f86f62ff5eb7ae054e7e016c". artifact: ded152ebc8 user: quarry | |
| 14:13 | teams: note why the member list carries no count closed check-in: 4c48d95533 user: dmestas tags: team-reach | |
| 13:25 | • Edit [3cfff0bdfd]: Add "ci-pass" with value "6735dfbef225e25e1946b8197ef67f86". artifact: cf2b9bf7c5 user: quarry | |
| 13:24 | teams: a member count describes the list beside it check-in: 3cfff0bdfd user: dmestas tags: team-reach | |
| 13:18 | • Edit [929fca717c]: Add "ci-pass" with value "c996e1a969cff360b733bd0657e9320f". artifact: 93415caa83 user: quarry | |
| 13:18 | RFC 0018: a placement record exists exactly when somebody placed it closed check-in: 929fca717c user: dmestas tags: rfc0018-namespace | |
| 13:18 | • Edit [a17ab07edf]: Add "ci-pass" with value "a254d02d0dab10420e8545becee3dbe5". artifact: 0328d266cb user: quarry | |
| 13:17 | • Reply: A gap between the ownership slice and the teams slice, found by the session building teams and fixed here because it is mine. artifact: b746dc3cd0 user: zeitgeist | |
| 13:17 | dissolving a team returns its repositories to their owners closed check-in: a17ab07edf user: dmestas tags: namespace-follows | |
| 13:11 | • Edit [3496d5b074]: Add "ci-pass" with value "16bb821c7e975e2dfd4fc34ffcc47da9". artifact: 000a7d8b90 user: quarry | |
| 13:11 | • Post: RFC 0018 amendment: team_repo decides the path segment. Written against landing f7b186462ba9 (namespace-follows). addresses 8318bd2819ca artifact: 470ad9319a user: dmestas | |
| 13:11 | RFC 0018: team_repo decides the path segment check-in: 3496d5b074 user: dmestas tags: rfc0018-namespace | |
| 13:11 | • Edit [25989b738a]: Add "ci-pass" with value "83da55d028d878e745fb66555b091397". artifact: 4fb2f668fb user: quarry | |
| 13:11 | Create new branch named "rfc0018-namespace" check-in: 25989b738a user: dmestas tags: rfc0018-namespace | |
| 13:10 | • Edit [3b0a50a804]: Add "ci-pass" with value "b30d7164d573cf975003868392b4e5cd". artifact: 814aa28ec6 user: quarry | |
| 13:09 | • Post: A gap between the ownership slice and the teams slice, found by the session building teams and fixed here because it is mine. artifact: f7b186462b user: zeitgeist | |
| 13:09 | the path segment follows the team that holds the repository check-in: 3b0a50a804 user: dmestas tags: namespace-follows | |
| 13:02 | • Edit [a06c187310]: Add "ci-pass" with value "455c826998c2c3edeba835bbbb420dc0". artifact: e8935d567b user: quarry | |
| 13:02 | land xfer-log check-in: a06c187310 user: dmestas tags: trunk | |
| 13:02 | • Edit [a06c187310]: Add "landing" with value "b5bbe14c32a99de6439c5d32f9e04382b850e65d762a030b14a2c987b65cccf5". artifact: 9dea84adad user: quarry | |
| 13:02 | • Reply: A one-line follow-up to sync-starting, found by watching it work. artifact: 8de05bda5b user: dmestas | |
| 13:02 | • Edit [8988353a3c]: Mark "Closed". artifact: 178a838a2b user: quarry | |
| 12:57 | • Edit [5e3704174c]: Add "ci-pass" with value "8d2a42f78728ba795a9c87adf97955a2". artifact: 3d8953618d user: quarry | |
| 12:56 | • Post: teams reach the dashboard and person pages artifact: 4c16dd0097 user: dmestas | |
| 12:56 | teams reach the dashboard and person pages check-in: 5e3704174c user: dmestas tags: team-reach | |
| 12:49 | • Edit [8988353a3c]: Add "ci-pass" with value "e585de266ca5f484bf5bfe2855ed68b9". artifact: 53933cdc45 user: quarry | |
| 12:48 | • Post: A one-line follow-up to sync-starting, found by watching it work. artifact: b5bbe14c32 user: zeitgeist | |
| 12:48 | log what the sync client was told, not what it was not closed check-in: 8988353a3c user: dmestas tags: xfer-log | |
| 12:47 | • Edit [cbaa499852]: Add "ci-pass" with value "9079fc25eb3e260b3f96904f0cb28534". artifact: ca5724d334 user: quarry | |
| 12:47 | Create new branch named "team-reach" check-in: cbaa499852 user: dmestas tags: team-reach | |
| 12:44 | • Edit [5ce2d12264]: Add "ci-pass" with value "23c26038497f6c171a9dac092cfedd38". artifact: a3baa91466 user: quarry | |
| 12:44 | land sync-starting check-in: 5ce2d12264 user: dmestas tags: trunk | |
| 12:44 | • Edit [5ce2d12264]: Add "landing" with value "a017905875ea46ecdc73ba0c1f51cf6c0e5a2a411ae7d477f80183a785fd6b73". artifact: 27fca1eccc user: quarry | |
| 12:44 | • Reply: The last of the three defects from the stuck-landing incident. artifact: 7ea0be6ecc user: dmestas | |
| 12:44 | • Edit [f777b136a3]: Mark "Closed". artifact: adbacbb378 user: quarry | |
| 12:41 | • Edit [f777b136a3]: Add "ci-pass" with value "43438f7656f55f31de1e62ef3936c769". artifact: fdf3632bec user: quarry | |
| 12:40 | • Post: The last of the three defects from the stuck-landing incident. artifact: a017905875 user: zeitgeist | |
| 12:40 | a sync during startup says starting, not missing closed check-in: f777b136a3 user: dmestas tags: sync-starting | |
| 12:37 | • Edit [0bed40e20a]: Add "ci-pass" with value "21874d34f0302434eed208dca8f9bce8". artifact: 629e09f420 user: quarry | |
| 12:36 | • Edit [36c9e3a04d]: Add "ci-fail" with value "584e67d7471b47fe33cf390672bc7c62". artifact: 1bbdeacf36 user: quarry | |
| 12:35 | land team-people check-in: 0bed40e20a user: dmestas tags: trunk | |
| 12:35 | • Edit [0bed40e20a]: Add "landing" with value "56f2ed99eaf77f329a2d203047495203a5a0de68565205a6452591e0dac23761". artifact: b3885cbe2c user: quarry | |
| 12:35 | • Reply: teams: the People screen. addresses 8318bd2819ca artifact: d2b2fc70f5 user: dmestas | |
| 12:35 | • Edit [ed8bd760b0]: Mark "Closed". artifact: 0e27d7257f user: quarry | |
| 12:35 | land landing-retarget check-in: 36c9e3a04d user: dmestas tags: trunk | |
| 12:35 | • Edit [36c9e3a04d]: Add "landing" with value "2b4d8273c9fc87d97053264712cf75479fe330326fe4473a8c53b5c56aec6933". artifact: e0b2ceba79 user: quarry | |
| 12:35 | • Reply: The other half of last night's stuck landing: a way to act on the instruction. artifact: 98abda8d62 user: dmestas | |
| 12:35 | • Edit [c744e569af]: Mark "Closed". artifact: 88b91b454a user: quarry | |
| 12:16 | • Edit [c744e569af]: Add "ci-pass" with value "a9324d0348492aa7aeb9083493b08867". artifact: 696d7209a0 user: quarry | |
| 12:13 | • Edit [ed8bd760b0]: Add "ci-pass" with value "9df5e0656885fd065bfed358e4b861ef". artifact: f4ebb05cb5 user: quarry | |
| 12:13 | • Post: The other half of last night's stuck landing: a way to act on the instruction. artifact: 2b4d8273c9 user: zeitgeist | |
| 12:13 | retarget an open landing from the forge, not only from a shell closed check-in: c744e569af user: dmestas tags: landing-retarget | |
| 12:12 | • Edit [b86f7db053]: Add "ci-fail" with value "4cc0eac049f31ec925d0258750340c14". artifact: c5705e1978 user: quarry | |
| 12:12 | • Post: teams: the People screen. addresses 8318bd2819ca artifact: 56f2ed99ea user: dmestas | |
| 12:12 | teams: the People screen — everyone who reaches the team repositories, and how closed check-in: ed8bd760b0 user: dmestas tags: team-people | |
| 12:04 | Create new branch named "team-people" check-in: b86f7db053 user: dmestas tags: team-people | |
| 12:03 | • Edit [ac183d3748]: Add "ci-pass" with value "a74361537835379eb51ec5a0610981fc". artifact: 20cd2d9bad user: quarry | |
| 12:03 | land refusal-text check-in: ac183d3748 user: dmestas tags: trunk | |
| 12:03 | • Edit [ac183d3748]: Add "landing" with value "b1823e9437e00263ae1b4d4d72d7127ac075a633143d9e362e01e9902331ef95". artifact: 2d8c33b787 user: quarry | |
| 12:03 | • Reply: When an op refuses, show what it said. artifact: 381b6c7881 user: dmestas | |
| 12:03 | • Edit [943c246591]: Mark "Closed". artifact: 1ac4eaf863 user: quarry | |
| 01:33 | • Edit [943c246591]: Add "ci-pass" with value "e54c992d4509cccb998e8169d1f59b01". artifact: cbbb163796 user: quarry | |
| 01:32 | • Post: When an op refuses, show what it said. artifact: b1823e9437 user: zeitgeist | |
| 01:30 | show an op's refusal instead of a blank apology closed check-in: 943c246591 user: dmestas tags: refusal-text | |
| 01:28 | • Edit [92240303b4]: Add "ci-pass" with value "128a7bc0491de539054c10bf1ba3c706". artifact: 78075a10af user: quarry | |
| 01:26 | land team-routes-2 check-in: 92240303b4 user: dmestas tags: trunk | |
| 01:26 | • Edit [92240303b4]: Add "landing" with value "63f3a7ba5c18abc010007b5c03c5b18d636ca2423961d658fc6397f818c2b0d0". artifact: 94449dd956 user: quarry | |
| 01:26 | • Reply: settings: the People section names the team route instead of hiding it. addresses 8318bd2819ca artifact: 9c874314e5 user: dmestas | |
| 01:26 | • Edit [4de2442657]: Mark "Closed". artifact: 2de9fddf20 user: quarry | |
| 01:26 | • Reply: settings: the People section names the team route instead of hiding it. addresses 8318bd2819ca artifact: 49b83b1503 user: zeitgeist | |
| 01:22 | • Edit [ff5e45a2be]: Add "ci-pass" with value "0c6fb47c32333fb3c80126069e726006". artifact: 871e185010 user: quarry | |
| 01:22 | land repo-claim check-in: ff5e45a2be user: dmestas tags: trunk | |
| 01:22 | • Edit [ff5e45a2be]: Add "landing" with value "c23fb96ab5374014f7d4c574efbcb45e4c0198fb2bdd6518295c7699b379a2d5". artifact: 99c5d7a0ee user: quarry | |
| 01:22 | • Reply: How a forge-held repository acquires an owner, and a correction to the backfill that shipped with repo-owner. artifact: 93f9aad1c1 user: dmestas | |
| 01:22 | • Edit [2563163751]: Mark "Closed". artifact: 84163a008f user: quarry | |
| 01:20 | • Edit [2563163751]: Add "ci-pass" with value "e8982fcfdcbfdea218e2e82fd32b11ce". artifact: e270b9b095 user: quarry | |
| 01:20 | • Post: How a forge-held repository acquires an owner, and a correction to the backfill that shipped with repo-owner. artifact: c23fb96ab5 user: zeitgeist | |
| 01:19 | claim a forge-held repository; mirrors stay forge-held closed check-in: 2563163751 user: dmestas tags: repo-claim | |
| 01:18 | • Edit [4de2442657]: Add "ci-pass" with value "193b80927ded7d896ec82cfc4b12a92b". artifact: 0d1231e320 user: quarry | |
| 01:17 | • Post: settings: the People section names the team route instead of hiding it. addresses 8318bd2819ca artifact: 63f3a7ba5c user: dmestas | |
| 01:17 | settings: the People section names the team route instead of hiding it closed check-in: 4de2442657 user: dmestas tags: team-routes-2 | |
| 01:14 | • Edit [4d513982bb]: Add "ci-pass" with value "43c3cf38733a0d81399b7f81f8cfac54". artifact: c179a4a2bb user: quarry | |
| 01:13 | Create new branch named "team-routes-2" check-in: 4d513982bb user: dmestas tags: team-routes-2 | |
| 01:13 | • Edit [c7d459755f]: Mark "Closed". artifact: cf37887069 user: dmestas | |
| 01:12 | • Edit [584d505014]: Add "ci-pass" with value "3def8fe1b0b8728455ac91717b920684". artifact: a936663e13 user: quarry | |
| 01:11 | • Edit [d3ff3b15c7]: Add "ci-fail" with value "fdcfa09430b4649d135736a2764d2356". artifact: a290858f30 user: quarry | |
| 01:11 | land repo-owner check-in: 584d505014 user: dmestas tags: trunk | |
| 01:11 | • Edit [584d505014]: Add "landing" with value "24b436e5e3740ef28a7e64e0b71a3eb0fc90de1273e55ede7380d3376b0a39b2". artifact: ef045e5f87 user: quarry | |
| 01:11 | • Reply: The prerequisite for namespaced paths: ownership becomes a stored fact instead of something inferred from who happens to hold the `a` letter. artifact: 23bf0fcaf8 user: dmestas | |
| 01:11 | • Edit [37653b4097]: Mark "Closed". artifact: 421bda54b4 user: quarry | |
| 01:11 | land teams-pages check-in: d3ff3b15c7 user: dmestas tags: trunk | |
| 01:11 | • Edit [d3ff3b15c7]: Add "landing" with value "117c9f03fb9240d382eacd443d45ac4c4e9939f9a9be43f77a0272de25c75bcf". artifact: 9e390a2b98 user: quarry | |
| 01:11 | • Reply: teams: the public directory, one team page, and the third explore tab. addresses 8318bd2819ca artifact: 78909bb301 user: dmestas | |
| 01:11 | • Edit [97ea1d1917]: Mark "Closed". artifact: 462d85e655 user: quarry | |
| 01:10 | • Edit [c7d459755f]: Add "ci-pass" with value "0be54c30284038e67ffba18af566cedc". artifact: f03eee99d3 user: quarry | |
| 01:10 | Create new branch named "team-routes" closed check-in: c7d459755f user: dmestas tags: team-routes | |
| 00:44 | • Edit [37653b4097]: Add "ci-pass" with value "30bb4f07c6bc88c3f15ac2390c2c109c". artifact: 9b1c7bf5db user: quarry | |
| 00:43 | • Post: The prerequisite for namespaced paths: ownership becomes a stored fact instead of something inferred from who happens to hold the `a` letter. artifact: 24b436e5e3 user: zeitgeist | |
| 00:43 | record the repository deed and namespace as stored columns closed check-in: 37653b4097 user: dmestas tags: repo-owner | |
| 00:41 | • Edit [97ea1d1917]: Add "ci-pass" with value "a9ee29338606b72fa4ceb8cb077646ce". artifact: 15b94f1c4a user: quarry | |
| 00:40 | • Post: teams: the public directory, one team page, and the third explore tab. addresses 8318bd2819ca artifact: 117c9f03fb user: dmestas | |
| 00:40 | teams: the public directory, one team page, and the third explore tab closed check-in: 97ea1d1917 user: dmestas tags: teams-pages | |
| 00:32 | • Edit [e948a53a3c]: Add "ci-pass" with value "b949589323400f4d21b3c560a5d8f87e". artifact: 985eb70d3b user: quarry | |
| 00:32 | Create new branch named "teams-pages" check-in: e948a53a3c user: dmestas tags: teams-pages | |
| 00:28 | • Edit [d8137c2421]: Add "ci-pass" with value "21290f135692e868b8f1273b57b9b4b1". artifact: 12ab63c5be user: quarry | |
| 00:27 | • Edit [d8137c2421]: Add "landing" with value "88d0a0dcf8fb1afd72f34b28c2df42b1344ae32dfb887e65aa44cc244f3e26f0". artifact: 54f59fa341 user: quarry | |
| 00:27 | • Reply: teams: a single-team read fills its counts instead of leaving them zero. addresses 8318bd2819ca artifact: 166219b5db user: dmestas | |
| 00:27 | • Edit [fc63cfbf44]: Mark "Closed". artifact: 98c869fa63 user: quarry | |
| 00:27 | land team-counts check-in: d8137c2421 user: dmestas tags: trunk | |
| 00:27 | • Edit [d8137c2421]: Add "landing" with value "88d0a0dcf8fb1afd72f34b28c2df42b1344ae32dfb887e65aa44cc244f3e26f0". artifact: b1bd8e9345 user: quarry | |
| 00:27 | • Reply: teams: a single-team read fills its counts instead of leaving them zero. addresses 8318bd2819ca artifact: 37cf64333b user: dmestas | |
| 00:27 | • Edit [fc63cfbf44]: Mark "Closed". artifact: 1c8a16b99f user: quarry | |
| 00:27 | • Edit [fc63cfbf44]: Add "ci-pass" with value "5a44cbb62b0253201b59d218cebffc76". artifact: 174073aa74 user: quarry | |
| 00:26 | • Post: teams: a single-team read fills its counts instead of leaving them zero. addresses 8318bd2819ca artifact: 88d0a0dcf8 user: dmestas | |
| 00:26 | teams: a single-team read fills its counts instead of leaving them zero closed check-in: fc63cfbf44 user: dmestas tags: team-counts | |
| 00:24 | • Edit [1c005f9133]: Add "ci-pass" with value "030b01a3f8b97deb5ba6a2118622b39d". artifact: 3004a6a3f4 user: quarry | |
| 00:24 | Create new branch named "team-counts" check-in: 1c005f9133 user: dmestas tags: team-counts | |
| 00:21 | • Edit [aebd12f1ab]: Add "ci-pass" with value "72ab7e47d4fc36807b9f8da2c8685e32". artifact: 3289161b39 user: quarry | |
| 00:20 | land teams-1 check-in: aebd12f1ab user: dmestas tags: trunk | |
| 00:20 | • Edit [aebd12f1ab]: Add "landing" with value "31ead909b7c5622544254ff47b145aed5775cff952fc8567f333c9fb57748639". artifact: c69a8ddf24 user: quarry | |
| 00:20 | • Reply: teams: the tables, the membership floor, the union in EffectiveCaps, and nine ops. addresses 8318bd2819ca artifact: b9285f611f user: dmestas | |
| 00:20 | • Edit [ad7357d37e]: Mark "Closed". artifact: ccdac551eb user: quarry | |
| 00:20 | • Edit [ad7357d37e]: Add "ci-pass" with value "16cce689edb9aa391ffea07774202cc4". artifact: ea9ce6c9b1 user: quarry | |
| 00:19 | update teams-1 from trunk closed check-in: ad7357d37e user: dmestas tags: teams-1 | |
| 00:19 | • Reply: teams: the tables, the membership floor, the union in EffectiveCaps, and nine ops. addresses 8318bd2819ca artifact: 0a7a23d44c user: dmestas | |
| 00:17 | • Edit [c79a4832d7]: Add "ci-pass" with value "c72f911ff1000c594a6104261749ae6f". artifact: 5e896d093f user: quarry | |
| 00:16 | • Post: teams: the tables, the membership floor, the union in EffectiveCaps, and nine ops. addresses 8318bd2819ca artifact: 31ead909b7 user: dmestas | |
| 00:16 | teams: the ops, and a measured short-circuit for forges with no teams check-in: c79a4832d7 user: dmestas tags: teams-1 | |
| 00:09 | • Edit [488ce6f6f6]: Add "ci-pass" with value "8c2830421c3628c870818da4a456d965". artifact: 31c4ddb875 user: quarry | |
| 00:08 | land owner-ops check-in: 488ce6f6f6 user: dmestas tags: trunk | |
| 00:08 | • Edit [488ce6f6f6]: Add "landing" with value "95b7b1c5df3aa579d4ee7e39fd5f65a7eb5298d62f3eafe2c86a233741715035". artifact: 59d3041e5c user: quarry | |
| 00:08 | • Reply: Finish the owner-ops split. Exactly two operations change gate, both verified against a full op scan of the merged tree rather than a report. artifact: 5c8548691a user: dmestas | |
| 00:08 | • Edit [a4b1ccf8ff]: Mark "Closed". artifact: b9ccbbd228 user: quarry | |
| 00:04 | • Edit [3e8bcc0b5f]: Add "ci-pass" with value "2efe6eda2bb7a8742a653fad2eba4f6b". artifact: 85cf4740b4 user: quarry | |
| 00:03 | teams: the tables, the membership floor, and the union in EffectiveCaps check-in: 3e8bcc0b5f user: dmestas tags: teams-1 | |
| 00:02 | • Edit [a4b1ccf8ff]: Add "ci-pass" with value "baefb71882f36f1d758e81e10e281cbb". artifact: 9610ca64be user: quarry | |
| 00:01 | • Post: Finish the owner-ops split. Exactly two operations change gate, both verified against a full op scan of the merged tree rather than a report. artifact: 95b7b1c5df user: zeitgeist | |
| 00:01 | • Edit [77a81aaa38]: Add "ci-pass" with value "cc4a0eb0200b255fd9af0dbd431a026a". artifact: 36da1b7739 user: quarry | |
| 00:01 | mirror.writes and chatbridge to the repository owner; reindex stays forge-side closed check-in: a4b1ccf8ff user: dmestas tags: owner-ops | |
| 00:01 | Create new branch named "teams-1" check-in: 77a81aaa38 user: dmestas tags: teams-1 | |