You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
릴리즈 전에 문서가 실물과 같은 말을 하게 한다. api.md의 history 절에 attempts(경쟁 동사,
직렬인 이유 포함)와 내구 가지 일습(branch/branches/recoverBranch/adopt/deleteBranch, note
provenance 4KB 상한, 마커 v2 전방 호환, milestones)을 0.0.14 표식과 함께 적고, KernelElection
절에 선출 파이프라인 상속과 recoverBranch 의도적 부재를 적고, 비용 영수증에 ref/commit과
adopt 결과를 더했다.
README 두 판의 Quick start에 "가지와 채택" 절이 실린다: 내구 머신의 branch/adopt/이정표
예제와 merge가 없는 이유(힙 상태는 병합이 성립하지 않는다). 에이전트 패턴 2를 "후보 분기"
에서 "경쟁·검증·채택"으로 올렸다 - attempts로 경주, 파이썬 단정으로 채점, adopt로 채택,
note로 해결 경로가 1급 역사가 되는 흐름과 Machine 데모의 라이브 경주를 가리킨다.
검증: npm test 3375 passed 0 failed(api 앵커·README 표면·목차·북극성 렌더 게이트 포함).
awaitm.adopt("adamRun", { note: { reason:"validation passed" } }); // its state is now HEAD
209
+
awaitm.adopt("auto-2026-08-05"); // or go back to yesterday
210
+
```
211
+
212
+
`branches()` lists every branch with its fork parent and note, so the whole decision - what was
213
+
tried, what judged, what won - reads back as history. With `milestones: { keep }`, every day gets an
214
+
`auto-<date>` branch pointing at that day's last commit at no extra state cost. On transient
215
+
machines, `machine.history.attempts([codes])` races candidates from one base with the heap rewound
216
+
in between, so a failing candidate cannot contaminate the next; the
217
+
[Machine demo](examples/machine.html) runs that race live.
218
+
198
219
> The basics above need only a Chromium browser. `PyProc` (process OS) and sockets also need `crossOriginIsolated` (`COOP: same-origin`, `COEP: require-corp`) and same-origin workers - see [Setup](#setup). Run `checkEnvironment()` to check.
199
220
200
221
## Product entrances
@@ -224,13 +245,18 @@ of silently losing the replay guarantee.
224
245
prepare env -> checkpoint -> run AI code -> (fails) -> restore -> run fixed code
225
246
```
226
247
227
-
**Pattern 2 - branch candidates.** Load shared data and packages once, then run several approaches from the same prepared state, each isolated - via `PyProc` workers, or by repeated restore from one checkpoint.
248
+
**Pattern 2 - compete, verify, adopt.** Load shared data once, then race candidate solutions from
249
+
the same prepared state with `history.attempts([...])`: each candidate is checkpointed as a sibling
250
+
branch and the heap is rewound in between, so a failing candidate cannot contaminate the next. Judge
251
+
each end state with a Python assertion, `adopt` the winner, and commit it to a named durable branch
252
+
whose note records what was tried and why it won - the agent's solution path becomes first-class
253
+
history, not chat-log archaeology.
228
254
229
255
```text
230
256
load data + packages
231
-
|-- pandas approach
232
-
|-- SQL approach
233
-
\-- NumPy approach
257
+
|-- pandas approach -> judge
258
+
|-- SQL approach -> judge
259
+
\-- NumPy approach -> judge -> adopt the winner (note: what ran, what judged, what won)
234
260
```
235
261
236
262
**Pattern 3 - local-first data.** The user's file is analyzed in the tab; only the summary leaves. Apply a fail-closed CSP before agent code runs so it cannot open an external endpoint, and constrain what the trusted agent control channel returns.
0 commit comments