Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,15 @@ jobs:
echo "::error::static-site/ is out of sync with src/. Run 'npm run sync:static' and commit the result as a separate commit (see CONTRIBUTING.md section 4)."
echo "$drift"
exit 1

# Publish what this Linux runner actually produced, so a maintainer whose
# own build disagrees can inspect or adopt it. Only on a manual run, and
# only when the check above failed: a green pull request has nothing to
# look at, and the snapshot is large enough not to upload for nothing.
- name: Upload the regenerated snapshot for inspection
if: failure() && github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v4
with:
name: static-site-linux
path: static-site
retention-days: 3
21 changes: 17 additions & 4 deletions BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,20 @@ Still showing a monogram (no file yet):
logo tile) is in place and the partner entry is updated.
- [x] `supplytrace.*` — **no longer needed.** SupplyTrace was removed from the
organisations grid on 2026-08.
- [ ] `human-generated-by-blockapps.*`
- [ ] `osce-odihr-anti-trafficking.*`
- [x] `human-generated-by-blockapps.*` — **no longer needed.** Human Generated
by BlockApps was removed from the organisations grid on 2026-08-25.
- [ ] `osce-odihr-anti-trafficking.*` — **checked 2026-08-25: there is nothing
to recover here.** No OSCE/ODIHR logo has ever been committed to this
repository, under that name or any other: `git log --diff-filter=D` over
`public/logos` returns zero deletions, so no logo file has ever been
removed. The entry has carried `logo: ""` since Carolina added it in
`a30def40` (2026-07-21), and its `about` text and `url` are byte-identical
to that commit — nothing was lost. A search of every repository in the
organisation finds only text references. So this needs a file **sourced
from OSCE/ODIHR**, not restored. Worth doing deliberately rather than by
grabbing the emblem off osce.org: it is a protected intergovernmental
emblem with its own usage rules, which is a different question from the
company wordmarks in this folder.
- [ ] **Better source files for the two screenshot logos** — Art & Antiquities
Blockchain Consortium and Blockchain for Social Impact were supplied as
screen grabs, so they carry their page background (cream and white) rather
Expand Down Expand Up @@ -78,8 +90,9 @@ Commission on the Status of Women (CSW)** was removed from partners entirely.

## 3. Client / partner details (`src/content/site.ts`)

- [ ] Website URLs for clients still blank: **Generative AI for Good**,
**SupplyTrace**, **Rivr**. (D_ID, Mesur.io, BlockApps already linked.)
- [ ] Website URLs for clients still blank: **Generative AI for Good**, **Rivr**.
(D_ID and Tradeverifyd are already linked. SupplyTrace and Human Generated
by BlockApps were both removed from the grid, so neither needs one.)
- [ ] Short "what we do together" blurbs + URLs for partners: **100x**,
**Apne Aap Women Worldwide** (url set), **Gaia**, **Grid Bank**.
- [ ] **Confirm the collaboration for the three partners added 2026-07-23** —
Expand Down
43 changes: 43 additions & 0 deletions UPDATES-NEEDED.md
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,49 @@ whether `/print/` should be excluded or marked non-indexable.
**Acceptance:** Only intended pages are publicly reachable, and no unused font
family ships.

### UPD-017 - Decide how UI symbols are drawn

**Priority:** Medium

The nav's dropdown caret was the character `▾` (U+25BE). `next/font` subsets
Space Mono to latin, latin-ext and vietnamese and emits a matching
`unicode-range`, and U+25BE falls outside all three — so the browser was never
permitted to use Space Mono for it and substituted whatever the visitor's OS
provides. The result sat next to Space Mono text in a different typeface, at a
different optical size, on its own baseline. Reported as a font inconsistency in
the header on 2026-08-25 and fixed there by drawing the caret as an inline SVG.

**The same is true of every other symbol used as an interface affordance.** The
subsets cover `U+2191` and `U+2193` but not, among others:

| Glyph | Code point | Used in |
|---|---|---|
| `→` | U+2192 | `Contact →`, `View profile →`, cohort and archive links |
| `←` | U+2190 | back links, poster rail |
| `↗` | U+2197 | external links |
| `▶` | U+25B6 | launch-demo buttons |
| `▸` | U+25B8 | cohort and chart markers |
| `✕` | U+2715 | close buttons |
| `●` `◦` `─` `+` `📖` | various | explorers, diagrams, book trigger |

None of these is broken today — they render from a fallback, and because they
*all* fall back they are at least consistent with each other. But the typeface
is whatever the visitor's platform supplies, so the site looks different on
Windows, macOS, Android and Linux in a way no one here controls, and a missing
glyph would show a tofu box.

**Proposed update:** Decide one approach and apply it in a single pass rather
than piecemeal — converting one arrow at a time is what would create a real
inconsistency, since the converted one would no longer match its neighbours.
Either draw them as inline SVGs (as `LinkedInLink`, `ThemeToggle` and now the
nav caret already do), or add an explicit symbol fallback stack so the
substitution is at least a deliberate choice. Worth a look at
`docs/DESIGN-SYSTEM.md` at the same time, which documents typography but says
nothing about symbols.

**Acceptance:** Interface symbols render identically across platforms, and the
rule for adding a new one is written down.

## B. Draft requests to document the maintenance workflow - review before sending

Addressed to [@carolina-moron](https://github.com/carolina-moron), who authors
Expand Down
19 changes: 15 additions & 4 deletions src/components/SiteHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,25 @@ export function SiteHeader() {
className={`inline-flex items-center gap-1 ${itemClass}`}
>
{item.label}
<span
{/* An inline SVG, not a "▾" character.
next/font subsets Space Mono to latin, latin-ext and
vietnamese, and the generated @font-face declares a
matching unicode-range. U+25BE sits outside every one
of those ranges, so the browser was never allowed to
use Space Mono for it and silently substituted a
system font — a different typeface at a different
optical size, sitting on its own baseline, next to
text that is Space Mono. Drawing the caret removes the
dependency on what the visitor's OS happens to ship. */}
<svg
aria-hidden
className={`text-[0.65em] transition-transform ${
viewBox="0 0 12 12"
className={`h-3 w-3 shrink-0 transition-transform ${
open ? "rotate-180" : ""
}`}
>
</span>
<path d="M2.5 4.75h7L6 9.25z" fill="currentColor" />
</svg>
</Link>
{open && (
<div className="absolute left-0 top-full min-w-[180px] pt-2">
Expand Down
8 changes: 0 additions & 8 deletions src/content/site.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1479,13 +1479,6 @@ export const about = {
url: "",
logo: "/logos/rivr.jpg",
},
{
name: "Human Generated by BlockApps",
about:
"Verifiable human attestations in the age of AI — proving that a person, not a machine, stands behind a claim.",
url: "https://blockapps.net",
logo: "",
},
] as PartnerOrg[],
},
summit: {
Expand Down Expand Up @@ -2044,7 +2037,6 @@ const teamOrgOrder = [
"Sayari",
"B3IQ",
"Art & Antiquities Blockchain Consortium",
"Human Generated by BlockApps",
"100x",
"D_ID",
"Apne Aap Women Worldwide",
Expand Down
2 changes: 1 addition & 1 deletion static-site/404.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion static-site/404/index.html

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions static-site/__next.__PAGE__.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
1:"$Sreact.fragment"
2:I[85437,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Image"]
3:I[25150,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"HeroField"]
4:I[82987,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Reveal"]
5:I[53675,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StatementCarousel"]
e:I[23475,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Link"]
f:I[82987,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Stagger"]
10:I[82987,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StaggerItem"]
11:I[35852,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"ProjectDiagram"]
12:I[12243,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Tilt3D"]
16:I[94376,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Magnetic"]
17:I[97367,["/website/_next/static/chunks/3w2djlsm0q3jv.js","/website/_next/static/chunks/03bgkprhvu4nb.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js"],"OutletBoundary"]
2:I[85437,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Image"]
3:I[25150,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"HeroField"]
4:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Reveal"]
5:I[53675,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StatementCarousel"]
e:I[23475,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Link"]
f:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Stagger"]
10:I[82987,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"StaggerItem"]
11:I[35852,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"ProjectDiagram"]
12:I[12243,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Tilt3D"]
16:I[94376,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js","/website/_next/static/chunks/3y2ffd9s1k5e5.js"],"Magnetic"]
17:I[97367,["/website/_next/static/chunks/1-kh6uz_49jxr.js","/website/_next/static/chunks/146ithun0rz9e.js","/website/_next/static/chunks/14mrh2-p_w84d.js","/website/_next/static/chunks/42slhzgb7dvh7.js"],"OutletBoundary"]
18:"$Sreact.suspense"
0:{"rsc":["$","$1","c",{"children":[[["$","section",null,{"className":"relative overflow-hidden border-b border-border","children":[["$","$L2",null,{"src":"/website/nyu-subway.jpg","alt":"","aria-hidden":true,"fill":true,"priority":true,"sizes":"100vw","className":"pointer-events-none object-cover object-center opacity-25"}],["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0 bg-background/70"}],["$","span",null,{"className":"aura"}],["$","div",null,{"aria-hidden":true,"className":"pointer-events-none absolute inset-0","style":{"background":"radial-gradient(70% 60% at 20% 0%, color-mix(in oklab, var(--glow) 26%, transparent), transparent 65%)"}}],["$","$L3",null,{}],["$","div",null,{"className":"relative mx-auto max-w-6xl px-6 py-24 text-center sm:py-28","children":[["$","$L4",null,{"children":["$","p",null,{"className":"text-base uppercase tracking-[0.25em] text-accent sm:text-lg","children":"NYU CGA × Microsoft"}]}],["$","$L4",null,{"delay":0.15,"children":["$","$L5",null,{"statements":[{"lead":"Ethical Tech CoLab","headingClass":"text-[clamp(4.25rem,13vw,11rem)] leading-[0.88]","figure":["$","p",null,{"className":"font-serif uppercase leading-[0.95] tracking-tight text-foreground","style":{"fontSize":"clamp(1.9rem, 4vw, 3rem)"},"children":["Exploring technology to improve",["$","br",null,{"className":"hidden sm:block"}]," the"," ",["$","span",null,{"className":"display-em","children":"human condition"}],"."]}],"line":["$","p",null,{"className":"mx-auto mt-7 max-w-2xl leading-relaxed text-foreground/85","children":["A research collaboration between NYU's"," ",["$","a",null,{"href":"https://www.sps.nyu.edu/about/academic-divisions-and-departments/center-for-global-affairs.html","target":"_blank","rel":"noopener noreferrer","className":"link-underline text-accent hover:opacity-80","children":"Center for Global Affairs"}]," ","and Microsoft — changing the conversation on how people are informed, and how emerging technology can be used for good."]}]},{"lead":"Four questions. ","em":"One frontier.","figure":"14 projects in the portfolio","line":"Evacuation, cultural heritage, traceability, diplomacy — each question carried through to a fielded prototype, in the open.","cta":"Explore the portfolio","href":"/portfolio"},{"lead":"Run the ","em":"research","tail":".","figure":"18 demos you can open","line":"Not screenshots: the prototypes themselves, running in the browser with their source alongside.","cta":"Open the live demos","href":"/demos"},{"lead":"The research, ","em":"written up","tail":".","figure":"25 in the catalogue","line":"Every research question the CoLab takes on is written up academically, including what did not hold.","cta":"Read the publications","href":"/publications"},{"lead":"The people ","em":"building","tail":" this.","figure":"23 researchers across 3 cohorts","line":"Graduate researchers at NYU's Center for Global Affairs, with advisors and resident fellows alongside.","cta":"Meet the team","href":"/team"}],"label":"Statement","className":"mt-5"}]}]]}]]}],[["$","section",null,{"className":"border-b border-border bg-surface/40","children":["$","div",null,{"className":"mx-auto max-w-6xl px-6 py-16 text-center","children":[["$","$L4",null,{"children":["$","p",null,{"className":"text-xs uppercase tracking-wider text-muted","children":"Mission"}]}],["$","$L4",null,{"delay":0.05,"children":["$","p",null,{"className":"mx-auto mt-4 max-w-4xl fluid-h2 font-heading uppercase leading-[1.02]","children":["Achieving ",["$","span",null,{"className":"display-em","children":"full human potential"}]," ","through technology — changing how people are informed, and how tech is used for good."]}]}],["$","$L4",null,{"delay":0.1,"children":["$","p",null,{"className":"mx-auto mt-6 max-w-2xl text-lg leading-relaxed text-muted","children":"What are the circumstances of the human being, and how can technology improve them? We see technology as a tool — part of the solution."}]}]]}]}],["$","section",null,{"className":"mx-auto max-w-6xl px-6 py-24","children":[["$","$L4",null,{"children":["$","div",null,{"className":"flex items-end justify-between","children":["$L6","$L7"]}]}],"$L8"]}],"$L9","$La","$Lb"]],["$Lc"],"$Ld"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"static-snapshot"}
6:["$","div",null,{"children":[["$","$Le",null,{"href":"/portfolio","className":"link-underline text-xs uppercase tracking-wider text-muted transition-colors hover:text-accent","children":"Current projects"}],["$","h2",null,{"className":"mt-3 fluid-h2 font-heading uppercase","children":"Building at the frontier."}]]}]
Expand Down
Loading