{"record":{"id":"ba650b884c403703","repo":"multica-ai/multica","slug":"s-must-be-an-absolute-path-ba650b","errorCode":null,"errorMessage":"%s must be an absolute path","messagePattern":"(.+?) must be an absolute path","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/internal/cli/config.go","lineNumber":265,"sourceCode":"\t\t}\n\t}\n\tif profile == \"\" {\n\t\tif taskLocal {\n\t\t\treturn root, nil\n\t\t}\n\t\treturn filepath.Join(root, \".multica\"), nil\n\t}\n\tif taskLocal {\n\t\treturn filepath.Join(root, \"profiles\", profile), nil\n\t}\n\treturn filepath.Join(root, \".multica\", \"profiles\", profile), nil\n}\n\nfunc multicaConfigRoot() (root string, taskLocal bool, err error) {\n\tif rawRoot := strings.TrimSpace(os.Getenv(TaskConfigRootEnv)); rawRoot != \"\" {\n\t\troot := filepath.Clean(rawRoot)\n\t\tif !filepath.IsAbs(root) {\n\t\t\treturn \"\", false, fmt.Errorf(\"%s must be an absolute path\", TaskConfigRootEnv)\n\t\t}\n\t\treturn root, true, nil\n\t}\n\thome, err := os.UserHomeDir()\n\tif err != nil {\n\t\treturn \"\", false, err\n\t}\n\treturn home, false, nil\n}\n\nfunc validateTaskLocalProfile(profile string) error {\n\tif profile == \"\" {\n\t\treturn nil\n\t}\n\tif profile == \".\" || profile == \"..\" || filepath.IsAbs(profile) || strings.ContainsAny(profile, `/\\\\`) || filepath.Clean(profile) != profile {\n\t\treturn fmt.Errorf(\"invalid task-local Multica profile name %q\", profile)\n\t}\n\treturn nil","sourceCodeStart":247,"sourceCodeEnd":283,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/cli/config.go#L247-L283","documentation":"Error \"%s must be an absolute path\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/cli/config.go:265 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the path to an absolute path."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}