ADVERTISEMENT

AI and infallibility: A review of Mercy

Published Jan 27, 2026 01:10 pm
Under the guise of a futuristic techno-SciFi thriller, this film’s internal debate is whether artificial intelligence (AI) is good or bad, whether it is infallible or ‘only human’. That sums up my thoughts after watching Mercy, a movie starring Chris Pratt and Rebecca Ferguson, which became the first film to beat Avatar: The Way of Water at the US box office, a feat it achieved over the Jan. 23 weekend. Mercy is showing in our cinemas starting Wednesday, Jan. 28.
A scene from 'Mercy'
A scene from 'Mercy'
Directed by Timur Bekmambetov, with a screenplay from Marco Van Belle, it’s set in 2029 Los Angeles, and could be called a courtroom suspense film, if one factors in how the court is presided over by an AI judge. It’s also filmed in real time, as the defendant has 90 minutes to prove his/her innocence, or he/she is executed - corresponding to the running time of the film. Welcome to the Mercy Capital Court, and to RoboJudge.
Chris Raven (Chris Pratt) is a police officer who was instrumental in the success of the Mercy Capital Court, so there’s a lot of irony when he awakens to find he’s in the court of AI Judge Maddox (Rebecca Ferguson). He’s charged with the murder of his wife, and circumstantial evidence pulled from home cameras and surveillance footage would suggest he is guilty. In the Mercy court, one is presumed guilty and is given 90 minutes to prove one’s innocence. So strapped throughout to the Mercy ‘chair’, we join Chris in his ordeal.
He calls on his daughter’s social media platforms, home surveillance tapes, and even his wife’s logged calls to try to find the missing needle in the haystack that can prove his innocence. As in any court, it’s about evidence, and as the AI Judge, Ferguson is effective, firm but fair, and even experiences technical glitches of her own.
This dependence on found footage is nothing new in the suspense film genre. Sidney Lumet’s The Anderson Tapes of 1971, Pete Travis ' Vantage Point of 2008, and Gavin Hood’s Eye in the Sky of 2015 are just three fine examples of how the device is used in films. In fact, if anything, having Chris Pratt, known for his physicality, strapped to a chair is more of a disadvantage for the film’s narrative. Thankfully, a good percentage of the footage used as evidence has him moving about.
The justice system from an AI angle is what makes this film topical and could, along with Chris Pratt’s presence, be a reason for the film's high interest. It’s expected to fare better this second week, as last week saw so many US theaters close due to heavy snow. Plus, word of mouth will carry the overseas market.
The film is quite self-contained and knows how to put enough twists and unexpected reveals to keep us engrossed. Ferguson delivers the stronger performance, as Pratt, chairbound, is a real acting challenge. There are gaping holes in the plot, and the action showdown at the end feels like a forced, tacked-on sequence, but it’s well-paced for an audience seeking some thrills.
While panned by most critics, this film is off to a strong start and could see success here as well. It does raise concerns about AI, and I can see audiences discussing that theme when leaving the theater. You may just wish the film made a harder choice on where it stands on the subject. Mercy opens in cinemas this week.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.