Skip to content

feat: add bounded char sequence LTS execution#112

Draft
jbachorik wants to merge 2 commits into
agent/logs-reggie-l1afrom
agent/logs-reggie-l1b
Draft

feat: add bounded char sequence LTS execution#112
jbachorik wants to merge 2 commits into
agent/logs-reggie-l1afrom
agent/logs-reggie-l1b

Conversation

@jbachorik

Copy link
Copy Markdown
Collaborator

Summary

  • add an internal bounded LTS whole-match primitive over CharSequence.charAt()
  • preserve absolute capture spans and caller-array atomicity without materializing the input
  • make bounded LTS helpers respect the region end, including delimiter, HTTP-version, bracket-tail, and wildcard-tail paths
  • add guarded real expanded Grok fixture coverage for successful and failing nonzero regions

Why

This is the direct-execution prerequisite for using Reggie with logs-backend's interruptible input wrapper. It ensures matching cannot bypass deadline checks through String bulk operations or read outside the requested region.

Validation

  • ./gradlew :reggie-runtime:test --tests '*LinearTokenSequenceMatcherTest' --tests '*LinearTokenSequenceAccessLogTest' --tests '*LinearTokenSequenceMatcherConcurrencyTest'
  • ./gradlew jacocoVerify build

…in matchBounded

Restores the allocation-free contract on LinearTokenSequenceMatcher via a
ThreadLocal workspace (defensively cloned into MatchResult to avoid aliasing
across reuse), fixes matchBounded to materialize only [0, end), adds String
fast paths to internal scans, and dedupes the RangeGuardCharSequence test
double.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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