- propagate problems of interesting based on which problems passed building/validation before statement building
- improve menu phrasing
- fix several issues in limits_editor.py
- remove group-specific scoring from run selection in ui
- add score to entries in rbx ui
- add styling to sxs solution selector
- add headers to testcase entries in ui
- improve highlighted colors of listviews and optionlists
- migrate from ListView to OptionList in a few UI components
- fix run_ui issue with solution markup
- print scoring in detailed view
- ci: remove .x suffix from python version matrix
- improve console phrase
- use console style markup instead of custom markup
- improve score markups
- add scoring to reporters
- change outcome report signature
- fix color of ANY solutions
- add bits to force preset installation from resources
- run generation before skeleton construction in irun
- use generation metadata repr in rbx ui list views
- use expand_markup in rbx ui
- improve reprs of testcase entries
- make reporters use entries instead of indices (at least in most places)
- fix non determinism in validators.py
- fix duplicate order determinism in generators.py
- add python classifiers to toml
- fix flag conflict in irun
- support remote expressions inside finder expressions
- ensure @ can be part of solution token in finder parser
- print reference solution in stress
- add option to set reference solution in stress tests
- add locks around preprocessed paths
- remove unnecessary updates
- add signal hooks to AsyncStreamer
- add AsyncStreamer to simplify executor code
- bind type of LiveTask
- fix spinner jittering
- create scheduled future for AsyncGenerator
- add slow spinner to LiveTasks
- add ability to hide rendered tasks in LiveTasks
- add status messages to LiveTasks
- remove references to dumping in LiveTasks
- put other Lives on hold on LiveTasks kicks in
- show cropped version of the compilation error for solutions
- improve compilation live view with panels
- make live tasks vertical overflow visible
- validate testcases in parallel
- make testcase generation and output generation run in parallel
- refactor skeleton to include GenerationTestcaseEntries
- move live_tasks to parallel folder
- make generator and solution compilation run in parallel with threads
- improve async executor to run done callback immediately
- add live tasks
- ensure run_communication yields in steps.py
- add async executor
- ensure compile_item is now async
- ensure sandboxes are created when needed
- add filelock to DependencyCache
- add lock to FilesystemStorage
- add filelock to FileCacher
- add validation for "input" name in BOCA package
- ensure pipes are only captured for samples and when -cp is specified
- modify color of OLE in markup verdict
- add pipesize param to programs
- update upgrade command
- use better EOF delimiters in boca bash scripts
- stop copying solutions into boca package
- implement the judging time bit, but do not show it for now
- fix checker in stress tests
- improve error handling in polygon upload
- add \mbox as unwrap command in polygon
- add boca submitter
- add serial to kotlin
- add GC serial to java
- remove binary limit for java
- increase boca compilation binary limit for c
- increase size of c++ compiled binaries
- capture pipes depending on flag on interactor codeitem
- capture pipes selectively during output generation
- enclose problem full name during packaging around quotes
- stop printing dir tree when building statement
- fix issue with rbx.h caching
- fix verbatim on interaction changes
- fix gcc math linkage in rbx
- fix relative paths on run
- fix issue stack
- contest: allow
rbx eachwith no arguments
- ui: consolidate shell input notifications into single toast
- ui: add limits profile editor screen
- pass profiles to statements
- ui: enable vertical scrollbar on command terminal pane
- ui: add ctrl+y copy shortcut for terminal text selection
- ui: add TaskQueue class for command scheduling
- ui: improve command app keyboard navigation and focus management
- ui: wire context menu into command input submission
- ui: add TabSelectorModal screen for selecting tabs
- ui: add Menu floating overlay widget
- ensure boca profile is required in boca packager
- ui: prevent terminal state corruption when command pane is hidden
- ensure task queue in command app can handle different tasks with different exclusiveity modes efficiently
- ui: use 'c' instead of enter for tab selector confirmation
- ui: rename Menu.Selected to OptionSelected to avoid shadowing ListView.Selected
- ui: add bounds/dismissed guards to menu and update test main
- ensure terminal colors are nice
- summary: extract testable pure functions and fix bugs
- ui: simplify command_app.py
- ui: integrate TaskQueue into rbxCommandApp
- ui: replace buttons with keyboard shortcuts in TabSelectorModal
- add a few fixes to rbx on
- add placeholder as prefix in input box
- ui: add tabbed command queuing and input box to command app
- create command app
- make rbx on run in non-ui mode when only a single problem of interest
- ui: enforce sequential execution for user-initiated commands in command app
- ui: add border to CommandPane in command app
- ui: replace LogDisplay with vendored Toad CommandPane
- ensure hash duplication warnings point to metadata
- add flag to compile all assets
- ensure warnings are parsed correctly after ansi code stripping
- handle BraceGroup and escaped dollar in polygon TeX validation
- ensure polygon blocks come directly from statement building and preprocess+validate them
- add JSON serialization for MacroDefinitions
- add expand_macros with iterative hybrid TexSoup + text replacement
- add collect_macro_definitions with recursive file traversal
- add extract_definitions for parsing macro definitions from TeX
- add MacroDef and MacroDefinitions data model for demacro
- ensure only samples and statements are built when uploading
- make sure vars can be used in .tex for tests
- bump version and push
- ignore macros in tex->polygon transformation
- add support for macros block in default preset
- sync pre-commit ruff version with project and fix lint errors
- remove xdg-open command from wsl system (#385)
- update uv lock
- fix issue with ui visualizers
- limit to Python3.13 fort now
- fix event loop issue on Python3.14
- fix issue with visualizers and rbx ui
- prime template before rendering blocks
- use version range instead of exact major pin in upgrade command
- add dotenv loading
- fix a few extra tests and code
- migrate commitizen config
- migrate from poetry to uv
- fix version provider for commitizen
- delete dangling svg
- Rename CLAUDE.md -> AGENTS.md
- remove poetry badge
- disable FMA on ARM
- show warning when not using rbx time
- dedup issue stack messages
- add issue severity markers
- handle typer.Exit() in rbx ui apps
- make rbx ui visible
- add visualizers
- interactive mode docs
- add special code to visualizers
- add interactive to visualizers
- fall back to visualizer hwen no solution visualizer
- fully refactor visualizers
- add output_from to visualizers
- add ui visualizers
- fix novalidate typo
- add package size to packager
- fix packager statemment building
- improve build samples with sense of progress
- fixed output validation
- fix missing async
- fix inheritance bug
- fix stress test command
- show generator call along error
- add validate flags
- add --no-validate to irun
- fix fuzz tests
- small fix in error msg
- ensure output validators are also run for .out files
- warn about symlink issue with git-on-windows
- add bit to avoid building samples in statements
- show nice error messages about rbx version when parsing fails
- fix stats
- ensure clean can clean contests
- print better errors
- add check for .out output files
- build statement samples from generation entries, and handle .out and .ans separately
- add manual ans verification
- modify original sci function
- fix relative assets during contest statement building
- add --novalidate flag to commands
- add note that users can skip validation when building
- show error when summarization fails for problem within a contest
- improve rbx sum and add a detailed mode
- add rbx summary
- add fuzz tests to stresses
- add group name to validator calls
- fix expected score validation
- add group deps to points problems
- add basic scoring implementation with a few todos
- slight refactor to accomodate for new scoring features
- skip invalid test cases in fuzz tests
- add .interaction file to docs
- add --slowest flag to stress tests
- add duplicate test check
- add polygon validation utils but dont use just yet
- fix contest statement expansion during inheritance
- add tikzpictures that are expanded into pdfs
- add externalization params when building statements for polygon
- add tikz externalization to build process
- add a bunch of texsoup utils
- fix a few issues
- add -p variant for --profile
- have a global profile flag to control which profile is used
- add custom time controls for stress tests
- consolidate limits profile function
- fix a few type findings
- check preset version first thing in rbx
- add a few predownloaded assets to rbx to improve usability in a no-connection scenario
- add solution tags
- tell current profile TL in rbx time
- show a issue when solution is producing too much stderr
- fix method import
- teach user how to bypass version constraint in preset error
- warn on duplicate generator calls in testplan
- add duplicate call error to stress tests
- show errors when certain commands do not exist
- add vars to high-level problem context
- fix casing of variables
- fix remaining tests
- fix a couple weird tests
- fix a failing test in generator scripts
- fix a few generator script tests
- add inheritance to problem statements
- add titles to contests
- inheriting contest vars when using inheritFromContest
- fix expander tests
- fix rbxtex statements
- reorder polygon upload docs
- add validator to polygon upload
- ensure other manual tests are uploaded to polygon
- correctly upload polygon statement assets
- handle exceptions properly in thread pools during polygon upload
- always kill processes in pipe.c
- ensure interactive process are ordered and we track order of visit
- add output validators when building and validating
- ****: create unit test parser
- add parser for testplan and testgroups
- fix BOCA interactive run when code is not chrooted
- read explanation files from tex accompanying samples
- add parsing for testplan:line tests
- print what solution is being used to generate outputs
- add unit tests new parsing
- fix parsing issues with input blocks
- be more lenient with whitespaces in unit parser
- fix whitespace normalization within input blocks in parsers
- add expectation support in unit test parser
- add support for bracket delimited input/output
- support @input in statement
- structure generation input coming from testplans
- smart delete solution in polygon
- save generator scripts in polygon uplaod
- use correct language in validator
- upload polygon solutions with correct lang
- upload statement resources in parallel
- parallelize solution uplaod to polygon
- fix image names in statement resources when uploading to polygon
- add upload filtering for polygon
- fix polygon schema
- add keybind based filters
- add small fetch optimization
- add sentinel for failures
- show loading box while loading code
- add fixes to boca view
- ensure view refreshes do not deselected things
- pause refresh with zero
- ui friendly magenta
- \remove unused code
- fix compilation error in scraping
- improve width size
- add substring team filter
- select code and show on row highligh
- deal with small diffs
- add two types of diffs
- prefetch solutions in boca scraper view
- vibe code a boca view
- add code review for remote boca run
- fix boca scraper for remote download runs
- fix no caching of remote solutions
- add empty statement in BOCA when one is not present
- ensure builtin checker is read when path does not exist
- change > to >= when checking for TL when printing operator along with the time
- ensure AC testcases with warnings are render by live run reporter
- make compiled file relative to package
- fix relpath walk up
- fix a few typing errors
- fix function in rbx_ui
- schedule hard kill if program does not finish fast enough after interrupt
- fix hanging 0 testcase
- handle ctrl+C in stress tests
- handle ctrl+C through a try-catch block
- make paths relative in irun
- ensure ctrl+C does not show stacktrace
- optimize detailed table
- fix issues with typing
- fix timing per language
- fix solution href in compilation error
- reintroduce OK to rbx run
- add TL in timing summary and color appropriately things that should be info
- add hilite
- split good and pass in timing summary
- put rbx irun back in a state similar to rbx run
- ensure issues stack rule is printed as red
- ensure "slow" is printed as a TLE verdict
- print number of testcases in each group
- use red background for failed
- use relative runs folder in solution header
- fix prerelease script
- update packaging module
- fix semver
- colorize solutions with href
- add live run reporter
- disable typer autocompletion
- show test metadata when testcase fails the validation
- fix checker compilation error
- fix duplicate parameter -o in irun
- handle kbi in ask commands in rbx time
- fix compilation issue with stress tests
- passes through all validators in one off commands
- run all validators
- fix GenerationMetadata for @copy entries
- add overrides for pypy compilation
- few cosmetic fixes
- show a nice error when editor is not found
- add mode to checker to support custom BOCA checkers
- ensure boca language utils honor env language finding per extension
- add support for additional extensions in languages
- ensure .limits folder is not created when reading limits file
- add configuration for fallback checker to match box behavior
- use get_checker_or_nil functions to check for main checker
- add extraValidators globally
- add glob support for extraValidators
- refactor get_globbed_code_items
- fix f-string quoting
- support adding stress findings to box testplans
- make sure stress tests add generatorScript.path to the yml
- only use generators with a matching extension/language
- add custom build dirs to presets
- add box testplan format
- add @copy to generator scripts
- add beta wizard backkend
- use builtin checkers automagically
- use generator script root only for generators
- fix lookup by extension
- fix sanitization in irun
- cache transiently when sanitization is enabled
- use line flush when building samples
- add warning that wizard was vibe coded
- fix model routing
- fix default value for strategy
- support round in safeeval
- add --auto flag for rbx time
- show tls for BOCA packaging
- fix issue with limit modifiers
- use safeeval for timing formulae
- use safeeval for commands
- add safeeval for file mapping
- rollback Java class detection logic in BOCA
- add ability to specify language when building boca package
- add pypy3 support to boca
- skip invalid tests when generation fails in stress
- small fix on print error header
- dump statement build artifacts of contest into a dir
- ensure compilation errors are skipped in rbx run
- add option to skip invalid tests in stress
- invert order of teeing to make interactive merged output less flaky
- fix more tests
- small cosmetics changes
- fix several rbx/boca language integration issues
- fix default BOCA flags in env
- update preset to match all files
- fix statement matching
- support kotlin in boca
- add support for kotlin
- add support for envrc
- add colors for c++ compilation
- add href to a few missing places
- fix manual scraper
- fix downlaod of remote solution
- update docs with pointers to uv
- add judge failed expected outcome for checker tests
- fix tee unbound variables
- fix leaked fds in Program
- ensure autojudge_new_sel is only checked for in newer versions of BOCA
- add option to print number of fds in tests to debug
- sort in a few globs to ensure deterministic ordering
- fix generator parser RECNAME expression
- make XML parser less strict with polygon packages
- add optional description to the stress test
- fix issue stack
- add names section in package
- ensure title is not tied to statement in Polygon packager
- ensure title is not tied to statement in boca packager
- fix tests to unblock CI
- fix tool fetch
- get current version from __version__py
- add a few sensible defaults for Polygon xml
- ensure built-in presets are fetch from remote from a specific tag
- manually bump default preset version
- fix version files signature and update preset min version accordingly
- add min version field to presets
- check for preset compatibility when installing/updating a preset
- fetch built-in presets from resources and check their version
- honor min_version checks when using a preset
- add commitizen version files
- presets/info: fix spacing in table
- presets/icpc: fix spacing in markright
- presets/info: fix eol
- presets/info: remove packages imported by icpc
- presets/info: declare \lang before importing icpc
- presets/info: declare geometry on documentclass
- add sol failures to issue stack
- add issue stack with contest-level error aggregation
- add model solution field to testsets
- build statements partially when one breaks
- add nested variables
- add option to integrate limits profile into package
- add limits to statements
- add new timing feature
- add typing_extensions for compatibility with python<3.12 and TypeAliasType
- unqoute paths in sandbox glob
- add testlib to default preset
- improve solutions structure on preset
- fix a few tests
- use packager-specific limits profile when packaging
- fix caching issue with precompilation
- check for stack limit only on darwin
- use time profiles everywhere
- fix boca expander after refactor
- add problems to contest in lex order
- cache: symlink to cacher when copying compressed executable to sandbox
- fix a few unit tests
- fix time reporting on program.py
- add ridiculously buggy version flag
- ensure preset MIN_N variables is used in validator
- several improvements to preset statements
- delete other rbc stuff
- fix interactive sample line breaks
- fix Polygon statement build with vars
- fix scientific notation in statements
- optionally call killpg in sandbox
- remove two weird limit tests
- fix header.h serialization issues and write tests
- add tests for steps.run and fix memory usage
- kill solution when interactor finishes first with wa
- remove a few debugging assets
- delete processing_context.py (unused)
- delete old test.py stupidsandbox tester
- erase timeit
- fix copytree gitignore
- capture interaction in new sandbox
- allow for 64-bit rbx.h vars
- fix digest integrity checks
- rewrite to use a new stupid sandbox
- ensure checker messages are properly truncated everywhere
- ensure we don't check caching integrity on write
- ensure pipes are not captured when specified manually in generators
- add proper escaping in rbx ui
- add tests for default preset
- remove console log for nocheck
- delete unused fifo code
- remove deprecated isolate code
- move problem testdata
- clean up check functions in steps.py
- use relpath compatible with python < 3.12
- use sqlitedict instead of shelve
- add new tests for checker communication
- fix vars formatting for rbx.h
- statement: ensure flags are propagated to statements correctly
- delete old rbc assets
- ensure certain deps are not imported
- regenerate lock
- stress: fix stress name
- add contest-level packager for boca
- preset: remove generation section in default preset yaml
- ensure interactor and main are only compiled when output generation is necessary
- packaging: add language parameter to polygon packagers
- tool: add importer and converter from polygon to boca (problem)
- contest: makes rbx each available as an alias to rbx contest each
- package: add suppot for specifying generators by path
- package: support globs on solutions
- preset: update default preset to use getVar() instead of opt()
- cache: ensure dir of symlinks are created before the symlink itself
- make sure --vars does not override -v in statement commands
- ensure CRLF are automatically fixed
- add check for crlf when building tests
- show proper error when invalid generator is referenced by script
- use enum in preset instead of alias
- improve texliveonfly call
- fix preset interactive example spacing
- improve default preset .gitignore
- install tex in builder
- ensure joined type does not superseed install-tex
- add option to install tex missing packages automatically with tinytex
- preset: uncomment modern font in default preset
- fix editorial in presets
- make sure copytree respects symlnks in presets
- add editorial block to template
- temporarily disable rbx fix on pkg creation
- fix order
- fix problem_template.rbx.tex
- do not get presets from resources
- fix version
- statement: add support for pandoc markdown wirh rbxmd
- fix cache level on pydantic
- add caching to default config templates
- fix shelve open call type
- check integrity of symlinks
- preset: add support for symlinks in presets
- presets: add rbx presets create
- preset: ensure symlinks are always copied
- replace .resolve() calls with utils.abspath()
- update preset tracking
- add prompts to all package creation commands
- cache: do not cache in irun, except for when passing -t/-tc
- fix none issue with run.log.time
- remote: add @main shortcut to refer to main solution
- stress: make stress support simple finder expression with just the solution name
- stress: support remote solutions in stress
- cache: use global cache for precompilation
- debug: add debug context
- cache: refactor metadata and introduce executable compression
- cache: add grading context for controlling cache behavior
- cache: ensure compilation is not cached for remote solutions too
- cache: disable caching for remote solutions
- stress: cache only compilation in stress tests
- add progress notices to stress tests
- stress: support interactive problems
- stress: migrate stress tests to use run_solution_on_testcase
- migrate a few occurrences of @functoos.lru_cache
- fix bug when teeing interactive problem communication
- use orderedset to store tracked solutions to guarantee run order
- cache: add global cache to stats
- cache: convert src inputs to digests when file symlinks to digest
- add profiling utilities
- ignore property error
- cache: symlink to storage where possible
- cache: add symlink to backend when available from get_file
- use description to signal sanitization
- cache: add Filecacher in a few more places
- run: show error when running with non-existing solutions
- preset: fix default preset
- fix default preset olymp.sty
- ensure polygon blocks come directly from statement building and preprocess+validate them
- add JSON serialization for MacroDefinitions
- add expand_macros with iterative hybrid TexSoup + text replacement
- add collect_macro_definitions with recursive file traversal
- add extract_definitions for parsing macro definitions from TeX
- add MacroDef and MacroDefinitions data model for demacro
- make sure vars can be used in .tex for tests
- bump version and push
- ignore macros in tex->polygon transformation
- add support for macros block in default preset
- sync pre-commit ruff version with project and fix lint errors
- remove xdg-open command from wsl system (#385)
- update uv lock
- fix issue with ui visualizers
- limit to Python3.13 fort now
- fix event loop issue on Python3.14
- fix issue with visualizers and rbx ui
- prime template before rendering blocks
- use version range instead of exact major pin in upgrade command
- add dotenv loading
- fix a few extra tests and code
- migrate commitizen config
- migrate from poetry to uv
- fix version provider for commitizen
- delete dangling svg
- Rename CLAUDE.md -> AGENTS.md
- remove poetry badge
- disable FMA on ARM
- show warning when not using rbx time
- dedup issue stack messages
- add issue severity markers
- handle typer.Exit() in rbx ui apps
- make rbx ui visible
- add visualizers
- interactive mode docs
- add special code to visualizers
- add interactive to visualizers
- fall back to visualizer hwen no solution visualizer
- fully refactor visualizers
- add output_from to visualizers
- add ui visualizers
- fix novalidate typo
- add package size to packager
- fix packager statemment building
- improve build samples with sense of progress
- fixed output validation
- fix missing async
- fix inheritance bug
- fix stress test command
- show generator call along error
- add validate flags
- add --no-validate to irun
- fix fuzz tests
- small fix in error msg
- ensure output validators are also run for .out files
- warn about symlink issue with git-on-windows
- add bit to avoid building samples in statements
- show nice error messages about rbx version when parsing fails
- fix stats
- ensure clean can clean contests
- print better errors
- add check for .out output files
- build statement samples from generation entries, and handle .out and .ans separately
- add manual ans verification
- modify original sci function
- fix relative assets during contest statement building
- add --novalidate flag to commands
- add note that users can skip validation when building
- show error when summarization fails for problem within a contest
- improve rbx sum and add a detailed mode
- add rbx summary
- add fuzz tests to stresses
- add group name to validator calls
- fix expected score validation
- add group deps to points problems
- add basic scoring implementation with a few todos
- slight refactor to accomodate for new scoring features
- skip invalid test cases in fuzz tests
- add .interaction file to docs
- add --slowest flag to stress tests
- add duplicate test check
- add polygon validation utils but dont use just yet
- fix contest statement expansion during inheritance
- add tikzpictures that are expanded into pdfs
- add externalization params when building statements for polygon
- add tikz externalization to build process
- add a bunch of texsoup utils
- fix a few issues
- add -p variant for --profile
- have a global profile flag to control which profile is used
- add custom time controls for stress tests
- consolidate limits profile function
- fix a few type findings
- check preset version first thing in rbx
- add a few predownloaded assets to rbx to improve usability in a no-connection scenario
- add solution tags
- tell current profile TL in rbx time
- show a issue when solution is producing too much stderr
- fix method import
- teach user how to bypass version constraint in preset error
- warn on duplicate generator calls in testplan
- add duplicate call error to stress tests
- show errors when certain commands do not exist
- add vars to high-level problem context
- fix casing of variables
- fix remaining tests
- fix a couple weird tests
- fix a failing test in generator scripts
- fix a few generator script tests
- add inheritance to problem statements
- add titles to contests
- inheriting contest vars when using inheritFromContest
- fix expander tests
- fix rbxtex statements
- reorder polygon upload docs
- add validator to polygon upload
- ensure other manual tests are uploaded to polygon
- correctly upload polygon statement assets
- handle exceptions properly in thread pools during polygon upload
- always kill processes in pipe.c
- ensure interactive process are ordered and we track order of visit
- add output validators when building and validating
- ****: create unit test parser
- add parser for testplan and testgroups
- fix BOCA interactive run when code is not chrooted
- read explanation files from tex accompanying samples
- add parsing for testplan:line tests
- print what solution is being used to generate outputs
- add unit tests new parsing
- fix parsing issues with input blocks
- be more lenient with whitespaces in unit parser
- fix whitespace normalization within input blocks in parsers
- add expectation support in unit test parser
- add support for bracket delimited input/output
- support @input in statement
- structure generation input coming from testplans
- smart delete solution in polygon
- save generator scripts in polygon uplaod
- use correct language in validator
- upload polygon solutions with correct lang
- upload statement resources in parallel
- parallelize solution uplaod to polygon
- fix image names in statement resources when uploading to polygon
- add upload filtering for polygon
- fix polygon schema
- add keybind based filters
- add small fetch optimization
- add sentinel for failures
- show loading box while loading code
- add fixes to boca view
- ensure view refreshes do not deselected things
- pause refresh with zero
- ui friendly magenta
- \remove unused code
- fix compilation error in scraping
- improve width size
- add substring team filter
- select code and show on row highligh
- deal with small diffs
- add two types of diffs
- prefetch solutions in boca scraper view
- vibe code a boca view
- add code review for remote boca run
- fix boca scraper for remote download runs
- fix no caching of remote solutions
- add empty statement in BOCA when one is not present
- ensure builtin checker is read when path does not exist
- change > to >= when checking for TL when printing operator along with the time
- ensure AC testcases with warnings are render by live run reporter
- make compiled file relative to package
- fix relpath walk up
- fix a few typing errors
- fix function in rbx_ui
- schedule hard kill if program does not finish fast enough after interrupt
- fix hanging 0 testcase
- handle ctrl+C in stress tests
- handle ctrl+C through a try-catch block
- make paths relative in irun
- ensure ctrl+C does not show stacktrace
- optimize detailed table
- fix issues with typing
- fix timing per language
- fix solution href in compilation error
- reintroduce OK to rbx run
- add TL in timing summary and color appropriately things that should be info
- add hilite
- split good and pass in timing summary
- put rbx irun back in a state similar to rbx run
- ensure issues stack rule is printed as red
- ensure "slow" is printed as a TLE verdict
- print number of testcases in each group
- use red background for failed
- use relative runs folder in solution header
- fix prerelease script
- update packaging module
- fix semver
- colorize solutions with href
- add live run reporter
- disable typer autocompletion
- show test metadata when testcase fails the validation
- fix checker compilation error
- fix duplicate parameter -o in irun
- handle kbi in ask commands in rbx time
- fix compilation issue with stress tests
- passes through all validators in one off commands
- run all validators
- fix GenerationMetadata for @copy entries
- add overrides for pypy compilation
- few cosmetic fixes
- show a nice error when editor is not found
- add mode to checker to support custom BOCA checkers
- ensure boca language utils honor env language finding per extension
- add support for additional extensions in languages
- ensure .limits folder is not created when reading limits file
- add configuration for fallback checker to match box behavior
- use get_checker_or_nil functions to check for main checker
- add extraValidators globally
- add glob support for extraValidators
- refactor get_globbed_code_items
- fix f-string quoting
- support adding stress findings to box testplans
- make sure stress tests add generatorScript.path to the yml
- only use generators with a matching extension/language
- add custom build dirs to presets
- add box testplan format
- add @copy to generator scripts
- add beta wizard backkend
- use builtin checkers automagically
- use generator script root only for generators
- fix lookup by extension
- fix sanitization in irun
- cache transiently when sanitization is enabled
- use line flush when building samples
- add warning that wizard was vibe coded
- fix model routing
- fix default value for strategy
- support round in safeeval
- add --auto flag for rbx time
- show tls for BOCA packaging
- fix issue with limit modifiers
- use safeeval for timing formulae
- use safeeval for commands
- add safeeval for file mapping
- rollback Java class detection logic in BOCA
- add ability to specify language when building boca package
- add pypy3 support to boca
- skip invalid tests when generation fails in stress
- small fix on print error header
- dump statement build artifacts of contest into a dir
- ensure compilation errors are skipped in rbx run
- add option to skip invalid tests in stress
- invert order of teeing to make interactive merged output less flaky
- fix more tests
- small cosmetics changes
- fix several rbx/boca language integration issues
- fix default BOCA flags in env
- update preset to match all files
- fix statement matching
- support kotlin in boca
- add support for kotlin
- add support for envrc
- add colors for c++ compilation
- add href to a few missing places
- fix manual scraper
- fix downlaod of remote solution
- update docs with pointers to uv
- add judge failed expected outcome for checker tests
- fix tee unbound variables
- fix leaked fds in Program
- ensure autojudge_new_sel is only checked for in newer versions of BOCA
- add option to print number of fds in tests to debug
- sort in a few globs to ensure deterministic ordering
- fix generator parser RECNAME expression
- make XML parser less strict with polygon packages
- add optional description to the stress test
- fix issue stack
- add names section in package
- ensure title is not tied to statement in Polygon packager
- ensure title is not tied to statement in boca packager
- fix tests to unblock CI
- fix tool fetch
- get current version from __version__py
- add a few sensible defaults for Polygon xml
- ensure built-in presets are fetch from remote from a specific tag
- manually bump default preset version
- fix version files signature and update preset min version accordingly
- add min version field to presets
- check for preset compatibility when installing/updating a preset
- fetch built-in presets from resources and check their version
- honor min_version checks when using a preset
- add commitizen version files
- presets/info: fix spacing in table
- presets/icpc: fix spacing in markright
- presets/info: fix eol
- presets/info: remove packages imported by icpc
- presets/info: declare \lang before importing icpc
- presets/info: declare geometry on documentclass
- add sol failures to issue stack
- add issue stack with contest-level error aggregation
- add model solution field to testsets
- build statements partially when one breaks
- add nested variables
- add option to integrate limits profile into package
- add limits to statements
- add new timing feature
- add typing_extensions for compatibility with python<3.12 and TypeAliasType
- unqoute paths in sandbox glob
- add testlib to default preset
- improve solutions structure on preset
- fix a few tests
- use packager-specific limits profile when packaging
- fix caching issue with precompilation
- check for stack limit only on darwin
- use time profiles everywhere
- fix boca expander after refactor
- add problems to contest in lex order
- cache: symlink to cacher when copying compressed executable to sandbox
- fix a few unit tests
- fix time reporting on program.py
- add ridiculously buggy version flag
- ensure preset MIN_N variables is used in validator
- several improvements to preset statements
- delete other rbc stuff
- fix interactive sample line breaks
- fix Polygon statement build with vars
- fix scientific notation in statements
- optionally call killpg in sandbox
- remove two weird limit tests
- fix header.h serialization issues and write tests
- add tests for steps.run and fix memory usage
- kill solution when interactor finishes first with wa
- remove a few debugging assets
- delete processing_context.py (unused)
- delete old test.py stupidsandbox tester
- erase timeit
- fix copytree gitignore
- capture interaction in new sandbox
- allow for 64-bit rbx.h vars
- fix digest integrity checks
- rewrite to use a new stupid sandbox
- ensure checker messages are properly truncated everywhere
- ensure we don't check caching integrity on write
- ensure pipes are not captured when specified manually in generators
- add proper escaping in rbx ui
- add tests for default preset
- remove console log for nocheck
- delete unused fifo code
- remove deprecated isolate code
- move problem testdata
- clean up check functions in steps.py
- use relpath compatible with python < 3.12
- use sqlitedict instead of shelve
- add new tests for checker communication
- fix vars formatting for rbx.h
- statement: ensure flags are propagated to statements correctly
- delete old rbc assets
- ensure certain deps are not imported
- regenerate lock
- stress: fix stress name
- add contest-level packager for boca
- preset: remove generation section in default preset yaml
- ensure interactor and main are only compiled when output generation is necessary
- packaging: add language parameter to polygon packagers
- tool: add importer and converter from polygon to boca (problem)
- contest: makes rbx each available as an alias to rbx contest each
- package: add suppot for specifying generators by path
- package: support globs on solutions
- preset: update default preset to use getVar() instead of opt()
- cache: ensure dir of symlinks are created before the symlink itself
- make sure --vars does not override -v in statement commands
- ensure CRLF are automatically fixed
- add check for crlf when building tests
- show proper error when invalid generator is referenced by script
- use enum in preset instead of alias
- improve texliveonfly call
- fix preset interactive example spacing
- improve default preset .gitignore
- install tex in builder
- ensure joined type does not superseed install-tex
- add option to install tex missing packages automatically with tinytex
- preset: uncomment modern font in default preset
- fix editorial in presets
- make sure copytree respects symlnks in presets
- add editorial block to template
- temporarily disable rbx fix on pkg creation
- fix order
- fix problem_template.rbx.tex
- do not get presets from resources
- fix version
- statement: add support for pandoc markdown wirh rbxmd
- fix cache level on pydantic
- add caching to default config templates
- fix shelve open call type
- check integrity of symlinks
- preset: add support for symlinks in presets
- presets: add rbx presets create
- preset: ensure symlinks are always copied
- replace .resolve() calls with utils.abspath()
- update preset tracking
- add prompts to all package creation commands
- cache: do not cache in irun, except for when passing -t/-tc
- fix none issue with run.log.time
- remote: add @main shortcut to refer to main solution
- stress: make stress support simple finder expression with just the solution name
- stress: support remote solutions in stress
- cache: use global cache for precompilation
- debug: add debug context
- cache: refactor metadata and introduce executable compression
- cache: add grading context for controlling cache behavior
- cache: ensure compilation is not cached for remote solutions too
- cache: disable caching for remote solutions
- stress: cache only compilation in stress tests
- add progress notices to stress tests
- stress: support interactive problems
- stress: migrate stress tests to use run_solution_on_testcase
- migrate a few occurrences of @functoos.lru_cache
- fix bug when teeing interactive problem communication
- use orderedset to store tracked solutions to guarantee run order
- cache: add global cache to stats
- cache: convert src inputs to digests when file symlinks to digest
- add profiling utilities
- ignore property error
- cache: symlink to storage where possible
- cache: add symlink to backend when available from get_file
- use description to signal sanitization
- cache: add Filecacher in a few more places
- run: show error when running with non-existing solutions
- preset: fix default preset
- fix default preset olymp.sty
- preset: add
rbx contest initcommand - lint: add YAML linting config to go hand-to-hand with VSCode
- lint: add linting for presets
- lint: fix Problem -> Package schema name
- fix publishing
- ensure polygon blocks come directly from statement building and preprocess+validate them
- add JSON serialization for MacroDefinitions
- add expand_macros with iterative hybrid TexSoup + text replacement
- add collect_macro_definitions with recursive file traversal
- add extract_definitions for parsing macro definitions from TeX
- add MacroDef and MacroDefinitions data model for demacro
- ignore macros in tex->polygon transformation
- add support for macros block in default preset
- sync pre-commit ruff version with project and fix lint errors
- remove xdg-open command from wsl system (#385)
- update uv lock
- fix issue with ui visualizers
- limit to Python3.13 fort now
- fix event loop issue on Python3.14
- fix issue with visualizers and rbx ui
- prime template before rendering blocks
- use version range instead of exact major pin in upgrade command
- add dotenv loading
- fix a few extra tests and code
- migrate commitizen config
- migrate from poetry to uv
- fix version provider for commitizen
- delete dangling svg
- Rename CLAUDE.md -> AGENTS.md
- remove poetry badge
- disable FMA on ARM
- show warning when not using rbx time
- dedup issue stack messages
- add issue severity markers
- handle typer.Exit() in rbx ui apps
- make rbx ui visible
- add visualizers
- interactive mode docs
- add special code to visualizers
- add interactive to visualizers
- fall back to visualizer hwen no solution visualizer
- fully refactor visualizers
- add output_from to visualizers
- add ui visualizers
- fix novalidate typo
- add package size to packager
- fix packager statemment building
- improve build samples with sense of progress
- fixed output validation
- fix missing async
- fix inheritance bug
- fix stress test command
- show generator call along error
- add validate flags
- add --no-validate to irun
- fix fuzz tests
- small fix in error msg
- ensure output validators are also run for .out files
- warn about symlink issue with git-on-windows
- add bit to avoid building samples in statements
- show nice error messages about rbx version when parsing fails
- fix stats
- ensure clean can clean contests
- print better errors
- add check for .out output files
- build statement samples from generation entries, and handle .out and .ans separately
- add manual ans verification
- modify original sci function
- fix relative assets during contest statement building
- add --novalidate flag to commands
- add note that users can skip validation when building
- show error when summarization fails for problem within a contest
- improve rbx sum and add a detailed mode
- add rbx summary
- add fuzz tests to stresses
- add group name to validator calls
- fix expected score validation
- add group deps to points problems
- add basic scoring implementation with a few todos
- slight refactor to accomodate for new scoring features
- skip invalid test cases in fuzz tests
- add .interaction file to docs
- add --slowest flag to stress tests
- add duplicate test check
- add polygon validation utils but dont use just yet
- fix contest statement expansion during inheritance
- add tikzpictures that are expanded into pdfs
- add externalization params when building statements for polygon
- add tikz externalization to build process
- add a bunch of texsoup utils
- fix a few issues
- add -p variant for --profile
- have a global profile flag to control which profile is used
- add custom time controls for stress tests
- consolidate limits profile function
- fix a few type findings
- check preset version first thing in rbx
- add a few predownloaded assets to rbx to improve usability in a no-connection scenario
- add solution tags
- tell current profile TL in rbx time
- show a issue when solution is producing too much stderr
- fix method import
- teach user how to bypass version constraint in preset error
- warn on duplicate generator calls in testplan
- add duplicate call error to stress tests
- show errors when certain commands do not exist
- add vars to high-level problem context
- fix casing of variables
- fix remaining tests
- fix a couple weird tests
- fix a failing test in generator scripts
- fix a few generator script tests
- add inheritance to problem statements
- add titles to contests
- inheriting contest vars when using inheritFromContest
- fix expander tests
- fix rbxtex statements
- reorder polygon upload docs
- add validator to polygon upload
- ensure other manual tests are uploaded to polygon
- correctly upload polygon statement assets
- handle exceptions properly in thread pools during polygon upload
- always kill processes in pipe.c
- ensure interactive process are ordered and we track order of visit
- add output validators when building and validating
- ****: create unit test parser
- add parser for testplan and testgroups
- fix BOCA interactive run when code is not chrooted
- read explanation files from tex accompanying samples
- add parsing for testplan:line tests
- print what solution is being used to generate outputs
- add unit tests new parsing
- fix parsing issues with input blocks
- be more lenient with whitespaces in unit parser
- fix whitespace normalization within input blocks in parsers
- add expectation support in unit test parser
- add support for bracket delimited input/output
- support @input in statement
- structure generation input coming from testplans
- smart delete solution in polygon
- save generator scripts in polygon uplaod
- use correct language in validator
- upload polygon solutions with correct lang
- upload statement resources in parallel
- parallelize solution uplaod to polygon
- fix image names in statement resources when uploading to polygon
- add upload filtering for polygon
- fix polygon schema
- add keybind based filters
- add small fetch optimization
- add sentinel for failures
- show loading box while loading code
- add fixes to boca view
- ensure view refreshes do not deselected things
- pause refresh with zero
- ui friendly magenta
- \remove unused code
- fix compilation error in scraping
- improve width size
- add substring team filter
- select code and show on row highligh
- deal with small diffs
- add two types of diffs
- prefetch solutions in boca scraper view
- vibe code a boca view
- add code review for remote boca run
- fix boca scraper for remote download runs
- fix no caching of remote solutions
- add empty statement in BOCA when one is not present
- ensure builtin checker is read when path does not exist
- change > to >= when checking for TL when printing operator along with the time
- ensure AC testcases with warnings are render by live run reporter
- make compiled file relative to package
- fix relpath walk up
- fix a few typing errors
- fix function in rbx_ui
- schedule hard kill if program does not finish fast enough after interrupt
- fix hanging 0 testcase
- handle ctrl+C in stress tests
- handle ctrl+C through a try-catch block
- make paths relative in irun
- ensure ctrl+C does not show stacktrace
- optimize detailed table
- fix issues with typing
- fix timing per language
- fix solution href in compilation error
- reintroduce OK to rbx run
- add TL in timing summary and color appropriately things that should be info
- add hilite
- split good and pass in timing summary
- put rbx irun back in a state similar to rbx run
- ensure issues stack rule is printed as red
- ensure "slow" is printed as a TLE verdict
- print number of testcases in each group
- use red background for failed
- use relative runs folder in solution header
- fix prerelease script
- update packaging module
- fix semver
- colorize solutions with href
- add live run reporter
- disable typer autocompletion
- show test metadata when testcase fails the validation
- fix checker compilation error
- fix duplicate parameter -o in irun
- handle kbi in ask commands in rbx time
- fix compilation issue with stress tests
- passes through all validators in one off commands
- run all validators
- fix GenerationMetadata for @copy entries
- add overrides for pypy compilation
- few cosmetic fixes
- show a nice error when editor is not found
- add mode to checker to support custom BOCA checkers
- ensure boca language utils honor env language finding per extension
- add support for additional extensions in languages
- ensure .limits folder is not created when reading limits file
- add configuration for fallback checker to match box behavior
- use get_checker_or_nil functions to check for main checker
- add extraValidators globally
- add glob support for extraValidators
- refactor get_globbed_code_items
- fix f-string quoting
- support adding stress findings to box testplans
- make sure stress tests add generatorScript.path to the yml
- only use generators with a matching extension/language
- add custom build dirs to presets
- add box testplan format
- add @copy to generator scripts
- add beta wizard backkend
- use builtin checkers automagically
- use generator script root only for generators
- fix lookup by extension
- fix sanitization in irun
- cache transiently when sanitization is enabled
- use line flush when building samples
- add warning that wizard was vibe coded
- fix model routing
- fix default value for strategy
- support round in safeeval
- add --auto flag for rbx time
- show tls for BOCA packaging
- fix issue with limit modifiers
- use safeeval for timing formulae
- use safeeval for commands
- add safeeval for file mapping
- rollback Java class detection logic in BOCA
- add ability to specify language when building boca package
- add pypy3 support to boca
- skip invalid tests when generation fails in stress
- small fix on print error header
- dump statement build artifacts of contest into a dir
- ensure compilation errors are skipped in rbx run
- add option to skip invalid tests in stress
- invert order of teeing to make interactive merged output less flaky
- fix more tests
- small cosmetics changes
- fix several rbx/boca language integration issues
- fix default BOCA flags in env
- update preset to match all files
- fix statement matching
- support kotlin in boca
- add support for kotlin
- add support for envrc
- add colors for c++ compilation
- add href to a few missing places
- fix manual scraper
- fix downlaod of remote solution
- update docs with pointers to uv
- add judge failed expected outcome for checker tests
- fix tee unbound variables
- fix leaked fds in Program
- ensure autojudge_new_sel is only checked for in newer versions of BOCA
- add option to print number of fds in tests to debug
- sort in a few globs to ensure deterministic ordering
- fix generator parser RECNAME expression
- make XML parser less strict with polygon packages
- add optional description to the stress test
- fix issue stack
- add names section in package
- ensure title is not tied to statement in Polygon packager
- ensure title is not tied to statement in boca packager
- fix tests to unblock CI
- fix tool fetch
- get current version from __version__py
- add a few sensible defaults for Polygon xml
- ensure built-in presets are fetch from remote from a specific tag
- manually bump default preset version
- fix version files signature and update preset min version accordingly
- add min version field to presets
- check for preset compatibility when installing/updating a preset
- fetch built-in presets from resources and check their version
- honor min_version checks when using a preset
- add commitizen version files
- presets/info: fix spacing in table
- presets/icpc: fix spacing in markright
- presets/info: fix eol
- presets/info: remove packages imported by icpc
- presets/info: declare \lang before importing icpc
- presets/info: declare geometry on documentclass
- add sol failures to issue stack
- add issue stack with contest-level error aggregation
- add model solution field to testsets
- build statements partially when one breaks
- add nested variables
- add option to integrate limits profile into package
- add limits to statements
- add new timing feature
- add typing_extensions for compatibility with python<3.12 and TypeAliasType
- unqoute paths in sandbox glob
- add testlib to default preset
- improve solutions structure on preset
- fix a few tests
- use packager-specific limits profile when packaging
- fix caching issue with precompilation
- check for stack limit only on darwin
- use time profiles everywhere
- fix boca expander after refactor
- add problems to contest in lex order
- cache: symlink to cacher when copying compressed executable to sandbox
- fix a few unit tests
- fix time reporting on program.py
- add ridiculously buggy version flag
- ensure preset MIN_N variables is used in validator
- several improvements to preset statements
- delete other rbc stuff
- fix interactive sample line breaks
- fix Polygon statement build with vars
- fix scientific notation in statements
- optionally call killpg in sandbox
- remove two weird limit tests
- fix header.h serialization issues and write tests
- add tests for steps.run and fix memory usage
- kill solution when interactor finishes first with wa
- remove a few debugging assets
- delete processing_context.py (unused)
- delete old test.py stupidsandbox tester
- erase timeit
- fix copytree gitignore
- capture interaction in new sandbox
- allow for 64-bit rbx.h vars
- fix digest integrity checks
- rewrite to use a new stupid sandbox
- ensure checker messages are properly truncated everywhere
- ensure we don't check caching integrity on write
- ensure pipes are not captured when specified manually in generators
- add proper escaping in rbx ui
- add tests for default preset
- remove console log for nocheck
- delete unused fifo code
- remove deprecated isolate code
- move problem testdata
- clean up check functions in steps.py
- use relpath compatible with python < 3.12
- use sqlitedict instead of shelve
- add new tests for checker communication
- fix vars formatting for rbx.h
- statement: ensure flags are propagated to statements correctly
- delete old rbc assets
- ensure certain deps are not imported
- regenerate lock
- stress: fix stress name
- add contest-level packager for boca
- preset: remove generation section in default preset yaml
- ensure interactor and main are only compiled when output generation is necessary
- packaging: add language parameter to polygon packagers
- tool: add importer and converter from polygon to boca (problem)
- contest: makes rbx each available as an alias to rbx contest each
- package: add suppot for specifying generators by path
- package: support globs on solutions
- preset: update default preset to use getVar() instead of opt()
- cache: ensure dir of symlinks are created before the symlink itself
- make sure --vars does not override -v in statement commands
- ensure CRLF are automatically fixed
- add check for crlf when building tests
- show proper error when invalid generator is referenced by script
- use enum in preset instead of alias
- improve texliveonfly call
- fix preset interactive example spacing
- improve default preset .gitignore
- install tex in builder
- ensure joined type does not superseed install-tex
- add option to install tex missing packages automatically with tinytex
- preset: uncomment modern font in default preset
- fix editorial in presets
- make sure copytree respects symlnks in presets
- add editorial block to template
- temporarily disable rbx fix on pkg creation
- fix order
- fix problem_template.rbx.tex
- do not get presets from resources
- fix version
- statement: add support for pandoc markdown wirh rbxmd
- fix cache level on pydantic
- add caching to default config templates
- fix shelve open call type
- check integrity of symlinks
- preset: add support for symlinks in presets
- presets: add rbx presets create
- preset: ensure symlinks are always copied
- replace .resolve() calls with utils.abspath()
- update preset tracking
- add prompts to all package creation commands
- cache: do not cache in irun, except for when passing -t/-tc
- fix none issue with run.log.time
- remote: add @main shortcut to refer to main solution
- stress: make stress support simple finder expression with just the solution name
- stress: support remote solutions in stress
- cache: use global cache for precompilation
- debug: add debug context
- cache: refactor metadata and introduce executable compression
- cache: add grading context for controlling cache behavior
- cache: ensure compilation is not cached for remote solutions too
- cache: disable caching for remote solutions
- stress: cache only compilation in stress tests
- add progress notices to stress tests
- stress: support interactive problems
- stress: migrate stress tests to use run_solution_on_testcase
- migrate a few occurrences of @functoos.lru_cache
- fix bug when teeing interactive problem communication
- use orderedset to store tracked solutions to guarantee run order
- cache: add global cache to stats
- cache: convert src inputs to digests when file symlinks to digest
- add profiling utilities
- ignore property error
- cache: symlink to storage where possible
- cache: add symlink to backend when available from get_file
- use description to signal sanitization
- cache: add Filecacher in a few more places
- run: show error when running with non-existing solutions
- preset: fix default preset
- fix default preset olymp.sty
- preset: add
rbx contest initcommand - lint: add YAML linting config to go hand-to-hand with VSCode
- lint: add linting for presets
- lint: fix Problem -> Package schema name
- fix publishing