Changelog¶
0.9.5 -- Script-Declared Recovery Notifications¶
laceEmitRecovery1.1.0: the recovery notification can be declared in the script itself via arecoveryoption on any expect/check scope or assert condition --options: { recovery: { notification: template("back-up") } }. A bare string is shorthand fortext(...). Precedence: script-declared > confignotification> configrecovery_message.- Corrected the extension config docs:
notificationoverrides use the TOML table form ({ tag = "template", name = "..." }). - Added four conformance vectors for the recovery option.
0.9.4 -- count() and includes() Assert Functions¶
- Added two core functions usable only inside
.assert()conditions:count(x)(element count whenxis an array, otherwise1) andincludes(search, x)(true when the raw-string form ofxcontainssearch, i.e.LIKE %search%). - Outside an
.assert()condition they are a validation error (UNKNOWN_FUNCTION); a wrong argument count isFUNC_ARG_TYPE. No grammar or AST-shape change -- they parse as ordinary function calls. - Added conformance vectors covering the assert-context gate, arity, and execution semantics.
0.9.3 -- Connection-Error Notifications¶
laceNotificationsnow emits a defaultstructurednotification when a call fails with a connection-level error (DNS failure, connection refused, TLS error, etc.). These failures never reach assertion evaluation, so the existing scope and condition rules could not surface them.- The notification fires once on entry into the error state -- when the same call had no error on the previous run, or there is no previous run -- and stays silent while the error persists. Timeouts are unaffected; their existing rules still own that outcome.
- Added conformance vectors covering the default error notification and its silent-on-repeat behaviour.
0.9.2 -- laceNotifications, laceEmitRecovery¶
- Fixed laceNotifications
silentOnRepeatdefault behavior - Extended laceNotifications tests to cover the
silentOnRepeatfunctionality - Added
laceEmitRecoveryextension with test coverage
0.9.1 -- Body Saving Changes¶
- Removed
bodyPathfrom the request record schema; request bodies are no longer saved to disk (they are already present in the AST) - Added
result.bodies.dirconfiguration option (defaultfalse) to control whether response body files are written - Added
--save-bodyCLI flag to enable response body file writing for a single run - Body file path convention simplified to
call_{index}_response.{ext}
0.9.0 -- Initial Specifications¶
First public release of the Lace probe scripting language.
- Prose specification
- Extension system specification
- ANTLR4 grammars (
lacelang.g4,laceext.g4) - JSON schemas for AST, ProbeResult,
.laceext,lace.config, executor manifest, and conformance vectors - Error code registry (
error-codes.json) - Conformance testkit with C harness and 199 test vectors
- Extension DSL with
setstatement for mutable bindings in function bodies - Bundled default extensions:
laceNotifications,laceBaseline - Test extensions:
hookTrace,notifRelay,notifCounter,notifWatch,badNamespace,configDemo - Example
.lacescripts for notifications and baseline spike detection - Justification document (
justification.md)