Skip to content

Commit 1e83449

Browse files
committed
test(repl): pin CLI-side *1/*2/*3 history (ADR-0170 F-011 convergence) + handover sync
Smell-audited: 0: e2e assertion + handover only; the engine landed in fa0917b.
1 parent fa0917b commit 1e83449

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

.dev/handover.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,21 @@
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+
- **ADR-0170 nREPL re-architecture LANDED (2026-07-13, fa0917b5)** — the
11+
CIDER field report (REPL RET dead / no completion / bare `NameError`)
12+
root-caused empirically to 6 defect classes and rebuilt as
13+
`src/app/nrepl/` (transport drain-all framing + >4KiB frames /
14+
distinct sessions + per-session `*1..*e`+ns / comptime op table with
15+
derived describe / completions+complete+lookup+info+eldoc) + shared
16+
`app/eval_session.zig` (CLI REPL gained `*1`/`*2`/`*3`/`*e` same
17+
cycle) + `runtime/introspect.zig` (line-editor TAB + nREPL share).
18+
bencode readString now arena-dupes (its own doc's contract; the
19+
borrow corrupted frames after buffer compaction). Verified vs the
20+
REAL nrepl/nrepl 1.3.1 Java client end-to-end. D-117/D-118
21+
re-narrowed (the "CIDER ops LANDED" 07-07 claim was false).
22+
**v1.2.0 release is user-authorized this session** — flow: full gate
23+
`--serial-e2e` ALONE → conformance + verify_projects → version bump →
24+
CI green → tag → release.yml → brew tap bump.
1025
- **1.1.0 RELEASED (2026-07-12).** cljw `v1.1.0` tagged + pushed (user-authorized);
1126
release.yml published macos-aarch64 + linux-x86_64 binaries + sha256. Pins **zwasm
1227
v2.2.0**. Contents = 56 commits past v1.0.1: clojure.repl bundle + :arglists/:doc meta

test/e2e/phase14_repl.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,16 @@ case "$out" in
5858
fail "repl_prompt_visible: expected 'user=>' or '=>' in prompt, got '$out'" ;;
5959
esac
6060

61+
# --- Case 6: *1/*2/*3 REPL history (ADR-0170 shared eval engine — the
62+
# same rotation nREPL sessions get; pins the CLI side of the F-011
63+
# convergence so the two REPLs cannot drift). ---
64+
out=$(printf '(+ 40 2)\n(inc *1)\n*2\n' | "$BIN" repl 2>&1 | strip_prompts | grep -vE '^(ClojureWasm|$)')
65+
case "$out" in
66+
*"42"*"43"*"42"*)
67+
echo "PASS repl_star_history -> 42 / (inc *1)=43 / *2=42" ;;
68+
*)
69+
fail "repl_star_history: expected 42,43,42 sequence, got '$out'" ;;
70+
esac
71+
6172
echo
6273
echo "Phase 14 row 14.9 REPL minimal e2e: all green."

0 commit comments

Comments
 (0)