Skip to content

Commit 479c783

Browse files
committed
docs(handover): 1.2.1 released + tap bumped; stopped — user requested
1 parent 2c2794e commit 479c783

1 file changed

Lines changed: 45 additions & 59 deletions

File tree

‎.dev/handover.md‎

Lines changed: 45 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -7,60 +7,37 @@
77

88
- **HEAD**: `main` (`git log` = SSOT). Per-commit = smoke; commit
99
**and** push (atomic Step 6). `build.zig.zon` `.zwasm` = tag pin `v2.2.0` (AOT-full-fidelity; from v2.1.0).
10-
- **1.2.0 RELEASED (2026-07-14 JST, tag v1.2.0, user-authorized).**
11-
Contents: **ADR-0170 nREPL re-architecture** (fa0917b5) — the CIDER
12-
field report (REPL RET dead / no completion / bare `NameError`)
13-
root-caused empirically to 6 defect classes and rebuilt as
14-
`src/app/nrepl/` (transport drain-all framing + >4KiB frames /
15-
distinct sessions + per-session `*1..*e`+ns / comptime op table with
16-
derived describe / completions+complete+lookup+info+eldoc) + shared
17-
`app/eval_session.zig` (CLI REPL gained `*1`/`*2`/`*3`/`*e` same
18-
cycle) + `runtime/introspect.zig` (line-editor TAB + nREPL share) +
19-
bencode readString arena-dupe. Verified vs the REAL nrepl/nrepl 1.3.1
20-
Java client. PLUS **D-369 discharged** (d1310fe9): the pre-tag
21-
conformance sweep caught flatland.ordered 17→8 + data.generators
22-
20→19 — both present in released 1.1.0 (NOT ADR-0170 regressions);
23-
fixed at the root: -editable? = instance? IEditableCollection,
24-
transient family dispatches .typed_instance to ITransient*, native
25-
transients answer interop method calls (TRANSIENT_METHOD_MAP), and
26-
the O-045 reduce-fusion gate no longer realizes the head to decide
27-
chunked-ness (double side-effect; data.generators seeded *rnd*).
28-
Pre-tag record: full gate 402/0 + conformance 17 libs 0 DRIFT +
29-
verify_projects 19/19 + CI green (29261004785). D-117/D-118
30-
re-narrowed by code-truth; D-560 unchanged.
31-
- **1.1.0 RELEASED (2026-07-12).** cljw `v1.1.0` tagged + pushed (user-authorized);
32-
release.yml published macos-aarch64 + linux-x86_64 binaries + sha256. Pins **zwasm
33-
v2.2.0**. Contents = 56 commits past v1.0.1: clojure.repl bundle + :arglists/:doc meta
34-
+ regex lookbehind + %t format + interop statics + the D-555…558/C10 GC-correctness
35-
batch. **Homebrew tap LIVE**: `clojurewasm/homebrew-tap` (own tap, holds many
36-
formulae), `brew install clojurewasm/tap/cljw` verified on Apple Silicon (unsigned,
37-
ad-hoc/linker sig, no quarantine xattr; eval+wasm-FFI+clojure.repl all work). Signing
38-
= unsigned + README xattr fallback note (user call). D-549 residual (Docker/ghcr +
39-
Developer-ID notarization) stays user-LOCKED.
40-
- **CI is FULLY GREEN (2026-07-13, dispatch runs 29216662670 / 29219521822 /
41-
29223367467, both legs).** The week-long nightly red was 3 layers: (1)
42-
`check_surface_marker` `printf|grep -q` SIGPIPE/pipefail false positive
43-
(here-string fix, swept 3 scripts; memory `pipefail_grep_q_broken_pipe`);
44-
(2) `check_vm_parity` raw `timeout` → exit 127 on hosted macOS (no GNU
45-
timeout/gtimeout — ported to `run_bounded`, the last raw caller after
46-
264804b7); (3) the agent race below.
47-
- **D-418 + D-559 agent/GC races DISCHARGED (2026-07-13).** D-418 = the
48-
send/await FABRICATION-WINDOW race (action vector / await promise unrooted
49-
across the enqueue) — EvalFrame-rooted in primitive/agent.zig; made
50-
deterministic via `tortureCollectInWindow` (collect injected into the exact
51-
window under CLJW_GC_TORTURE_ALLOC); the gc_torture agent block's ncpu>=4
52-
gate is REMOVED and green on the 3-vCPU macOS runner. D-559 = the peer-STW
53-
park firing INSIDE a fabrication bracket (worker builder nodes swept →
54-
`@memcpy arguments alias`) — **ADR-0150 amendment 1**: the alloc-prologue
55-
park honors `fabrication_depth` (JVM-GCLocker shape); park/enterBlocked
56-
asserts; `safepoint.max_stopworld_wait_ns`; guard `alloc-agent/nested_xagent`.
57-
Accepted cost = **D-560** (fold-chain rendezvous delay; publish-roots flip is
58-
its trigger-gated discharge shape — do NOT self-select).
59-
- **First commit on resume MUST be: D-523's residual** — audit
60-
`docs/architecture.md` + `docs/examples/wasm/README.md` vs code-truth
61-
(recipe in `private/notes/2026-07-09-d460-sorted-as-key.md` § Extended
62-
challenge), then D-522 pointer-condensation / D-527/528 / D-430 var-alias
63-
(S-sized), per the easiest-first drain.
10+
- **1.2.1 RELEASED (2026-07-14 JST, tag v1.2.1, user-authorized patch).**
11+
**ADR-0170 am1**: `cider/analyze-last-stacktrace` — the `*cider-error*`
12+
buffer works (numbered causes, frames innermost-first with
13+
clj/repl/project/dup flags + file-url, phase-routed overlays). DA Alt 2
14+
adopted: `*e` is the SINGLE error channel — set for EVERY caught REPL
15+
error (JVM parity; catalog errors materialize via allocExceptionLoc +
16+
new ExInfo.phase byte, reader branch included); `throw` stamps the live
17+
call stack (both backends). FIXED en route: a 1.2.0 nREPL
18+
use-after-free (evalImpl fed scratch-owned code into persist-lifetime
19+
evals — now persist-duped). Pre-tag: smoke green / conformance 0 DRIFT /
20+
verify_projects 19/19 / CI green (the user-named tag criterion). The
21+
local full gate failed 3× ONLY on D-548(a)'s ledger-recorded roaming
22+
SIGABRT sites (20/20 standalone, 8×-stress 1/8 vs the pre-change 3/8
23+
baseline, CI passes the same step) — recorded in D-548, NOT an am1
24+
regression.
25+
- **1.2.0 RELEASED (2026-07-14 JST)** — the ADR-0170 nREPL re-architecture
26+
(CIDER end-to-end: sessions/completions/lookup/eldoc/errors; shared
27+
eval engine gave the CLI REPL `*1..*e`) + D-369 discharged (deftype
28+
editable/transient dispatch; O-045 fusion double-realization fixed).
29+
Details: CHANGELOG + the ADR.
30+
- **1.1.0 RELEASED (2026-07-12)**; Homebrew tap LIVE
31+
(`brew install clojurewasm/tap/cljw`); D-549 residual (Docker/ghcr +
32+
notarization) stays user-LOCKED.
33+
- **D-418 + D-559 agent/GC races DISCHARGED (2026-07-13)** — ADR-0150 am1;
34+
accepted cost = **D-560** (trigger-gated — do NOT self-select).
35+
- **First task on resume**: self-select from the live `active:` list,
36+
easiest-first (D-523's architecture/wasm-demo residual + D-522 drain 3
37+
landed 2026-07-14; D-430 is DISCHARGED — the prior pointer here was
38+
stale). Next D-522 candidates by density: diff_test.zig 95 / vm.zig 89 /
39+
print.zig 88. Emacs 実機 *cider-error* 確認 is a nice-to-have probe
40+
(per-task note Extended challenge).
6441
- **Forbidden this session**: bare `zig build test` WITHOUT `-Dwasm`; bare `zig build`
6542
for a probe (use ReleaseSafe). **The FULL gate MUST run `--serial-e2e`** — canonical
6643
mode; the residual D-548 (a) future/promise SIGABRT + (b) pmap wall-clock remain
@@ -73,9 +50,9 @@
7350

7451
## Last landed (git log = SSOT)
7552

76-
2026-07-13 session: CI 3-layer root-cause fix (surface_marker pipefail +
77-
vm_parity portable timeout) + D-418 fabrication-window fix + D-559 / ADR-0150
78-
am1 park-honors-fabrication + D-560 opened. All CI-verified on both legs.
53+
2026-07-13/14 session: v1.2.0 (ADR-0170 nREPL re-architecture + D-369) and
54+
v1.2.1 (ADR-0170 am1 *cider-error* + *e parity + UAF fix) released; D-522
55+
drain 3; D-523 residual audit. All CI-verified.
7956

8057
## Standing units (tracked in .dev/debt.yaml)
8158

@@ -85,8 +62,17 @@ am1 park-honors-fabrication + D-560 opened. All CI-verified on both legs.
8562
- **D-513** — clojure.core.reducers / clojure.repl / var :doc (foundational).
8663
- **D-548** — residual low-core exposures (a) future/promise SIGABRT (b) pmap wall-clock;
8764
the (c) agent_conj arm is DISCHARGED via D-418. D-560 — trigger-gated (see above).
88-
- **D-430** — instaparse frontier is now DETERMINISTIC (core.cljc:361 `#'gll/TRACE`
89-
family) after the GC arc; re-derivable without the corruption noise.
65+
- (D-430 instaparse was DISCHARGED 2026-07-06 — end-to-end, 4 grammar
66+
classes == clj.)
67+
68+
## Stopped — user requested
69+
70+
User instruction (2026-07-14): 「今の対処などできりの良いところだと思ったら、
71+
cronは停止してCI通ったところで停止してください。つぎの発火が来てもなにもしない」
72+
→ その後「(cider-errorバッファ改善を) 次の課題として取り組み…mainのCIがグリーンに
73+
なったところでパッチtagをきってリリースして止めてください。あとは任せます。寝ます」。
74+
v1.2.1 tagged + released on CI green per the directive; session crons = none;
75+
loop stopped. Resume: self-select from the live `active:` list (see First task).
9076

9177
## North star (ACTIVE, distal)
9278

0 commit comments

Comments
 (0)