{
    "archive_path": "archive/1790892380.785038",
    "base_url": "earendil.com/posts/pi-1-0",
    "basename": "",
    "bookmarked_date": "2026-10-01 22:06",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/earendil.com/posts/pi-1-0",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=earendil.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "earendil.com/posts/pi-1-0/index.html"
    },
    "domain": "earendil.com",
    "extension": "",
    "hash": "1H4Z6YN2RH98PKBSRJ07",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=earendil.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T22:07:45.533609+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:44.965763+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://earendil.com/posts/pi-1-0/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T22:07:45.857538+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:45.542517+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://earendil.com/posts/pi-1-0/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-10-01T22:07:51.833499+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:48.836388+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmp3auw6ly4",
                    "https://earendil.com/posts/pi-1-0/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-10-01T22:07:48.826750+00:00",
                "index_texts": [
                    "Today we are proudly shipping Pi 1.0: a hardened, minimal, extensible agent\nharness that you can make your own. Hundreds of thousands of people around the\nworld use Pi every week. Many of you submit issues and pull requests. Over the\ncourse of many months, we have used that feedback to improve, harden and evolve\nPi into a stable piece of software that people and businesses can depend on.\nPi is known for being minimal. We care about holding that line. While agentic\ntooling changes every week, many of the changes do not last. Pi does not work\nthat way. We wait until something has proven itself, and only then do we\nconsider adopting it; weighing its true functionality against its inherent\nadded complexity. We spoke more about that process and how it relates to\nCodemode and MCP earlier this week here.\nThe Pi 1.0 we are shipping today is a result of that process. Pi already ran\nthe latest models from every major provider, became a daily driver coding agent\nfor people around the world, and provided a supermalleable substrate on which\nto build agentic applications. With Pi 1.0 we are adding the following into Pi:\n\nCodemode (native support for MCP, and non-LLM models like Jev and image models)\nExtension support for virtual models\nDeferred tool loading\nCache warming for anthropic models\nMid-conversation system messages (transcript-aware prompt and tool changes)\nA new TUI theme\nFull-screen mode by default\n\nWe have thought about many of these features for months. They were thrown up\nagainst the wall and stuck. The list of things that fell off the wall is much\nlonger. When we use Pi with all these new features it feels like a major step\nforward, but it also still feels simple, like Pi.\nAlongside this work of continually refining and evolving Pi, we also began to\nunderstand that there were aspects of Pi that did not fit the shape of how many\npeople wanted to use it. At Earendil, we want to bring Pi's minimalism and the\nway it allows you to wield AI outside of the coding agent and outside of the\nterminal. It needs to be reachable from different surfaces and support\nlonger-running conversations and tasks. In short, Pi must become more durable.\nRather than stray from our minimal roots and try to make Pi something it\nwasn't, we combined that work into a new experimental package that we are\nshipping today, Pi Durable. Pi Durable is a new substrate for building\nlong-running agentic applications that lets the builders and the users of those\napplications wield and steer the underlying intelligence with tremendous\ndexterity. It shares Pi's key principles, minimalism and supermalleability, but\nit extends those principles into new dimensions. Mario writes in more detail\nabout how we crafted Pi Durable here.\nEarendil was formed to craft software and open protocols that strengthen human\nagency. Today we are shipping tools to you all to help do just that. We're\neager to hear feedback from you and to harness the future out in the open\ntogether.\nPi 1.0 is available today:\ncurl -fsSL https://pi.dev/install.sh | sh\n\nor on Windows\npowershell -c \"irm https://pi.dev/install.ps1 | iex\"\n\nPi Durable is available today as an experimental package:\nnpm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord\n\nBoth are MIT licensed. Documentation is at pi.dev. Code is at\ngithub.com/earendil-works/pi.\n\n\nCodemode: Pi writes a script that boils a week of commits down to a short summary\nPi writes itself an extension: a virtual model that plans with Claude Opus and implements with GPT, with Jev deciding when to switch\nReload, start a new session, and pick the new router/auto model\nPlanning runs on Claude Opus\nJev spots the switch to implementation and hands over to GPT 6 Luna\n! runs the finished script\n/session breaks down cost per model and cache use"
                ],
                "output": "readability",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:47.331888+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://earendil.com/posts/pi-1-0/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-01T22:07:47.324126+00:00",
                "index_texts": null,
                "output": "Pi 1.0 | Earendil",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:47.313789+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--reject=js,mjs,woff,woff2,ttf,otf,eot,mp4,m4v,mov,webm,ogv,mkv,avi,flv",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "--timestamping",
                    "https://earendil.com/posts/pi-1-0/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-10-01T22:07:47.304090+00:00",
                "index_texts": null,
                "output": "earendil.com/posts/pi-1-0/index.html",
                "pwd": "/data/archive/1790892380.785038",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-01T22:07:45.867170+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Pi 1.0 | Earendil",
        "warc": null,
        "wget": "earendil.com/posts/pi-1-0/index.html"
    },
    "link_dir": "/data/archive/1790892380.785038",
    "newest_archive_date": "2026-10-01T22:07:48.836388+00:00",
    "num_failures": 0,
    "num_outputs": 6,
    "oldest_archive_date": "2026-10-01T22:07:44.965763+00:00",
    "path": "/posts/pi-1-0/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "7f4c9ad5-6ebd-4174-9899-81ca1c859645",
    "sources": [
        "/data/sources/1790892380-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1790892380.785038",
    "title": "Pi 1.0 | Earendil",
    "updated": "2026-10-01T22:07:44.965268+00:00",
    "updated_date": "2026-10-01 22:07",
    "url": "https://earendil.com/posts/pi-1-0/"
}