                         let path = try container.decode(AbsolutePath?.self, forKey: .path)
                         return try self.init(underlying: .edited(basedOn: basedOn.map { try .init($0) }, unmanagedPath: path))
                     default:
-                        throw InternalError("unknown checkout state \(kind)")
+                        throw StringError("unknown dependency state \(kind)")
                     }
                 }
 

                        let path = try container.decode(AbsolutePath?.self, forKey: .path)
                        return try self.init(underlying: .edited(basedOn: basedOn.map { try .init($0) }, unmanagedPath: path))
                    default:
                        throw InternalError("unknown checkout state \(kind)")
                    }
                }


                        let checksum = try container.decode(String.self, forKey: .checksum)
                        self.init(underlying: .remote(url: url, checksum: checksum))
                    default:
                        throw StringError("unknown artifact source \(kind)")
                    }
                }

