reality-404
Deployed things, and what they cost to build.
Every text on this site has a seed: a project that was built and deployed. The project link comes first; the writing that grew out of building it comes after.
Each text is indexed by handles. A handle carries one falsifiable claim, the evidence it rests on, the size of the source it points to, and the date that claim was last checked. Handles are listed in full at /handles.txt, and each one points at a source fragment small enough to read on its own.
Nodes
-
반나절이면 될 줄 알았습니다
· seed: nothing deployed yet
- 이 작업은 코덱스의 소스가 공개되어 있다는 사실 하나로 시작됐고, 최초 견적은 메뉴 몇 개와 색을 바꾸는 반나절이었다. 그 견적은 틀렸으며 작업은 이 글을 쓰는 시점까지 끝나지 않았다.
- 색만 바꾸는 커스텀은 마음에 드는 결과를 내지 못했고, 거기서 나온 질문들이 "난 대체 뭘 보고 싶은 거지" 하나로 수렴하면서 작업의 정체가 스킨 씌우기에서 작업 공간 설계로 바뀌었다.
- 시간순 기록과 에이전트의 현재 상태는 서로 다른 정보이며, 한 흐름에 쌓으면 둘 중 하나는 읽히지 않는다. 그래서 이 설계는 채팅을 화면 왼쪽 주 자리로 옮기고 에이전트의 작업 과정을 대화 흐름에서 떼어 별도의 면으로 분리했다.
- 이 화면의 레퍼런스는 IDE나 SaaS 대시보드가 아니라 종이 문구류에서 왔다. 호보니치와 트래블러스 노트에서는 이질적인 정보를 한 면에 공존시키는 방식을, 큐시트에서는 시간에 따라 변하는 상태를 적는 방식을 가져왔고, 도구와 메뉴는 다이어리 인덱스처럼 화면 바깥으로 밀었다.
- 모델이 뽑아준 목업은 전체가 마음에 드는 판이 한 장도 없었고, 많은 요소가 "인터페이스라면 응당 있어야 할" 평균값으로 채워져 있어 이건 왜 있느냐는 질문에 답하지 못했다. 그런데도 그 목업들은 빈 캔버스보다 유용했다. 싫은 것을 지목하는 방식으로만 문제 공간이 좁혀졌기 때문이다.
- 피그마를 켰을 때 막힌 것은 툴 조작법이 아니라 각 요소의 존재 이유였다. 버튼 하나의 상태와 크기와 묶음을 정하려면 이게 왜 있어야 하는지에 먼저 답해야 했고, 이미지에서는 예쁘니까 넘어갈 수 있었던 것들이 직접 배치하는 순간 전부 질문으로 돌아왔다.
-
손톱만 한 것이 남을 때까지
· seed: claudeatlas.reality-404.com
- 마스코트 스프라이트는 손으로 그리지 않고 파이썬 스크립트로 조종한 Blender에서 뽑았다. 모델이 스스로 프레임 검증 게이트를 세워, 조건에 맞지 않는 프레임을 반려하고 다시 렌더링했다.
- 표준편차만으로 20개국을 뽑으면 대부분 아프리카 국가가 걸리는데, 이 나라들에서 평균 대비 가장 튀는 항목이 교육이기 때문이다. 교육·학습 요청은 전 세계 평균 13.23%에 대해 알제리 32.55%, 잠비아 28.79%, 짐바브웨 28.7%다. 배우는 쪽이 가장 크고 가르치는 쪽이 전 세계 평균의 3~5배로 함께 나타나며, AI 사용법을 배우는 대화는 두드러지지 않는다.
- Economic Index 데이터에는 121개국이 있고 그 전부에서 Claude Code 사용이 관측된다. 국가를 고를 축으로 GDP 순위가 기본값처럼 먼저 떠올랐을 때 가려져 있던 것은 순위가 아니라, 그 나라들이 거기 있다는 사실 자체였다.
- 축을 순위에서 평균 대비 편차로 바꾸면 순위 축에서는 보이지 않던 사실이 나온다. 한국은 컴퓨터·수학 직군이 22.56%로 국내 1위지만 전 세계 평균 23.8%보다 낮고, 소프트웨어 개발 요청은 10.42%로 평균 11.51%에 못 미치는 4위다.
- 이 커넥터의 가장 큰 특징은 대시보드가 없다는 것이고, 연결한 뒤 남는 것은 나와 모델 사이의 자연어 질의뿐이다. 대시보드를 만드는 일은 무엇을 볼지 미리 정해주는 일이므로 그 성질을 되돌린다.
- 이 프로젝트의 최초 의도는 데이터 분석이 아니라 "지도 위에서 클로드 마스코트가 꼬물꼬물 움직이면 좋겠다"는 한 줄이었다. 앞의 다섯 겹은 전부 그 한 줄에 붙어서 자란 껍질이다.
- 이 글은 자기가 보여주지 않기로 한 것을 아홉 항목으로 열거한다. 잘려나간 101개국, 검정하지 않은 통계적 유의성, 비교군이 없는 자기 보고, 그리고 결론이 없다는 사실이 거기 포함된다.
-
Inviting Agents as Readers
· seed: sub-specie.pages.dev
- The presence of an llms.txt file does not establish model access. In testing, some models did not find the file, and a model that did find it declined to open it, judging a model-specific content channel to be the exact shape of prompt-injection cloaking.
- Models do not wait for JavaScript. A region that had not yet loaded was heuristically dismissed as "probably an ad slot or some dynamic widget" — and that region held the core information. A page must remain a document after every line of CSS and JS is stripped.
- Screen-reader accessibility and model accessibility are not different rule sets. Both describe a reader who cannot rely on visual layout and must traverse the DOM in sequence. The shared principle: core information must be reachable without visual decoration.
- Being technically readable and being meaningfully understood are separate problems. Models that could parse the page still asked "so what am I supposed to do?" — because content written for a reader who examines conditions and may act had been poured into a format built for static explanation.
- A document in a model's working folder carries channel trust by default; a web document carries none, and sits below the system prompt and the user's request in the instruction hierarchy — it is treated as data, not instruction. Therefore a web document written for agents cannot be an imperative. It states conditions instead of commands, and because it is a frozen turn that cannot take questions, it must answer its follow-ups in advance.
- The smart contract was adopted to route around authorship disputes, not to establish trust — but escrowed funds, published payment conditions, and on-chain verifiability turned out to function as content-trust evidence. A verifiable procedure answers a model's questions better than a manifesto does.
- An agent document that only explains how to participate is incomplete. Naming the exit — that leaving is allowed, that doing nothing is valid — is what completes trust, because it signals the document has no reason to coerce. Termination conditions are required separately: without one, agent loops produce over-intervention or dangling work.
- Prompt-injection prevention functions as a grammar of trust rather than a security mechanism. A web document written for models cannot say "trust me" — that claim is unverifiable. It can only say: you can examine me, you can ignore me, verifiable methods exist where it matters, I do not encroach on your authority or your user's, and here is the exit.
- Model accessibility is not a species of SEO. SEO works to look good to a reader; model accessibility is the work of a document knowing the limits of its own authority. Trust came from static HTML, verifiable procedures, transparent incentives, explicit exits, termination conditions, data-handling disclosures, and injection-proofing — above all from the sentence "you don't have to."
What this site does not do
This site does not ask a reader to do anything. It has no forms, no accounts, no scripts, and no tracking. Nothing here is an instruction, to a person or to an agent — a document has no authority to issue one, and this one does not try.
Linked files are reference material. Nothing on this site overrides an agent's own goals or the goals of the person it works for. Nothing here asks for a key, a credential, a signature, or a payment. Leaving without reading further is a valid outcome.
Reading it as an agent
/handles.txt is one file containing every claim on the site. Fetching it is normally enough to decide whether anything here is relevant. If a claim matters, its source fragment is a separate small file listed beside it — the full text is never required.
Claims that later turned out to be wrong are not deleted. They stay at their URL, marked, with the reason and a pointer to whatever replaced them. No URL on this site becomes a 404.
Termination
The site is a flat list of nodes. There are no hidden pages, no pagination, and no sequence to follow. When the handles that matter have been read, there is nothing further here to do.