miniswen 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -2
  3. data/lib/miniswen/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa5e319d6fe043262626e21f41e6f74956373aef813c83c6e68b098674e89c42
4
- data.tar.gz: 3019152e7898917a2284195c156c126316f46e37798e80fb636e579a0f7d56df
3
+ metadata.gz: de70dca3df1d5d69b884c838142ecf6143714e4160df12cd70ffd9d82d9cd823
4
+ data.tar.gz: 9fc776f43acb75cd49b0b02a45dbaf2017927c2a5a9d0ac53589925b5be6cb99
5
5
  SHA512:
6
- metadata.gz: f97f7f90851abf72f8886b97f0c9b5274acb8b6a2984986b99def626bd452eff6b9a38f4607b55e71412a0bb577fb76b2968577d7b1447cd026167f4605d4492
7
- data.tar.gz: 1751cdcae04283c07233a5ae5219f94d0171596d7398731624f7d7f1665330a6fa9b24bf330728a65400ec766fcee89c01a85cd6c7fe75ed10caba70a321e2de
6
+ metadata.gz: b65975d0c54ef1588a896917dc7ee86b1c87c7a6c750d0354e6d1d8681743e20c2561890ebeefbce3cae2d96981ac5b41c26a6411b2d350653bce026ca9e730c
7
+ data.tar.gz: c067f93043fd5f056a243200b08e5d92bd3c4d25356bc961ae8a377e2dc86ef91600ce9d468747f5b18daa746be2f50e87122f5ad9ea4de6827b0fb1e1727b84
data/README.md CHANGED
@@ -46,7 +46,7 @@ my-bench/
46
46
  ├── hello-world/
47
47
  │ ├── instruction.md # what the agent is asked to do; YAML frontmatter carries
48
48
  │ │ # name, description, difficulty, tags, metadata — plus the
49
- │ │ # per-task overrides: setup, restore, verifier.setup
49
+ │ │ # per-task overrides: setup, restore, verifier.setup, environment
50
50
  │ ├── environment/Dockerfile # [optional] a task-specific sandbox image, instead of the shared one
51
51
  │ ├── environment.patch # [optional] task setup patch: applied and resealed as a fresh git repo at setup
52
52
  │ ├── verification_test.rb # grades the result
@@ -59,6 +59,9 @@ The `bench.yml` looks like this:
59
59
  ```yaml
60
60
  version: 1
61
61
 
62
+ # inherit_from: ../bench.yml # [optional] start from another bench.yml; the sections below are
63
+ # # deep-merged over it (lists replace; set a key to ~ to drop it)
64
+
62
65
  # setup: # [optional] sandbox preparation, run before the agent starts
63
66
  # files: [fixtures/seed.sql] # uploaded for the commands to consume, then wiped
64
67
  # commands: [bin/sandbox-setup]
@@ -68,6 +71,11 @@ environment:
68
71
  # backend: "daytona" # or "docker"
69
72
  # dockerfile: environment/Dockerfile # the default — or pin a published image instead:
70
73
  # image: ghcr.io/acme/my-bench@sha256:...
74
+ # profiles: # [optional] named alternatives to the shared image; a task
75
+ # campfire: # picks one with `environment: campfire` in its frontmatter
76
+ # dockerfile: docker/campfire/Dockerfile
77
+ # fizzy:
78
+ # image: ghcr.io/acme/fizzy@sha256:...
71
79
  resources: { cpus: 2, memory: 2GB, storage: 5GB }
72
80
  build_timeout: 10m
73
81
  network:
@@ -134,7 +142,7 @@ A minimal task example—checking whether an agent can write "Hello, world" into
134
142
  +Hello, world
135
143
  ```
136
144
 
137
- - `verification_test.rb`: a Ruby test that grades the solution (pass → 1, fail → 0; for partial credit, write a float in 0.0..1.0 to `$LOGS/reward.txt` instead). We use Minitest:
145
+ - `verification_test.rb`: a Ruby test that grades the solution (pass → 1, fail → 0; for partial credit, write a float in 0.0..1.0 to `$LOGS/reward.txt` instead). A check worth recording but not grading goes into `allow_failure { ... }` (`include LemansReport::Assertions`): a failed assertion inside lands in `checks.json` as `fail (allowed)` with its message and leaves the reward alone, while errors and skips stay hard failures. We use Minitest:
138
146
 
139
147
  ```ruby
140
148
  require "minitest/autorun"
@@ -162,6 +170,8 @@ verifier:
162
170
 
163
171
  An `environment.patch` next to `instruction.md` is always applied, declared or not.
164
172
 
173
+ A heavy task may need more than the bench-wide budgets: a `bench.yml` in the task directory is deep-merged over the bench's (as if it had `inherit_from` pointing at it) and applies to that task's trials only — say, `agent: { timeout: 2h, step_limit: 300 }`.
174
+
165
175
  ### 3. Set credentials
166
176
 
167
177
  ```bash
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Miniswen
4
- VERSION = "1.1.0"
4
+ VERSION = "1.2.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miniswen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svyatoslav Kryukov