Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"author": {
"name": "J. Andrew McEntire"
},
"repository": "https://github.com/jmcentire/pact",
"repository": "https://github.com/wandercom/pact",
"license": "MIT",
"keywords": [
"contracts",
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Contract-first multi-agent software engineering. Decomposition produces contract
## Quick Reference

```bash
cd ~/Code/pact
cd ~/WanderRepos/repos/pact
python3 -m pytest tests/ -v # Run all tests
pact init <project-dir> # Initialize project
pact init <project-dir> --spec <file> # Initialize from AI-authored JSON/YAML build spec
Expand Down Expand Up @@ -460,7 +460,7 @@ When asked to release, follow these steps exactly. Do NOT install twine or attem

## Kindex Knowledge Graph

A persistent knowledge graph (`kin`) indexes conversations, projects, and intellectual work across all repos. It hooks into Claude Code automatically (SessionStart, PreCompact). Docs: https://jmcentire.github.io/kindex/
A persistent knowledge graph (`kin`) indexes conversations, projects, and intellectual work across all repos. It hooks into Claude Code automatically (SessionStart, PreCompact). Docs: https://wandercom.github.io/kindex/

```bash
kin search "pact contracts" # Hybrid search (FTS + graph)
Expand Down
2 changes: 1 addition & 1 deletion PACT_KEY_STANDARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**Canonical reference for PACT key format and usage across the stack.**

Cross-referenced from: [Sentinel](https://github.com/jmcentire/sentinel), [Cartographer](https://github.com/jmcentire/cartographer)
Cross-referenced from: [Sentinel](https://github.com/wandercom/sentinel), [Cartographer](https://github.com/wandercom/cartographer)

## Format

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**Contracts before code. Tests as law. Agents that can't cheat.**

Website: [pact.tools](https://pact.tools) · Docs: [pact.tools/docs](https://pact.tools/docs/) · Repository: [github.com/jmcentire/pact](https://github.com/jmcentire/pact)
Website: [pact.tools](https://pact.tools) · Docs: [pact.tools/docs](https://pact.tools/docs/) · Repository: [github.com/wandercom/pact](https://github.com/wandercom/pact)

Pact is a multi-agent software engineering framework where the architecture is decided before a single line of implementation is written. Tasks are decomposed into components, each component gets a typed interface contract, and each contract gets executable tests. Only then do agents implement -- independently, in parallel, even competitively -- with no way to ship code that doesn't honor its contract. Generates Python, TypeScript, or JavaScript.

Expand Down Expand Up @@ -40,7 +40,7 @@ Tested on 5 ICPC World Finals competitive programming problems (212 test cases t

Pact's contract-first pipeline solves problems that iterative prompting cannot. On **Trailing Digits** (2020 World Finals), Claude Code scores 31/47 even with 5 retry iterations and full test feedback -- the naive algorithm times out on large inputs. Pact's interview and decomposition phases force upfront mathematical analysis, producing the correct O(log n) approach on the first implementation attempt.

Full results: [icpc_official/RESULTS.md](https://github.com/jmcentire/pact/blob/main/benchmarks/icpc_official/RESULTS.md) in the benchmark directory.
Full results: [icpc_official/RESULTS.md](https://github.com/wandercom/pact/blob/main/benchmarks/icpc_official/RESULTS.md) in the benchmark directory.

## Philosophy: Contracts Are the Product

Expand All @@ -53,7 +53,7 @@ This inverts the traditional relationship between code and tests. Code is cheap
## Quick Start

```bash
git clone https://github.com/jmcentire/pact.git
git clone https://github.com/wandercom/pact.git
cd pact
make
source .venv/bin/activate
Expand Down Expand Up @@ -711,7 +711,7 @@ When adopting or analyzing a codebase, Pact can leverage external tools for rich
| **universal-ctags** | Symbol index (functions, classes, members, scope, signatures) | `brew install universal-ctags` |
| **cscope** | Cross-references and call graph (best for C/C++) | `brew install cscope` |
| **tree-sitter** | Full CST, error-tolerant parsing, cross-language (preferred for Python/TS/JS) | `pip install pact-agents[analysis]` |
| **kindex** | Existing project knowledge from the knowledge graph | [kindex](https://github.com/jmcentire/kindex) |
| **kindex** | Existing project knowledge from the knowledge graph | [kindex](https://github.com/wandercom/kindex) |

Tree-sitter is preferred over cscope for Python, TypeScript, and JavaScript codebases. Both `pact adopt` and green-field workflows benefit -- agents receive enriched context about symbol hierarchies, class structure, and existing project knowledge.

Expand Down Expand Up @@ -802,8 +802,8 @@ the ideas in [Beyond Code: Context, Constraints, and the New Craft of Software](

## Related

- [Baton](https://jmcentire.github.io/baton/) -- Circuit orchestration for contract-first components
- [Sentinel](https://github.com/jmcentire/sentinel) -- Production attribution and contract tightening
- [Baton](https://wandercom.github.io/baton/) -- Circuit orchestration for contract-first components
- [Sentinel](https://github.com/wandercom/sentinel) -- Production attribution and contract tightening

## License

Expand Down
14 changes: 7 additions & 7 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@
<a href="#stack">Stack</a>
<a href="#quickstart">Quick Start</a>
<a href="https://pact.tools" target="_blank" rel="noopener noreferrer">pact.tools</a>
<a href="https://github.com/jmcentire/pact" class="btn btn-outline">GitHub</a>
<a href="https://github.com/wandercom/pact" class="btn btn-outline">GitHub</a>
</div>
</div>
</nav>
Expand All @@ -423,7 +423,7 @@ <h1>Contracts before code.<br><span class="accent">Tests as law.</span></h1>
</p>
<pre style="display: inline-block; text-align: left; margin-bottom: 32px; padding: 16px 32px;"><code><span class="code-cmd">pip install</span> pact-agents</code></pre>
<div class="cta-group">
<a href="https://github.com/jmcentire/pact" class="btn btn-primary">Get Started</a>
<a href="https://github.com/wandercom/pact" class="btn btn-primary">Get Started</a>
<a href="https://pypi.org/project/pact-agents/" class="btn btn-outline">PyPI</a>
<a href="#how-it-works" class="btn btn-outline">See How It Works</a>
</div>
Expand Down Expand Up @@ -662,7 +662,7 @@ <h2>Benchmarked on ICPC World Finals</h2>
Pact's contract pipeline forces the math-first approach and solves it on the first attempt.
</p>
<p style="margin-top: 16px;">
<a href="https://github.com/jmcentire/pact/blob/main/benchmarks/icpc_official/RESULTS.md" class="btn btn-outline">Full Results</a>
<a href="https://github.com/wandercom/pact/blob/main/benchmarks/icpc_official/RESULTS.md" class="btn btn-outline">Full Results</a>
</p>
</div>
<div class="insight-box">
Expand Down Expand Up @@ -772,7 +772,7 @@ <h2>Up and running in 60 seconds</h2>
Live validation remains required because the pack is a deployment gate, not a runtime substitute.
</p>
<p style="margin-top: 24px;">
<a href="https://github.com/jmcentire/pact" class="btn btn-primary">View on GitHub</a>
<a href="https://github.com/wandercom/pact" class="btn btn-primary">View on GitHub</a>
</p>
</div>
<div>
Expand Down Expand Up @@ -836,7 +836,7 @@ <h2>Built on the ideas in <em>Beyond Code</em></h2>
<div class="container">
<div class="problem-grid">
<div>
<h2>From contracts to running services: <a href="https://jmcentire.github.io/baton/" style="color: var(--accent);">Baton</a></h2>
<h2>From contracts to running services: <a href="https://wandercom.github.io/baton/" style="color: var(--accent);">Baton</a></h2>
<p>
Pact produces components with provable interfaces. <strong>Baton</strong> wires them into a running
service topology with mock collapse, A/B routing, health monitoring, and self-healing.
Expand All @@ -847,7 +847,7 @@ <h2>From contracts to running services: <a href="https://jmcentire.github.io/bat
lifecycle from architecture to production.
</p>
<p style="margin-top: 16px;">
<a href="https://jmcentire.github.io/baton/" class="btn btn-outline">Learn about Baton</a>
<a href="https://wandercom.github.io/baton/" class="btn btn-outline">Learn about Baton</a>
</p>
</div>
<div class="insight-box">
Expand All @@ -864,7 +864,7 @@ <h2>From contracts to running services: <a href="https://jmcentire.github.io/bat

<footer>
<div class="container">
<p>MIT License &middot; <a href="https://pypi.org/project/pact-agents/">PyPI</a> &middot; <a href="https://github.com/jmcentire/pact">GitHub</a> &middot; Built by <a href="https://github.com/jmcentire">Jeremy McEntire</a></p>
<p>MIT License &middot; <a href="https://pypi.org/project/pact-agents/">PyPI</a> &middot; <a href="https://github.com/wandercom/pact">GitHub</a> &middot; Built by <a href="https://github.com/jmcentire">Jeremy McEntire</a></p>
</div>
</footer>

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ dependencies = [

[project.urls]
Homepage = "https://pact.tools"
Repository = "https://github.com/jmcentire/pact"
Repository = "https://github.com/wandercom/pact"
Documentation = "https://pact.tools/docs/"

[project.scripts]
Expand Down
Loading