| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
over HTTP
The hints of keyed lists, has and a whole item named a library's record
by its plain name, which the app cannot write: they say store.User now.
library_records posts a message whose rows are a library's records to
pure-serve (make check builds it) and reads them back.
|
| |
|
|
|
|
|
| |
aup's check keeps what it owns: the language, the compiler, and apps written
in aup matching their references on Pure's loader. The HTTP host's checks
moved to Pure's tests/check.py, which builds its apps with this compiler.
|
| |
|
|
|
|
| |
As in Pure and Vega, the top level directories are the parts; aup has one,
the compiler, checked end to end by tests/check.py.
|
| |
|
|
|
|
|
| |
Pure now keeps the app model, the store and pure-serve in core/, store/ and
serve/ with one top-level make; the earlier document server the parity
checks compare against stays in prototypes/connections.
|
| |
|
|
|
|
|
|
| |
The server checks run pure-serve, which replaced the module mode of the
old document server. A keep-alive client and pipelined requests (sent in
one write, and in writes that cut heads and bodies) must get the same
answers, in order, as separate connections.
|
| |
|
|
|
|
|
|
|
|
| |
The HTTP document server running editor.aup must answer random requests
exactly as the server running editor.pure (status, revision, error and
body); concurrent edits must share commits; and every edit it acknowledged
must survive kill -9. Every other stored run of the list app and the text
editor saves in bursts and still matches its reference model across
restarts.
|
| |
|
|
|
|
| |
Pure now loads only v4 modules. The new header counts records, which aup
does not declare yet, so the output changes only in its magic.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aup now emits Pure module v2 and adds keyed byte collections
(state documents: bytes by key), message inputs by key with u32 and a
trailing bytes field, on-message handlers, field access, name[key] reads
and .bytes sizes, replace(a .. b, value), reply and require, all checked
for number/bytes types with file:line:column diagnostics.
The document editor and its size-bounded variant are rewritten in aup.
make check runs them through pure-edit-module against pure-edit running the
original editor.pure programs: 1,280 random show/edit/apply operations,
including conflicts, limits, missing documents, budgets and invalid keys,
produce byte-identical stdout, stderr and exit codes, and each CLI reads the
other's store identically. v0a parity with the workbench engine, 33
diagnostics and generated/damaged programs still pass, also with a
sanitizer-built compiler.
|
|
|
aup check/build parse states, key inputs, views and handlers (with if/else
and else-if), resolve names, generate forward-only stack code and encode a
Pure module v1 deterministically. Diagnostics carry file:line:column.
make check loads every module with Pure's verifier, checks determinism, 20
diagnostics and accepted forms, replacement by name, 600 generated programs
and damaged sources (every emitted module verifies), and replays random event
scripts against the workbench Zig engine: 16,667 snapshots across counter,
toggle, charge, else-if and fault programs matched, including 921 failed
events. The sanitizer-built compiler passes the same checks.
|