From 6630ef85f9fe71d1e2fd37f6e9c4d4b60605aa37 Mon Sep 17 00:00:00 2001 From: Kerry He Date: Fri, 5 Dec 2025 17:26:37 +0000 Subject: [PATCH 1/2] Added prompting as config --- hive.yaml | 4 ++++ src/hive_cli/config.py | 18 ++++++++++++++++-- src/hive_cli/platform/k8s.py | 10 +++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/hive.yaml b/hive.yaml index 35ef89d..f7dda4a 100644 --- a/hive.yaml +++ b/hive.yaml @@ -23,6 +23,10 @@ sandbox: - name: foo value: bar prompt: + context: foo + ideas: + - foo + - bar enable_evolution: false provider: gcp: diff --git a/src/hive_cli/config.py b/src/hive_cli/config.py index 623266d..440abfa 100644 --- a/src/hive_cli/config.py +++ b/src/hive_cli/config.py @@ -69,7 +69,18 @@ class SandboxConfig(BaseModel): class PromptConfig(BaseModel): - enable_evolution: bool = False + context: str = Field( + default="", + description="Some useful experiment-specific context to provide to the Hive.", + ) + ideas: list[str] = Field( + default_factory=list, + description="A list of ideas which will be randomly sampled to inject into the Hive.", + ) + enable_evolution: bool = Field( + default=False, + description="Whether to enable evolution for the experiment. Default to False.", + ) class RepoConfig(BaseModel): @@ -163,7 +174,10 @@ class HiveConfig(BaseModel): default_factory=SandboxConfig, description="Sandbox configuration for the experiment.", ) - prompt: Optional[PromptConfig] = None + prompt: PromptConfig = Field( + default_factory=PromptConfig, + description="Prompt configuration for the experiment.", + ) # vendor configuration provider: ProviderConfig = Field( diff --git a/src/hive_cli/platform/k8s.py b/src/hive_cli/platform/k8s.py index 933597d..f9cb486 100644 --- a/src/hive_cli/platform/k8s.py +++ b/src/hive_cli/platform/k8s.py @@ -272,12 +272,12 @@ def construct_experiment(name: str, namespace: str, config: HiveConfig) -> dict: "numAgents": config.runtime.num_agents, "maxRuntimeSeconds": config.runtime.max_runtime_seconds, }, + "prompt": { + "context": config.prompt.context, + "ideas": config.prompt.ideas, + "enableEvolution": config.prompt.enable_evolution, + } }, } - if config.prompt: - result["spec"]["prompt"] = { - "enableEvolution": config.prompt.enable_evolution, - } - return result From 69ada2517aca4091406d32ac66d0e4be278277e5 Mon Sep 17 00:00:00 2001 From: Kerry He Date: Mon, 8 Dec 2025 11:43:53 +0000 Subject: [PATCH 2/2] Made arguments optional --- src/hive_cli/config.py | 13 +++++-------- src/hive_cli/platform/k8s.py | 12 +++++++----- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/hive_cli/config.py b/src/hive_cli/config.py index 33d1d41..dfc155b 100644 --- a/src/hive_cli/config.py +++ b/src/hive_cli/config.py @@ -69,12 +69,12 @@ class SandboxConfig(BaseModel): class PromptConfig(BaseModel): - context: str = Field( - default="", + context: Optional[str] = Field( + default=None, description="Some useful experiment-specific context to provide to the Hive.", ) - ideas: list[str] = Field( - default_factory=list, + ideas: Optional[list[str]] = Field( + default=None, description="A list of ideas which will be randomly sampled to inject into the Hive.", ) enable_evolution: bool = Field( @@ -179,10 +179,7 @@ class HiveConfig(BaseModel): default_factory=SandboxConfig, description="Sandbox configuration for the experiment.", ) - prompt: PromptConfig = Field( - default_factory=PromptConfig, - description="Prompt configuration for the experiment.", - ) + prompt: Optional[PromptConfig] = None # vendor configuration provider: ProviderConfig = Field( diff --git a/src/hive_cli/platform/k8s.py b/src/hive_cli/platform/k8s.py index e6ca3f1..303a125 100644 --- a/src/hive_cli/platform/k8s.py +++ b/src/hive_cli/platform/k8s.py @@ -273,12 +273,14 @@ def construct_experiment(name: str, namespace: str, config: HiveConfig) -> dict: "maxRuntimeSeconds": config.runtime.max_runtime_seconds, "maxIterations": config.runtime.max_iterations, }, - "prompt": { - "context": config.prompt.context, - "ideas": config.prompt.ideas, - "enableEvolution": config.prompt.enable_evolution, - } }, } + if config.prompt: + result["spec"]["prompt"] = { + "enableEvolution": config.prompt.enable_evolution, + "context": config.prompt.context, + "ideas": config.prompt.ideas, + } + return result