Prismic.predicates crashes with existing fields

Then you need to use GraphQuery to specify the field that you wanna retrieve. GraphQuery is an API option that uses GraphQL syntax and it's considered to be Fetchlinks V2. It helps you do selective fetching with more detail.

What would a query using GraphQL look like? I've tried the following:

const mySuperGraphQuery = `{
                article {
                    article_authors {
                        author
                    }

                }
            }`;
            const document2 = await $prismic.api.query(
                [
                    $prismic.predicates.at('document.type', 'article'),
                    $prismic.predicates.fulltext('article_authors.author.uid', 'my_author_uid'),
                ],
                {
                    orderings: '[document.last_publication_date desc]',
                    graphQuery: mySuperGraphQuery,
                    fetchLinks: ['author.author_name', 'author.author_position'],
                },
            );

and the query crashes.

GraphQuery uses GraphQL syntax, but please note that it is not GraphQL.

As you can see in the GraphQuery guide, you needed to use the proper spacing for it to work. Before using the query in your project I recommend testing it in the API browser, in the URL

I found the correct GraphQuery to keep the query from crashing:

const mySuperSpecialAwesomeGraphQuery = `{
    article {
        article_authors {
            author {
                author_name
                author_position
            }
        }
    }
}`;

I use this in the following queries:

const document2 = await $prismic.api.query(
    [
        $prismic.predicates.at('document.type', 'article'),
    ],
    {
        orderings: '[document.last_publication_date desc]',
        graphQuery: mySuperSpecialAwesomeGraphQuery,
    },
);

This query runs successfully and appears to work exactly as fetchLinks did. Unfortunately, this includes not being able to filter the results by author_name

const document2 = await $prismic.api.query(
    [
        $prismic.predicates.at('document.type', 'article'),
        $prismic.predicates.fulltext('document', 'my_author_name'),
    ],
    {
        orderings: '[document.last_publication_date desc]',
        graphQuery: mySuperSpecialAwesomeGraphQuery,
    },
);

None of the GraphQuery documentation makes any reference to filtering, it appears to just be a more convoluted version of fetchLinks. What do I need to do to query all documents of the article type that contain a specific author?

Have you tried expanding the size of the response?
The pageSize query option defines the maximum number of documents that the API will return for your query. The default is 20, and the maximum is 100.