From ffb164b24e2ff206d0048d0e2ad6783d9f04d831 Mon Sep 17 00:00:00 2001 From: Hugh Kaznowski Date: Sat, 5 Sep 2026 19:39:52 +0100 Subject: [PATCH] Delete ticket 018/019 files (already resolved by merged branch) Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01XFUNZwCvz3kcod3352ZR2o --- tickets/018-boolean-param-kind.md | 12 ------------ tickets/019-docs-isError-use-case.md | 12 ------------ 2 files changed, 24 deletions(-) delete mode 100644 tickets/018-boolean-param-kind.md delete mode 100644 tickets/019-docs-isError-use-case.md diff --git a/tickets/018-boolean-param-kind.md b/tickets/018-boolean-param-kind.md deleted file mode 100644 index 808c455..0000000 --- a/tickets/018-boolean-param-kind.md +++ /dev/null @@ -1,12 +0,0 @@ -# Support a boolean param kind that's always present (true/false, not omitted) - -Discovered while scoping the "IsError" docs use case (see ticket 019): declaring a param today always requires a capture group, and a param is *omitted* from a line's fields (not `false`/empty) whenever its regex doesn't match (`src/engine.rs`, `LogEntryDto::params` build path — "A param is omitted (not included as null/empty) when its regex/capture group doesn't match"). There's also no boolean kind — `MetricPrimitiveKind` (`src/data_value.rs`) only has `String`, `Number`, `Timestamp`, `Duration`. - -This blocks a use case like declaring a param `IsError` that's `true` for any message matching `error` (case-insensitively) and `false` for every other message — today a non-matching line just doesn't get the param at all, and there's no boolean type to hold the result even if it did. - -## Acceptance criteria -- `MetricPrimitiveKind` gains a `Boolean` variant (`src/data_value.rs`), serialized as `"boolean"` consistent with the other lowercase kinds. -- A param declared with kind `Boolean` doesn't require (or use) a capture group for its value — its value is whether `message_match_regex` matches the line, case-insensitively or per the regex's own flags. -- A `Boolean`-kind param is present on every line as `true` or `false` (never omitted), unlike capture-based params. -- Params UI (`Params.tsx`) offers `boolean` as a kind option and hides/disables the capture-group input when it's selected (or clarifies it's unused). -- Existing string/number/timestamp/duration param behavior (including the "omitted when unmatched" semantics for those) is unchanged. diff --git a/tickets/019-docs-isError-use-case.md b/tickets/019-docs-isError-use-case.md deleted file mode 100644 index bd2bef6..0000000 --- a/tickets/019-docs-isError-use-case.md +++ /dev/null @@ -1,12 +0,0 @@ -# Add an "IsError" worked example to the Parameters docs - -From WISHLIST.md: add a use case to the docs showing how to create a parameter `IsError` that's `true` for any message containing "error" (case-insensitive) and `false` otherwise. - -Add a worked example to the "Parameters" section in `webapp/src/components/Docs.tsx` (alongside the existing `duration` worked example) showing how to declare a boolean `IsError` param: regex `(?i)error`, kind `boolean`, no capture group needed, true/false on every line. - -This use case surfaces missing functionality — today params always need a capture group and are *omitted* (not `false`) on non-matching lines, and there's no boolean kind. Ticket 018 (boolean param kind) was created to cover that missing functionality; this docs ticket depends on it landing first (so the worked example describes real, working behavior) — indicate in the doc's example that it relies on the boolean param kind. - -## Acceptance criteria -- Depends on ticket 018 (boolean param kind) — implement/land that first. -- "Parameters" section in `Docs.tsx` gets a new worked example: declaring `IsError` with regex `(?i)error`, kind `boolean`, showing it as `true`/`false` on every log line. -- The existing `duration` worked example and surrounding prose are otherwise unchanged.