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
|
a558f8340f
|
Answer prose round 1: 0 🔴, 0 🟡 (0 misread); apply the nits
|
2026-11-08 19:25:57 +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
|
9af29ffdb9
|
Answer stability round 1: 1 🔴, 4 🟡 (0 misread); assetHref in the test fakes, one shared buildContext option set, default pinned, upgrade note and AGENTS.md corrected
|
2026-11-08 14:41:19 +01:00 |
|
lilleman
|
4239ee12f0
|
Answer stability round 1: 0 🔴, 3 🟡 (0 misread); gate test pins each source, builtin-route name, exact CSS wording
|
2026-11-08 14:18:39 +01:00 |
|
lilleman
|
a2493edff2
|
Move test-only tooling to src/test-tooling, split positive, warn on undeclared gated permissions
CI / full-gate (push) Successful in 4m19s
|
2026-11-08 14:09:20 +01:00 |
|
lilleman
|
a7781869fd
|
Answer prose round 1: 0 🔴, 6 🟡 (0 misread); the never-on-main reason sits at on:, the overview paragraph stops narrating its test, the AGENTS bullet splits into sentences
|
2026-10-31 11:19:11 +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
|
b478cc7735
|
Answer prose round 1: 0 🔴, 3 🟡 (0 misread); the pageError comment is true, nested-group removal is unambiguous, the trade-off lives only at the guard
CI / full-gate (push) Successful in 3m20s
Mirror / github-mirror (push) Successful in 4s
|
2026-10-31 11:02:47 +01:00 |
|
lilleman
|
ad812e17c2
|
Refuse a group change that would lock the acting admin out, and title a read-only user page View user
CI / full-gate (push) Successful in 3m22s
|
2026-10-31 10:47:47 +01:00 |
|
lilleman
|
a7135763bb
|
Answer product-owner round 1: 0 🔴, 1 🟡 (0 misread); scripts a plugin links stay unversioned until item 43, assetHref listed as reserved, the per-render stat goes to the architect
|
2026-10-31 10:16:05 +01:00 |
|
lilleman
|
f527850107
|
Answer prose round 1: 0 🔴, 3 🟡 (0 misread); trim the header comment and AGENTS.md rule, list the guard in the file map
|
2026-10-31 08:56:32 +01:00 |
|
lilleman
|
ec35aaaa9e
|
Fail the gate on a function over 50 lines or complexity 20
CI / full-gate (push) Successful in 3m36s
|
2026-10-31 08:51:49 +01:00 |
|
lilleman
|
4e7d897516
|
Answer prose round 1: 0 🔴, 4 🟡 (0 misread); document the e2e typecheck, tighten comments and changelog
|
2026-10-31 08:24:18 +01:00 |
|
lilleman
|
25b24a1057
|
Answer prose round 1: 1 🔴, 5 🟡 (1 misread); manifest is plugin.ts, rename permission token to permission name, narrow the denylist claim, move the scale into Plugin dependencies, add Safari to the :has() comment
|
2026-10-31 02:17:30 +01:00 |
|
lilleman
|
56ff987c97
|
Add the scoring-run fields the comprehension seats fill their prompts from
CI / full-gate (push) Successful in 2m58s
|
2026-10-31 01:14:09 +01:00 |
|
lilleman
|
9370fb36f2
|
Answer prose round 1: 0 🔴, 5 🟡 (0 misread); tighten the CSRF notes
CI / full-gate (push) Successful in 3m7s
|
2026-10-30 21:32:56 +01:00 |
|
lilleman
|
1dfc6aac3a
|
Set Cache-Control on every rendered page, and record the CSRF token's unbinding
CI / full-gate (push) Successful in 3m23s
|
2026-10-30 21:28:14 +01:00 |
|
lilleman
|
667d589401
|
State the project's goals and audience in the README
CI / full-gate (push) Successful in 4s
|
2026-10-30 20:32:28 +01:00 |
|
lilleman
|
5f9d74ae4f
|
Record that state lives in the URL or on the server, never in a cookie
CI / full-gate (push) Successful in 2s
Mirror / github-mirror (push) Successful in 3s
|
2026-09-15 14:21:44 +02:00 |
|
lilleman
|
58767cb53e
|
Say what the comment is for, not what the bug was
CI / full-gate (push) Successful in 2m49s
Mirror / github-mirror (push) Successful in 3s
Release / retag-image (push) Successful in 17s
Release / publish-overview (push) Successful in 3s
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
16873662b9
|
Keep the reader in place when the drawer closes, and stop the CSS promising a header it deleted
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
53ab35bfb8
|
A page is a document: drop the sticky chrome and the bounded-frame opt-out
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
41aa59d05d
|
One home per fact: cut the copied rationale, and give the seam test room to mean something
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
cb4f8d6e98
|
Name the table's local after the class it applies, and let a broken chain show itself
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
696da397e7
|
Split the fill seam where ownership splits: the shell bounds, the page fills
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
7f2c0cc2c2
|
Name the bounded frame: fill:true on the shell, and the contract minor that ships it
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
b9129fba08
|
Scroll the document by default; a bounded region is a page's own opt-in
|
2026-09-10 16:16:35 +02:00 |
|
lilleman
|
18dc4f3136
|
Refuse an emailless identity where the session is minted, and rows the upstream should not have sent
CI / full-gate (push) Successful in 2m53s
|
2026-09-02 18:24:56 +02:00 |
|
lilleman
|
390ac5f112
|
Say where the one-gate rule applies, and record why allows stays open
|
2026-09-02 14:03:06 +02:00 |
|
lilleman
|
6a0d11d9d3
|
Name exactly one gate on every declaration, and own a shift by identity id
|
2026-09-02 14:00:04 +02:00 |
|
lilleman
|
bf146c07e7
|
Bump the contract for the new gate, and close the ways it could read as open
CI / full-gate (push) Successful in 2m45s
|
2026-09-02 08:36:16 +02:00 |
|
lilleman
|
8da75b4ca7
|
Gate a route or nav node on a session, not only a permission
CI / full-gate (push) Successful in 3m6s
|
2026-09-02 07:36:08 +02:00 |
|
lilleman
|
0ad4c6b09c
|
Say what the browser gives a popover trigger, and pin the part all engines can prove
CI / full-gate (push) Successful in 2m51s
Mirror / github-mirror (push) Successful in 3s
|
2026-08-26 09:10:46 +02:00 |
|
lilleman
|
fa7cad1d65
|
Declare plugin settings in the manifest, resolve them from the environment
|
2026-08-23 13:17:03 +02:00 |
|
lilleman
|
cbf55bebae
|
Give each version mismatch its own remedy, and stop publishing a moving bare-major tag
|
2026-08-22 12:27:43 +02:00 |
|
lilleman
|
6c5eddf0c9
|
Accept the README-only gate skip, and say why it is safe
|
2026-08-22 11:58:28 +02:00 |
|
lilleman
|
bfcf4ed072
|
Trim the prose to what is true now
|
2026-08-22 11:24:16 +02:00 |
|
lilleman
|
d545445ea8
|
Release this as v0.2.0, and give the Hub overview its own job, token and template
|
2026-08-20 23:32:10 +02:00 |
|
lilleman
|
c35ba3fb4e
|
Make the plugin contract version the release version, and publish the Docker Hub overview from CI
|
2026-08-20 23:16:11 +02:00 |
|
lilleman
|
4b48bc2416
|
Scope Release-Bump to the surfaces that ship, and drop the inert package.json versions
|
2026-08-20 22:43:36 +02:00 |
|
lilleman
|
ecf33733a1
|
Lift the pre-release freeze — releases resume and the plugin contract goes live
|
2026-08-20 22:02:29 +02:00 |
|
lilleman
|
e0046e5068
|
Warn rather than refuse on a storage URL mismatch, and scrub the provisioning DSN before discovery
|
2026-08-19 01:03:40 +02:00 |
|
lilleman
|
5589472e25
|
Keep role re-assertion within a non-superuser provisioner's rights, and test the second boot
|
2026-08-19 00:44:49 +02:00 |
|
lilleman
|
e66a8a3e89
|
Isolate the storage CI stack, prove least-privilege provisioning, drop the secret before discovery
|
2026-08-19 00:20:17 +02:00 |
|
lilleman
|
060535c8ab
|
Confine the Postgres driver to bootstrap, bound plugin connections, and gate the storage DDL
|
2026-08-19 00:08:35 +02:00 |
|
lilleman
|
c7013be2f0
|
Give a plugin a Postgres database of its own
|
2026-08-18 23:12:13 +02:00 |
|
lilleman
|
82af77356f
|
Follow symlinked plugin folders, and keep a plugin .npmrc out of the image
|
2026-08-18 07:49:51 +02:00 |
|
lilleman
|
453058c67b
|
Refuse a shadowing barrel copy, and record the packaging contract
|
2026-08-17 22:34:56 +02:00 |
|
lilleman
|
af974cfa36
|
Let a plugin carry its own package.json and npm dependencies
|
2026-08-17 22:23:53 +02:00 |
|