← Commit history

Publish 0.1.15

John Lauer ·a8ee08608d ·22d ago ·parent b342797
6 files changed +5−5
SKILL.md+1−1
@@ -30,7 +30,7 @@ One clip per step. `capture open` puts the board on the test box; from then on e  Per-step clips stay RAW: the recording, its 10x cut and its motion-only action cut carry no captions, because the final video (and a side-by-side of two runs) draws its own overlays from the ledger. `compose` builds the final 1920x1080 video, two minutes at most (`--max-seconds 120`): each step visit's motion only, in order, with the step chip, the engine and board, and the run and step timers as small hr / min / sec tables in the lower right (Adom faces); the AI's analysis drawings fullscreen for five seconds each; adom-tts narration cut to fit each segment (the picture leads, the words are shortened or said faster, never the other way round); when the motion adds up to more than the budget every frame plays faster, evenly. No title pages, no held frames. A visit with under a second of motion stays on the page and out of the video. The page carries each cut under a new name (`final-<time>.mp4`) so a cached one never shows. -After `analyze current` and `analyze thermal`, do the analysis yourself and draw it: a current density map on the copper (a DC conduction solve on the board's filled polygons between each loaded net's terminals) and a temperature rise map (the tab watts and the Joule loss, spread by the copper, lost to the air), each a 1920x1080 PNG, then `artifact --kind analysis-image --file <png> --caption "..."` (it goes fullscreen into the video and onto the page under the step), then `tour nets --nets <the pour nets the hint lists>` under the same step so the clip ends on the copper the analysis judged, lit net by net.+After `analyze current` and `analyze thermal`, do the analysis yourself and draw it: a current density map on the copper (a DC conduction solve on the board's filled polygons between each loaded net's terminals) and for heat two drawings: the heat flow in the copper layer by layer, like the current picture (a multi-layer solve, each chip's watts spreading on its layer and going down its vias, the vias drawn, each chip's split between layer, vias and bare dielectric), then the temperature rise over the whole board (the FR4 spreading); each a 1920x1080 PNG, then `artifact --kind analysis-image --file <png> --caption "..."` for each (`--replaces <old png>` when you redo one; it goes fullscreen into the video and onto the page under the step), then `tour nets --nets <the pour nets the hint lists>` under the same step so the clip ends on the copper the analysis judged, lit net by net.  No recording may outlive an hour (a hard cap on every recording), `finish` and `deliver` stop the running clip, and every command stops a clip that has run past twice its step's budget: a recorder left running is a mistake, not evidence. 
bin/adom-aiflow
⋯ 1 unchanged line ⋯
docs/video.md+1−1
@@ -10,7 +10,7 @@ The evidence of a run is its video, and the video is built from the steps, not r 5. **The final video is composed, not edited.** `compose` reads the ledger and builds the video from the pieces in the order they happened: every step visit's motion (the action cut of its raw clip, so only the frames where something moved), and every drawing the AI registered with `artifact` during a step, fullscreen. Nothing else: no title pages, no held frames, no cards. 6. **The video leads; the words are cut to it.** A segment is exactly as long as its motion. The narration for it (the step, why the AI came back, the real minutes) is asked of adom-tts in three lengths, fullest first, and the first that fits the segment is used; if even the shortest runs long it is said faster and cut at the picture. The picture is never held for the words. 7. **Two minutes at most.** `compose --max-seconds` (120 by default) is the cap: when the run's motion adds up to more than the budget, every kept frame plays faster, evenly across the run (4 frames per second is the pace of one step's clip; the video says its pace in the ledger). A visit with under a second of motion stays on the page and out of the video. Each drawing takes `--still-seconds` (5) of the budget.-8. **The AI's drawings are in the video.** After `analyze current` and `analyze thermal` the hint asks the AI to do the analysis itself and draw it (a current density map on the copper, a temperature rise map), then `artifact --kind analysis-image --file <png> --caption "..."`. The drawing is a fullscreen shot in the video at that point of the step, with the overlays, and a figure on the run page under the step. This is the one place the video leaves the EDA window.+8. **The AI's drawings are in the video.** After `analyze current` and `analyze thermal` the hint asks the AI to do the analysis itself and draw it: a current density map on the copper; for heat, two drawings, the heat flow in the copper layer by layer (each chip's watts spreading on its layer and going down its vias, the vias drawn, the split per chip) and the temperature rise over the whole board (the FR4 spreading); then `artifact --kind analysis-image --file <png> --caption "..."` for each (`--replaces <old>` when a drawing is redone: the new one takes its place on the page and in the video). The drawing is a fullscreen shot in the video at that point of the step, with the overlays, and a figure on the run page under the step. This is the one place the video leaves the EDA window. 9. **The pours are walked after every step that judged them.** The same hints ask for `tour nets --nets <the pour nets>` under the analysis step: each net lit as a whole, pours and traces together, framed, so the clip of the current step and of the thermal step ends on the copper the analysis was about. 10. **Two engines, one cut.** Because both runs carry the same steps, the same clip tags and the same artifacts, the split-screen comparison is the same composition run twice, side by side, with the per-step numbers from both ledgers on the charts (0.2). 11. **A new name for every cut.** The run page carries the video as `final-<time of the cut>.mp4`, so a browser that cached the last cut shows this one.
package.json+1−1
@@ -1,7 +1,7 @@ {   "slug": "adom-aiflow",   "type": "app",-  "version": "0.1.14",+  "version": "0.1.15",   "title": "AI Flow",   "description": "Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board. One Rust binary with a crate per step (placement helpers, a grid router with Kelvin taps, pours with keepouts, KiCad's DRC gate, live landing through the KiCad Bridge, copper measurement, current and thermal analysis) and a finish line that refuses an unfinished board. Every command answers with hints for the AI; every turn, its thinking time and every rework loop go into run.jsonl, so Claude, Codex and any other engine are compared on the same flow. KiCad today; Altium, Fusion and Adom's own web apps next.",   "summary": "Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board. The AI thinks its way from placement through routing, pours, current and thermal analysis to a delivered video; the binary does the fast, deterministic parts of every step, hands back hints, and keeps a ledger of every turn, every return to an earlier step, and the clock from the prompt to done.",
page.json+1−1
@@ -1,7 +1,7 @@ {   "slug": "adom-aiflow",   "type": "app",-  "version": "0.1.14",+  "version": "0.1.15",   "title": "AI Flow",   "description": "Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board. One Rust binary with a crate per step (placement helpers, a grid router with Kelvin taps, pours with keepouts, KiCad's DRC gate, live landing through the KiCad Bridge, copper measurement, current and thermal analysis) and a finish line that refuses an unfinished board. Every command answers with hints for the AI; every turn, its thinking time and every rework loop go into run.jsonl, so Claude, Codex and any other engine are compared on the same flow. KiCad today; Altium, Fusion and Adom's own web apps next.",   "summary": "Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board. The AI thinks its way from placement through routing, pours, current and thermal analysis to a delivered video; the binary does the fast, deterministic parts of every step, hands back hints, and keeps a ledger of every turn, every return to an earlier step, and the clock from the prompt to done.",
skills/adom-aiflow/SKILL.md+1−1
@@ -30,7 +30,7 @@ One clip per step. `capture open` puts the board on the test box; from then on e  Per-step clips stay RAW: the recording, its 10x cut and its motion-only action cut carry no captions, because the final video (and a side-by-side of two runs) draws its own overlays from the ledger. `compose` builds the final 1920x1080 video, two minutes at most (`--max-seconds 120`): each step visit's motion only, in order, with the step chip, the engine and board, and the run and step timers as small hr / min / sec tables in the lower right (Adom faces); the AI's analysis drawings fullscreen for five seconds each; adom-tts narration cut to fit each segment (the picture leads, the words are shortened or said faster, never the other way round); when the motion adds up to more than the budget every frame plays faster, evenly. No title pages, no held frames. A visit with under a second of motion stays on the page and out of the video. The page carries each cut under a new name (`final-<time>.mp4`) so a cached one never shows. -After `analyze current` and `analyze thermal`, do the analysis yourself and draw it: a current density map on the copper (a DC conduction solve on the board's filled polygons between each loaded net's terminals) and a temperature rise map (the tab watts and the Joule loss, spread by the copper, lost to the air), each a 1920x1080 PNG, then `artifact --kind analysis-image --file <png> --caption "..."` (it goes fullscreen into the video and onto the page under the step), then `tour nets --nets <the pour nets the hint lists>` under the same step so the clip ends on the copper the analysis judged, lit net by net.+After `analyze current` and `analyze thermal`, do the analysis yourself and draw it: a current density map on the copper (a DC conduction solve on the board's filled polygons between each loaded net's terminals) and for heat two drawings: the heat flow in the copper layer by layer, like the current picture (a multi-layer solve, each chip's watts spreading on its layer and going down its vias, the vias drawn, each chip's split between layer, vias and bare dielectric), then the temperature rise over the whole board (the FR4 spreading); each a 1920x1080 PNG, then `artifact --kind analysis-image --file <png> --caption "..."` for each (`--replaces <old png>` when you redo one; it goes fullscreen into the video and onto the page under the step), then `tour nets --nets <the pour nets the hint lists>` under the same step so the clip ends on the copper the analysis judged, lit net by net.  No recording may outlive an hour (a hard cap on every recording), `finish` and `deliver` stop the running clip, and every command stops a clip that has run past twice its step's budget: a recorder left running is a mistake, not evidence.