lilleman
4d2e7b59fd
List grants no plugin declares with a Remove, and save a permission change as one Keto transaction
CI / full-gate (push) Successful in 3m26s
2026-11-08 22:04:52 +01:00
lilleman
56807434e8
Make the client-abort log test wait on the handler, not on fixed sleeps
CI / full-gate (push) Successful in 3m21s
2026-11-08 21:51:13 +01:00
lilleman
05da1d7897
Rename the admin example plugin to auth-admin, and let config/menu.ts hide or rename a profile-menu entry
CI / full-gate (push) Successful in 3m32s
2026-11-08 21:25:11 +01:00
lilleman
3179be0d11
Answer prose round 1: 0 🔴 , 10 🟡 (0 misread); define code health, restore the topic index, give each decision a premise of its own
CI / full-gate (push) Successful in 3m39s
2026-11-08 21:09:19 +01:00
lilleman
7ad46d0adf
Move the decisions out of AGENTS.md into docs/decisions.md
CI / full-gate (push) Successful in 4m5s
2026-11-08 21:00:53 +01:00
lilleman
be498eecd3
Record the reading cost for item 60
2026-11-08 21:00:53 +01:00
lilleman
9b52b7e5ff
Record the comprehension check: PR #223 paired ruling, better
CI / full-gate (push) Successful in 3m25s
Mirror / github-mirror (push) Successful in 4s
2026-11-08 20:50:55 +01:00
lilleman
903dde8a24
Answer product-owner round 1: 0 🔴 , 1 🟡 (0 misread); relative links in docs/ci-cd.md resolve again
2026-11-08 20:47:52 +01:00
lilleman
9b1b201f65
Split conflict detection out of plugin.ts and the CI/CD section out of the README
CI / full-gate (push) Successful in 3m22s
2026-11-08 20:39:49 +01:00
lilleman
b4579131a2
Split handleRequest into named stages, so the stage order is written once
2026-11-08 19:55:26 +01:00
lilleman
b7e9780437
Record the comprehension check: PR #220 paired ruling same
2026-11-08 19:34:58 +01:00
lilleman
777c0bd86d
Let a plugin add links to the profile menu, and list the setting conflict kind
CI / full-gate (push) Failing after 1m17s
2026-11-08 19:17:57 +01:00
lilleman
14a07dd879
Record the comprehension check: PR #216 paired ruling better
CI / full-gate (push) Successful in 3m21s
Mirror / github-mirror (push) Successful in 4s
2026-11-08 15:10:53 +01:00
lilleman
996eef2dc5
Record reading cost
2026-11-08 14:55:47 +01:00
lilleman
6ca63c6c0f
Record the comprehension check: PR #215 paired ruling better
CI / full-gate (push) Successful in 3m30s
Mirror / github-mirror (push) Successful in 4s
2026-11-08 14:45:06 +01:00
lilleman
404f2584ac
Add buildPaginationModel and ctx.assetHref, and bump the plugin contract to 0.5.0
CI / full-gate (push) Failing after 5s
2026-11-08 14:32:05 +01:00
lilleman
01f368d663
Record the comprehension check: PR #214 paired ruling better
CI / full-gate (push) Successful in 3m23s
Mirror / github-mirror (push) Successful in 5s
2026-11-08 14:22:51 +01:00
lilleman
5aa62e2742
Record reading cost for item 51's chunk
2026-11-08 14:09:20 +01:00
lilleman
190d12532d
Record the reading cost
CI / full-gate (push) Failing after 1m4s
2026-11-03 21:44:05 +01:00
lilleman
c2389f871d
Record the comprehension check: overall 6.50 then 6.38, under the 7.0 floor; the README's REQUIRE_SECURE_SECRETS drift is filed as item 56
CI / full-gate (push) Successful in 3m24s
Mirror / github-mirror (push) Successful in 4s
2026-10-31 14:09:54 +01:00
lilleman
217a36252e
Keep a URL config value out of the boot error that rejects it
CI / full-gate (push) Failing after 1m6s
2026-10-31 13:48:43 +01:00
lilleman
8f7bc59b38
Keep a secret setting's raw value out of the boot error that rejects it
CI / full-gate (push) Successful in 3m23s
2026-10-31 13:38:27 +01:00
lilleman
622059101f
Record the comprehension check: PR #200 ruled same, scored 6.50 and 6.25; filed items 46-54
CI / full-gate (push) Successful in 3m20s
Mirror / github-mirror (push) Successful in 4s
2026-10-31 13:31:41 +01:00
lilleman
4cb21d8909
Link the admin's recovery-code notice to the flow the code was minted on
CI / full-gate (push) Failing after 1m1s
2026-10-31 13:05:06 +01:00
lilleman
7cf37acb1b
Record the reading cost of the last chunk
2026-10-31 12:41:11 +01:00
lilleman
d0e1de96b8
Show which filter segment or chip is selected and focused without :has()
CI / full-gate (push) Failing after 1m3s
2026-10-31 12:19:21 +01:00
lilleman
7ff8140e07
Fail the gate on a stylesheet feature the browser floor lacks, unless an @supports guards it
CI / full-gate (push) Successful in 4m45s
2026-10-31 11:52:17 +01:00
lilleman
b6afdf1ecc
Push auto-release tags as renovate-bot so release.yml fires, and give the Docker Hub page its short description
CI / full-gate (push) Successful in 3m20s
2026-10-31 11:12:23 +01:00
lilleman
fcc5e04e0d
Record the reading cost of the chunk before item 3
2026-10-31 10:47:47 +01:00
lilleman
71b12a6c0a
Split src/http/app.test.ts into one file per concern, and reset the reading-cost trend
CI / full-gate (push) Successful in 3m20s
2026-10-31 10:35:08 +01:00
lilleman
3d757d4726
item-34 - Serve every /public/ asset under a content-versioned URL with an immutable Cache-Control
2026-10-31 10:00:03 +01:00
lilleman
f4969d5c1f
Refuse a stale permission save, confirm or report it, show View to read-only holders, keep an absolute return_to beside a locale
CI / full-gate (push) Failing after 2m53s
2026-10-31 09:34:05 +01:00
lilleman
2a4ed30e93
Redirect an anonymous hit on /settings to sign-in with the page as return_to
CI / full-gate (push) Successful in 3m25s
2026-10-31 09:04:55 +01:00
lilleman
2be8ebfa67
Record the reading cost of the previous chunk
2026-10-31 08:51:49 +01:00
lilleman
de4eb7d9ee
Record the reading cost of the previous chunk
2026-10-31 08:37:45 +01:00
lilleman
a8a9744744
Record the comprehension check: paired ruling better for PR #187
CI / full-gate (push) Successful in 3m19s
Mirror / github-mirror (push) Successful in 5s
2026-10-31 08:26:23 +01:00
lilleman
520d2c928d
Visual E2E at five viewports, typecheck e2e-tests in the gate, drop unused icons
CI / full-gate (push) Successful in 3m29s
2026-10-31 08:20:16 +01:00
lilleman
b336dee6d7
Record the comprehension check: paired ruling better for PR #184
CI / full-gate (push) Successful in 3m5s
2026-10-31 02:19:51 +01:00
lilleman
16da74f03f
Record the reading cost of the last chunks
2026-10-31 02:14:39 +01:00
lilleman
bb8e6bc8e8
Record the comprehension check: paired ruling better for PR #183
CI / full-gate (push) Successful in 3m2s
Mirror / github-mirror (push) Successful in 4s
2026-10-31 02:09:41 +01:00
lilleman
2ab482e774
Keep the mobile nav reachable on engines without :has(), and fix the stylesheet header
CI / full-gate (push) Successful in 3m8s
2026-10-31 01:49:13 +01:00
lilleman
364b04795c
Record the comprehension check: paired ruling better for PR #182
2026-10-31 01:43:26 +01:00
lilleman
635006b5fc
Show the whole nav tree without :has(), raise text contrast to 4.5:1, drop unused auth rules
CI / full-gate (push) Successful in 3m1s
2026-10-31 01:24:34 +01:00
lilleman
3e70768433
Record the comprehension check: paired ruling better for PR #181
CI / full-gate (push) Successful in 3m2s
Mirror / github-mirror (push) Successful in 4s
2026-10-31 01:16:05 +01:00
lilleman
7e3e8acb28
Give every palette colour a hex value an engine without oklch can read
CI / full-gate (push) Successful in 3m5s
2026-10-31 01:00:42 +01:00
lilleman
d8cf257940
Move plugin-contract.md into README's Building plugins section; remove docs/, repoint all references
2026-06-26 23:12:40 +02:00
lilleman
de22f51c12
Organize src/ into concern folders (http, auth, admin, plugin-host, ui); co-locate tests, move plugin-api barrel into plugin-host, sync docs + AGENTS layout
2026-06-24 00:23:55 +02:00
lilleman
913bd6813a
Consolidate E2E into e2e-tests/ (Dockerfile + compose.{visual,auth,oauth,full,devstack}.yml, WORKDIR /e2e-tests); move ci.sh to repo root
2026-06-23 23:48:05 +02:00
lilleman
a9f25a7692
Remove completed todo.md + html-css-foundation mockups; strip dead §N phase refs from comments/docs (simplify visual E2E to drop the mockup-comparison oracle)
2026-06-23 22:49:28 +02:00
lilleman
e22d24aa8a
§10 - one menu everywhere (buildPluginChrome) + shell on every page; instructional starter dashboard; Kratos-native email docs
...
Collapse the three nav builders into buildPluginChrome: chrome.bestHref does longest-prefix matching so deep admin routes mark their leaf. Delete adminNav; buildConfirmModel and the admin model builders take the resolved nav. The same role-filtered sidebar now renders signed in or out, collapsing to a burger on narrow screens.
shell.ejs gains menu (default true; menu:false -> single-column .app-bare), docTitle (separate <title> from the topbar, so the body keeps the single <h1>), and hideSignIn (suppress the footer Sign-in on auth pages to avoid a login loop). auth/home/landing now render inside the shell.
Dashboard is a replaceable instructional starter (definePlugin snippet, no mock data). Email stays delegated to Kratos: documented its built-in courier.template_override_path instead of adding web-side SMTP.
2026-06-23 21:26:00 +02:00