Skip to content

feat: redesign landing page around the runtime, add builder start() API, and benchmark agent memory scaling - #104

Merged
shadaj merged 1 commit into
mainfrom
sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e
Aug 27, 2026
Merged

feat: redesign landing page around the runtime, add builder start() API, and benchmark agent memory scaling#104
shadaj merged 1 commit into
mainfrom
sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e

Conversation

@shadaj

@shadaj shadaj commented Aug 26, 2026

Copy link
Copy Markdown
Member

Runtime API (infinity-agent-core)

  • AgentSystemBuilder::start() builds the local system and starts it with the thread-builder API in one call; AgentSystemBuilder::start_with_observer(...) does the same for the custom-observer path. build_local() remains the two-phase form for embeddings that hold the built LocalAgentSystem before running it (as the daemon does).
  • Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

Memory-scaling benchmark

  • New crates/infinity-agent-core/examples/agent_scale.rs: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples VmRSS after malloc_trim once each wave is idle and prints a CSV. Adds libc as a dev-dependency.
  • Measured (AMD EPYC 9R14, single thread, in-memory stores): 50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

  • Hero: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new start() API).
  • Scale: new MemoryChart component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source. Kept linear axes: the data is linear and spans barely one decade.
  • Asynchrony: new AgentTrace component, a transcript-style session log with timestamped subscription events, a subagent report, and explicit idle rows ("5 minutes idle: no task, no polling, zero compute"); lines animate in on scroll. Copy names the primitives (subscriptions, spawn_thread, sleep) and frames the design as actor-system-like agent systems.
  • Serverless: keeps the time-slicing animation; copy maps one SQS FIFO delivery to one runtime step, with thousands of agents sharing one function.
  • RAP / Infinity Code: standalone full-width sections (protocol swim-lane diagram; live desktop UI demo).
  • Style: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused SliceDiagram/code panels.

Verified: cargo fmt, cargo clippy -p infinity-agent-core --all-targets -D warnings, cargo test -p infinity-agent-core (81 passed), workspace cargo check --all-targets, docs prettier + tsc + full docusaurus build.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 26, 2026

Copy link
Copy Markdown

Deploying infinity with  Cloudflare Pages  Cloudflare Pages

Latest commit: fab57ef
Status: ✅  Deploy successful!
Preview URL: https://ce982ea4.infinity-dc7.pages.dev
Branch Preview URL: https://sandbox-c6b6c253-5de3-4526-b.infinity-dc7.pages.dev

View logs

shadaj added a commit that referenced this pull request Aug 26, 2026
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new `start()` API).
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source. Kept linear axes: the data is linear and spans barely one decade.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event (exit 1 with the failing test) wakes it to fix and rerun, and exit 0 closes it out. Explicit idle rows ("18 minutes idle: no task, no polling, zero compute"), fixed-height opacity-only reveal, extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and frames the design as actor-system-like **agent systems**.
* **Serverless**: keeps the time-slicing animation; copy maps one SQS FIFO delivery to one runtime step, with thousands of agents sharing one function.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators (hero, between chapters, product sections) now span the identical content width with the same color.
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from f679678 to b77c585 Compare August 26, 2026 20:25
@shadaj
shadaj marked this pull request as ready for review August 26, 2026 23:54
@shadaj
shadaj requested a review from a team August 26, 2026 23:54
shadaj added a commit that referenced this pull request Aug 27, 2026
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new `start()` API).
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source. Kept linear axes: the data is linear and spans barely one decade.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event wakes it to fix and rerun, and exit 0 closes it out. Tagged rows (user / agent / event) without timestamps; explicit idle rows; fixed-height opacity-only reveal with extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and explains agent systems as actor-like pools that the runtime "intelligently schedules the way an async executor schedules tasks", so thousands of agents make progress on a few threads.
* **Serverless**: keeps the time-slicing animation; copy reads "Because agent turns never block, Infinity is perfect for serverless environments" (one Lambda step per SQS delivery) and "Infinity agents can run *forever* with *near-zero cost*"; dropped the FIFO-ordering and shared-function details as too low level.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators (hero, between chapters, product sections) span the identical content width with the same color.
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from b77c585 to 66ffd46 Compare August 27, 2026 17:53
shadaj added a commit that referenced this pull request Aug 27, 2026
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new `start()` API).
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source. Kept linear axes: the data is linear and spans barely one decade.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event wakes it to fix and rerun, and exit 0 closes it out. Tagged rows (user / agent / event) without timestamps; explicit idle rows; fixed-height opacity-only reveal with extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and explains agent systems as actor-like pools that the runtime "intelligently schedules the way an async executor schedules tasks", so thousands of agents make progress on a few threads.
* **Serverless**: keeps the time-slicing animation; copy reads "Because agent turns never block, Infinity is perfect for serverless environments" (one Lambda step per SQS delivery) and "Infinity agents can run *forever* with *near-zero cost*"; dropped the FIFO-ordering and shared-function details as too low level.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators (hero, between chapters, product sections) span the identical content width with the same color.
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from 66ffd46 to a51b4ee Compare August 27, 2026 17:54
shadaj added a commit that referenced this pull request Aug 27, 2026
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new `start()` API).
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source. Kept linear axes: the data is linear and spans barely one decade.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event wakes it to fix and rerun, and exit 0 closes it out. Tagged rows (user / agent / event) without timestamps; explicit idle rows; fixed-height opacity-only reveal with extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and explains agent systems as actor-like pools that the runtime "intelligently schedules the way an async executor schedules tasks", so thousands of agents make progress on a few threads.
* **Serverless**: keeps the time-slicing animation; copy reads "Because agent turns never block, Infinity is perfect for serverless environments" (one Lambda step per SQS delivery) and "Infinity agents can run *forever* with *near-zero cost*"; dropped the FIFO-ordering and shared-function details as too low level.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators (hero, between chapters, product sections) span the identical content width with the same color.
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from a51b4ee to 1699905 Compare August 27, 2026 17:57
shadaj added a commit that referenced this pull request Aug 27, 2026
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; stock Docusaurus code block shows the quickstart snippet (using the new `start()` API).
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event wakes it to fix and rerun, and exit 0 closes it out. Tagged rows (user / agent / event) without timestamps; explicit idle rows; fixed-height opacity-only reveal with extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and explains agent systems as actor-like pools that the runtime intelligently schedules like an async executor, so thousands of agents make progress on a few threads.
* **Serverless**: keeps the time-slicing animation; copy reads "Because agent turns never block, Infinity is perfect for serverless environments" (one Lambda step per SQS delivery) and "Infinity agents can run *forever* with *near-zero cost*", closing on the CDK constructs and laptop-to-cloud portability instead of AWS service lists.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators span the identical content width with the same color.
* **Footer**: reorganized into three highlight columns — Infinity Runtime (Quickstart, Architecture, Deploy on AWS Lambda), Reactive Agent Protocol (What is RAP?, Build a RAP Tool, Specification), and Infinity Code (Get Started, Background Agents, Slack Bot).
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from 1699905 to d6c4d7c Compare August 27, 2026 17:59
… API, and benchmark agent memory scaling

## Runtime API (`infinity-agent-core`)

* `AgentSystemBuilder::start()` builds the local system and starts it with the thread-builder API in one call; `AgentSystemBuilder::start_with_observer(...)` does the same for the custom-observer path. `build_local()` remains the two-phase form for embeddings that hold the built `LocalAgentSystem` before running it (as the daemon does).
* Updated the module example, simple internal call sites, and all agent-systems docs pages to the shorter form.

## Memory-scaling benchmark

* New `crates/infinity-agent-core/examples/agent_scale.rs`: launches waves of agents against a self-driving scripted model; every turn is a full runtime round trip (streamed ~1.2 KB completion with a tool call, async tool result through the input queue, follow-up completion). Samples `VmRSS` after `malloc_trim` once each wave is idle and prints a CSV. Adds `libc` as a dev-dependency.
* Measured (AMD EPYC 9R14, single thread, in-memory stores): **50,000 agents × 20 turns = 2,000,000 completions in 255 s; 7.9 GB RSS, ≈154 KB per idle agent** — fifty thousand resident agents fit in a Raspberry Pi 5's memory.

## Landing page redesign

Rebuilt around the priorities: clean Rust API in the hero, then Scale → Asynchrony → Serverless chapters, with RAP and Infinity Code as separate product sections.

* **Hero**: tagline leads with the Rust framework and the measured Raspberry Pi claim; the subline pitches the architecture ("Infinity does for agents what async did for threads: instead of blocking on slow tools, agents run them concurrently, yield while they wait, and cost nothing until the next event arrives"); stock Docusaurus code block shows the quickstart snippet using the new `start()` API.
* **Scale**: new `MemoryChart` component plots the measured 21-point agents-vs-memory curve (inverted axes: resident agents against RSS) with a Raspberry Pi 5 reference line, per-agent slope annotation, and a methodology caption linking to the benchmark source.
* **Asynchrony**: new `AgentTrace` component, a transcript-style session log: the agent backgrounds `cargo test`, drafts release notes while the tests run, and goes idle; the run's failure event wakes it to fix and rerun, and exit 0 closes it out. Tagged rows (user / agent / event) without timestamps; explicit idle rows; fixed-height opacity-only reveal with extra-long pauses after idle rows. Copy names the primitives (subscriptions, `spawn_thread`, `sleep`) and explains agent systems as actor-like pools that the runtime intelligently schedules like an async executor, so thousands of agents make progress on a few threads.
* **Serverless**: keeps the time-slicing animation; copy reads "Because agent turns never block, Infinity is perfect for serverless environments" (one Lambda step per SQS delivery) and "Infinity agents can run *forever* with *near-zero cost*", closing on the CDK constructs and laptop-to-cloud portability.
* **RAP / Infinity Code**: standalone sections with title + subtitle headers, aligned to the same 1200px content grid as the chapters; all separators span the identical content width with the same color.
* **Footer**: reorganized into three highlight columns — Infinity Runtime (Quickstart, Architecture, Deploy on AWS Lambda), Reactive Agent Protocol (What is RAP?, Build a RAP Tool, Specification), and Infinity Code (Get Started, Background Agents, Slack Bot).
* **Style**: all copy rewritten in active Hydro-landing register (~two sentences per paragraph, minimal em-dashes); removed the old layer cards, numbered "·" kickers, dotted connectors, alternating flip layout, the Rust-API detail chapter, and the unused `SliceDiagram`/code panels.

Verified: `cargo fmt`, `cargo clippy -p infinity-agent-core --all-targets -D warnings`, `cargo test -p infinity-agent-core` (81 passed), workspace `cargo check --all-targets`, docs prettier + tsc + full docusaurus build.

Co-authored-by: Infinity 🤖 <infinity@hydro.run>
PR: #104
@shadaj
shadaj force-pushed the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch from d6c4d7c to fab57ef Compare August 27, 2026 18:04
@MingweiSamuel
MingweiSamuel requested a lite review from Copilot August 27, 2026 19:24
@shadaj
shadaj merged commit b71baa1 into main Aug 27, 2026
9 checks passed
@shadaj
shadaj deleted the sandbox-c6b6c253-5de3-4526-ba0f-e98fe288bc7e branch August 27, 2026 19:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the public docs site and infinity-agent-core to (1) streamline the local runtime “start” path, (2) add a memory-scaling benchmark that produces the data used for the docs landing-page claim, and (3) redesign the landing page around runtime scale/asynchrony/serverless messaging.

Changes:

  • Add AgentSystemBuilder::start() and AgentSystemBuilder::start_with_observer(...) convenience APIs and update internal call sites + docs examples to use them.
  • Introduce agent_scale benchmark example (plus libc dev-dependency) to measure RSS scaling across large numbers of resident idle agents.
  • Redesign the docs landing page with new MemoryChart and AgentTrace components, updated copy, and new CSS/layout.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/src/pages/index.tsx Rebuild landing page structure and hero to foreground runtime API + scale/asynchrony/serverless chapters.
docs/src/css/custom.css New landing-page layout styles (hero grid, chapters, product sections, trace styling).
docs/src/components/MemoryChart.tsx New SVG chart component plotting agents-vs-RSS benchmark curve and annotations.
docs/src/components/AgentTrace.tsx New transcript-style “agent trace” component with timed reveal animation.
docs/docusaurus.config.ts Reorganize footer links into Runtime / RAP / Infinity Code groupings.
docs/docs/infinity-runtime/agent-systems/running-locally.md Update local-system snippet to use .start() instead of .build_local().start().
docs/docs/infinity-runtime/agent-systems/rap-servers.md Update RAP server example to use .start() directly.
docs/docs/infinity-runtime/agent-systems/overview.md Update “local mode” example to use .start() and reflect the shorter API form.
docs/docs/infinity-runtime/agent-systems/mcp-servers.md Update MCP server examples to use .start() directly.
docs/docs/infinity-runtime/agent-systems/dynamic-configuration.md Update dynamic config example to use .start() directly.
docs/docs/infinity-runtime/agent-systems/customizing-the-engine.md Update customization example to use .start() directly.
docs/docs/infinity-runtime/agent-systems/building-a-system.md Update quickstart example to use .start() directly.
crates/infinity-agent-core/src/system/tests.rs Update tests to use builder start_with_observer(...) convenience method.
crates/infinity-agent-core/src/system/test_support.rs Update test helpers and launcher setup to use builder start() / start_with_observer(...).
crates/infinity-agent-core/src/system/mod.rs Update module-level docs example to use .start() directly.
crates/infinity-agent-core/src/system/builder.rs Add start() + start_with_observer(...) builder convenience APIs (wrapping build_local().start*).
crates/infinity-agent-core/examples/agent_scale.rs Add memory-scaling benchmark example that prints agents/RSS CSV and reports per-agent memory.
crates/infinity-agent-core/Cargo.toml Add libc dev-dependency for allocator trimming in benchmark.
Cargo.lock Record libc dependency addition in the lockfile.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +92 to +94
// Per-agent cost from the overall slope (excluding the empty-system base).
const perAgentKb =
(DATA[DATA.length - 1][0] - DATA[0][0]) / lastAgents / 1024;
Comment on lines +195 to +209
fn rss_bytes() -> u64 {
let status = std::fs::read_to_string("/proc/self/status").expect("read /proc/self/status");
let line = status
.lines()
.find(|l| l.starts_with("VmRSS:"))
.expect("VmRSS line in /proc/self/status");
let kb: u64 = line
.trim_start_matches("VmRSS:")
.trim()
.trim_end_matches("kB")
.trim()
.parse()
.expect("parse VmRSS value");
kb * 1024
}
Comment on lines +219 to +224
fn env_usize(name: &str, default: usize) -> usize {
match std::env::var(name) {
Ok(v) => v.parse().expect("numeric environment variable"),
Err(_) => default,
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants