multica-ai/multica · error
skill bundle missing after resolve: skill_id=%s source=%s ha
Error message
skill bundle missing after resolve: skill_id=%s source=%s hash=%s
What it means
Error "skill bundle missing after resolve: skill_id=%s source=%s hash=%s" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/daemon.go:5907
if err != nil {
// Name the skill, its declared size, and how long we actually
// waited. The bare "resolve skill bundles: context deadline
// exceeded" this replaced was indistinguishable from a generic
// network fault, and cost a community thread three hours of
// guesswork (MUL-5370): size + elapsed separate "this bundle is
// too big for the link" from "the link is dead".
return fmt.Errorf("%w: skill %q (id=%s, %d bytes) after %s: %w",
errSkillBundleUnavailable, ref.Name, ref.ID, ref.SizeBytes,
time.Since(started).Round(time.Millisecond), err)
}
resolved[skillRefKey(bundle.Source, bundle.ID)] = bundle
}
skills := make([]SkillData, 0, len(task.Agent.SkillRefs))
for _, ref := range task.Agent.SkillRefs {
bundle, ok := resolved[skillRefKey(ref.Source, ref.ID)]
if !ok {
return fmt.Errorf("skill bundle missing after resolve: skill_id=%s source=%s hash=%s", ref.ID, ref.Source, ref.Hash)
}
skills = append(skills, bundle)
}
task.Agent.Skills = skills
return nil
}
// resolveSkillBundle downloads one skill bundle and writes it to the on-disk
// cache before returning. The request runs under its own deadline, scaled to
// the bundle's declared size rather than the daemon's fixed 30s control-plane
// timeout, so a large bundle on a slow link is given room to finish instead of
// being cut off mid-body. Caching on success is what lets the resolve converge
// across dispatches. (GitHub #4505 / MUL-3650)
func (d *Daemon) resolveSkillBundle(ctx context.Context, task *Task, ref SkillRefData) (SkillData, error) {
reqCtx, cancel := context.WithTimeout(ctx, skillBundleResolveTimeout(ref.SizeBytes))
defer cancel()
bundle, err := d.client.ResolveSkillBundle(reqCtx, task.RuntimeID, task.ID, ref)View on GitHub (pinned to 2c0912b6ec)
Solutions
- Clear the skill bundle cache and retry; the bundle resolution failed to persist.
When it happens
Trigger: Thrown at server/internal/daemon/daemon.go:5907 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/4b3b67e2e1edb6db.
Report an issue: GitHub.