diff --git a/plans/agent-briefings/primitives-loop.md b/plans/agent-briefings/primitives-loop.md index 02e7dd00..f6a5a67b 100644 --- a/plans/agent-briefings/primitives-loop.md +++ b/plans/agent-briefings/primitives-loop.md @@ -88,7 +88,9 @@ Steps: - [x] OCaml: distinguish `Integer of int` / `Number of float` in `sx_types.ml`; update all arithmetic primitives for float contagion; fix `parse-number`. 92/92 numeric tower tests pass; 4874 total (394 pre-existing hs-upstream fails unchanged). -- [ ] Spec: update `spec/primitives.sx` with new predicates + coercions; document contagion rules. +- [x] Spec: update `spec/primitives.sx` with new predicates + coercions; document contagion rules. + Added integer?/float? predicates; updated number? body; / returns "float"; floor/ceil/truncate + return "integer"; +/-/* doc float contagion; fixed double-paren params; 4874/394 baseline. - [ ] JS bootstrapper: update number representation and arithmetic. - [x] Tests: 92 tests in `spec/tests/test-numeric-tower.sx` — int-arithmetic, float-contagion, division, predicates, coercions, rounding, parse-number, equality, modulo, min-max, stringify. @@ -656,6 +658,7 @@ Brief each language's loop agent (or do inline) after rebasing their branch onto _Newest first._ +- 2026-04-26: Phase 2 Spec done — integer?/float? predicates added to spec/primitives.sx; floor/ceil/truncate :returns updated to "integer"; / to "float"; exact->inexact/inexact->exact docs and returns updated; float contagion documented on +/-/*; 4874/394 baseline. Committed 45ec5535. - 2026-04-26: Phase 2 OCaml+Tests done — `Integer of int` / `Number of float` in sx_types.ml; float contagion across all arithmetic; floor/truncate/round → Integer; integer?/float?/exact?/inexact?/exact->inexact/inexact->exact; 92/92 numeric tower tests pass; 4874 total (394 pre-existing unchanged). Committed c70bbdeb. - 2026-04-26: Phase 1 complete — JS step done. Fixed fundamental lambda binding bug (index-of on arrays returned -1 not NIL, making bind-lambda-params mis-fire &rest branch). Added _lastErrorKont_/hostError/try-catch stubs. 42/42 vector tests pass. 1847 std / 2362 full passing (up from 5). Committed. - 2026-04-25: Phase 1 spec step done — all 10 vector primitives in spec/primitives.sx have full :as type annotations, :returns, :doc; make-vector optional fill param added.