{"slug": "pact", "name": "Pact", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 2.477, "rising": -0.98, "first": "2025-12-22", "latest": "2026-01-18", "why": "I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 0, "compare": 0, "warn": 0}, "spark": [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs", "kind": "", "icon": true, "domain": "pact.io", "github_repo": null, "official_url": "https://pact.io/", "pricing": "", "aliases": ["Pact", "PACT"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 746804768, "item_id": 46675298, "url": "https://news.ycombinator.com/item?id=46675298", "by": "__MatrixMan__", "date": "2026-01-18", "version": null, "stance": "recommend", "quote": "you can use contract testing (e.g. https://docs.pact.io/)", "excerpt": "I like to generate clients with type hints based on an openapi spec so that if the spec changes, the clients get regenerated, and then the type checker squawks if any code is impacted by the spec change. There are also openapi spec validators to catch spec problems up front. And you can use contract testing (e.g. https://docs.pact.io/) to replay your client tests (with a mocked server) against the server (with mocked", "context": "", "use_case": "API contract testing", "switched_from": "", "story": "Don't Waste Your Back Pressure"}, {"id": 742034096, "item_id": 46377131, "url": "https://news.ycombinator.com/item?id=46377131", "by": "konart", "date": "2025-12-24", "version": null, "stance": "recommend", "quote": "I feel like https://pact.io is more appropriate link, no?", "excerpt": "I feel like https://pact.io is more appropriate link, no?", "context": "", "use_case": "Contract testing", "switched_from": "", "story": "Scaling Go Testing with Contract and Scenario Mocks"}, {"id": 742032304, "item_id": 46377019, "url": "https://news.ycombinator.com/item?id=46377019", "by": "isuckatcoding", "date": "2025-12-24", "version": null, "stance": "recommend", "quote": "Wow a full post about contract testing without mentioning pact", "excerpt": "Wow a full post about contract testing without mentioning pact https://pactflow.io/", "context": "", "use_case": "", "switched_from": "", "story": "Scaling Go Testing with Contract and Scenario Mocks"}, {"id": 741786289, "item_id": 46361643, "url": "https://news.ycombinator.com/item?id=46361643", "by": "__MatrixMan__", "date": "2025-12-22", "version": null, "stance": "recommend", "quote": "I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs", "excerpt": "Its not even a POC at this point, just a readme and a sandbox for testing it while I work on it. But you might find the readme interesting: https://github.com/MatrixManAtYrService/poag I'm especially pleased with how explicit it makes the inner dependency graph. Today I'm tinkering with pact (https://docs.pact.io/). I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs (s", "context": "", "use_case": "Consumer-driven contract testing", "switched_from": "", "story": "Scaling LLMs to Larger Codebases"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["api contract testing", "contract testing", "consumer-driven contract testing"], "compared": [], "makers": [{"id": 763935552, "item_id": 47745972, "url": "https://news.ycombinator.com/item?id=47745972", "by": "sammacg", "date": "2026-04-12", "version": null, "stance": "recommend", "quote": "I'm working on my Pact app. A shared habit tracker.", "excerpt": "I'm working on my Pact app. A shared habit tracker. I need positive social pressure to stick to good habits. This helps me a lot. You commit to a habit, invite your friends to join, and keep each other accountable. Little square for each day/week fills up depending on how many members of the Pact completed it. Streaks are dependent on everyone in the pact completing. https://apps.apple.com/us/app/pact-accountability/", "context": "", "use_case": "shared habit accountability", "switched_from": "", "story": "Ask HN: What Are You Working On? (April 2026)"}, {"id": 734860497, "item_id": 45928781, "url": "https://news.ycombinator.com/item?id=45928781", "by": "neurobloom", "date": "2025-11-14", "version": null, "stance": "neutral", "quote": "Just released pact-langchain v0.1.0", "excerpt": "Just released pact-langchain v0.1.0 - a LangChain memory system that tracks emotional context alongside conversation history. Background: 25 years in behavioral science. Built this because AI conversations often miss emotional nuance. When users say \"I'm frustrated,\" most systems just store the text without understanding the emotional state that shapes the conversation. PACT adds emotional intelligence to LangChain's", "context": "", "use_case": "Emotional memory for LangChain", "switched_from": "", "story": "LangChain Memory and Emotional Intelligence....pact-hx...pact-langchain"}], "threads": [{"url": "https://news.ycombinator.com/item?id=46316295", "title": "Scaling Go Testing with Contract and Scenario Mocks", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47741527", "title": "Ask HN: What Are You Working On? (April 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46656897", "title": "Don't Waste Your Back Pressure", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46354970", "title": "Scaling LLMs to Larger Codebases", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45928780", "title": "LangChain Memory and Emotional Intelligence....pact-hx...pact-langchain", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"recommend": 3}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 746804768, "item_id": 46675298, "url": "https://news.ycombinator.com/item?id=46675298", "by": "__MatrixMan__", "date": "2026-01-18", "version": null, "stance": "recommend", "quote": "you can use contract testing (e.g. https://docs.pact.io/)", "excerpt": "I like to generate clients with type hints based on an openapi spec so that if the spec changes, the clients get regenerated, and then the type checker squawks if any code is impacted by the spec change. There are also openapi spec validators to catch spec problems up front. And you can use contract testing (e.g. https://docs.pact.io/) to replay your client tests (with a mocked server) against the server (with mocked", "context": "", "use_case": "API contract testing", "switched_from": "", "story": "Don't Waste Your Back Pressure"}, {"id": 742034096, "item_id": 46377131, "url": "https://news.ycombinator.com/item?id=46377131", "by": "konart", "date": "2025-12-24", "version": null, "stance": "recommend", "quote": "I feel like https://pact.io is more appropriate link, no?", "excerpt": "I feel like https://pact.io is more appropriate link, no?", "context": "", "use_case": "Contract testing", "switched_from": "", "story": "Scaling Go Testing with Contract and Scenario Mocks"}, {"id": 742032304, "item_id": 46377019, "url": "https://news.ycombinator.com/item?id=46377019", "by": "isuckatcoding", "date": "2025-12-24", "version": null, "stance": "recommend", "quote": "Wow a full post about contract testing without mentioning pact", "excerpt": "Wow a full post about contract testing without mentioning pact https://pactflow.io/", "context": "", "use_case": "", "switched_from": "", "story": "Scaling Go Testing with Contract and Scenario Mocks"}, {"id": 741786289, "item_id": 46361643, "url": "https://news.ycombinator.com/item?id=46361643", "by": "__MatrixMan__", "date": "2025-12-22", "version": null, "stance": "recommend", "quote": "I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs", "excerpt": "Its not even a POC at this point, just a readme and a sandbox for testing it while I work on it. But you might find the readme interesting: https://github.com/MatrixManAtYrService/poag I'm especially pleased with how explicit it makes the inner dependency graph. Today I'm tinkering with pact (https://docs.pact.io/). I like that I'm forced to add the pact contracts generated during consumer testing as flake outputs (s", "context": "", "use_case": "Consumer-driven contract testing", "switched_from": "", "story": "Scaling LLMs to Larger Codebases"}]}