Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
465e769
[Fusion] Add defer support
michaelstaib Apr 7, 2026
489e234
edits
michaelstaib Apr 8, 2026
b0ced3f
Add defer opt-out
michaelstaib Apr 8, 2026
c82ad6f
Merge remote-tracking branch 'origin/main' into mst/fusion-defer
michaelstaib Apr 8, 2026
72fce15
Merge remote-tracking branch 'origin/main' into mst/fusion-defer
michaelstaib Apr 9, 2026
ba97955
polish
michaelstaib Apr 12, 2026
dd907d6
Align hc and fusion
michaelstaib Apr 12, 2026
b4a85b1
update agent mds
michaelstaib Apr 12, 2026
8c8ddce
edits
michaelstaib Apr 13, 2026
eed31fd
edits
michaelstaib Apr 13, 2026
a331a92
edits
michaelstaib Apr 13, 2026
9c12711
Merge remote-tracking branch 'origin/main' into mst/fusion-defer
michaelstaib Apr 13, 2026
0e95e96
fix nested defer issue
michaelstaib Apr 16, 2026
70e2e70
Add stable snapshot formatters for incremental delivery
michaelstaib Apr 17, 2026
59c7149
Wire stable snapshot formatter into defer tests
michaelstaib Apr 17, 2026
0fa46fd
Fix defer payload path-nesting in Fusion
michaelstaib Apr 17, 2026
3ae29a1
Strip fusion extensions from stable snapshots
michaelstaib Apr 20, 2026
9424395
Merge branch 'main' into mst/fusion-defer
michaelstaib Apr 20, 2026
3000ca3
Dedup sibling @defer fields at runtime
michaelstaib Apr 20, 2026
58d5b77
update snapshots
michaelstaib Apr 20, 2026
9748184
Merge branch 'main' into mst/fusion-defer
michaelstaib Apr 20, 2026
2e727fb
fix snapshot
michaelstaib Apr 20, 2026
b8f0ecb
made tests more stable
michaelstaib Apr 20, 2026
adc89b0
optimize plans
michaelstaib Apr 20, 2026
a7f9dde
edits
michaelstaib Apr 21, 2026
0926ee6
edits
michaelstaib Apr 21, 2026
6086069
edits
michaelstaib Apr 21, 2026
99e8fec
edits
michaelstaib Apr 21, 2026
f603dad
edits
michaelstaib Apr 21, 2026
62750e5
edits
michaelstaib Apr 21, 2026
9be5114
edits
michaelstaib Apr 21, 2026
12e0daa
fix CLAUDE.md markdown lint
michaelstaib Apr 21, 2026
2e414fd
polish
michaelstaib Apr 21, 2026
edfcdc3
guarantee memory return
michaelstaib Apr 22, 2026
4e830b2
hardening
michaelstaib Apr 22, 2026
e9e5a08
Fix test issue
michaelstaib Apr 22, 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
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ dotnet test src/HotChocolate/Fusion
- Use test naming format: `Method_Should_Outcome_When_Condition`.
- Do not write vacuous assertions (`Assert.NotNull` alone is not a complete test).
- If a test requires excessive stubs and reflection, use a more appropriate test tier.
- Do not use em dash style sentences in docs, comments, or XML documentation. Use commas, periods, parentheses, or colons instead.

### Testing

Expand Down
22 changes: 19 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,36 @@ dotnet test src/HotChocolate/Fusion

### C# / .NET

- Always use curly braces for loops and conditionals no exceptions
- Always use curly braces for loops and conditionals, no exceptions
- File-scoped namespaces, 4-space indent
- Test naming: `Method_Should_Outcome_When_Condition`
- No vacuous assertions (`Assert.NotNull` alone is not a test)
- If you need 8 stubs + reflection, you're at the wrong test tier
- Do not use em dash style sentences in docs, comments, or XML documentation. Use commas, periods, parentheses, or colons instead.

### Testing

- Prefer snapshot tests over manual `Assert` calls use **CookieCrumble** for snapshots
- Prefer snapshot tests over manual `Assert` calls, use **CookieCrumble** for snapshots
- CookieCrumble has native snapshot support for `IExecutionResult`, `GraphQLHttpResponse`, and other core types
- For smaller snapshots, prefer **inline snapshots** (`MatchInlineSnapshot`) over snapshot files
- For tests with multiple assertions, use **Markdown snapshots** (`MatchMarkdownSnapshot`)
- Hard limit: a single test method must contain at most 5 `Assert.*` calls. Anything beyond that is too hard to reason about in review, switch to a snapshot (Markdown for multi-shape state, inline or file for a single output)
- Use the AAA section marker style. Each section starts with a single-line comment, the test name documents intent, no paragraph-style block comments above sections:

```csharp
// arrange
// optional one-line description, only when the next code is non-obvious
... arrange code ...

// act
... act code ...

// assert
... assert code ...
```

- Snapshot tests: update from `__mismatch__/` directory, understand ordering issues before updating
- Filter tests during iteration never run the full suite unnecessarily
- Filter tests during iteration, never run the full suite unnecessarily
- Real databases in integration tests, not mocks (unless explicitly instructed otherwise)

## Performance
Expand Down
Loading
Loading