Skip to content

Releases: finitecomputer/fragment

fragment v0.15.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 14:21
a21beaf

What's Changed

  • templates: doc — paragraph notes any fragment can take by @futurepaul in #339
  • docs: fix the inconsistencies found writing the platform explainer by @futurepaul in #338
  • Hermes v0.21.7: the first Hermes canary round (forward only) by @futurepaul in #346
  • The repo moved to finitecomputer/fragment by @futurepaul in #340
  • shell: three ways to ask at a time, and a die that deals three more by @futurepaul in #347
  • /admin is a 404 to anyone but an operator by @futurepaul in #348
  • The model route takes real model ids; Hermes names them (canary round) by @futurepaul in #350
  • Sign-in: Use another account ends the session AuthKit holds in the browser by @futurepaul in #351
  • hermes image: hermes by name in an agent's terminal by @futurepaul in #349
  • bridge: a listing that fails is asked again at once, not in 5 minutes by @futurepaul in #353
  • Docs match the code, and tests hold them to it by @futurepaul in #354
  • A deleted agent fragment leaves its computer; spent invites leave the owner's count by @futurepaul in #356
  • An agent's name has one source; the first chat is "Your first chat" by @futurepaul in #355
  • The registry is the seat's one writer; a computer, an invite and a re-made name catch up by @futurepaul in #359
  • Hermes keeps its tiers' prompt (family guidance off); the smoke reads commands run from execute_code by @futurepaul in #357
  • The shell reads each fact from its one source: guest, prices, model, agent colour, a chat's agent by @futurepaul in #358
  • Fix sign-out and account switching blocked by browser CSP by @alexlwn123 in #360
  • A sleep ends within its bounds, a hung save fails, and a dead snapshot wake starts again by @futurepaul in #363
  • The time kept for a failed save is free from the start of its try by @futurepaul in #364
  • Audit M1, M2, M3, M5: one read rule, the share token out of URLs, secrets bound to hosts, sync only at repo paths by @futurepaul in #366
  • Browser round trips finish only for whoever began them; a CLI key joins only the person who typed its code (audit H3, M6) by @futurepaul in #365
  • Content is data: one DOM-only markdown renderer, no HTML sinks, agents' own work (H2, M7) by @futurepaul in #368
  • Nobody joins an org without their own yes; a wipe cancels what the wiped would pay (audit H1, M4) by @futurepaul in #367
  • CI on standard actions: rust-cache for Rust's caches, paths-filter for the Docker lane by @futurepaul in #374
  • Ledger: preview cards keep their CDP client; quick actions cannot carry the page's report by @futurepaul in #375
  • devstack: termination signals through signal-hook by @futurepaul in #376
  • The multipart parser and the per-address CLI counter say why they are ours by @futurepaul in #377
  • fakes: their HTTP client is reqwest by @futurepaul in #378
  • AGENTS.md: choosing tools — prefer what exists, a build step when it pays, one concern per PR by @futurepaul in #373
  • Versioned schemas for the platform's Durable Objects, and a lock that guards them by @futurepaul in #383
  • Listed records: a channel names the kinds its members' list rows show by @futurepaul in #384
  • Shell: the agent's row says what it is doing, from its chats' listed records by @futurepaul in #385
  • ci: deploy on a green push, master's to the preview, production's to production by @futurepaul in #352
  • ci: a production push of a commit master proved deploys at once by @futurepaul in #386
  • Shell: say which email is signed in, with Use another account, wherever someone has no seat by @futurepaul in #388
  • Calls between releases: every Worker/DO call carries its release, refused before it acts (deploy skew) by @futurepaul in #387
  • The agent's page names its model by its id; its screen names it by its name by @futurepaul in #389
  • e2e: a hung backup's error may name a millisecond less than its bound by @futurepaul in #392
  • Image workflow: build the canary on a runner; copy the proven image into production at its digest by @futurepaul in #391
  • e2e shell-ui: the guest's switch to a seat waits on the rendered email, not a mouse's press by @futurepaul in #395
  • Scheduled records: a fragment's data schedules (and an agent's routine as one on itself) by @futurepaul in #390
  • e2e: a restart's awake is waited for, not read off its answer by @futurepaul in #397
  • e2e notes: the linked note is read once its embed is in and loaded by @futurepaul in #398
  • Notes viewer: an open note is drawn again when a note or picture it names comes or goes by @futurepaul in #399
  • No eval in runtime code: cargo xtask check refuses a string run as script by @futurepaul in #400
  • Chat page: one record it cannot draw never stops the chat drawing; the renderer's one-column table by @futurepaul in #402
  • Bind Pipes consent to the initiating browser and session by @alexlwn123 in #401
  • The shell reloads itself, at a safe moment, once the platform runs another release by @futurepaul in #403
  • xtask deploy: run wrangler deploy again for a failure a re-run answers by @futurepaul in #412
  • Chats keep their own drafts; the shell reloads for a new release only while hidden or at the next move by @futurepaul in #406
  • Refine Finite login page and theme transitions by @skylerwww in #393
  • Report exact Wasm size and remaining build budget by @alexlwn123 in #419
  • cell: one JSON answer after serializing, not a copy per type by @futurepaul in #434
  • Billing off sells nothing: no price, no Checkout, no trial for a guest by @futurepaul in #452
  • Settings: no Add another sign-in (/auth/link cut), Loading in the loaded layout by @futurepaul in #453
  • CD: read the deploy configs from finitecomputer/fragment-deploy, not DEPLOY_CONFIG by @futurepaul in #454
  • e2e shell-ui: a reload under way is seen from another page, not the one reloading by @futurepaul in #455
  • e2e: a guest's page is evaluated once its document is there; a command's record is waited for by @futurepaul in #456
  • Settings: Connect opens its window in the press, says when it is blocked by @futurepaul in #458
  • Ledger: take the configured price book whenever its contents differ, whatever its version by @futurepaul in #460
  • e2e chat: a message's record is waited for, not read once by @futurepaul in #465
  • e2e: a reload waits for the page to load, and is tried again if it never does by @futurepaul in #470
  • e2e chat: a viewport change is waited for until the chat fits it by @futurepaul in #472
  • Shell: its notice shows over settings and a chat, not in #frames (#436) by @futurepaul in #457
  • Settings: only the latest load renders (#441) by @futurepaul in #461
  • AI steps: gated by the cached standing, charged from the fragment's outbox by @futurepaul in #473
  • Operator keys: gated by the cached standing, charged after the provider answered by @futurepaul in #469
  • Model calls: gated by the cached standing, charged after their answers by @futurepaul in h...
Read more

fragment v0.14.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 16:19
19a719f

What's Changed

  • billing: sell one seat, the $200 always-on, and the $25 pack by @futurepaul in #336
  • models: Finite's tiers on GLM-5.3 Flash through OpenRouter; a slot's body by @futurepaul in #335
  • cli: version 0.14.1 by @futurepaul in #337

Full Changelog: v0.14.0...v0.14.1

fragment v0.14.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 17:19
4cd9dc4

What's Changed

  • A hand-off changes the owner's apps: fragments, on a throwaway made their editor by @futurepaul in #82
  • The desktop's app panes say who may open each app, share it, and who has it open by @futurepaul in #83
  • The share sheet as a Docs-style card, in a dialog on the home by @futurepaul in #85
  • __files is a files viewer: a tree beside a reader, compiled into the cell by @futurepaul in #84
  • The share sheet in a dialog in the owner's desktop, signed in through __share by @futurepaul in #86
  • A desktop updates itself to its template's latest files (__template) by @futurepaul in #87
  • The desktop's share dialog falls back to a window when the sheet never shows by @futurepaul in #88
  • The desktop's share dialog says it is opening until the sheet shows by @futurepaul in #89
  • Self-hosted computers: sandcastle, and a credential route for its nodes by @futurepaul in #90
  • sandcastle: the rewrite to engineering style (core, simulator, real-engine e2e) by @futurepaul in #91
  • sandcastle phase 5: budgets (reserve, admission, measured capacity) and services under their image's init by @futurepaul in #92
  • sandcastle: sleep tiers: idle computers pause (warm) or stop (cold), and a request wakes them (phase 5 step 3) by @futurepaul in #93
  • sandcastle: cors_origins, and the e2e chats with Hermes over its native socket (Hermes chat, phase 1) by @futurepaul in #94
  • hermes: a fragment's own Hermes on sandcastle, bound Finite's way (phases 2–3) by @futurepaul in #95
  • hermes template: a chat page straight to the fragment's Hermes (phase 4), and fragment-club's grantor config by @futurepaul in #96
  • docs/runtime-seam.md: one computer wherever it runs (decisions of 2026-09-30) by @futurepaul in #97
  • sandcastle: a computer reached by its key over iroh, measured on lat-6 (docs/runtime-seam.md) by @futurepaul in #98
  • KEYS signs admissions (step 1 of the cut to one computer) by @futurepaul in #100
  • One computer: Hermes by its key, the computer client on every host, and Hermes as a preset by @futurepaul in #101
  • Hosted e2e: a hermes section (the hosted proof) by @futurepaul in #102
  • Hermes on the platform's new-fragment page by @futurepaul in #104
  • Hermes' socket: the fake and the lane as real Hermes answers by @futurepaul in #105
  • One home, phase 1: the design, and the chat for anyone by @futurepaul in #106
  • One home, phases 2–4: Hermes answers chats through its Relay, its desktop image, and its screen by @futurepaul in #107
  • One home, phase 5: the desktop is home, new chats choose who answers, editors trusted as owners by @futurepaul in #108
  • Hermes: one Relay, however its chat joins (fixes 403 deliveries on fragment.club) by @futurepaul in #109
  • Hermes: its model in config.yaml, where its gateway reads it (fixes 400s on fragment.club) by @futurepaul in #110
  • Hermes: approvals from the chat's owner and editors, mid-turn (fixes a stuck turn on fragment.club) by @futurepaul in #111
  • fragment v1 on Cloudflare: the plan of record and phase 1's hard cut by @futurepaul in #112
  • docs/cloudflare-v1.md: AI Gateway's second half, lessons from cloudflare/agents, two defaults by @futurepaul in #113
  • ci: check only until the e2e runs on Cloudflare by @futurepaul in #114
  • Phase 2: the cell on Cloudflare (workerd, in-cell keys, wrangler deploys), plus the ledger core by @futurepaul in #115
  • Phases 3–4: the usage ledger, and computers through the real-Hermes lane by @futurepaul in #116
  • Phase 5: the shell and the blessed templates by @futurepaul in #117
  • Phases 6 and 7: brains, skills, cards, the hosted lane by @futurepaul in #118
  • Agents share on their owner's behalf by @futurepaul in #119
  • xtask brings its own Node; nothing from PATH by @futurepaul in #120
  • e2e: the routine check waits for its computer to sleep by @futurepaul in #121
  • Credentials: the provider catalog, per-agent placeholders, Google and the operator keys by @futurepaul in #122
  • CI under 10 minutes: no webhook stalls, a working cache, four e2e shards by @futurepaul in #125
  • cli: init prints the webhook URL with the fragment's full name by @futurepaul in #123
  • computer: the container's reports reach their routes by @futurepaul in #126
  • check: every first-party JavaScript file through node --check by @futurepaul in #124
  • deploy: after a rollback, live takes main's files, not a three-way merge by @futurepaul in #127
  • dev: Ctrl-C stops wrangler with xtask by @futurepaul in #129
  • cli: TLS trusts the OS's roots beside the public ones by @futurepaul in #130
  • computer: a container that dies while it starts meters nothing by @futurepaul in #131
  • e2e, chat: Stop clicked on the slow message's own turn by @futurepaul in #132
  • secrets: the deployment's secrets live in its Cloudflare Secrets Store by @futurepaul in #134
  • docs: durable turns, what Pi Durable teaches our computers (an exploration) by @futurepaul in #135
  • bridge: a turn runs only in the life that claimed it (P1, with its tests) by @futurepaul in #137
  • cli: login opens the link without waiting for the browser by @futurepaul in #140
  • computers: a crash lever, a wake that says what it restored, the snapshot as a cache of the save by @futurepaul in #136
  • bridge: a terminal command's fenced block is its step's arguments, not a step by @futurepaul in #138
  • bridge: an agent asking in words gets the asker's next message as its answer by @futurepaul in #139
  • Every hosted agent knows its platform: a built-in fragment skill, and the skills fragment backfilled by @futurepaul in #142
  • docs: durable computers, the design of record by @futurepaul in #141
  • The desktop: Take over reaches it, the agent operates it, and gws by @futurepaul in #143
  • Computers: saving is a lifecycle action (A+ step 1, 1/4): three saves, the hold handshake, failed sleeps keep their container by @futurepaul in #147
  • Computers: a held save leaves out what its guest copied; our Hermes image copies its databases online (A+ step 1, 2/4) by @futurepaul in #148
  • Hermes image: Litestream is cut; the saves carry Hermes' databases (durable computers, step 1's end) by @futurepaul in #150
  • Computers: the seam, /data/work saved on its own (durable computers, step 2) by @futurepaul in #149
  • docs: the SimpleX connector exploration, parked by @futurepaul in #152
  • images, docker test: the scripted tool turn lasts long enough to show its step by @futurepaul in #145
  • A vision model for Hermes' screenshots: the route's vision, GLM-5.3 Flash by @futurepaul in #154
  • images/hermes: Hermes installs software as root, gone at the next start by @futurepaul in #146
  • The shell's sidebar is live: an agent's app shows without a reload by @futurepaul in #158
  • bridge: an open card keeps its computer awake, so a missed card's next message is answered by @futurepaul in #159
  • e2e: concurrent runs keep their computers apart and remove their own containers by @futurepaul in #155
  • e2e, agents: wait for the say's ops record as well as the answer by @futurepaul in #157
  • One repl...
Read more

fragment v0.13.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 02:30
3dcabd2

What's Changed

  • Computer browser: Stagehand on pinned Chrome, Jev first (agent computer slice 2) by @futurepaul in #72
  • Computer browser: Stagehand's calls answer, and loaded sessions get new tools by @futurepaul in #74
  • Chats: the owner's agent joins as the deploy lands, and hears what came before by @futurepaul in #75
  • Computer sessions: the tools refresh checks what goose offers and says so; a platform deploy brings a new task client by @futurepaul in #76
  • Computer sessions: a task after its tools changed is told what changed by @futurepaul in #77
  • Each life of a fragment's name has its own app database by @futurepaul in #78
  • Computer memory: a person's memory and skills in git, synced by each computer they hand work to (agent computer slice 3) by @futurepaul in #79
  • Memory follow-ups: the platform records each person's memory, grants every computer as it pairs and syncs, and the agent keeps a fact itself by @futurepaul in #80
  • Screenshots as blobs pages show (agent computer slice 4) by @futurepaul in #81

Full Changelog: v0.12.1...v0.13.0

fragment v0.12.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 18:07
a3544bc

What's Changed

  • code.storage: a delete streams no content, so a sync that deletes lands by @futurepaul in #70
  • Computers keep their CLI current, and agent home takes bare labels by @futurepaul in #71
  • Hand-offs: the brain never writes the computer's result by @futurepaul in #73

Full Changelog: v0.12.0...v0.12.1

fragment v0.12.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 16:12
fdc70c4

What's Changed

  • The desktop's computers: a pet fragment as a pane, your agent runs commands on it by @futurepaul in #59
  • celld v0.6.0: the fork rebased, its alarm fix gone upstream by @futurepaul in #57
  • Docs: celld v0.6.0 left pre-upgrade app data unread; test old data on a new rev first by @futurepaul in #62
  • docs: screen streaming design (live video for a computer's screen) by @futurepaul in #58
  • pet: a computer-use agent, do({task}): goose with Cua Driver as its hands by @futurepaul in #63
  • Computer: one alarm step at a time, so a slow wake is not undone (no such reservation) by @futurepaul in #65
  • Your agent hands work to a computer: a throwaway builder, or one you name by @futurepaul in #64
  • docs: the agent computer, and decision 24 (brain in the cell, hands on a computer) by @futurepaul in #66
  • Model routing: flashx the default, a computer names one of three, sorted by latency by @futurepaul in #67
  • Computer: a job's long command stays held and its polls wait on no alarm by @futurepaul in #68
  • Computer sessions: goose serve on every computer, a session per chat, hand-off to your home computer by @futurepaul in #69

Full Changelog: v0.11.1...v0.12.0

fragment v0.11.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 23:31
0e8f984

What's Changed

  • Pet follow-ups: signedIn channels, ephemeral mutations, --input @file, private computers by @futurepaul in #60
  • The CLI's live socket speaks wss:// (fragment channel --follow on hosted fleets) by @futurepaul in #61

Full Changelog: v0.11.0...v0.11.1

fragment v0.11.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 23:01
dd01c06

What's Changed

  • Computers: no charge for failed boots, the full idle wait, a checked hold by @futurepaul in #51
  • fragment model --serve, and a streaming model endpoint by @futurepaul in #52
  • job.computer.exec: a fragment's jobs run commands on its computer by @futurepaul in #54
  • A computer runs its fragment's start from the live files, as a service by @futurepaul in #56
  • The pet template: a computer everyone with the fragment watches live and drives together by @futurepaul in #53
  • goose on a fragment's computer: the builder template by @futurepaul in #55

Full Changelog: v0.10.0...v0.11.0

fragment v0.10.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:40
64a227d

What's Changed

  • Computers are identities: paired by their owner, acting only where let by @futurepaul in #44
  • The desktop and the chat leave the core: no chat flag, one frame consent by @futurepaul in #45
  • The move: fragments on fragment.boats, the platform on fragment.club by @futurepaul in #46
  • The agent add-on: a fragment declares its own agent; the owner pays for agent calls by @futurepaul in #47
  • job.agent: a fragment's job runs one turn of its own agent by @futurepaul in #48
  • A fragment's own computer: "computer": {} makes a Sprite, paired as its owner's by @futurepaul in #49
  • Computers call the model through the platform, on their owner's budget by @futurepaul in #50

Full Changelog: v0.9.0...v0.10.0

fragment v0.9.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:45
ef65ca1

What's Changed

  • Sign-in: a return path never leaves the platform's origin (two live open redirects) by @futurepaul in #9
  • NIP-98: a malformed signature or clock is refused, never a panic (unauthenticated router crash) by @futurepaul in #11
  • Reliability: effects checked where they're applied, no silent loss, bounded everything (audit R2–R23) by @futurepaul in #10
  • Single source of truth: decode once at each door, one definition per fact (audit T1–T16) by @futurepaul in #12
  • Speed: the audit's 23 speed items, each measured (stacked on #12) by @futurepaul in #13
  • Tests: the audit's 19 test items, each check shown to fail (stacked on #13) by @futurepaul in #14
  • Platform pages refuse frames; its forms refuse a fragment's page (clickjacking fix) by @futurepaul in #19
  • Agent: answer a chat once, and listen once by @futurepaul in #20
  • Phase 7: the plan, the decisions, and the platform's special cases by @futurepaul in #18
  • Registry and the cell's JS: the route tables, dead answers, and parallel helpers go (−133) by @futurepaul in #22
  • Cell: one test countdown, one life check, and route tables left to docs/api.md by @futurepaul in #23
  • crates: what nothing calls, the copies, and one constructor for App by @futurepaul in #21
  • Phase 7 B1: postable channels, and a quiet poll backstop by @futurepaul in #26
  • Phase 7 A: an agent acts for whoever asked, one conversation per chat by @futurepaul in #31
  • Cell: remove the migrations every fragment has run (−317 lines) by @futurepaul in #32
  • Docs: what fragment.club runs, what master adds, and the lines that fell behind by @futurepaul in #16
  • Sockets: a fragment's live socket and change feed open only from its own page by @futurepaul in #33
  • Phase 7 D: share sheet and /join on the platform's origin by @futurepaul in #28
  • CLI: the deletion pass (−329 lines), and fragment host keeps its config by @futurepaul in #24
  • CLI tests: nine duplicate host tests (−121 lines) by @futurepaul in #25
  • CLI: delete fragment build (−356 lines, 7 oxc deps, 60 lockfile packages) by @futurepaul in #27
  • Sync: an installed unit carries --mirror-from by @futurepaul in #30
  • Watch: the change feed's URL changes only the host's scheme by @futurepaul in #29
  • The new chat: no app code, work on a channel, the platform's page (phase 7 slice C) by @futurepaul in #34
  • Docs: fragments on fragment.boats (design, proposed) by @futurepaul in #35
  • CI: build the e2e kit in two parallel parts; cargo rebuilds only what changed by @futurepaul in #17
  • Phase 7, slice E: the acceptance e2e (phase7) by @futurepaul in #36
  • Isolation between fragments, and the desktop's frames through __frame (fragment.boats slice 1) by @futurepaul in #37
  • A fragment's URL signs you in; refusals a browser navigates to are pages by @futurepaul in #38
  • Agent: build apps from a guide, bound each model call, never fail silently by @futurepaul in #39
  • The platform's desktop frames from the start; chats listed by what they are by @futurepaul in #40
  • A list read wakes no fragment; a chat says so when it sends its row by @futurepaul in #41
  • Docs: fragment is the product; agents and computers are add-ons by @futurepaul in #42
  • fragment's front door: a one-line install, a skill, and a home that is the product by @futurepaul in #43

Full Changelog: v0.8.0...v0.9.0