- Persisted min/max/mean/stddev in a new sample_statistics SQLite table; added StatsCommand and made InstantCommand/StatsCommand use per-metric latest timestamp.
- Fixed lost activity metrics on short runs: ActivityExecutor now triggers a bypass-bucket snapshot before op dispensers detach; SQLite reporter is silent under post-close ticks.
- New stress-report bundled app + dummy_session.yaml workload with two new diag op-tasks (cycledelay, errormodulo); c-stress-shaped per-op output, A/B equivalence mode, comparability warning at the top.
- removed NBCLI's foundational-label re-injection.
Added 9 new benchmark classes in nb-engine-core/.../sysperf/engineflow/ for measuring engine flow performance
(stride context, op flow, space mapping, motor operations, etc.)
JMH documentation: Added devdocs/devguide/jmh_engineflow.md
Testing tags:
POM updates: Added test profiles
CONVENTIONS.md updates around test tags
Test annotations: Added 2-3 lines to ~280 test files
Split tests classes to allow one tag set per class (no mixed methods)
- Ops can accept flow context via FlowContextAwareOp.
- StandardAction manages per-stride StrideContext and passes flow context to ops.
- CapturingOp now writes captured values into the flow context.
- Dispensers/adapters expose cycle→space index/name for binding.
- Space mapping logic cleaned up; BaseSpace retains original names.
- Sync motor path replaced by StrideAction plus StrideMotor/dispenser.
- CoreMotor/SyncAction removed; loaders/tests moved to stride motor.
- CycleResultSegmentBuffer adds reset().
- StringCompositor skips local/global refs when deduping specs.
- Planning docs lightly edited.
- Fix SQL syntax error in SelectorTransformer: Move LEFT JOINs before WHERE clause
- Support nested {{...}} expressions in TEMPLATE() defaults
- Fix CMD_await to correctly use activity= parameter instead of alias
- Add available activities list to missing activity error messages
- Add getUnit() method to NBMetric interface
- Update all NBMetric implementations (Counter, Timer, Histogram, Meter, Gauge variants) with unit field
- Update MetricsView to use metric.getUnit() instead of extracting from labels
- Fix InstantCommand SQL join order bug (use joinAllLabelsWithSampleName())
- Update NBCreators with default units (nanoseconds, operations, empty)
- Fix test compilation errors in nb-api, nb-mql-api, and nb-engine-core (12 test files)
- Regenerate all test databases with updated metric constructors
- Move grammar files from src/main/antlr4 to src/main/java/.../grammars following conventions in adapter-cqld4 and
virtdata-lang modules
- Update ANTLR generated output to src/main/java/.../generated with explicit package configuration (-package
argument)
- Add imports for generated MetricsQLLexer/Parser classes in 11 parser and test files; all 285 tests passing
- Replace FEATURE_TRADEOFF_ANALYSIS.md with user-focused METRICSQL_DIFFERENCES.md guide (~40% shorter, removes
internal decision-making)
- Add session metadata (nb.version, nb.commandline, nb.hardware) to all 5 test database generators
- Update TEST_DATABASES.md with metadata documentation and correct regeneration instructions from project root
- BundledApp integration (@Service selector="mql") accessible via nb5 CLI
- 6 output formats (table, csv, tsv, json, jsonl, markdown) with enum-based architecture
- 107 passing tests with self-validating documentation and 5 test databases
- Add sqlite-jdbc to dependency management and nb-mql-api to nb-engine-all
- Add shutdown hook to update symlink mtimes on session end
Metric filters upgraded: include/exclude clauses, deny-by-default option, cached lookups; Log4J reporter imports simplified.
Help topics fixed end-to-end: classpath scanning handles jars/denied paths, nb help topics prints list, markdown finder hardened.
AppImage launcher opts into --enable-native-access=ALL-UNNAMED to silence JNA warnings.
New metrics_reporting.md gives a concise CLI reporter/filter cheat-sheet.
- expose encodable histogram snapshots, reuse prepared statements, and Base64-encode histogram payloads directly
- propagate histograms flag through CLI/session wiring and document usage in local/sqlite_metrics.md
- expand integration tests to cover histogram capture and ensure SQLite reporter behaviour is exercised
* Update nodewalk parsing/rendering for vectordata 0.1.10
- swap nbvectors predicate imports for vectordata.spec.predicates and make the renderers Function<PNode<?>, String> wrappers with explicit fallback handling
- drive NodewalkParser through PNode.fromBuffer and case-insensitive renderer selection so both CQL and JSON views work with the new API
- refresh predicate-focused tests to use the vectordata types and confirm with targeted Maven test runs
* update to groovy 5 for exprs
* groovy 5 expr support checkpoint
* basic expression libraries and lvar support
* add preprocedssor expr layer to support autoconfig of vector params
* added lvar expr integrated tests
* fixed eventing leak
* Use Property Files for Environment Vars and as AtFiles
* Keep a private property overlay over system properties
* Add properties from file and use in workload templates
* Allow access to properties and env vars is enabled
* Reorder to ease reading the code
* Insert property, yaml, and json files
* Make exceptions meaningful
* Catch all errors on error insert file type
* Some RawOpsLoader Refactoring and other Small Fixes
* Refactor ConfigModel Construction in StandardActivity
* Tracking ConfigModel Param Classes
* ActivityDef ConfigMap and default ActivityDriver
* More complete config model for ActivityDef plus other small improvements
* Add NBAdvisor to StandardActivity
* NBAdvisor for Workload Params, Tags, and Bindings
* OF: Formatting
* Improve ActivityDef ConfigModel
* Refactor NBAdvisor output adding Debug level
* NBAdvisor output using fluent method
* Slight refactor and always fail condition
* SrInterpolator uses NBAdvisorPoint and NBAdvisorOutput improvements
* Check Cmd with NBAdvisor
* Add Advisor Name and Description to Logs
* Fix review comments
* Add Protocol Selection to NBIO
* Workloads can use a protocol
* protocol errors and defaults
* Test new protocol methods
* Refactor to ResolverChain with enums
* Rename the enum to ResolverChain.Link
* OF - typo
* Commented TEMPLATEs in yamls are ignored
* Templates only processed in StrInterpolator
* Improve ends with new line test
* Adjust deprecated template advisor message
* Recursively process template key-values
* Adds bash style simple templates
---------
Co-authored-by: Jonathan Shook <jshook@users.noreply.github.com>
* some javadoc and type alignment improvements
* some javadoc and type alignment improvements
* example adapter
* alignment to previous changes
* improvements to many session testing
* add missing annotation