|
@@ -139,18 +139,6 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
prompt_resolver = SnapshotRoleSystemPromptResolver(
|
|
prompt_resolver = SnapshotRoleSystemPromptResolver(
|
|
|
dependencies.bindings, dependencies.input_snapshots
|
|
dependencies.bindings, dependencies.input_snapshots
|
|
|
)
|
|
)
|
|
|
- coordinator = wire_orchestration(
|
|
|
|
|
- dependencies.runner,
|
|
|
|
|
- dependencies.task_store,
|
|
|
|
|
- dependencies.framework_artifact_store,
|
|
|
|
|
- dependencies.orchestration_config,
|
|
|
|
|
- dependencies.event_sink,
|
|
|
|
|
- validation_policy=ScriptBuildValidationPolicy(),
|
|
|
|
|
- deterministic_validator=ScriptBuildDeterministicValidator(),
|
|
|
|
|
- evidence_provider=evidence_provider,
|
|
|
|
|
- role_run_config_resolver=model_resolver,
|
|
|
|
|
- role_system_prompt_resolver=prompt_resolver,
|
|
|
|
|
- )
|
|
|
|
|
contract_store = dependencies.task_contract_store
|
|
contract_store = dependencies.task_contract_store
|
|
|
if contract_store is None:
|
|
if contract_store is None:
|
|
|
data_root = dependencies.agent_data_root
|
|
data_root = dependencies.agent_data_root
|
|
@@ -177,14 +165,6 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
bindings=dependencies.bindings,
|
|
bindings=dependencies.bindings,
|
|
|
accepted_inputs=accepted_inputs,
|
|
accepted_inputs=accepted_inputs,
|
|
|
)
|
|
)
|
|
|
- planning_service = PhaseTwoPlanningService(
|
|
|
|
|
- coordinator=coordinator,
|
|
|
|
|
- bindings=dependencies.bindings,
|
|
|
|
|
- contracts=contract_store,
|
|
|
|
|
- artifacts=dependencies.business_artifacts,
|
|
|
|
|
- closure_gate=boundary_verifier,
|
|
|
|
|
- limits=dependencies.phase_two_limits,
|
|
|
|
|
- )
|
|
|
|
|
candidate_service = PhaseTwoCandidateService(
|
|
candidate_service = PhaseTwoCandidateService(
|
|
|
bindings=dependencies.bindings,
|
|
bindings=dependencies.bindings,
|
|
|
task_store=dependencies.task_store,
|
|
task_store=dependencies.task_store,
|
|
@@ -198,12 +178,35 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
max_image_bytes=dependencies.max_image_bytes,
|
|
max_image_bytes=dependencies.max_image_bytes,
|
|
|
max_total_image_bytes=dependencies.max_total_image_bytes,
|
|
max_total_image_bytes=dependencies.max_total_image_bytes,
|
|
|
)
|
|
)
|
|
|
- planning_service.workspace_lifecycle = candidate_service
|
|
|
|
|
root_delivery = RootDeliveryService(
|
|
root_delivery = RootDeliveryService(
|
|
|
bindings=dependencies.bindings,
|
|
bindings=dependencies.bindings,
|
|
|
task_store=dependencies.task_store,
|
|
task_store=dependencies.task_store,
|
|
|
artifacts=dependencies.business_artifacts,
|
|
artifacts=dependencies.business_artifacts,
|
|
|
)
|
|
)
|
|
|
|
|
+ coordinator = wire_orchestration(
|
|
|
|
|
+ dependencies.runner,
|
|
|
|
|
+ dependencies.task_store,
|
|
|
|
|
+ dependencies.framework_artifact_store,
|
|
|
|
|
+ dependencies.orchestration_config,
|
|
|
|
|
+ dependencies.event_sink,
|
|
|
|
|
+ validation_policy=ScriptBuildValidationPolicy(),
|
|
|
|
|
+ deterministic_validator=ScriptBuildDeterministicValidator(
|
|
|
|
|
+ candidates=candidate_service,
|
|
|
|
|
+ root_delivery=root_delivery,
|
|
|
|
|
+ ),
|
|
|
|
|
+ evidence_provider=evidence_provider,
|
|
|
|
|
+ role_run_config_resolver=model_resolver,
|
|
|
|
|
+ role_system_prompt_resolver=prompt_resolver,
|
|
|
|
|
+ )
|
|
|
|
|
+ planning_service = PhaseTwoPlanningService(
|
|
|
|
|
+ coordinator=coordinator,
|
|
|
|
|
+ bindings=dependencies.bindings,
|
|
|
|
|
+ contracts=contract_store,
|
|
|
|
|
+ artifacts=dependencies.business_artifacts,
|
|
|
|
|
+ closure_gate=boundary_verifier,
|
|
|
|
|
+ limits=dependencies.phase_two_limits,
|
|
|
|
|
+ )
|
|
|
|
|
+ planning_service.workspace_lifecycle = candidate_service
|
|
|
transition_gate = BuildTransitionGate()
|
|
transition_gate = BuildTransitionGate()
|
|
|
direction_reconciler = DirectionReconciler(
|
|
direction_reconciler = DirectionReconciler(
|
|
|
coordinator=coordinator,
|
|
coordinator=coordinator,
|
|
@@ -324,6 +327,8 @@ def compose_host(dependencies: HostDependencies) -> HostComposition:
|
|
|
legacy_projection=dependencies.legacy_projection,
|
|
legacy_projection=dependencies.legacy_projection,
|
|
|
legacy_api=dependencies.legacy_api,
|
|
legacy_api=dependencies.legacy_api,
|
|
|
http_command_journal=dependencies.http_command_journal,
|
|
http_command_journal=dependencies.http_command_journal,
|
|
|
|
|
+ task_contract_store=contract_store,
|
|
|
|
|
+ input_snapshots=dependencies.input_snapshots,
|
|
|
)
|
|
)
|
|
|
return HostComposition(
|
|
return HostComposition(
|
|
|
app=app,
|
|
app=app,
|