Skip to content

Commit 553e247

Browse files
committed
Make default session preset more diversity-forward
1 parent 4d1bcc4 commit 553e247

5 files changed

Lines changed: 15 additions & 11 deletions

File tree

app/core/schema.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,16 +80,16 @@ class SteeringMode(str, Enum):
8080
class StrategyConfig(BaseModel):
8181
"""Experiment-level strategy choices and tunable parameters."""
8282

83-
sampler: SamplerType = SamplerType.random_local
83+
sampler: SamplerType = SamplerType.exploit_orthogonal
8484
updater: UpdaterType = UpdaterType.winner_average
8585
feedback_mode: FeedbackType = FeedbackType.scalar_rating
86-
seed_policy: SeedPolicy = SeedPolicy.fixed_per_round
86+
seed_policy: SeedPolicy = SeedPolicy.fixed_per_candidate
8787
steering_mode: SteeringMode = SteeringMode.low_dimensional
88-
steering_dimension: int = Field(default=3, ge=1, le=16)
88+
steering_dimension: int = Field(default=5, ge=1, le=16)
8989
candidate_count: int = Field(default=5, ge=1, le=12)
9090
image_size: str = "512x512"
91-
trust_radius: float = Field(default=0.35, gt=0.0, le=1.0)
92-
anchor_strength: float = Field(default=0.35, ge=0.0, le=2.0)
91+
trust_radius: float = Field(default=0.55, gt=0.0, le=1.0)
92+
anchor_strength: float = Field(default=0.7, ge=0.0, le=2.0)
9393
guidance_scale: float = Field(default=7.5, gt=0.0, le=20.0)
9494
num_inference_steps: int = Field(default=15, ge=1, le=100)
9595
model_name: str = "runwayml/stable-diffusion-v1-5"

app/frontend/templates/setup.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ <h1>Start from your text prompt</h1>
5353
<p class="hint">All per-session strategy values live in this YAML document. Edit it before creating a session, or reload the default template.</p>
5454
<div class="soft-callout">
5555
<strong>Good first-run defaults</strong>
56-
<p>Leave the YAML as-is, generate the first round, then use the visible feedback mode controls to guide the next round.</p>
56+
<p>Leave the YAML as-is for a more diversity-forward first round, then use the visible feedback mode controls to guide the search toward the direction you prefer.</p>
5757
</div>
5858
<div class="actions">
5959
<button class="button secondary" type="button" id="reload-config-button" title="Replace your edits with the backend's default YAML template.">Reload default YAML</button>

tests/e2e/app.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ test.describe("StableSteering browser flow", () => {
114114
await editor.fill("candidate_count: 2");
115115
await page.getByRole("button", { name: "Reload default YAML" }).click();
116116
await expect(editor).toContainText("candidate_count: 5");
117-
await expect(editor).toContainText("sampler: random_local");
117+
await expect(editor).toContainText("sampler: exploit_orthogonal");
118+
await expect(editor).toContainText("seed_policy: fixed-per-candidate");
118119
});
119120

120121
test("setup page shows a clear validation error after a broken YAML edit", async ({ page }) => {

tests/test_config_yaml.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
def test_render_strategy_config_yaml_uses_current_defaults() -> None:
99
rendered = render_strategy_config_yaml()
1010
assert "candidate_count: 5" in rendered
11-
assert "steering_dimension: 3" in rendered
12-
assert "sampler: random_local" in rendered
11+
assert "steering_dimension: 5" in rendered
12+
assert "sampler: exploit_orthogonal" in rendered
13+
assert "seed_policy: fixed-per-candidate" in rendered
14+
assert "trust_radius: 0.55" in rendered
15+
assert "anchor_strength: 0.7" in rendered
1316
assert "feedback_mode: scalar_rating" in rendered
1417
assert "guidance_scale: 7.5" in rendered
1518
assert "num_inference_steps: 15" in rendered

tests/test_session_lifecycle.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ def test_session_lifecycle_round_feedback_round(client) -> None:
103103
assert len(round_payload["candidate_metadata"]) == 4
104104
baseline = round_payload["candidate_metadata"][0]
105105
assert baseline["sampler_role"] == "baseline_prompt"
106-
assert baseline["z"] == [0.0, 0.0, 0.0]
106+
assert baseline["z"] == [0.0 for _ in range(5)]
107107
assert baseline["generation_params"]["baseline_prompt"] is True
108108
assert baseline["generation_params"]["steering_applied"] is False
109109
exploratory_candidates = round_payload["candidate_metadata"][1:]
@@ -131,7 +131,7 @@ def test_session_lifecycle_round_feedback_round(client) -> None:
131131
)
132132
assert feedback.status_code == 200
133133
next_state = feedback.json()["next_incumbent_state"]
134-
assert next_state != [0.0, 0.0, 0.0]
134+
assert next_state != [0.0 for _ in range(5)]
135135

136136
round_two = client.post(f"/sessions/{session_id}/rounds/next")
137137
assert round_two.status_code == 200

0 commit comments

Comments
 (0)