feat: runnable cascade demo over production-shaped logs#45
Merged
Conversation
eitamring
force-pushed
the
feat/cascade-example
branch
from
July 10, 2026 07:34
1c25c59 to
4fc7c3b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The README's cascade-config section promised commands no fresh clone could run: no classmesh.yaml existed anywhere in the repo. This ships the whole demo.
examples/genprod.go writes production-shaped logs (access lines, probes, app chatter, payments, auth events, warns, errors, and a slice nothing recognizes; deterministic by seed). examples/classmesh.yaml declares a two-tier cascade over them: rules (gate 1.0) decide 88%, a gated mock model tier (0.7) takes the warns, review.jsonl collects the 6% neither tier can decide, and health-check noise is dropped by route. With the default seed, 1M lines classify in under two seconds: processed=1000000 classified=940162 review=59838.
An end-to-end table-driven test copies the example config to a temp dir and pins per-record category, deciding stage, drop suppression, and review routing, so the committed example stays runnable.
Folded from pre-PR review: make bench now covers classifier, schema, and logfields; the pipeline bench row states its discard sink; the wordpiece package doc no longer promises an unshipped model stage; README and docs/architecture.md stop claiming only text and stdin implement Source (the jsonl source shipped in #18); the cascade-config commands point at the shipped example; demo artifacts are gitignored.