Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
09ac156
docs: add developer experience and API design review
claude Aug 28, 2026
1a7030a
fix: repair eight defects in the public surface
claude Aug 28, 2026
626f5c5
feat: add a typed error hierarchy, activation readiness, and event st…
claude Aug 28, 2026
830c1d9
refactor: make the public surface consistent, without breaking it
claude Aug 28, 2026
d329972
feat: make model selection a setting instead of an engine replacement
claude Aug 28, 2026
050c9ad
feat: add a ts-autocode CLI and make the example runnable
claude Aug 28, 2026
a3fa475
refactor: remove the boilerplate the extension points required
claude Aug 28, 2026
5095787
docs: refresh the docs for the new surface
claude Aug 28, 2026
a671a2b
docs: correct the sideEffects finding to what was actually demonstrated
claude Aug 28, 2026
978ffd7
fix: repair CI, and the Node 20 bug it exposed
claude Aug 28, 2026
5b6ae67
test: add coverage enforcement and close the atomic unit gaps
claude Aug 28, 2026
039e937
test: add Verify-style characterization snapshots
claude Aug 28, 2026
d89997c
test: add property-based and fuzz suites
claude Aug 28, 2026
a2b67a9
test: add provider conformance suites, and fix a prototype bug they f…
claude Aug 28, 2026
40361f2
fix: repair a flaky property, and the prototype bug behind it
claude Aug 28, 2026
e32b84b
merge: bring the flaky-property fix forward from #29
claude Aug 28, 2026
5f1d8b4
test: add chaos / fault-injection suite, and complete runtime isolation
claude Aug 28, 2026
62663b4
test: add behavior specs over the documented user journeys
claude Aug 28, 2026
d1f1104
test: add mutation testing, and close the gaps it exposed
claude Aug 28, 2026
50965e0
Merge main into claude/test-mutation
claude Aug 30, 2026
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
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,26 @@ jobs:
cache: npm
- run: npm ci
- run: npm run check

mutation:
# Mutation testing grades the suite rather than the code: it rewrites the
# source and asks whether any test notices. Scoped to the promotion gate and
# the rewrite guard, it runs in about a minute, so it runs on every pull
# request rather than on a schedule nobody reads.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run test:mutation
- uses: actions/upload-artifact@v4
if: always()
with:
name: mutation-report
path: test/output/mutation
if-no-files-found: ignore
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ node_modules/
dist/
coverage/
test/output/
.stryker-tmp/
reports/
*.tsbuildinfo
.env
.agentv/
1 change: 1 addition & 0 deletions docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ land, never lower them to get a build green.
| Contract | `test/contract.test.ts` | A provider implementation that satisfies the types but not the contract |
| Chaos | `test/chaos.test.ts` | A dependency failing, hanging, or racing — and the damage that leaves behind |
| Behavior | `test/behavior.test.ts` | A documented promise that stopped being true even though every unit still passes |
| Mutation | `stryker.config.json` | A test that runs the code without actually pinning its decisions |
| Characterization | `test/characterization*.test.ts` | A change to anything this library *generates* — rewritten source, emitted instrumentation, prompts, CLI output, the export surface |

## Running
Expand Down
Loading
Loading