Skip to content

Ralph26 - #135

Merged
SeanCheatham merged 16 commits into
mainfrom
ralph26
Sep 20, 2026
Merged

SeanCheatham merged 16 commits into
mainfrom
ralph26

Conversation

@SeanCheatham

Copy link
Copy Markdown
Owner

No description provided.

scuzz eval --probe DIR registers the prepared fuzz files through Fuzz.*
and reports def-entry and branch-arm hits with the keys Emit interns.
scuzz fuzz spawns it for search, shrink, and mutants on a package
without [ui]; a mutant is a file set, not a link. The idle probe runs on
both engines first and a timeline difference, deadline, or crash falls
back to compiled probes. A promoted search failure replays compiled.

Runtime: the probe detaches the outer scheduler so the toolchain fiber
stays out of the census, silences the binary's own coverage, and turns
the tombstone oracle off for a nested probe so evaluator strings free.
Sys.getenv SCUZZ_EXECUTABLE returns the live binary path. Emit keeps
expression offsets in rewriteBind and rewriteHole so compiled branch
hits match the interned keys. Eval caches kit and enum names per
program.

scripts/ci-fuzz.sh runs webhook and api-report on both engines and
diffs summary.json.
…duler step

scuzz eval --probe DIR serves probes: the server checks the package once
and forks a child per probe under SCUZZ_EV_REQUEST. Drive keeps one
server per prepared file set. Panics under TESTRT exit 134 instead of
abort so a probe child skips the host core handler.

Structural IO nodes (pure, flatMap, handleError, attempt, ensure, loop
entry) run in the same scheduler step as the effect that follows, so the
evaluator's extra IO wrapping does not move the deterministic schedule.
examples/io now matches on both engines in scripts/ci-fuzz.sh.
…deadline

Cut the per-call cost in Eval: one location string per def at load,
a plain-argument fast path around Check.alignCall, one Ftab lookup per
call, literal patterns before the pattern scans, constructor fields
cached per enum case, and character checks instead of Str.slice in the
pattern scans. examples/kernel idle probe 21 s to 12 s, examples/fmt
21 s to 18 s.
Every Int comparison under coverage reports |a - b| at its site through
the coverage hit channel (dist:<site>:<d>). The probe keeps the smallest
distance per site and writes SCUZZ_DISTANCE_DUMP. Search keeps the script
that lowers a distance and nudges one Int driver argument, inside its
where, by a power of two sized to that distance. examples/reach proves it:
the evaluator reaches a sometimes behind code == 4242 in 32 iterations and
the compiled control does not.
View.* calls evaluate to a VView description with closures and signals
inside; Signal.* are native signals; Icon, Color, Theme are native calls.
Ui.run stores the description in the host Ref from Eval.withHost and fails
loud without one. The compiler package still links without the UI runtime.
examples/codegen probes every UI kit row and taps a counter through the
description (eval-ui-ok). Docs: slice 6 plan, guided tutorial intent.
Docs depends on the compiler front. Mount walks a VView description into
a native View. Eval.tryNow checks one source, runs @main to Ui.run, and
returns the description or a diagnostic inside the Run tap. Evaluator
signals pool per page so a run reuses signals by name and kind.

Runtime: views get their own block kind. A list signal that drops a list
no View.each mounted frees the views in it, so two writes between layouts
do not leak the middle list. view.c installs the hook, so a program
without views links no view code.
The web build links the whole Docs package with the compiler front to
wasm32. The HTTP client and the servers are stubs that fail loud at the
call, so the evaluator's Net cases link without sockets. impurity.c
joins the web build. The browser proof taps +1, edits the source, runs
it, and reads a check error in Chromium, Firefox, and WebKit.

Slice 6 closes: vision.md marks it in the tree and points at slice 7.
…op pumps.

How it runs shows evaluator traces, two schedule seeds, coverage, and a mutant. Idle pumps read X11/Cocoa so a static window still accepts clicks and close.
Docs searches a Bool oracle on the evaluator and shows the failing argument, without nesting Fuzz.probe inside the Docs campaign.
Start opens Try it and How it runs. How it runs puts the campaign first and shows one IO.both race as two scheduler worlds with the first winner and the leftFirst verdict.
How it runs paints seed 0 and seed 128 side by side so both first-winner verdicts stay on screen.
Keep scuzz docs as the STE reference. The hosted app is six stages with Continue gates, a tabs strip, and #stage= ids.
One program gains View, Check, Signal, Search, and Cover. @main binds the demonstrated result instead of an empty IO.pure.
A public Bool def is no longer a drive. Docs Check runs incAdds beside Main.scuzz, nested scrolls pass the wheel, and editor glyphs use DejaVu Sans Mono.
The Docs web proof waits for the verify editor after the nested tab paints.
Cover Copy also asserts the first code block, which is the schedule snippet.
@SeanCheatham
SeanCheatham merged commit aa37d4b into main Sep 20, 2026
12 checks passed
@SeanCheatham
SeanCheatham deleted the ralph26 branch September 20, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant