localharness 0.78.0

Agents that own themselves: one Rust crate that's both an agent SDK (streaming, tools, hooks, policies, triggers, MCP) and a wallet-owning, self-sovereign agent that runs in the browser.
Documentation
1
2
3
4
5
6
7
8
9
10
{
  "id": "203",
  "prompt": "A Gantt-style day planner: an hour ruler 0..12 with numbered gridlines, four task rows whose start hours [1, 3, 5, 8] and durations [3, 4, 2, 3] come from arrays, and a red NOW line that sweeps the whole board every 24 seconds - any task bar under the NOW line brightens while active.",
  "solution_rl": "fn frame(t: i32) {\n    let w: i32 = host::display::width();\n    let h: i32 = host::display::height();\n    host::display::clear(0x0c0c10);\n    let x0: i32 = 40;\n    let bw: i32 = w - x0 - 16;\n    let starts = [1, 3, 5, 8];\n    let durs = [3, 4, 2, 3];\n    let mut k: i32 = 0;\n    while k < 13 {\n        let x: i32 = x0 + k * bw / 12;\n        host::display::draw_line(x, 28, x, h - 50, 0x202028);\n        host::display::draw_number(x - 4, 12, k, 0x808080, 1);\n        k = k + 1;\n    }\n    let nowx: i32 = x0 + (t % 1440) * bw / 1440;\n    let mut i: i32 = 0;\n    while i < 4 {\n        let y: i32 = 48 + i * 60;\n        let sx: i32 = x0 + starts[i] * bw / 12;\n        let ex: i32 = x0 + (starts[i] + durs[i]) * bw / 12;\n        let col: i32 = if nowx >= sx && nowx < ex { 0x50c0ff } else { 0x28506a };\n        host::display::fill_rect(sx, y, ex - sx, 36, col);\n        host::display::draw_number(8, y + 12, i + 1, 0xc0c0c0, 2);\n        i = i + 1;\n    }\n    host::display::draw_line(nowx, 28, nowx, h - 50, 0xff4040);\n    host::display::draw_string(x0, h - 32, \"NOW SWEEPS THE DAY IN 24S\", 0x606060, 1);\n    host::display::present();\n}\n",
  "tags": [
    "chart",
    "time",
    "arrays"
  ]
}