Updated 2026-09-27 12:14 UTC from GitHub. 8 components in your words, each broken into the parts that produce it, in the owner's order. Yellow edge = the part a builder picks up now. Red edge = it moves only when you act. Finished work is folded away at the bottom.
Your level is the component; mine is the part. Bars show parts landed out of parts listed. "Next" is the one part that unblocks the most.
A plain chat turn on the live route answers fast, every time. Prompt length is the latency, not thinking: a one-word greeting was carrying 33 tool schemas and 7.8k prompt tokens. Speed is a merge gate of Class A standing; new-tool work halts while it is red.
Always keep speed a high priority.Core as light as possible; when a tool is called the wire carries core plus that one schema and everything else is dropped. Every PR states its cost to the turn.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 1.1 | Tiered tools: core on the wire, the rest behind open_toolsCategories listed as one-line index entries; a category loads only when opened. | done | #926 | Claude measure | Core schema count and bytes reported; a chat turn under 4k prompt tokens. |
| 1.2 | Drop everything but core + the called schema for the rest of the turnYour 9/18 evening ruling. Index lines go too once a tool is open; reset to core + index between turns. | done | #847 B.3 | Builder | Deployed 9/20 evening (#956 line). |
| 1.3 | Zero prefix-cache hits on the Sparks routeThe core is stable at the front so the cache should hit; it does not. --prefix-match-unit 8 was a no-op. | done | #927 | Claude + Builder | Warm-turn prefill drops and the server counter shows hits. |
| 1.4 | Snappy-turn SLO as the merge gateA plain chat turn on the live route, timed in CI against the lane budget. Red blocks the merge. | merged | #870 #1023 #1204 | Builder | A PR that adds latency to Hal's chat turn fails its check. |
| 1.5 | Reply first, work in the backgroundA drafting question gets an immediate answer while the tools run as a job. | done | #956 | Claude deploy | Deployed 9/20 evening; reply-first live on both lanes. |
| 1.6 | Standing bakeoff: Foundry vs DeepSeek harness vs Hermes | done | #872 | — | Same tasks, same endpoint; if Foundry is 5× slower the harness is the bug. |
| 1.7 | Long Telegram reply splits; a streamed turn shows once | done | #965 | Claude deploy | Deployed 9/20 evening. |
| 1.8 | Thinking off on chat; keepalive; streaming; self-knowledge cache | done | #809 #867 | — | Landed 9/15. |
| 1.9 | Fast front + specialist lanes as toolsOne fast Hal in front; engineering, accounting and design as specialist lanes with their own models. | live | #624 | — | Specialist registry, picker and delegation on main. |
| 1.10 | Gage 4.7 audit · Oracle greeting sends 37 schemas, 9,063 tokens, 3.7 s before a wordTier Oracle's tools the way Hal's are tiered. | next | #1015 | Builder | An Oracle greeting carries the same 4 core schemas Hal does; measured on the Sparks route. |
| 1.11 | Gage 4.7 audit · Thinking at the server default eats the output cap and returns nothing | merged | #1198 #1205 | Builder | Chat routes force thinking off; a greeting returns text every time. |
| 1.12 | Gage 4.7 audit · Hal greeting is 4,893 prompt tokens: a core file and a page of memory it never uses | open | #1199 #1207 | Builder | Greeting under 3k tokens; the cut blocks named and lazy-loaded. |
| 1.13 | Gage 4.7 audit · Prefix cache is on but a repeated chat prompt is not faster | merged | #1200 #1206 #1022 | Builder · Claude measure | Second identical greeting measurably faster than the first, or the reason written down. |
Every ability that is built and green but not yet on the runtime. Three audits found the same thing: capability built in one PR, armed in a second PR that never opened. This component is the list of second PRs, records and deploys. It is the shortest road to a more capable Hal, and most of it moves on you.
Report exceptions only.So this table is the exception list: each row is one thing standing between a merged PR and a live lane.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 3.1 | Schedule tools: register, grant Foundry-wide, fire from each lane's daemonOracle's four report times are launchd jobs I install. This lets any lane set its own. Oracle asked for it again today (oracle#159). | done | #941 | Peter | Deployed 9/20 evening. |
| 3.2 | Deploy the merged speed workReply-first (#956), tiered tools (#926), long-reply split (#965) are on main and not on the runtime. Merge hold lifts when #941 lands. | done | #956 #926 #965 | Claude | Runtime on 81725e0e, 9/21. |
| 3.3 | Grant the coms bus: Hal, Oracle and the builder message each otherInbox, delivery, receipts and ratchet exist; no lane grants message_agent. Class B since #1151 (9/25): no owner record; the builder grants it. | open | #835 | Builder PR | Oracle asks the builder for something and it lands as a job. |
| 3.4 | Oracle engine gate binds to merged main; one deploy script; hourly pin checkEnds the record-per-engine-bump churn you ruled out this morning. | done | #967 | Peter | Merged #967 + one deploy script; engine at 8c25d293. |
| 3.5 | Scout gets live X: Grok /responses with x_search + web_searchA Foundry-wide ability behind a route flag; add the grok-search route to the operator env at deploy. | done | #968 | Peter | Merged #968; grok-search route live 9/20. |
| 3.6 | Standing preferences: an owner-set file loaded with the core context every turn | in review | #985 | Gage | "Never sign off with a summary" sticks across sessions on every adult lane. |
| 3.7 | Email tool family: each agent reads and sends from its own mailboxSends stay behind the hard stop. | in review | #959 | Gage then Peter | Hal reads a vendor reply from his own inbox. |
| 3.8 | Every agent's keychain unlocks itself at bootToday's outage: two locked keychains took Claude Code and Oracle's broker keys down. foundry, grok and codex now unlock via a boot daemon; secrets re-entered. Claude Code has NOT been shown to unlock unattended at boot. Only hal is left, and that is your login. | next | local-first#37 local-first#45 | Claude · Peter yes on hal | Live for foundry, grok, codex; not done for claude until a boot brings Claude Code up with nobody at the keyboard; hal is Peter's login (left alone). |
| 3.9 | Rotate the printed secretsHal Telegram token (8/16), Anvil Telegram token + S128 key (9/03), Cerebras key (9/15), Cloudflare + Hostinger passwords (9/14). | yours | — | Peter | Each one rotated; I stop reminding. |
| 3.10 | Builder route + gate livesparks-builder route READY, gate recorded, dry-run proven. | done | #837 #854 | — | Done 9/20. |
| 3.11 | Live board on jobs.egyed.ioLive since 9/22: the Studio renders and deploys the page every 15 min; the source moves with local-first #41. | live | #975 | Claude | Page renders every 15 min from ledger/parts.yaml and GitHub state. |
| 3.12 | Gage 4.7 audit · Anvil's mission loop has no deadline and its lock is a lieThe deadline wrapper is on main (local-first #46, #47); the Anvil mission job does not run it yet (local-first #45, needs Peter's OK). | next | local-first#45 | Anvil | A cycle past its budget is killed and journaled; measured 85 min past a 30-min lock. |
| 3.13 | Gage 4.7 audit · Class A approval dies on a rebase that changed no bytes | in review | #1201 #1208 | Builder · Gage | Approval binds to the tree hash; a no-byte rebase keeps the stamp and the record. 30 of the last 40 merges were Class A. |
| 3.14 | Gage 4.7 audit · Oracle pin drift can sit for hours; two Colima VMs for two small listeners | in review | #1203 #1211 | Builder | Pin checker alerts within the hour; one VM. |
| 3.15 | Post-close review carries the engine's numbers | open | oracle#169 oracle#170 oracle#176 | Builder (oracle#169) | The engine writes the review block at the daily close and the cadence renders it. Not a clock bug: #993 closed, live plist restored. |
Foundry drafts by writing a sheet script on a shared kit — never a blank canvas. One house style and a quality floor on every sheet; the old fixed forms retire once the canvas beats them. Plan: docs/plans/2026-09-24-drafting-canvas.md (#1104).
I would like a base style and quality that we always produce.Drafting first on every builder; build for Foundry as a whole.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 7.1 | Gate re-run: name the missing field, deliver the sheet already made, 'ok' never redraws | open | #1101 #1100 | Opus | The three gate turns rerun in the sandbox: no false 'couldn't complete', no redraw on 'ok'. |
| 7.2 | Gate re-run: one dimension each, no stray dimension, no overlap, one sheet for a double gate | open | #1102 #1100 | OMP | Both leaf widths and the gap dimensioned once on one sheet; no overlap. |
| 7.3 | Model code runs on the Studio (canvas C0)The lane's venv sat under the denied ~/runtime tree, so every workspace_run was refused. | merged | #1107 #1103 | Opus | workspace_run python 'print(1)' succeeds as the runtime account; secrets under ~/runtime still unreadable. |
| 7.4 | Deploy 7.1–7.3 to Hal | live | #1101 #1102 #1107 | Claude · Peter 'deploy' | Live Hal on the merged head; the gate conversation rerun passes. |
| 7.5 | Canvas plan signed off | merged | #1104 | Astra · Gage · Peter | Astra and Gage approve the exact head; owner approves. |
| 7.6 | C1 + C1b: sheet kit and house standard (style fixed in code; required content per sheet type) | merged | #1140 | Builder after 7.5 | A sheet built on the kit renders the house frame; style cannot be overridden. |
| 7.7 | C3 + C4: pre-send check and view-conventions rulebook | merged | #1139 | Builder after 7.5 | Overlap, dimension-from-geometry and required-content checks block a bad sheet. |
| 7.8 | C2: parametric two-leaf gate template | merged | #1142 | Builder after 7.6 | A new gate is an inputs block; derived numbers printed and asserted. |
| 7.9 | C5: drafting skill — memo → template → render → look → fix → deliver | merged | #1150 | Builder after 7.8 | The sandbox gate conversation produces a sheet that passes C3. |
| 7.10 | C6: cloud model for new designs (Anthropic transport) | yours | — | Peter: pick the credential | A new design turn runs on Opus 5.5; quick edits stay local. |
| 7.11 | C7: the customer gate as a hidden level-5 exam case | open | — | Claude | The nightly hunt scores it. |
| 7.12 | C8: retire the forms (~15k lines deleted) | open | — | Builder | Canvas passes every L1–L3 drafting case the forms pass, two nights running; one deletion PR. |
A nightly failure hunt: a sandboxed copy of each agent runs graded cases that climb in difficulty; every repeat break becomes a builder job; fixes are proven by the next night. Plan: docs/plans/2026-09-23-failure-hunt.md (#1061).
Hundreds if not thousands of iterations of basic actions that increase in difficulty.Foundry-wide tool families, not agent names; led by a cloud model.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 8.1 | Week-one build: nightly CI run, sandbox, Hammer's tools shared, grading, scheduler, filer, trial run | done | #1079 #1080 #1082 #1083 #1084 #1085 #1086 | Opus | All seven merged. |
| 8.2 | Curriculum: 800 cases across seven tool families | done | #1081 | Team | Merged: 800 frozen cases across seven tool families. |
| 8.3 | Nightly run live: drafting levels 1–3 at 22:30 | live | — | Claude | First night's report read and its filed breaks triaged. |
| 8.4 | Move the nightly glue into the repo (ops/studio36) | open | #1133 #1135 | Builder | The LaunchDaemon and wrapper ship from main, not hand-installed. |
| 8.5 | Morning report to Peter on Telegram | open | #1134 #1136 | Builder | One short report at 6:30, skipped on quiet nights. |
| 8.6 | Widen to every tool family: core turn, memory, schedules, research, investing, codingThe 9/25 day run covered all seven families (600 sessions, #1169). One run, not nightly; that waits on 8.4. | open | — | Builder | Each family runs nightly at its open levels. |
| 8.7 | Cloud lead: writes variations, plays you in long sessions, finds the cause | yours | — | Peter: credential (same as 7.10) | Level 4–5 sessions run nightly under the spend cap. |
| 8.8 | Refine and teach-back: keep a prompt/tool/skill change only if the night improves | open | — | Builder after 8.7 | One change kept on evidence, one rejected on evidence. |
A Foundry agent is fully capable the moment it is spun up: shell, files, brokered network, helpers that persist, skills that load, memory that writes, tool results that survive a turn. Opt-out per agent later. Money, sends and credentials stay the only gates.
Tear down the limitations… reimplement once we have a really usable product.
When we spin up a foundry agent, I need it to be fully capable from the start by default.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 2.1 | Default-on lanes: kernel posture and the profile resolverA new lane manifest gets every registered tool unless its forbidden: block says otherwise. | merged | #909 #936 | Gage then Peter | A lane file with no grants list prints every tool at start-up. |
| 2.2 | A · workspace_run works on the live hostThe OS sandbox refused every command since 9/13. Probe fix #913; the exec path was measured on the live host (#898, foundry-hal#7) and the TurnLoop receipt is now a regression test. The live Hal turn is still open. | open | #890 foundry-hal#7 #1107 | Builder | Hal runs a script in his workspace and gets the output back. |
| 2.3 | B · Skill loader: load and keep procedures before filing a ticket | open | #962 | Gage | Part B never merged (#962, six Gage rounds). Re-scope or close. |
| 2.4 | C · Helpers persistA script the agent wrote and that worked is callable next time. | done | #890 C | Builder | Merged #978, deployed 9/21. |
| 2.5 | D · durable_memory_write granted to the front lanes | done | #890 D | Builder · Peter record | Merged #981, deployed 9/21 (hal v7 / oracle v6). |
| 2.6 | E · Brokered egress for the workspace | done | #890 E | Builder | Merged #982, deployed 9/21. |
| 2.7 | F · One capability envelope, wired to a lane | done | #890 F | Builder | Merged #980, deployed 9/21. |
| 2.8 | G · Rewrite the self-model sentenceStop teaching "a capability the lane does not grant is silence". | done | #890 G | Builder | Merged #976, deployed 9/21. |
| 2.9 | H · stuck.py improvises before it escalatesWrite a helper and try again before asking a bigger brain. | done | #890 H | Builder | Merged #976, deployed 9/21. |
| 2.10 | N · Tool results survive into the next turnBounded rows on the trace message; +325 prompt tokens, +0.16 s p50, per-lane dial. | merged | #933 | Peter Class A | Hal quotes yesterday's tool result without re-running the tool. |
| 2.11 | Host file search: host_find / host_readRead-only over what the foundry account sees; secret paths refused. | merged | #836 #1026 #1128 | Builder | "Find anything about X on this machine" returns the file. |
| 2.12 | Skills: mine repeats, promote at 10 days, retire with a tombstone | merged | #672 #702 | — | Nothing uses a mined skill yet; that is 2.3. |
| 2.13 | Memory seeded from OpenClaw, 5,080 lines live | merged | #843 #845 #848 #858 | — | Landed 9/15. |
| 2.14 | Gage 4.7 audit · Engineer, finance and coding are not three running agentsRegistered ≠ granted: the pump calculator (foundry-hal #6) was built and left off the lane. | next | #1016 | Builder | The calculators are granted, the books are registered, and each role answers on its own lane. |
| 2.15 | Gage 4.7 audit · A request does not become a tool in 90 minutes | open | #992 | Anvil · Hammer | foundry-hal #15 (open since 9/20) lands as a tool; the intake loop (4.2) closes the gap by itself. |
| 2.16 | Gage 4.7 audit · The model is still told a closed world | in review | #1202 #1212 | Builder | Self-knowledge says what the lane holds and how to get more, never what it cannot do; verified on a live turn. |
Anvil moves off Hermes and onto Foundry: his brain on the Sparks route, a loop that turns an accepted request into a job by itself, his own Telegram seat, and one shadow job to prove it. Hermes stays the fallback until two Foundry-built PRs merge clean.
Make sure the abilities we create for the builder are foundry wide abilities. Always keep speed a high priority.No builder-only branch of the harness; each PR states cost to the turn.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 4.1 | 7.08 · A real brain on the builder laneReadback: builder-foundry brain route sparks-builder → qwen38-flash-next-sparks: READY. | done | #837 | — | Proven 9/20 11:4x with the gate recorded. |
| 4.2 | 7.09 · Intake loop: a request issue becomes a job by itselfAny lane's own-repo [request] issue, not just the builder's. The 90-minute rule. | open | #833 #984 | Anvil | Anvil picked it up 9/21 06:35. |
| 4.3 | 4.08 · The bus grantSame part as 3.3; it sits in the builder's order because the builder is the first consumer. | open | #835 | Anvil PR | A request travels agent → builder with no relay. |
| 4.4 | 7.10 · Anvil's own Telegram seat on Foundry, with the envelope | waiting | #834 | Anvil | Parked 9/21: Hammer gets the Telegram lane instead if wanted. |
| 4.5 | 7.11 · Shadow job: one issue on both builders | open | #838 | Anvil + Claude compare | Two Foundry-built PRs merge and you say "stop building on Hermes". |
| 4.6 | 7.12 · What the builder loses leaving Hermes: shell, memory, watcherWiden only for what the shadow job proves he needs. | open | #839 | Anvil | The shadow job runs without a tool he does not have. |
| 4.7 | Mission-cycle guard: every cycle writes a ledger lineHermes-side hygiene while he is still there. | done | #891 | Gage | No unreviewed merge and no silent cycle. |
| 4.8 | Hammer: a second builder seat on Foundry, run beside AnvilPlan change filed 9/21 (#994): Anvil stays as is. The blinc-hammer GitHub App exists (9/21). | next | #994 | Builder wiring | Both builders pull one queue for 2 weeks or 20 jobs; one table; you pick the harness. |
The kids out-earned the eleven-recipe catalog in two weeks. Crafting Overhaul Map v1 is signed: a full-width Smithy around the tutor, metal as tier, shape as a craft-time choice, then depth and learning in the temper step. Build order S0 → S1 → S3, then temper and grades, then smith level and runes.
kids want more things to craft: swords, tools, weapons, shields.Viking set is the product; the 3-boy/6-girl split stays.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 5.1 | S0 · The slot SmithyStructural goal picker, per-slot chain, full-width forge page. Gage approved round 1; Astra's blocker fixed in round 2. | done | trivium-forge#297 | Claude merge | Merged 9/20. |
| 5.2 | S1 · Metal as a compositor input, the cape row, the forward-upgrade rule | done | trivium-forge#299 | Claude merge after S0 | Merged 9/21. |
| 5.3 | S3 · Forge scene and strike FX behind the Smithy (CSS/SVG only) | done | trivium-forge#300 | Claude merge after S1 | Merged 9/21. |
| 5.4 | Deploy S0–S3 to the mini | done | mini deploy procedure | Claude | Deployed 9/21 morning; public path 200. |
| 5.5 | Art wave: metal layers, cape, sword, spear, kite and tower shields, nasal helmDispatched to Grok on #294; no reply yet. Buzz relay was down before the reboot; it is up now. | waiting | trivium-forge#294 | Grok | Layered PNGs committed and referenced by the compositor. |
| 5.6 | S2 · Temper step and quality gradesThree live-plan questions in the metal's discipline; misses never cost ingots; stars from mastery, server-graded. | yours | Map v1 §C | Peter | Gage and Astra both: a finish from lesson questions is a quiz under Map §1. Hold, or accept the seam until S4 with one record on #301. |
| 5.7 | S4 · Smith level upgrades the forge scene; runes and named gear | open | Map v1 §D–E trivium-forge#317 | Claude | Level 3 smith sees a bigger forge; a quest line names a sword. |
| 5.8 | Two open advisoriesCross-slot banner order; full-set portraits ignore metal cuts (Astra). | merged | trivium-forge#304 | Astra · Claude | Both folded into S1 or filed as their own parts. |
| 5.9 | Gage 4.7 audit · A failed drill still mints an ingot, and the screen never says so | merged | trivium-forge#314 trivium-forge#318 | Builder | A failed drill mints nothing and says why. |
| 5.10 | Gage 4.7 audit · A lesson check waits up to 60 s on the model after the grade is saved | next | trivium-forge#305 | Builder | Grade shows at once; the model's note arrives when it arrives. |
| 5.11 | Gage 4.7 audit · Smithy discards a finished reply, then loads an 800×1280 portrait into an 11-rem frame | open | trivium-forge#305 | Builder | One reply used; portrait sized to the frame. |
| 5.12 | Gage 4.7 audit · History: 20 of 50 stories drafted; keep-forging has no daily cap | open | trivium-forge#305 | Grok stories · Builder | 30 more stories drafted; a per-day cap. |
About $600 of BTC plus $500 of USDC you added 9/20 in your Default portfolio is Oracle's live-test money before real money. Oracle places the orders, never the builder. BTC is the savings account; USD and alts are working capital. At roughly 0.9% a side, a round trip costs about 2%, so the monitor's default action is to do nothing. Rails proposed: 25% per position, 10% daily stop, 20% weekly kill, every fill journaled and one Telegram line.
Turn it on and turn him free.Grow it any way; convert half to all of the BTC to USD as his first act; the LLC account is the real-money phase, and the 50/50 hardware deal starts there.
| No. | Part | State | Ref | Next move | Done when |
|---|---|---|---|---|---|
| 6.1 | Oracle's keys back in the rebuilt foundry keychainCoinbase CDP (new key, also in the CLI), Alpaca paper and live pairs, FRED, Telegram. Each verified against its API 17:20. Live pair is stored only; the engine still refuses live writes. | done | local-first #37 | — | Landed 9/20 17:20. Paper equity reads; live account reads $0. |
| 6.2 | Read-only Coinbase Advanced Trade driver: market kinds, provider switch, trading gateYour record is posted at head cc904eb7; Gage re-stamps after the reboot. | done | oracle#160 | Gage then Claude merge + sync | Merged #160 9/20; engine synced. |
| 6.3 | Coinbase market kinds (cb_*) on the oracle-voice argv allowlist | done | #970 | Gage | Merged #970 9/21. |
| 6.4 | Execution: Oracle's order path, rails, first act, sleeves, gateRecord line handed at cb20f58d. First real order path, so Class A. | done | oracle#163 oracle#161 | Peter | Merged #163 9/21 at your record. |
| 6.5 | Your word: trading_enabled: trueOracle's first act converts half to all of the BTC to USD; a done state needs a confirmed fill. | done | — | Peter | Your word 05:06 MST 9/21; flag committed as #164. A fill waits on a coinbase_fill record. |
| 6.6 | Crypto 24/7 monitor + local Jev in the loopTeam brainstorm: Claude, Grok, Astra lenses in; OMP pending. Trend state, volatility regime and "when not to act" per pair from one WebSocket. | open | oracle#162 oracle#178 | Claude fold into one map | One map for your signature, then a builder PR. |
| 6.7 | Astra: BTC-first momentum research and the evaluation contractResearch-only branch astra/crypto-momentum-research-20260920: strategy spec, offline detector and cost lab, tests. Compares the Jev API against the local model. Not a live activation. | research | README @ b5447abe | Astra | A strategy with a backtest and a fee model, filed as a proposal Oracle can run as a sleeve. |
| 6.8 | Local Jev: Laya behind the decision seam, in shadow beside TypeSafe23 ms per choice; zero-shot weak; fine-tune on the shadow-route rows is part D. Jev never places, cancels or flattens. | Class B | #969 #964 | Gage | Shadow log shows Laya and TypeSafe side by side on real ticks. |
| 6.9 | Oracle's own requests: Coinbase connector, schedulerFiled by Oracle on his repo today; answered by 6.2/6.4 and 3.1. | done | oracle#158 oracle#159 | OMP · Gage | OMP's #986 (foundry) merged 9/22: read kinds live on the lane. |
| 6.10 | Coinbase CLI live, Default portfolio read | done | 9/20 | — | Landed this morning; key re-import is 6.1. |
| 6.11 | Gage 4.7 audit · The 10% daily and 20% weekly halts block buys but never sell | next | oracle#167 oracle#173 | OMP | On a halt the trend and swing positions are sold; the week baseline is never replaced with a lower equity. |
| 6.12 | Gage 4.7 audit · first_act.done, trend, and swing_rebalanced_on flip without a confirmed fill | next | oracle#167 oracle#173 | OMP | All three flip only on a confirmed fill; a lost response retries under the same client id; a response that cannot be read flips nothing. |
| 6.13 | Gage 4.7 audit · Savings BTC in Default blocks the whole trend sleeve at the 25% railOwner ruled 9/22: no position cap on BTC (#174) instead of removing BTC-USD from the trend list. | merged | oracle#174 | Peter | No position cap on BTC-USD. |
| 6.15 | Gage 4.7 audit · an unreadable coinbase_exec.json sells half the BTC againA missing or half-written state file reads as a fresh book, so the first act fires a second sale nobody ordered. | next | oracle#167 | OMP | If coinbase_exec.json exists and does not parse: place no order and run no first act. |
| 6.14 | $500 USDC added to the test book | done | 9/20 | — | Landed 9/20; book is ~$300 BTC + ~$300 USD + 500 USDC. |
Open parts stand at 44 against a ceiling of 8. 4 of them move on you and 0 of those are a single record line each. Landing those 4 takes the count under 40 in one sitting.
Breaks are the failure-hunt issues on foundry, grouped by the family named in the title. In flight = an open PR names the issue. Pass = last night's whole-workflow pass rate for that family. Fixes = failure-hunt PRs merged in the last day.
No run data.
46 open · 22 with a fix in flight · 29 fixed
| Family | Open | In flight | Fixed | Pass | Fixes in flight |
|---|---|---|---|---|---|
| coding | 6 | 2 | 1 | · | #1294 #1343 |
| core_turn | 3 | 2 | 2 | · | #1312 #1346 |
| drafting | 9 | 4 | 2 | · | #1311 #1339 #1341 #1342 |
| investing | 2 | · | · | · | · |
| memory | 5 | · | · | · | · |
| research | 1 | 1 | · | · | #1310 |
| schedules | 3 | 1 | 2 | · | #1313 #1314 |
| cross-family | 4 | 4 | 3 | · | #1193 #1266 #1271 #1275 #1276 #1346 |
| setup/grader | 13 | 8 | 19 | · | #1259 #1266 #1294 #1313 #1314 #1338 #1340 #1343 #1344 #1345 #1346 #1347 |
| All | 46 | 22 | 29 | · | · |
40 of 45 shown, newest first. Builder = the seat prefix on the PR title.
| PR | Builder | Fix | Merged |
|---|---|---|---|
| #1290 | opus2 | Stop grading a sandboxed scratch run as an extra effect | 09-27 10:19 |
| #1257 | omp | failure hunt: answer a coding case's edit, diff and test run in their own shape | 09-27 09:47 |
| #1306 | omp | Refuse a drafting probe session at start without the kit deps | 09-27 08:42 |
| #1135 | opus2 | Failure hunt 8.4: ship the night glue from the repo | 09-27 08:10 |
| #1303 | omp | deliver_sheet: answer from this turn's drawn files, not the caller's job name | 09-27 07:37 |
| #1305 | opus | remember: bank a short line instead of refusing it (#1237) | 09-27 07:37 |
| #1299 | omp | failure hunt: deliver_sheet takes the drawn file's own stem | 09-27 06:33 |
| #1301 | opus3 | failure hunt: an unscripted market read beside the status grades clean (#1228) | 09-27 06:33 |
| #1136 | opus3 | failure hunt 8.5: send the owner the run report on Telegram | 09-27 06:00 |
| #1284 | opus | failure hunt: a schedule_set scripted as a note runs the real sandbox scheduler | 09-27 05:29 |
| #1272 | opus3 | failure hunt: recall for drafts from recalled facts, off-lane cases unscored | 09-27 04:56 |
| #1287 | — | schedule_set: every+on pins the first fire, until ends a repeat (successor to #1190, fixes #1163) | 09-27 03:15 |
| #1291 | opus | failure hunt: tell the time from the clock line, keep toy sums out of the sandbox | 09-27 03:14 |
| #1292 | opus | draft_part: say how to read mm and C-section sizes | 09-27 03:14 |
| #1296 | opus3 | failure hunt: round-2 assume_and_flag references name the assumption (main green) | 09-27 02:59 |
| #1252 | opus2 | failure hunt grader: ask-vs-assume verdicts | 09-27 00:49 |
| #1264 | opus2 | failure hunt: a probe web search answers the query it was asked | 09-27 00:48 |
| #1267 | omp | failure hunt: a look at the sheet is not repeated work | 09-27 00:47 |
| #1286 | opus | failure hunt grader: a part mark is a label, not a figure (frozen-r2 green again) | 09-27 00:47 |
| #1282 | opus2 | evals(failure-hunt): fold the late blinc-hal seal into round 2 | 09-26 21:42 |
| #1283 | opus3 | failure hunt: a placeholder schedule script runs the sandbox scheduler | 09-26 21:42 |
| #1258 | opus2 | failure hunt grader: check the reply against a partial, stale or conflicting result | 09-26 21:13 |
| #1260 | opus | failure hunt: a reference read of the file an edit changes reads the file | 09-26 21:13 |
| #1277 | opus2 | deliver_sheet: say already_attached after a draft_* tool drew the sheet | 09-26 21:12 |
| #1256 | opus3 | Point a chat ask to restart at the self-check, not restart_runtime | 09-26 20:30 |
| #1262 | opus | failure hunt: an unscripted engine read answers as a quiet paper account | 09-26 20:30 |
| #1273 | opus | grounding guard: pin the configured-title PR-number case (#1242) | 09-26 20:30 |
| #1274 | opus2 | Keep questions and text drafts off the sheet contract (#1239) | 09-26 20:29 |
| #1245 | opus | Let the grounding guard read a test run's own report (#1223) | 09-26 19:24 |
| #1246 | omp | frozen drafting: the oxalpha references carry the brief, not the placeholders | 09-26 19:24 |
| #1249 | opus2 | failure hunt: the claim guard's correction note is not Hal refusing | 09-26 19:23 |
| #1250 | opus | failure hunt: the grounding guard's fail-closed final is no answer, not Hal refusing | 09-26 19:23 |
| #1251 | opus3 | failure hunt grader: carried facts must survive to the final call | 09-26 19:22 |
| #1253 | opus2 | failure-hunt grader: count read-only calls the reference names | 09-26 19:22 |
| #1254 | opus2 | Fail a slice replay whose case is not in the slice (#1158) | 09-26 19:21 |
| #1255 | opus | Claim guard reads single-quoted status, so a real remember backs its claim | 09-26 19:21 |
| #1261 | opus3 | Probe: dependency checks agree with a scripted needs_dependency | 09-26 19:18 |
| #1265 | omp | failure hunt: score the three codex drafting detector names | 09-26 19:18 |
| #1270 | opus2 | Stop the drafting skill after one failed kit render; document kit wheelhouse install | 09-26 19:17 |
| #1248 | opus3 | Add the staff bus tools to the builder probe lane | 09-26 14:18 |
Whole-project audits, kept here until every finding is fixed or closed. A finding's state comes from the issue or PR that answers it; no ref means nobody has taken it yet. Part = the board row that carries it.
Gage Grok 4.7 · foundry#991 · filed 2026-09-21 · 0 of 10 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | Thinking is on unless the route says otherwise; a reply can spend its cap thinking | open | — | 1.11 |
| 2 | A repeated chat prompt does not hit the prefix cache | open | #1022 measures it | 1.13 |
| 3 | Oracle has no tool tiers: 37 schemas on every call | in review | #1015 | 1.10 |
| 4 | A drawing ask pre-opens the whole drafting drawer | open | — | — |
| 5 | The memory brief sends a 20-fact page on a greeting | open | — | 1.12 |
| 6 | The lane core files repeat what the soul and self-knowledge already say | open | — | 1.12 |
| 7 | Reply-first is a second full prefill; ship finding 1 first | open | — | 1.11 |
| 8 | Self-knowledge can spend 3 s on GitHub before the model starts | open | — | — |
| 9 | web_read is serial, and each read may wait 25 s | open | — | — |
| 10 | A scout call blocks the parent turn for the whole search | open | — | — |
Gage Grok 4.7 · foundry#992 · filed 2026-09-21 · 1 of 14 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | Every turn tells the agent a missing name is a missing ability | open | — | 2.16 |
| 2 | Tool results are scrubbed with a pattern that eats shop dimensions | open | — | — |
| 3 | The engineer calculators are built, registered and not granted | approved | #1016 | 2.14 |
| 4 | search_tools tells the agent to file a ticket instead of using the computer | open | — | — |
| 5 | Finance is a library, and a test forbids turning it into tools | approved | #1016 | 2.14 |
| 6 | A request does not become a tool; the 90-minute loop never started | in review | #833 #984 | 2.15 |
| 7 | The skill loader (#890 B) is not on the turn | in review | #962 | 2.3 |
| 8 | A missing envelope receipt refuses the chat lane's start | open | — | — |
| 9 | Class A still means Peter signs ordinary code (30 of the last 40 merges) | merged | #1151 | — |
| 10 | An exact-head approval does not survive a byte-identical rebase | open | — | 3.13 |
| 11 | web_read_rendered is granted in the lane and off in code | in review | #1029 | — |
| 12 | draft_part tells the agent not to try rolled work | open | — | — |
| 13 | The coding agent is opted out of memory | open | — | — |
| 14 | Nothing wakes Hal unless Peter types | open | — | — |
Gage Grok 4.7 · oracle#167 · filed 2026-09-21 · 3 of 9 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | The daily and weekly halts block buys but never sell | merged | oracle#173 | 6.11 |
| 2 | Done in the state file is not a fill | merged | oracle#173 | 6.12 |
| 3 | An unreadable state file sells half the BTC again | open | — | 6.15 |
| 4 | Savings BTC blocks the whole trend sleeve at the 25% capOwner ruled 9/22: no cap on BTC (#174), not the audit's removal of BTC-USD. | merged | oracle#174 | 6.13 |
| 5 | The money path waits on the paper broker, inside the lock, with no deadline | open | — | — |
| 6 | The pause flag blocks exits; the kill switch does not | open | — | — |
| 7 | The equity swing runs without the paper book's 15% stop | open | — | — |
| 8 | USDC is counted as cash that can pay for a BTC-USD order | open | — | — |
| 9 | The live strategies are not the research, and nothing measures them | open | — | — |
Gage Grok 4.7 · trivium-forge#305 · filed 2026-09-21 · 1 of 10 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | A right answer waits up to 60 s on the model | open | — | 5.10 |
| 2 | The Smithy portrait is far bigger than its frame | open | — | 5.11 |
| 3 | The Smithy does the same read two or three times | open | — | 5.11 |
| 4 | A failed drill still mints an ingot, and the screen never says so | merged | trivium-forge#314 trivium-forge#318 | 5.9 |
| 5 | Paste beats a typing speed run | open | — | — |
| 6 | The cape slot is a dead tap | open | — | — |
| 7 | History can run out this week: 20 of 50 stories, no daily cap | open | — | 5.12 |
| 8 | The computers lane is one quest, then a replay | open | — | — |
| 9 | Every locate drill re-downloads the globe | open | — | — |
| 10 | Today waits on three serial calls | open | — | — |
Gage Grok 4.7 · local-first#38 · filed 2026-09-21 · 0 of 12 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | Claude Code still needs a person after every reboot | open | local-first#37 | 3.8 |
| 2 | The Anvil mission loop has no deadline, and its lock goes stale | open | — | 3.12 |
| 3 | Two Colima VMs are up for two small listeners | open | — | 3.14 |
| 4 | The Oracle pin check is written but not installed | open | — | 3.14 |
| 5 | The two chat lanes restarted many times this boot, cause unread | open | — | — |
| 6 | Repo-watch runs as root and fails every 15 minutes; so does chat export | open | — | — |
| 7 | Secrets in places every account can read | open | — | — |
| 8 | The Buzz bridge watchdog watches the wrong process | open | — | — |
| 9 | Gage's watch and OMP do not start at boot | open | — | — |
| 10 | Disk is 85% full | open | — | — |
| 11 | The local-first repo describes a plan, not the machine | open | — | — |
| 12 | Temporary root grants from August are still installed | open | — | — |
Astra GPT 5.5 · foundry#639 · filed 2026-09-05 · 10 of 22 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | Auditor credentials still carry builder/admin reach | open | #350 | — |
| 2 | Revising a drawing rewrites the earlier draft's files | not planned | #626 | — |
| 3 | Compaction loses knowledge when the model fails | open | #627 | — |
| 4 | A finished model turn is not a finished job | in review | #630 #1123 | — |
| 5 | Crash recovery leaves a tool call unresolved | not planned | #631 | — |
| 6 | Resumed work sees a 500-character excerpt, not the evidence | not planned | #628 | — |
| 7 | Optional Oracle advice can stop protective work | done | oracle#55 | — |
| 8 | Child inference locality is not enforced at dispatch | open | trivium-forge#249 trivium-forge#316 | — |
| 9 | Context is budgeted in pieces, not as the actual request | done | #632 | — |
| 10 | Provider truncation is recorded as completion | done | #629 | — |
| 11 | Auto-live memory trusts a loose provenance claim | not planned | #633 | — |
| 12 | An unaccepted memory replacement can hide accepted knowledge | not planned | #634 | — |
| 13 | Fleet recovery is not shown by restoring code and Buzz alone | open | local-first#32 | — |
| 14 | Staff messages lack one working recipient contract | open | #635 | — |
| 15 | Review and coordination can eat the only builder and auditor | open | #306 #617 trivium-forge#92 | — |
| 16 | Shared inference is a fleet-wide single point of failure | open | #624 #608 | — |
| 17 | The run deadline does not stop a later tool in the same batch | done | #636 | — |
| 18 | Learning and escalation are parts, not a measured reuse loop | open | #637 | — |
| 19 | Green CI skips the offline runtime and drawing tests | done | #638 | — |
| 20 | Forge's value rests on teaching depth, not only safe chat and rewards | open | trivium-forge#38 | — |
| 21 | Oracle's correctness fixes do not prove a trading edge | open | oracle#41 | — |
| 22 | Stale plans and capability prose mislead new builders | open | #501 | — |
Astra GPT 5.5 · oracle#70 · filed 2026-09-05 · 6 of 9 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | A market-data entitlement failure can block protection and flatten | done | oracle#63 | — |
| 2 | A swing reduction shrinks the stop before a sell that can fail | done | oracle#65 | — |
| 3 | The intraday sleeve and shared cash can be overcommitted | done | oracle#64 | — |
| 4 | Stale or missing entry data passes the gate | done | oracle#66 | — |
| 5 | Known protection defects still open (#55, #49, #48) | done | oracle#55 oracle#49 oracle#48 | — |
| 6 | Orders outlive their signals; holding time starts at submission | open | oracle#67 | — |
| 7 | Relative volume uses the wrong time-of-day denominator | open | oracle#68 | — |
| 8 | The evidence cannot judge the intraday idea fairly | not planned | oracle#69 | — |
| 9 | Missing decisions and unrelated marks contaminate learning | open | oracle#3 oracle#42 oracle#8 oracle#81 oracle#83 | — |
Astra GPT 5.5 · trivium-forge#258 · filed 2026-09-08 · 11 of 16 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | No complete, measurable CS and engineering learning cycle | open | trivium-forge#264 | — |
| 2 | A malformed request can stop the shared tutor service | done | trivium-forge#259 | — |
| 3 | An unmapped weak skill suppresses all due review | done | trivium-forge#260 | — |
| 4 | A failed grade can land on the wrong child or activity | merged | trivium-forge#269 trivium-forge#322 | — |
| 5 | Unvalidated evidence can poison parent reporting | open | trivium-forge#34 trivium-forge#326 | — |
| 6 | Approved learner memory is not on every tutor path | open | trivium-forge#263 | — |
| 7 | Calibration grading does not match its declared threshold | done | trivium-forge#275 | — |
| 8 | Calibration Backspace becomes a phantom key | merged | trivium-forge#307 | — |
| 9 | Remembered check passes are not bound to the question revision | done | trivium-forge#261 | — |
| 10 | New calibration reports inherit prior runs | merged | trivium-forge#262 trivium-forge#268 | — |
| 11 | Post-check coaching skips the authenticated dispatcher | done | trivium-forge#265 | — |
| 12 | The Hermes bridge drops each caller's response budget | open | trivium-forge#232 | — |
| 13 | A stale parent auth failure logs out a new session | done | trivium-forge#272 | — |
| 14 | A finished parent action reopens the old child and drops the draft | merged | trivium-forge#274 trivium-forge#324 | — |
| 15 | The showcase claims more than its evidence | merged | trivium-forge#273 trivium-forge#323 trivium-forge#328 | — |
| 16 | No one honest map of built, partial and planned work | open | trivium-forge#38 trivium-forge#169 | — |
Astra GPT 5.5 · foundry#869 · filed 2026-09-15 · 3 of 9 findings closed
| No. | Finding | State | Ref | Part |
|---|---|---|---|---|
| 1 | Stop irrelevant work: answer the question asked | done | #863 | — |
| 2 | Finish tool tiers; count bytes and extra steps together | open | #847 #926 | — |
| 3 | Take memory maintenance off the reply path | merged | #904 #1041 | — |
| 4 | Run independent reads at the same time | merged | #958 | — |
| 5 | Complete the latency ledger; make it a foundation test | open | #847 | — |
| 6 | Make context budgeting precise enough to stop repeat lookups | open | — | — |
| 7 | Tune serving, cache and thinking against the real workload | open | #927 closed; Gage #991 finding 2 says chat still misses | — |
| 8 | Coalesce memory-index rebuilds before the store grows | open | — | — |
| 9 | Make speed checks cheap; close the intake gap | open | #870 #833 | — |
OxAlpha Cerebras · foundry#883 · filed 2026-09-17 · 0 of 4 findings closed
trading_enabled: true