Skip to content

Ingest SchedulingMetadata into async scheduler grouping #646

@eric-tramel

Description

@eric-tramel

Priority Level

High

Epic: #645
Depends on: #641
Feeds: #644, #653, #652, #651, #654
Related: #652, #654
Target branch: epic/645-async-scheduling while the epic is active.

Source of Truth

Specification details live in PR #658 under plans/645/, especially architecture.md, contracts.md, task-admission.md, migration-and-cleanup.md, and issue-map.md. This issue tracks the implementation slice and gates only.

Implementation Scope

Bridge generator metadata to scheduler-internal task scheduling inputs.

This issue owns:

  • TaskSchedulingResolver or the final plan-equivalent bridge name.
  • Conversion from resolved SchedulingMetadata into ResolvedTaskScheduling, TaskGroupSpec, SchedulerResourceRequest, and SchedulableTask inputs.
  • Per-run metadata caching and scheduler-owned flow identity appending.
  • Typed fallback behavior for SchedulingMetadataError.
  • Behavior-preserving compatibility tests against current local/model/custom/multi-alias/multi-output scheduling behavior.

This issue must not make TaskAdmissionController inspect generators, configs, provider registries, or model registries directly.

Quality Gates

  • Existing grouping behavior is preserved unless an intentional change is documented in the PR.
  • Scheduler grouping consumes resolved metadata rather than arbitrary config/model-registry introspection.
  • TaskGroupSpec, queue internals, and admission internals remain engine-private.
  • Any is_llm_bound or similar compatibility path is migration-only and removed or folded behind metadata by Remove legacy SchedulingHintResolver after SchedulingMetadata ingestion #653.
  • Tests cover local, model, custom-model, multi-alias, partial fallback, flow identity, and async scheduler task construction.

Validation

Run make check, focused metadata/adapter tests, async scheduler tests, fair queue utility tests, and a startup timing note if metadata resolution becomes nontrivial.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planAgent-assisted development plantaskInternal development task

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions