Compare commits

..

No commits in common. "37c44a7942776ce43d21f0aa55e55006de1aa6a4" and "88b91a2c5599af26c3f19fc8e1aaa3fe8e4cac19" have entirely different histories.

4 changed files with 13 additions and 9 deletions

View File

@ -27,7 +27,7 @@ Protocol に外部 API として載せる段階ではない。まず Worker 内
- Worker 内部に reusable internal worker runner を追加する。 - Worker 内部に reusable internal worker runner を追加する。
- runner は少なくとも次を受け取れる。 - runner は少なくとも次を受け取れる。
- slug / name。 - purpose / name。
- system prompt。 - system prompt。
- initial user input。 - initial user input。
- tool definitions / limited tool registry。 - tool definitions / limited tool registry。

View File

@ -11,12 +11,16 @@ root = ".yoi/tickets"
[ticket.roles.intake] [ticket.roles.intake]
profile = "builtin:intake" profile = "builtin:intake"
workflow = "ticket-intake-workflow"
[ticket.roles.orchestrator] [ticket.roles.orchestrator]
profile = "builtin:orchestrator" profile = "builtin:orchestrator"
workflow = "ticket-orchestrator-routing"
[ticket.roles.coder] [ticket.roles.coder]
profile = "builtin:coder" profile = "builtin:coder"
workflow = "multi-agent-workflow"
[ticket.roles.reviewer] [ticket.roles.reviewer]
profile = "builtin:reviewer" profile = "builtin:reviewer"
workflow = "multi-agent-workflow"

View File

@ -14,8 +14,8 @@ use llm_engine::{Engine, EngineError};
/// Specification for a single internal worker run. /// Specification for a single internal worker run.
pub(crate) struct InternalWorkerSpec { pub(crate) struct InternalWorkerSpec {
/// Stable slug for audit/debug/future persistence metadata. /// Stable purpose label for audit/debug/persistence metadata.
pub slug: &'static str, pub purpose: &'static str,
/// System prompt for the isolated engine. /// System prompt for the isolated engine.
pub system_prompt: String, pub system_prompt: String,
/// Initial user input for the isolated engine. /// Initial user input for the isolated engine.
@ -33,7 +33,7 @@ pub(crate) struct InternalWorkerSpec {
/// Result metadata for an internal worker run. /// Result metadata for an internal worker run.
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]
pub(crate) struct InternalWorkerRunResult { pub(crate) struct InternalWorkerRunResult {
pub slug: &'static str, pub purpose: &'static str,
/// Last usage event observed for this internal run. /// Last usage event observed for this internal run.
pub usage: Option<UsageEvent>, pub usage: Option<UsageEvent>,
} }
@ -41,7 +41,7 @@ pub(crate) struct InternalWorkerRunResult {
/// Error metadata for an internal worker run. /// Error metadata for an internal worker run.
#[derive(Debug)] #[derive(Debug)]
pub(crate) struct InternalWorkerRunError { pub(crate) struct InternalWorkerRunError {
pub slug: &'static str, pub purpose: &'static str,
pub source: EngineError, pub source: EngineError,
/// Last usage event observed before the failure, if any. /// Last usage event observed before the failure, if any.
pub usage: Option<UsageEvent>, pub usage: Option<UsageEvent>,
@ -52,7 +52,7 @@ pub(crate) async fn run_internal_worker(
spec: InternalWorkerSpec, spec: InternalWorkerSpec,
) -> Result<InternalWorkerRunResult, InternalWorkerRunError> { ) -> Result<InternalWorkerRunResult, InternalWorkerRunError> {
let InternalWorkerSpec { let InternalWorkerSpec {
slug, purpose,
system_prompt, system_prompt,
input, input,
client, client,
@ -82,9 +82,9 @@ pub(crate) async fn run_internal_worker(
.clone(); .clone();
match run_result { match run_result {
Ok(_output) => Ok(InternalWorkerRunResult { slug, usage }), Ok(_output) => Ok(InternalWorkerRunResult { purpose, usage }),
Err(source) => Err(InternalWorkerRunError { Err(source) => Err(InternalWorkerRunError {
slug, purpose,
source, source,
usage, usage,
}), }),

View File

@ -3133,7 +3133,7 @@ impl<C: LlmClient, St: Store> Worker<C, St> {
let ctx = Arc::new(extract::ExtractWorkerContext::new()); let ctx = Arc::new(extract::ExtractWorkerContext::new());
let input_text = extract::build_extract_input(&items_to_extract); let input_text = extract::build_extract_input(&items_to_extract);
let internal_result = run_internal_worker(InternalWorkerSpec { let internal_result = run_internal_worker(InternalWorkerSpec {
slug: "memory-extract", purpose: "memory_extract",
system_prompt: extract_system_prompt, system_prompt: extract_system_prompt,
input: input_text, input: input_text,
client, client,