| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Co-authored-by: dondonz <13839920+dondonz@users.noreply.github.com>
|
This is from me, I'm experimenting with Copilot agents running in parallel |
Sorry, something went wrong.
|
builds didn't run because I am targeting an inprogress JSpecify branch |
Sorry, something went wrong.
|
I will later change this branch to target master for merging. The other JSpecify PR should be merged in first I ran the NullAway checks, and the full test suite locally, and it's passed. Very impressed with Copilot agents for parallelising this work. This was made with Claude Sonnet 4.5 Other learnings - I tried 40-50 classes at a time with Opus 4.5 via Antigravity. It couldn't cope with too much context. Much better results with doing 10 at a time, as done here |
Sorry, something went wrong.
|
@copilot Excellent work. Coming back to the original JSpecify prompt, what would you change to make the next agent run even more effective? |
Sorry, something went wrong.
Based on this run, here are suggestions to make the prompt even more effective: Add to the prompt:
Already working well:
The current prompt is solid - these additions would just reduce exploration time and catch issues faster. |
Sorry, something went wrong.
|
@copilot Make these changes to the prompt in this pull request |
Sorry, something went wrong.
Co-authored-by: dondonz <13839920+dondonz@users.noreply.github.com>
Updated the prompt in .claude/commands/jspecify-annotate.md with the suggested improvements (commit 3db2dde): Added sections:
The prompt now provides clearer guidance on workflow and includes practical examples to reduce exploration time. |
Sorry, something went wrong.
| def sanitizedBranchName = branchName.replace('/', '-') | ||
|
|
||
| return makeDevelopmentVersion(["0.0.0", branchName, "SNAPSHOT"]) | ||
| return makeDevelopmentVersion(["0.0.0", sanitizedBranchName, "SNAPSHOT"]) |
There was a problem hiding this comment.
Copliot PRs always have a / in the name, which makes it appear like the jar is in another directory when developing locally. This sanitises the name
Sorry, something went wrong.
|
This diff looks unusual because it depends on the first large jspecify pr to go in |
Sorry, something went wrong.
# Conflicts: # .claude/commands/jspecify-annotate.md
Test Results 335 files ±0 335 suites ±0 5m 6s ⏱️ -1s Results for commit 5aaada6. ± Comparison against base commit 89b4446. This pull request removes 196 and adds 172 tests. Note that renamed tests count towards both. ?
, expected: combo-\"\\\b\f\n\r\t, #4]
__schema { types { fields { args { type { name fields { name }}}}}}
__schema { types { fields { type { name fields { name }}}}}
__schema { types { inputFields { type { inputFields { name }}}}}
__schema { types { interfaces { fields { type { interfaces { name } } } } } }
__schema { types { name} }
__type(name : "t") { name }
a1: __schema { types { name} }
a1: __type(name : "t") { name }
…
graphql.AssertTest ‑ assertFalse with different number of error args but false does not throw assertions [toRun: <graphql.AssertTest$__spock_feature_0_21prov0_closure23@26350ea2 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1, #0] graphql.AssertTest ‑ assertFalse with different number of error args but false does not throw assertions [toRun: <graphql.AssertTest$__spock_feature_0_21prov0_closure24@1e9469b8 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2, #1] graphql.AssertTest ‑ assertFalse with different number of error args but false does not throw assertions [toRun: <graphql.AssertTest$__spock_feature_0_21prov0_closure25@5a08efdc delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2 arg3, #2] graphql.AssertTest ‑ assertFalse with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_20prov0_closure20@2d3ef181 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1, #0] graphql.AssertTest ‑ assertFalse with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_20prov0_closure21@a2341c6 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2, #1] graphql.AssertTest ‑ assertFalse with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_20prov0_closure22@6e4c0d8c delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2 arg3, #2] graphql.AssertTest ‑ assertNotNull with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_5prov0_closure3@642f9a77 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1, #0] graphql.AssertTest ‑ assertNotNull with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_5prov0_closure4@4052c8c2 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2, #1] graphql.AssertTest ‑ assertNotNull with different number of error args throws assertions [toRun: <graphql.AssertTest$__spock_feature_0_5prov0_closure5@518bfd90 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1 arg2 arg3, #2] graphql.AssertTest ‑ assertNotNull with different number of error args with non null does not throw assertions [toRun: <graphql.AssertTest$__spock_feature_0_6prov0_closure6@45acdd11 delegate=inaccessible owner=inaccessible thisObject=inaccessible resolveStrategy=inaccessible directive=inaccessible parameterTypes=inaccessible maximumNumberOfParameters=inaccessible bcw=inaccessible thisType=inaccessible>, expectedMessage: error arg1, #0] … graphql.schema.fetching.LambdaFetchingSupportTest ‑ different class loaders induce certain behaviours ♻️ This comment has been updated with latest results. |
Sorry, something went wrong.
# Conflicts: # .claude/commands/jspecify-annotate.md # build.gradle # src/test/groovy/graphql/archunit/JSpecifyAnnotationsCheck.groovy
Test ReportTest Results
Code Coverage (Java 25)
|
Sorry, something went wrong.
NodeVisitor, NodeVisitorStub, SourceLocation, and Type are already annotated with @NullMarked so they should not be in the exemption list. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Annotates 10 foundational classes in graphql.language with JSpecify nullability markers, continuing the repository-wide nullability annotation effort. Also updates the JSpecify annotation prompt with effectiveness improvements for future annotation work.
Changes
Interfaces (4): Node, Definition, Type, NodeVisitor
Simple classes (4): IgnoredChar, IgnoredChars, NodeVisitorStub, Comment
Complex classes (2): SourceLocation, NodeChildrenContainer
Exemption list: Removed all 10 classes from JSpecifyAnnotationsCheck.groovy
Prompt improvements: Enhanced .claude/commands/jspecify-annotate.md with:
All changes validated with NullAway static analysis via ./gradlew compileJava.
Original promptThis pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.