{"record":{"id":"7ebf2ccb6a567fe6","repo":"jackwener/OpenCLI","slug":"no-openreview-submissions-found-for-profile-pro","errorCode":null,"errorMessage":"No OpenReview submissions found for profile \"${profile}\". Confirm the id format (~First_LastN) and that the profile has public submissions.","messagePattern":"No OpenReview submissions found for profile \"(.+?)\"\\. Confirm the id format \\(~First_LastN\\) and that the profile has public submissions\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/openreview/author.js","lineNumber":40,"sourceCode":"    name: 'author',\n    access: 'read',\n    description: 'List OpenReview submissions by an author profile id (newest first)',\n    domain: 'openreview.net',\n    strategy: Strategy.PUBLIC,\n    browser: false,\n    args: [\n        { name: 'profile', positional: true, required: true, help: 'OpenReview profile id (e.g. \"~Yoshua_Bengio1\"). Find it on the author profile URL on openreview.net.' },\n        { name: 'limit', type: 'int', default: 50, help: 'Max submissions (1-1000)' },\n    ],\n    columns: ['rank', 'id', 'title', 'authors', 'venue', 'pdate', 'url'],\n    func: async (args) => {\n        const profile = requireProfileId(args.profile);\n        const limit = requireBoundedInt(args.limit, 50, 1000);\n        const path = `/notes?content.authorids=${encodeURIComponent(profile)}&limit=${limit}&sort=cdate:desc`;\n        const json = await openreviewFetch(path, `openreview author ${profile}`);\n        const notes = Array.isArray(json?.notes) ? json.notes : [];\n        if (!notes.length) {\n            throw new EmptyResultError(\n                'openreview author',\n                `No OpenReview submissions found for profile \"${profile}\". Confirm the id format (~First_LastN) and that the profile has public submissions.`,\n            );\n        }\n        return notes.slice(0, limit).map((note, i) => {\n            const row = noteToRow(note);\n            return {\n                rank: i + 1,\n                id: row.id,\n                title: row.title,\n                authors: row.authors,\n                venue: row.venue,\n                pdate: row.pdate,\n                url: row.url,\n            };\n        });\n    },\n});","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/openreview/author.js#L22-L58","documentation":"The openreview author command fetches submissions for a given author profile id via the OpenReview API. If the API returns no notes array (or an empty one), the command throws EmptyResultError with guidance about the ~First_LastN profile id format, since a wrong id format is the most common cause of empty results.","triggerScenarios":"openreviewFetch('/notes?content.authorids=...') succeeds but json.notes is missing or empty — i.e. the API returned zero notes for that authorids filter.","commonSituations":"Profile id not in ~First_LastN format (e.g. using an email or display name); numeric suffix wrong or missing when authors share a name; profile has no public submissions (e.g. desk-rejected or withdrawn); typo or changed OpenReview id (v1 vs v2 API ids).","solutions":["Verify the exact profile id on openreview.net (visit the profile page and copy the ~First_LastN id)","Append/adjust the numeric disambiguation suffix if the author name is common (~Jane_Doe1 vs ~Jane_Doe2)","Check on openreview.net that the profile actually has publicly visible submissions","Increase --limit if you suspect results beyond the current cap (max 1000)","Test the id directly against the API URL /notes?content.authorids=<id> to confirm the response"],"exampleFix":"// before\nconst json = await openreviewFetch(`/notes?content.authorids=${profile}&limit=${limit}`);\n// after (verify profile id format first)\nif (!/^~[A-Za-z]+_[A-Za-z]+\\d*$/.test(profile)) {\n    throw new ArgumentError(`Profile id \"${profile}\" does not match ~First_LastN format`);\n}\nconst json = await openreviewFetch(`/notes?content.authorids=${encodeURIComponent(profile)}&limit=${limit}`);","handlingStrategy":"try-catch","validationCode":"if (typeof profile !== 'string' || !/^~[A-Za-z]+_[A-Za-z]+\\d*$/.test(profile.trim())) {\n    throw new Error(`Profile id must match ~First_LastN format, got: ${profile}`);\n}","typeGuard":"function isValidProfileId(v) {\n    return typeof v === 'string' && /^~[A-Za-z]+_[A-Za-z]+\\d*$/.test(v.trim());\n}","tryCatchPattern":"try {\n    const notes = await authorCommand({ profile: '~Jane_Doe1', limit: 50 });\n} catch (err) {\n    if (err instanceof EmptyResultError) {\n        console.error('No submissions; verify the ~First_LastN id on openreview.net.');\n    } else {\n        throw err;\n    }\n}","preventionTips":["Copy profile ids exactly from the openreview.net profile URL","Include the numeric suffix when the author name is common","Confirm the profile has public submissions before querying","Sanity-check the id against /notes?content.authorids=<id> in a browser"],"tags":["empty-result","api-response","openreview","query"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T17:17:51.833Z"}