BSD date -j -f %Y-%m-%d fills the hour it isn't given from the current time, so the demo started on 2026-09-01 at whatever time it was made and, about 35 clock hours later, finished on 09-02 or, made after about 12:40 UTC, on 09-03. The render check in .forge/ci renders at 2026-09-02, so after midday the insights pages' activity grids ended a day early there and differed from 11ty's, on main too. make-demo.sh starts at 2026-09-01 00:00:00 UTC and the check renders at 2026-09-02 00:00:00, both spelled out for BSD and GNU date; the demo now ends on 09-02 around 11:00, whenever it is made.
- commit
- a2dcf07444e8f197ebbff8cb1ab0df6528830fa8
- parent
- abf4f2a085ee5307cc543cca20bfeede8e9077f9
- author
- cat <admin@dev.site>
- ci
- ✓ passed in 136s, signed by cat
- kind
- fix risk score 1.5 of 3, Jev's estimate
- review
- #31 A repo's insights shows its activity grid as a chart, without the list
ci attestation
forge-attestation 1 type ci commit a2dcf07444e8f197ebbff8cb1ab0df6528830fa8 tree bca9bdfcc1df1b725613e315194aeceb26bcc533 script .forge/ci 3dbc91920fbe9105a57a13da4f17861aa3500f04 result pass exit 0 started 2026-10-19T13:19:47Z duration 136s runner (not shown here; refs/notes/ci has it) system Darwin 25.5.0 arm64 env host log sha256:b2dcd1c199795ba5795e4c1e5dea72c5ec9b41cf654f108df9628f3b58e02096 327 lines |pushed wip/i18n |62f80ad running .forge/ci: greet.sh: say what it is | | sh: /bin/sh | | ok greet |62f80ad pass in 0s, signed |pushed main |remote: review #4: /dami/greet/reviews/4/ |pushed wip/i18n |4a93f92 running .forge/ci: wave at the world | | sh: /bin/sh | | FAIL greet : got 'hello, world o/', want 'hello, world' |4a93f92 fail in 0s, signed |forge: 1 commit(s) did not pass |remote: review #6: /dami/greet/reviews/6/ |pushed ana/wave |e3c00b8 running .forge/ci: update the test for the wave | | sh: /bin/sh | | ok greet |e3c00b8 pass in 0s, signed |remote: review #6: /dami/greet/reviews/6/ |pushed ana/wave |warning: You appear to have cloned an empty repository. |site home: deployed 87c451f -> /sites/ana/dotfiles/home/ |created ana/notes |remote: review #1: /ana/notes/reviews/1/ |pushed ana/todo |landing #1 A todo list: ana/todo -> main |c039121 running .forge/ci: web, server and Python versions of greet | | sh: /bin/sh | | ok greet |c039121 pass in 0s, signed |pushed main |e34eeb8 running .forge/ci: messages: notes for the later regions | | sh: /bin/sh | | ok greet |e34eeb8 pass in 0s, signed |remote: review #7: /dami/greet/reviews/7/ |pushed dami/regions |created dami/forge |warning: You appear to have cloned an empty repository. |site guide: mkdir -p guide/fonts && cp site/assets/fonts/*.woff2 guide/fonts/ |site guide: deployed 6386f7c -> /sites/dami/forge/guide/ |(node:25936) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built ana/dotfiles in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.mcdcfV/wt/demo/root/.forge/www |(node:26112) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built ana/notes in 0s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.mcdcfV/wt/demo/root/.forge/www |(node:26308) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built dami/forge in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.mcdcfV/wt/demo/root/.forge/www |(node:26490) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built dami/greet in 2s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.mcdcfV/wt/demo/root/.forge/www |(node:27212) ExperimentalWarning: stripTypeScriptTypes is an experimental feature and might change at any time |(Use `node --trace-warnings ...` to show where the warning was created) |built - in 1s -> /var/folders/b4/mv8w4c8j0zj0_mldppxdbdw00000gn/T/forge-ci.mcdcfV/wt/demo/root/.forge/www |235 of 235 pages render the same without 11ty |guide: 8 files, links ok |ok
Signature: good, cat
| M | .forge/ | 6 | ++++-- |
| M | demo/ | 4 | +++- |
@@ -38,9 +38,11 @@ for f in events builds reviews ci; do test "$(head -c 4 $www/insights/$f.parquet
3838 # Templates render the same without 11ty (lib/render-page.ts), with the3939 # demo build's settings; every asset a page links exists under its hashed4040 # name; link previews. The demo's clock (make-demo.sh), so a date says the41-# same year it did when the demo was built.41+# same year it did when the demo was built, and an activity grid ends on42+# the day its last build did: 2026-09-02, from midnight, as the demo's43+# clock starts at midnight the day before.4244 tmp=$(mktemp -d)43-demo_now=$(date -u -j -f %Y-%m-%d 2026-09-02 +%s 2>/dev/null || date -u -d 2026-09-02 +%s)45+demo_now=$(date -u -j -f '%Y-%m-%d %H:%M:%S' '2026-09-02 00:00:00' +%s 2>/dev/null || date -u -d '2026-09-02 00:00:00' +%s)4446 FORGE_ROOT=$PWD/demo/root FORGE_SSH=git@forge.local FORGE_CACHE=$tmp FORGE_STRICT=1 FORGE_NOW=$demo_now node lib/render-page.ts check $www4547 rm -rf "$tmp"4648 for a in $(grep -rhoE '(href|src)="/assets/[^"]+"' $www --include=index.html | sed -E 's/^[a-z-]+="//; s/"$//' | sort -u); do@@ -27,7 +27,9 @@ cat >"$GIT_CONFIG_GLOBAL" <<'EOF'
2727 detachedHead = false2828 EOF2929 30-t=$(date -u -j -f %Y-%m-%d 2026-09-01 +%s 2>/dev/null || date -u -d 2026-09-01 +%s)30+# From midnight: BSD date -j fills the hour it isn't given from the clock,31+# and the demo's last day would move with the time it was made.32+t=$(date -u -j -f '%Y-%m-%d %H:%M:%S' '2026-09-01 00:00:00' +%s 2>/dev/null || date -u -d '2026-09-01 00:00:00' +%s)3133 # The hooks stamp reviews with FORGE_NOW, so the demo's clock moves with its commits.3234 tick() { t=$((t + ${1:-5400})); export GIT_AUTHOR_DATE="@$t +0000" GIT_COMMITTER_DATE="@$t +0000" FORGE_NOW=$t; }3335 commit() {