AGENTS.md

Repository-specific working notes for Codex and similar coding agents.

Post organization

Type semantics:

Publish state branching

Posts and slide deck entries can be in one of five visible states:

Case Trigger Behavior
(1) Public No lock / hide metadata Normal listing + click navigates to body
(2) Publish soon Post path contains /private/ (or any other listing-side equivalent) Listing shows 🔒 lock icon; click redirects to /posts/private/ (“This post will be published soon.”) — <a> stays alive, only the URL is swapped
(3) Click-blocked _data/slides_public.json entry has disable_link: true /talks/ Presentations board renders the card as a static <div> (no <a>) with a “Lock” mark — click is genuinely disabled
(4) 404 URL itself doesn’t exist (no matching post / slide page) 404.html (“Go Back · Go to Main”)
(5) Unlisted Post frontmatter hidden: true Body fully public via direct URL; absent from every general listing AND from previous/next navigation. Exception: a track-specific entry-point page (e.g. /posts/remode/) is the post’s only listing-side surface and intentionally does NOT apply the hidden filter — hidden posts appear there. _includes/post_pagination.html skips hidden posts. Cases (5) and (2) can stack: a /private/ path post with hidden: true is hidden from every listing AND its body is redirected on direct URL access (effectively fully private — used for archived posts).

Triggers, single-source:

Code locations:

Note: pod-card--locked CSS keeps opacity: 0.85 plus disabled hover/transform but no longer sets cursor: not-allowed, since case (2) is actually clickable (it redirects). Cursor-based UX is reserved for case (3) only.

Track-specific listing pages (orthogonal axis)

The 5 cases above govern per-post visibility. Where a Public post appears is a separate axis — multiple track listings each apply their own filter:

Page Filter Hidden posts shown?
/posts/ site.categories.log + hidden != true + limit: 5 no
/posts/list/ all posts + hidden != true no
/posts/{2023…2026}/ site.categories.pod, year-scoped + hidden != true no
/posts/kanana-o/ site.tags.kanana + hidden != true no (general track)
/posts/remode/ site.tags.remode (no hidden filter — entry-point exception) yes

General listings must include hidden != true; otherwise case (5) leaks. The lone exception is a track-specific entry-point page that exists because its posts are hidden — currently only /posts/remode/. If a future track exists for the same purpose (gating its posts behind a single entry URL), omit the filter there too. A Public post can also be absent from /posts/ (pushed out by limit: 5) yet still reachable via direct URL and via tag-track pages; do not infer “blocked” from “missing on main listing” — that is the listing-axis policy, not the 5-case publish-state policy.

Pod Posts

Slide and figure ordering

When a pod post contains both slide images and paper figures:

Posts already aligned to this rule:

Teaser behavior

Image path formatting

Post-specific note

modality-gap-robustness

timeomni1