lilleman
|
352de29013
|
Retire shell-context and render the dashboard from ctx.chrome
CI / full-gate (push) Successful in 3m18s
|
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
|
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
|
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
|
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
|
1905d2c310
|
Add a README glossary and intended scale; correct the TOKENS comment
CI / full-gate (push) Successful in 3m6s
|
2026-10-31 02:14:39 +01:00 |
|
lilleman
|
270d80c8d0
|
Answer prose round 1: 0 🔴, 3 🟡 (0 misread); state the colour rule in the README and the changelog
CI / full-gate (push) Successful in 3m1s
|
2026-10-31 01:07:30 +01:00 |
|
lilleman
|
3c5c0c911c
|
Answer product-owner round 1: 0 🔴, 2 🟡 (0 misread); document when a route may override
|
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
|
935674bc49
|
Record the browser floor and file what breaks below it
CI / full-gate (push) Successful in 4s
Mirror / github-mirror (push) Successful in 4s
|
2026-10-30 21:21:35 +01:00 |
|
lilleman
|
53e996394f
|
Add a goal for users of the building blocks, and plan todo.md as a scored table
CI / full-gate (push) Successful in 4s
Mirror / github-mirror (push) Successful in 4s
|
2026-10-30 20:45:24 +01:00 |
|
lilleman
|
3491e660e9
|
Say the host stores nothing, rather than that no database exists
CI / full-gate (push) Successful in 4s
Mirror / github-mirror (push) Successful in 4s
|
2026-10-30 20:37:00 +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
|
2993b462a1
|
Ask for dependent form fields in steps, one GET form each
CI / full-gate (push) Successful in 2s
Mirror / github-mirror (push) Successful in 3s
|
2026-09-14 17:06:03 +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
|
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
|
54956fe627
|
Release the gate change as 0.3.0, and start a changelog
CI / full-gate (push) Successful in 2m50s
Mirror / github-mirror (push) Successful in 4s
Release / retag-image (push) Successful in 22s
Release / publish-overview (push) Successful in 3s
|
2026-09-03 17:58:09 +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
|
5d1e8f2309
|
Say the gate rule once, and key the example's shifts by the identifier it scopes on
CI / full-gate (push) Successful in 3m4s
|
2026-09-02 08:50:44 +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
|
c702a347dc
|
Offer a long filter list as a popover multi-select instead of a wall of chips
CI / full-gate (push) Successful in 2m51s
|
2026-08-25 09:10:23 +02:00 |
|
lilleman
|
fa7cad1d65
|
Declare plugin settings in the manifest, resolve them from the environment
|
2026-08-23 13:17:03 +02:00 |
|
lilleman
|
47f4498fff
|
Use one Docker Hub credential for images and the overview
|
2026-08-22 14:27:31 +02:00 |
|
lilleman
|
bcff5967ad
|
Name the scope the overview actually needs
|
2026-08-22 14:21:14 +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
|
9e0cb26b3e
|
Refuse a 0.x minor mismatch, and republish the overview from the named release's tree
|
2026-08-22 12:13:41 +02:00 |
|
lilleman
|
8fd492e544
|
Scope the sidecar trailer by package so a mixed branch cannot lose it
|
2026-08-22 12:01:35 +02:00 |
|
lilleman
|
f416abf936
|
Manage the published quick start's pins, and fail closed on every release-tooling edge
|
2026-08-22 11:45:46 +02:00 |
|
lilleman
|
e44b86f532
|
Gate the overview's manual trigger on the same contract check as a tag
|
2026-08-22 11:27:35 +02:00 |
|
lilleman
|
bfcf4ed072
|
Trim the prose to what is true now
|
2026-08-22 11:24:16 +02:00 |
|
lilleman
|
a3d9a3df5f
|
Keep the release at v0.1.0 — nothing consumed the old contract
|
2026-08-22 11:21:42 +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
|
27a8cdc385
|
Release nothing when no Renovate commit reached the app
|
2026-08-20 23:02:21 +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
|
ef96ebd1f4
|
Rewrap the auto-release paragraph
|
2026-08-20 22:04:23 +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
|
060535c8ab
|
Confine the Postgres driver to bootstrap, bound plugin connections, and gate the storage DDL
|
2026-08-19 00:08:35 +02:00 |
|
lilleman
|
d2211cf75a
|
Refuse a throwaway plugin storage secret in bootstrap, before any role is created
|
2026-08-18 23:24:34 +02:00 |
|
lilleman
|
c7013be2f0
|
Give a plugin a Postgres database of its own
|
2026-08-18 23:12:13 +02:00 |
|
lilleman
|
ee7b78b94d
|
Let Renovate reach the example plugins' manifests
|
2026-08-18 21:55:35 +02:00 |
|
lilleman
|
65e76b69fd
|
Refuse a stray package.json or node_modules in config/ by name
|
2026-08-18 21:55:32 +02:00 |
|
lilleman
|
cb59eee76d
|
Refuse a node_modules at the plugins/ root, where it outranks the host's
|
2026-08-18 08:14:21 +02:00 |
|