a live map of what I'm learning, what I'm building, and what I finished.
drag to pan · scroll to zoom · click a node
learn, execute, report. mostly for me.
Building shamirai.ai executing runtime & infra This site. A map of what I am learning rather than a list of what I have finished. in progress Loop engineering executing harness & loops Designing the iteration itself: when to continue, retry, escalate, compact, or stop. Most agent failures are loop failures, not model failures. in progressqueued, not started
Agent execution graphs learning harness & loops Expressing agent control flow as an explicit DAG or state machine instead of a free-running loop. Buys inspectability and resumability, costs flexibility. Agent trajectory eval learning evaluation Scoring the path an agent took rather than just its final answer: redundant calls, recovery from errors, dead ends. Final-answer accuracy hides all of it. Context compaction learning agent architectures What a long-running agent throws away when the window fills, and how it decides. Summarise, score-and-drop, or offload to storage. Chunking strategies learning retrieval How you split documents before embedding them: size, overlap, and whether to respect structure. The variable that quietly decides retrieval quality. Durable Objects as agent state learning runtime & infra Cloudflare's single-instance stateful objects as a home for one agent's memory: alive between requests, strongly consistent, one per session. Graph RAG learning retrieval Retrieving over a graph of entities and relationships rather than flat chunks, so questions needing two or three hops stop failing. Harness engineering learning harness & loops Designing everything around the model: tool surface, context assembly, permissions, feedback. The scaffolding that decides whether a capable model is actually useful. Hybrid search: BM25 + dense learning retrieval Combining keyword search (BM25) with vector search, and the real problem: how to fuse two ranked lists that disagree. Knowledge graphs as memory learning agent architectures A graph the agent writes to as it goes, rather than a static index it only reads. Memory with explicit relationships instead of a pile of embeddings. LLM-as-judge learning evaluation Using a model to grade model output. Cheap and scalable, and quietly vulnerable to position bias and self-preference. MCP server authoring learning protocol & tooling Building a Model Context Protocol server so an agent can use your own data and actions as first-class tools rather than pasted context. Prompt regression suites learning evaluation Test suites for prompts, so a change that fixes one case does not silently break twelve others you were not looking at. Multi-agent orchestration learning agent architectures Splitting work across specialised agents (planner, worker, critic), and whether the quality gain survives the cost of every handoff. ReAct loops learning agent architectures The reason / act / observe cycle underneath most agents. The baseline every fancier architecture gets measured against. Streaming and backpressure learning runtime & infra Streaming tokens when the consumer is slower than the producer, and what to actually do when the buffer fills. Tool descriptions as the API learning protocol & tooling The claim that a tool's prose description, not its type signature, is the real interface the model programs against, and that writing it is design work. Tool-use error recovery learning agent architectures What you hand back when a tool call fails: the raw error, a translated message, or a suggested fix. The choice changes recovery rates a lot. Workers AI at the edge learning runtime & infra Running inference and embeddings inside a Cloudflare Worker: no origin server, no API key, no cold-start infrastructure to manage.Expressing agent control flow as an explicit DAG or state machine instead of a free-running loop. Buys inspectability and resumability, costs flexibility.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
This site. A map of what I am learning rather than a list of what I have finished.
Every personal site I’ve seen is a list of finished things. That shape hides the part I actually care about: what I don’t know yet. Can the site itself be the instrument, so that looking at it tells me where my gaps are instead of just advertising what’s already done?
A map instead of a feed. Every topic is a node in a semantic space: dashed outline for things I want to understand, pulsing for things I’m building, solid for things I’ve finished and written up.
Positions come from embeddings. Each entry is embedded with Workers AI, projected from 768 dimensions to 2 with PCA, and laid out by meaning rather than by date. Related work ends up near related work without me arranging anything. Adding an entry is one markdown file; the map rearranges itself.
The whole thing is static. Nothing runs at request time, so the entire site is a folder of HTML on Cloudflare Pages.
Scoring the path an agent took rather than just its final answer: redundant calls, recovery from errors, dead ends. Final-answer accuracy hides all of it.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
What a long-running agent throws away when the window fills, and how it decides. Summarise, score-and-drop, or offload to storage.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
How you split documents before embedding them: size, overlap, and whether to respect structure. The variable that quietly decides retrieval quality.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Cloudflare's single-instance stateful objects as a home for one agent's memory: alive between requests, strongly consistent, one per session.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Retrieving over a graph of entities and relationships rather than flat chunks, so questions needing two or three hops stop failing.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Designing everything around the model: tool surface, context assembly, permissions, feedback. The scaffolding that decides whether a capable model is actually useful.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Combining keyword search (BM25) with vector search, and the real problem: how to fuse two ranked lists that disagree.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
A graph the agent writes to as it goes, rather than a static index it only reads. Memory with explicit relationships instead of a pile of embeddings.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Using a model to grade model output. Cheap and scalable, and quietly vulnerable to position bias and self-preference.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Designing the iteration itself: when to continue, retry, escalate, compact, or stop. Most agent failures are loop failures, not model failures.
Building a Model Context Protocol server so an agent can use your own data and actions as first-class tools rather than pasted context.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Test suites for prompts, so a change that fixes one case does not silently break twelve others you were not looking at.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Splitting work across specialised agents (planner, worker, critic), and whether the quality gain survives the cost of every handoff.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
The reason / act / observe cycle underneath most agents. The baseline every fancier architecture gets measured against.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Streaming tokens when the consumer is slower than the producer, and what to actually do when the buffer fills.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
The claim that a tool's prose description, not its type signature, is the real interface the model programs against, and that writing it is design work.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
What you hand back when a tool call fails: the raw error, a translated message, or a suggested fix. The choice changes recovery rates a lot.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.
Running inference and embeddings inside a Cloudflare Worker: no origin server, no API key, no cold-start infrastructure to manage.
Nothing written yet. It's on the map because I want to understand it. The node exists so I can see the gap.