Add platform handling to submissions and persist a normalized value (`windows`, `linux`, `macos`) with a default of `windows` when omitted.
Extend search/index filtering to support `thread`, `platform`, `intensity`, and `durationSecs` alongside existing text/CPU token matching, and wire these params through request parsing, page data, and navigation URLs.
Update API/README docs and examples to reflect the new submission inputs and search capabilities so users can run more precise queries.feat(search): support platform and benchmark config filters
Add platform handling to submissions and persist a normalized value (`windows`, `linux`, `macos`) with a default of `windows` when omitted.
Extend search/index filtering to support `thread`, `platform`, `intensity`, and `durationSecs` alongside existing text/CPU token matching, and wire these params through request parsing, page data, and navigation URLs.
Update API/README docs and examples to reflect the new submission inputs and search capabilities so users can run more precise queries.
Replace the Docker availability check with an installation step in the
docker publish workflow. This ensures image builds can run on runners
where Docker is not preinstalled.ci(workflow): install Docker before Docker image build
Replace the Docker availability check with an installation step in the
docker publish workflow. This ensures image builds can run on runners
where Docker is not preinstalled.
Replace the outdated top-level file tree with a package-focused code structure
section that reflects the current `lib/*` layout and responsibilities.
Add a Gitea workflow section describing tagged Docker publish behavior, image
tags, test step, and runner requirements so release automation is clear and
repeatable.docs(readme): document new code structure and CI publish
Replace the outdated top-level file tree with a package-focused code structure
section that reflects the current `lib/*` layout and responsibilities.
Add a Gitea workflow section describing tagged Docker publish behavior, image
tags, test step, and runner requirements so release automation is clear and
repeatable.
Replace in-file bootstrap logic with package-level constructors in `run`:
- use `config.Load()` instead of local env parsing/AppConfig helpers
- use `store.Open()` and `web.New()` for persistence and app wiring
- rename local store variable to `benchmarkStore` for clarity
This centralizes startup concerns in dedicated modules, reducing `main.go` boilerplate and improving maintainability.refactor(main): delegate setup to config, store, and web packages
Replace in-file bootstrap logic with package-level constructors in `run`:
- use `config.Load()` instead of local env parsing/AppConfig helpers
- use `store.Open()` and `web.New()` for persistence and app wiring
- rename local store variable to `benchmarkStore` for clarity
This centralizes startup concerns in dedicated modules, reducing `main.go` boilerplate and improving maintainability.