Changelog
What went live, as it happens.Live: 0.7.528 · 0855bd7. 2 shipped today (UTC).
On its way
UTC 2
UTC 282
-
The egress proxy pauses a fast upstream for a slow reader instead of cutting it, so a big tarball installs whole
- By
- trevato
-
No background job holds the loop longer than 50 ms in one synchronous slice on a busy fixture, and a test times each one
- By
- Torque
- With
- Claude Opus 5.5
-
Plans are a setting: free, small, medium and large, each with a size, a monthly price, a monthly crew credit and a forge count
- By
- Mason
- With
- Claude Sonnet 5.5
-
`asks` answers with a ui://forge/asks card: each decision waiting on the owner as one line with its one action
- By
- Mason
- With
- Claude Sonnet 5.5
-
An app inside a child forge reaches a payment provider when its forge.json declares it
- By
- Scout
- With
- Claude Opus 5.5
-
`releases` answers with a ui://forge/release card: each kept release's version, when it rolled, how many pulls it carried and whether it is proven
- By
- Torque
- With
- Claude Sonnet 5.5
-
The board's money line names the Economics slider's position, linked to Settings → Economics
- By
- Scout
- With
- Claude Opus 5.5
-
`now` answers with a ui://forge/crew card: who, on what, since when, cost, a waiting planner first
- By
- Scout
- With
- Claude Sonnet 5.5
-
A `.env.example` in a repository opens as the variables an app needs: name, example value and its comment per row
- By
- Scout
- With
- Claude Sonnet 5.5
-
Every background timer on the forge runs inside `during`, so no loop stall is blamed on `unknown`
- By
- Mason
- With
- Claude Opus 5.5
-
/system and /map answer at first sight: standing notes become a word or a glyph, and the how-to moves behind one `?`
- By
- Mason
- With
- Claude Sonnet 5.5
-
An OpenAPI document in a repository opens as its operations: method, path and summary per row, grouped by tag
- By
- Scout
- With
- Claude Sonnet 5.5
-
/search?q=a answers under 300 ms on production, so the release proof stops reading it as degraded
- By
- Scout
- With
- Claude Opus 5.5
-
test/rehearsal-real.test.ts runs in the gate: its two real rolls stay green under the gate's load
- By
- Scout
- With
- Claude Sonnet 5.5
-
Crew runs on a forge admin's org repos use the forge's model account (every child made for an org fails its first run today)
- By
- Mason
- With
- Claude Sonnet 5.5
-
Claude Code adds the forge's plugin in one command the forge prints, with no sparse clone
- By
- Scout
- With
- Claude Sonnet 5.5
-
An agent reads one slice of the OpenAPI description: operations carry tags and /contract/openapi.json?tag=pulls answers just those
- By
- Scout
- With
- Claude Sonnet 5.5
-
An agent installs the OpenCode plugin from the forge it is reading: llms.txt, /account and the MCP card name this forge's own /plugins/opencode/forge.ts
- By
- Mason
- With
- Claude Sonnet 5.5
-
The probe verdicts and an app's wake from sleep are the same every run: probe, probes and apps-sleep leave the quarantine
- By
- Scout
- With
- Claude Opus 5.5
-
A stranger reading an app sees only the app's own Server-Timing; the forge's entries (forge-lag, forge-route and the rest) go to the app's writers
- By
- Mason
- With
- Claude Opus 5.5
-
Error hints and the API root name /contract/openapi.json directly, not the path that redirects to it
- By
- Scout
- With
- Claude Sonnet 5.5
-
An lcov coverage file in a repository opens as a table: each source file's line and branch coverage, worst first, linked to the file
- By
- Torque
- With
- Claude Opus 5.5
-
A loop stall over 200 ms is named by what ran: route or job, its ms, the last hour's worst on /system
- By
- Torque
- With
- Claude Opus 5.5
-
/docs reads the forge's documentation on the forge itself: an index and each doc rendered, with no hop to the code host
- By
- Torque
- With
- Claude Sonnet 5.5
-
A JUnit XML test report in a repository opens as its results: pass, fail and skip counts, then each failing case with its message
- By
- Scout
- With
- Claude Sonnet 5.5
-
test/prompts.test.ts pass in any order and run in the gate
- By
- Mason
- With
- Claude Sonnet 5.5
-
test/crew-interrupted.test.ts runs in the gate: three passes under --randomize, each under 10 s
- By
- Scout
- With
- Claude Opus 5.5
-
/agents answers at first sight: the make-my-forge form and three steps, with the long how-to behind one `?`
- By
- Mason
- With
- Claude Opus 5.5
-
Nothing in the gate's quarantine cites a closed issue: the suites parked on #261 and #7632 join the gate or say today's reason
- By
- Mason
- With
- Claude Opus 5.5
-
test/snapshot.test.ts read only the state they made, and run in the gate
- By
- Scout
- With
- Claude Opus 5.5
-
test/parity.test.ts sign up their own accounts and run in the gate
- By
- Scout
- With
- Claude Opus 5.5
-
The board shows this month's money in one line: cost, revenue and the gap, with a link to Economics
- By
- Torque
- With
- Claude Opus 5.5
-
A talk build is reachable through MCP: `say` starts it, reads its versions and diffs, restores and publishes
- By
- Scout
- With
- Claude Sonnet 5.5
-
asks, now and milestones answer with their ui:// card, like apps, flow and waves already do
- By
- Scout
- With
- Claude Sonnet 5.5
-
test/crew-interrupted.test.ts runs in under 10 s
- By
- Mason
- With
- Claude Opus 5.5
-
test/snapshot-destination.test.ts passes: a failed test-connection is one sentence and the backups page shows a snapshot in progress without a refresh
- By
- Scout
- With
- Claude Opus 5.5
-
/settings shows each setting as one line: its name, its value and its control, with the reason one tap deeper
- By
- Scout
- With
- Claude Opus 5.5
-
Sentinel: release was degraded 28 minutes today: Release 0.7.524 is unproven: https://forge.open-platform.sh/search?q=a as desktop /search?q=a took 1779 ms, over 1000 m…
- By
- Torque
- With
- Claude Sonnet 5.5
-
Twelve quarantined suites that pass alone run in the gate again
- By
- Scout
- With
- Claude Opus 5.5
-
An Instagram prompt keeps its first line: passes
- By
- Scout
- With
- Claude Opus 5.5
-
Automate a review finding as a lint or test: I did not exercise the preview beyond reading the diff.
- By
- Scout
- With
- Claude Sonnet 5.5
-
Explore has an Atom feed: /explore.atom lists the apps rising and newly made, and the page advertises it
- By
- Torque
- With
- Claude Sonnet 5.5
-
Milestones at the front door: how close the big things are, what moved this week, and the wave that moved them
- By
- Scout
- With
- Claude Sonnet 5.5
-
Packs is an empty page: show real packs you can start a forge from, or take it out of the nav
- By
- Scout
- With
- Claude Sonnet 5.5
-
test/apps-api.test.ts runs in under 8 s
- By
- Torque
- With
- Claude Opus 5.5
-
test/scaffold.test.ts passes in the builder's sandbox: the scaffolded app's typecheck and its OpenID sign-in
- By
- Scout
- With
- Claude Opus 5.5
-
Displays: 2.3 s to list two rows and no word on what a display is — make it fast and clear, or fold it into boards
- By
- Torque
- With
- Claude Opus 5.5
-
/docs opens the forge's documentation instead of a 404
- By
- Scout
- With
- Claude Sonnet 5.5
-
Talk starts an app from one prompt, and each turn is a version you can preview, diff, restore and publish
- By
- Mason
- With
- Claude Sonnet 5.5
-
The MCP fork_tree tool answers with a `ui://forge/forks` card: each fork as a row with its depth and how it follows
- By
- Scout
- With
- Claude Sonnet 5.5
-
Talk runs the captain: hourly check-ins, the friends watch and owner instructions as routines in a thread, with memory and resume
- By
- Torque
- With
- Claude Opus 5.5
-
A .sarif file in a repository opens as its findings: rule, level, file and line, and message per row
- By
- Torque
- With
- Claude Opus 5.5
-
Talk looks like v0: chat beside a live preview, tool calls as readable steps, streaming with stop and steer
- By
- Scout
- With
- Claude Opus 5.5
-
The device-code connect page polls on a timer: move it to a stream or a live-region swap
- By
- Mason
- With
- Claude Sonnet 5.5
-
Automate a review finding as a lint or test: Direction: the repository is PIPELINE FIRST (#6534, #6611, #5276, #3316, #6217
- By
- Scout
- With
- Claude Sonnet 5.5
-
Crew runs on a forge admin's org repos use the forge's model account (every child made for an org fails its first run today)
- By
- Mason
- With
- Claude Sonnet 5.5
-
/changelog answers a repeat visit with 304: an ETag for every reader, not no-cache
- By
- Scout
- With
- Claude Sonnet 5.5
-
An .eml file in a repository opens as a message: From, To, Subject, Date and the plain-text body, drawn on the server
- By
- Scout
- With
- Claude Sonnet 5.5
-
The MCP boards tool answers with a `ui://forge/board` card: a board's panels as rows, with the same numbers as the page
- By
- Torque
- With
- Claude Sonnet 5.5
-
A relayed request that waited on the forge says what held it: the owner sees the stall's route or job, not only the lag
- By
- Torque
- With
- Claude Opus 5.5
-
The board's money line: cost, revenue and the gap, per forge and per app, today and this month
- By
- Torque
- With
- Claude Opus 5.5
-
The palette's recent pages have their looks, light and dark, and pass design-lint
- By
- Mason
- With
- Claude Sonnet 5.5
-
Every new forge comes with its own source as a repo, wired to trevato/forge upstream, so its crew can work on it
- By
- Torque
- With
- Claude Sonnet 5.5
-
The terminal workspace opens .ipynb, .jsonl and .log files the way the browser does, with `s` for source
- By
- Scout
- With
- Claude Sonnet 5.5
-
The fork tree, browsable, and each fork chooses how it follows
- By
- Mason
- With
- Claude Opus 5.5
-
Every page key is handled from the one table the `?` sheet lists, so the sheet cannot name a key that does nothing
- By
- Mason
- With
- Claude Sonnet 5.5
-
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:1nlk8lbqbv is past its budget: trevato/forge: "a stall under a named job is read through system, at most 10, most ms first" failed on 6 pulls in the l…
- By
- Mason
- With
- Claude Sonnet 5.5
-
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:3gxxldqug6 is past its budget: trevato/forge: "a token that may only read cannot write through any tool > each write is refused for a read-only token,…
- By
- Mason
- With
- Claude Opus 5.5
-
Every MCP tool answers hostile arguments with a named refusal, never a 500: a fuzz test walks tools/list
- By
- Torque
- With
- Claude Opus 5.5
-
A team's page shows how it coordinates: throughput, lead time, hand-off latency, rework and cost per shipped change
- By
- Scout
- With
- Claude Opus 5.5
-
A mistyped repository address says the nearest repositories you can see, instead of a bare 404
- By
- Scout
- With
- Claude Sonnet 5.5
-
Every file renderer survives hostile input: a fuzz test proves no tag escapes and none throws
- By
- Scout
- With
- Claude Opus 5.5
-
When the parent's disk crosses its floor, running children stop writing, new cells are refused, and the owner hears once
- By
- Torque
- With
- Claude Opus 5.5
-
test/apps-ws.test.ts fails 5 of 8 in the full gate run, passes alone
- By
- Scout
- With
- Claude Opus 5.5
-
An Explore row's "make it yours" is one tap and the same words in the MCP row
- By
- Scout
- With
- Claude Opus 5.5
-
The fleet graph is reachable: the board, the spend page and each app's page link to /fleet/graph with their selection
- By
- Scout
- With
- Claude Opus 5.5
-
Any agent with only the URL starts building in one call: account, repo and live app, no person or crew needed
- By
- Mason
- With
- Claude Sonnet 5.5
- Sentinel: release was degraded 30 minutes today: Release 0.7.522 is unproven: https://forge.open-platform.sh/search?q=a as desktop /search?q=a took 2615 ms, over 1000 m…
- The palette opens on the pages you were just on, so a returning owner picks up where they left off
- The client list says in plain words where each sent forge link stands: sent, opened, signed in, first tell
- A mirrored repository's credit (upstream, licence, original authors) is in the REST and MCP answers, not only on its page
- Request access: a stranger can ask for an account, and the admin allows it with one tap
- /.well-known/api-catalog answers RFC 9727: one linkset naming the OpenAPI description, the MCP server card and the docs
- Every error response carries the security floor: a test walks 400, 401, 403, 404, 405, 413 and 500
- The terminal launcher finds every repository you can see, not only the first 200
- A child forge's disk, memory, CPU and process limits are enforced by the kernel; a 50G fallocate on a small child must fail
- Every HTML, JSON and plain-text answer carries Cross-Origin-Resource-Policy: same-origin, and public assets and feeds say cross-origin on purpose
- A refused REST call tells an agent what to do next: every 4xx JSON body has a `hint`, proven by a test over the OpenAPI routes
- /maintenance shows, for each duty, when it last ran and what it found, in one line each
- Explore answers under 50 ms and says so in Server-Timing, measured by a test
- `g` then a letter jumps between the forge's main pages from any page, as in k9s and lazygit
- Every list page's empty state says what to do next in one line with one link, proven by a test that walks the lists
- `?` opens a keyboard sheet listing the keys of the page you are on, and j/k/enter/esc work the same on every list
- Every cookie the forge sets says HttpOnly, Secure and SameSite, or is on a short named list with its reason, proven by a test that walks the code
- A nightly off-box backup older than 26 hours is a card on /flow with the one action that retries it
- No page refreshes itself on a timer: a test walks the rendered pages and fails on meta refresh or a reload interval
- `flow` brings a drifting pull up to date with one action, once the drift list is on main
- An agent asking `forges` sees each child's size and usage, as the machines page shows them
- The OpenAPI description cannot drift from the REST routes: a test lists routes missing from it
- A markdown file's relative images and links resolve inside the same repository at the same ref
- A pull drifting far behind main is flagged on /flow with the one action that rebases it
- A cancelled run ends every process it started, including grandchildren, proven by a test
- Every place the forge starts a process is listed in one test, each with the reason its arguments are never a person's text
- A note's sender who works through MCP reads the crew's replies to it, as the forge button shows them
- llms.txt and /.well-known/mcp.json name the same MCP tools, and a test fails when they drift
- An .html file in a repository previews as a page in a sandboxed frame, with Source one tap away
- A sliced .gcode file shows its toolpath one layer at a time, drawn on the server
- An agent watching security reads the forge's CSP violations by directive, as the security page counts them
- No served page polls: a test fails on a timer or meta refresh that reloads or refetches a page without the live stream
- `scorecard` over MCP says merged, returned and cost this week per member, the same words as /crew
- Every kind of response carries the security floor and every mutation checks its origin, proven by two route-walking tests
- An app the owner no longer cares about is archived in one tap and restored in one, starting from the parked archive branch
- A forge whose own repository is private still offers the Claude Code and OpenCode plugins, from its upstream
- A .3mf print project opens in the 3D view, like an STL
- The forge knows whether each child forge's writable space is a filesystem of its own, says so, and can refuse to start one that is not
- `system` over MCP names the last hour's main-thread stalls and the route or job behind each
- The first-view budget also holds /explore, /changelog, /boards, /forges and /crew
- A park note says what each failed try of the pull changed
- An approved pull says when it will land
- A parent funds a child forge's crew: a $ cap per child on the parent's own credential, metered, shown on both forges
- Boards can chart the machine: CPU, memory and load as a source
- /flow says how many crew runs declined in the last day, and why
- A child forge shows its size and usage, and the parent's machines page shows each child's usage against its size
- Sentinel: release was degraded 60 minutes today: Release 0.7.519 is unproven: https://forge.open-platform.sh/trevato/forge as desktop /trevato/forge answered with an em…
- When the forge's own lag explains most of an app's wait, the app's page does not call the app slow
- The MCP apps and flow tools draw ui:// cards, so a client in Claude or ChatGPT sees apps and the pipeline, not JSON
- Each cell's disk bandwidth is capped with io.max on the data volume's device
- Main is green again: the forge pill's script fits its 24 KB budget
- test/checks.test.ts runs in under 10 s, split where it covers more than one concept
- test/apps-busy.test.ts runs in under 10 s, every test under 1 s
- A mirrored repo's page names its upstream, its licence and its original authors
- /changelog reads like a story: same-shape landings of a day gather into one line, and titles drop lane and test-file jargon
- The forge pill on an app or preview is reachable by keyboard alone
- The first-login jargon test covers the site menu and command palette labels, and what it finds is reworded
- A loop stall that no request ran across names the background job that was running
- A tell sent from the forge pill carries its context: app, page, build and the last console errors
- `flow` and `scorecard` answer an MCP host with a card: the pipeline and its bottleneck, the crew one line each
- An app's Server-Timing tells the forge's own wait apart from the app's
- The new-forge page reads in plain words: a test fails it on the jargon list, for a visitor and for the owner
- On /crew, a member's Returned count opens the pulls returned to them this week in place
- A forge link says when it ends and its sender revokes it in one tap
- j/k, enter, esc and ? on the list pages that still lack
- One name per thing in the account menu: SSH keys, access keys and linked sites read the same on the label, the page title, the empty line and the palette
- The first-login page shows each app with the crew member working on it, in one plain line
- When a fix for a note lands, the crew says in plain words what was wrong and what changed
- Content-Security-Policy violations are reported to the forge, counted by directive and shown on the security page
- A settings notice never draws as a red banner over a page: a test scans every page's first paint
- A cancelled run ends every process it started, grandchildren included, and a test proves it
- The OpenAPI description and the REST routes the MCP tools call cannot drift: a test names the missing route
- No page can poll on a timer: the unused data-live-every beat leaves the client
- The sender reads the crew's replies to their note inside the forge button
- Egress enforcement cannot be turned to report by environment alone
-
j/k, enter, esc and ? on …
- Home KPIs show p75 LCP and INP from the first-party beacon
- Every 429 and 503 the API and MCP answer carries Retry-After, and one test walks them all
- An unknown path that looks like a file answers a tiny plain 404, not the 10 KB page
- crew-sandbox-real skips by a named cause: a syscall, a mount or a missing binary, not "nested or refused"
-
j/k, enter, esc and `?` on the lists that still lack them, one … each
- The signed-in home timeline says what to do when it is empty, in one line and one button
- No page's first paint carries a red setting notice: a test fails one that does
- A fork's page says in one line how it follows its upstream and an admin switches it in one tap
- /changelog has an Atom feed, linked from the page head
- The explorer shows when each app last shipped and can order by it
- MCP `fleet`: query and act with dry-run by default
- A cancelled run ends every process it started, proved by a test that leaves none alive
- GET /mcp says in plain words how to connect instead of an empty 405
- A test fails the first-login page on jargon, in its visible text and its labels, for every role that lands there
- The explorer keeps its filters in the URL, so a filtered view is a link that reloads the same
- The crew page shows one scorecard line per member: merged, returned, cost this week
- `?` lists the keys on /flow and /system, and `esc` closes it
- The OpenAPI description declares its bearer scheme and servers, so a harness's Code Mode can call it untaught
- docs/MCP.md lists every tool and its actions from the code, and a test fails when they drift
- The webspec test also walks /explore/people, /changelog, /roadmap and the 404 page
- Sentinel: release was degraded 190 minutes today: Release 0.7.509 is unproven: https://forge.open-platform.sh/search?q=a as desktop /search?q=a took 2511 ms, over 1000 m…
- test/crew-sandbox-real.test.ts runs on the check host's shape, or its exclusion names the exact cause
- Every app in the explorer says "make it yours" and one tap forks it, counted by a test
- Your dotfiles from a repository you name are in every shell you open
- GET /changelog answers under 50 ms with 500 entries, timed in a test
- docs/features/client-forge.md walks a zero-technical client from one link to the crew at work, and a test follows every link in it
- Settling many asks at once says the same words and offers the same undo on the page, in the terminal and over MCP
- The machines page shows one quiet line per disk, with the rated figures on open
- A healthy forge's home and board carry no alert banner: design-lint refuses a standing alert there, and a test counts zero
- Every list that asks for a decision answers j/k, enter, esc and `?`
- The forge toolbar in an app's preview is pinned by tests: shown on pages, absent from data, never twice
- test/crew-sandbox-real.test.ts runs in the gate, or the gate says why it cannot
- The palette ranks 2,000 rows in under 50 ms, timed in a test
- The story opens wave to changes to pulls to conversation, one tap each, and a test walks it
- Automate a review finding as a lint or test: Both doors missing: the page has no terminal screen with its entry
- Automate a review finding as a lint or test: Clean up: see the line comments.
- A note's sender gets the issue's link whenever they can read the repository
- No notes: the standing explanations on search, machines, crew, forges and pinned leave the first view
- A template repository whose folders each hold TEMPLATE.md and template.json offers each folder as a template
- Disk readings are kept per machine, with a 30-day write rate and a projected date for rated TBW
- A cancelled crew run leaves no process behind: a grandchild the run forked is gone within 2 s
- Each app's prints are capped per day and logged on the device page
- Audit the streaming routes (/events, telemetry/*) for traces of a read-only mirror
- The palette finds issues and pulls by number, people, settings and actions
- On the check host, a crew sandbox's proxy answers allowed hosts, so the escape test's through-proxy attempts run there
- The search, map, flow and system pages each carry a first-view attention budget that holds
- The knobs panel shows the reserve as a read-only row beside Weekly budget
- A test pins that /search?q=forge on a phone is the results page, and only the bare /search opens the palette sheet
- A pull's check summary carries the phone look of /preview-admin/sample/settings#move
- An app granted the printer prints a PDF through the forge, and reaches nothing else on the LAN
- Flaky test: a child forge spawned into a cell serves its app at <app>--<child>--<parent>
- Variants: a branch is a living variant of an app with its own settings, compared side by side
- The loopback-only look test cannot skip in the forge's check: a skip there is a failure that says why
- The forge comes alive, calmly: its own pixel art and one motion vocabulary from the code viewer, zero deps
- A read-only work repo shows on its owner's profile as work (read-only) with its last fetch and why a fetch failed
- The palette with nothing typed shows what you used last
- A read-only mirror leaves no trace for a stranger or the crew: pages, changelog, Talk, search, briefs
- Knobs: the small share and polish cap are gone, and pace floor, reserve and queue depth follow Speed
- The builds list is keyboard-first: j/k move between rows, enter opens one (fresh from main)
- The first message sent from /talk?about= gives the agent that subject as fenced context
- Search on a phone and the command palette are one surface
- The map is a space: full screen, pan and pinch-zoom, semantic zoom from pillars to pulls, time as a dimension
- The frozen mirrors on the origins page are keyboard-first: j/k move between them, enter opens the repository
- The roadmap's linked rows carry nav, so j/k move through them and enter opens one
- A machine's shell page says a detached session's stop time and picks it up where it was
- The owner declares the LAN printer and sees its model, state and supplies
- A looks capture gets a picture of a loopback app when loopback is the machine's only network
- Home tells the truth in few words: figures agree with their sources, blurbs become lines
- The header's Talk button shows when a conversation waits on your yes
- A from-app note gets a first-look reply from the crew within a minute
- Forge standards: the contracts any forge implementation can pass, with a conformance suite
- A `:` palette jumps to any page by name, from the keyboard alone
- An app terminal you have open is in your sessions list and stops like a shell
- A contacts file (.vcf) in a repository renders as a list of its contacts, nothing run
- Admins mark repositories as app templates, and New app offers a picker when more than one is marked
-
The … list is keyboard-first: j/k move between rows, enter opens one
- The subscriptions list is keyboard-first: j/k move between rows, enter opens one
- The changelog list is keyboard-first: j/k move between rows, enter opens one
- The webhooks list is keyboard-first: j/k move between rows, enter opens one
- The accounts list is keyboard-first: j/k move between rows, enter opens one
- The all-flows list is keyboard-first: j/k move between rows, enter opens one
- The backups list is keyboard-first: j/k move between rows, enter opens one
- A GeoJSON file renders as an outline of its features and a table of their properties
- A Jupyter notebook (.ipynb) renders as its cells and outputs, nothing run
- A repository mirrored from a read-only origin is private to its owner everywhere
- A pull opens on its verdict: can it land, what holds it, then the change
- /packs reads pack repos the owner marks, and packs/ leaves the forge's source tree
- The header's Talk link carries ?about= on a repository, issue or pull page the viewer actually sees
- Stop a shell, or stop all idle ones, from your account and through MCP
- The loopback-only looks test runs in the forge's check and says what Chrome does there
- An origin can be connected read-only, and every write-through path refuses it
- A machine shell opens to a greeting, a prompt with the repository and branch, and history that persists
- Your account lists the machine shells you hold, live and recent, and the sessions MCP tool lists them too
- A real Rust hello-world app builds with cargo and answers / in a test
- A build that hits its CPU, memory or time limit says which on the app page in one line
- New app copies a template repository's tip (readable by the caller, capped, no symlinks), with a door to name it
- A pack app's source can be a forge repo, and deploying it forks from the forge with lineage
- /talk?about= names its subject: one line above the composer, only for what the viewer can read
- Disk health rules: a spec catalog and alerts only on what the drive itself reports
- A from-app issue is assigned on arrival, and the flow alarm fires when one waits
- An app whose / answers an error is not boot ok
- Knobs: one panel on the crew page with five plain dials, each showing its live effect, editable in place
- After every release a cell child cannot wake for ten minutes: the boot opens every hosted child and fills FORGE_CHILD_AWAKE_MAX ("the forge is full")
- Knobs: one panel on the crew page with five plain dials, each showing its live effect, editable in place
- A crew run's sandbox refuses writes outside its worktree and hosts past the egress allowlist, each a test
- The packs' upstreams are read-only forge mirrors under the packs owner, re-synced on a schedule
- The page manifest says what you can do here as who you are: /api/v1/here answers differently for a stranger, a member and an admin, and a test pins each
- A fork tree reader returns an app's ancestors, siblings and descendants as plain data, filtered by what the caller may read
- A machine shell that prints output is not idle, and its idle stop is a setting with its reason
- A refused host is said out loud on the app page, and allowing it is one switch
- Ops security page: one line per control and when it was last checked
- A crew run's sandbox refuses reads outside its worktree, each attempt a test
- Crew install keeps the cell's proxy: a child forge's bun install dialled the registry directly and was refused
- An app that names Rust gets cargo on its install, test and run steps from a pinned cached toolchain, and a Rust hello-world app serves
- A hosted child's admin sees process-wide counters that belong to its parent and siblings
- Cells on the forge pod have no kernel memory or process cap
- forge.json can name a pinned toolchain, and an unknown or unavailable one fails the deploy in one plain line
- A stranger's pull diff or a failed check log cannot close its fence in a crew brief
- Real-user page timings roll up per page on the ops view, one line per page over budget
- Displays read git once per repository, and the picker reads fresh crew pulls once per pass
- Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:28egc5a0dw is past its budget: trevato/forge: "live previews > a fresh account's second preview is refused with the count on its run; the owner's two …
- Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:3ttdnwdbsb is past its budget: trevato/forge: "a pin's cart > a captured cart plays sandboxed, with its picture, and the builds page links it" failed …