:exploding_head: Took Claude 45 mins to do > S2...
# maintainers
r
🤯 Took Claude 45 mins to do
S2.5a is done: pact-js's consumer test suites now run on Janus by changing one import, from @pact-foundation/pact to pact-janus/pact. It's three commits on main (ADR 0066, the feature, and the "done" record), not pushed. The Rust workspace, the TypeScript suite (209 tests) and the JVM build all pass.
How it works, as you chose: the facade keeps pact-js's matchers as pact-js's own data. Its builders record the pact_ffi calls pact-js would make, and the engine makes those calls itself, using code ported from pact_ffi. It then converts the result exactly as janus upgrade converts a pact. This arrives as a new protocol operation, consumer-session/add-pact-interaction, rather than a second form of add-interaction: the schema compatibility check refuses relaxing that operation's required member.
The exit: six of pact-js's eight example suites run on the facade: http, matchers, provider-state, graphql, xml and multipart. Each records exactly the contract janus upgrade makes of the pact pact-js wrote, except multipart's boundary. Each provider test also verifies the recorded contract. GraphQL and XML pass outright. The other four fail only on the Content-Type charset, S3.4's known gap, which the upgrade ledger already lists for them. The plugin example is refused by name, and the message example moves to S2.5c.
I think I should become a gardener or maybe a plumber.
👀 1
wow cat 1
I'm so stunned what Claude just did, I feel like I have to go do something else. Like dig a hole.
m
Holshausen's holes. For disenfranchised developers who are ready for an early grave
☝️ 1
r
💯 1
😆 1