feat(scripts): report what is stopping each example from running - #599
Draft
williedoran-neo4j wants to merge 1 commit into
Draft
Conversation
15 tasks
williedoran-neo4j
force-pushed
the
willie/examples-setup-doctor
branch
3 times, most recently
from
August 12, 2026 10:30
077cec2 to
0d57cce
Compare
This was referenced Aug 12, 2026
williedoran-neo4j
force-pushed
the
willie/examples-setup-doctor
branch
4 times, most recently
from
August 13, 2026 09:06
8db8353 to
7c18582
Compare
Adds scripts/check_setup.py: resolves every example against the requirement model, probes this machine, and reports the single first thing in the way of each one, grouped so the biggest wins surface first and carrying the command that fixes it. Writes nothing and needs no credentials of its own. Four defects found while building it, fixed here: - A wrong NEO4J_PASSWORD produced a clean bill of health. service_available only opens a TCP socket, and the APOC and index checks both gate on `authenticated`, so all three silently passed while every Neo4j example failed at runtime. A reachable-but-unauthenticated database is now a blocker in its own right. - The missing-index fix advised `setup_examples.py --tier 0`, a flag that exists nowhere. It now points at the example that creates the index. - The Ollama check only ever suggested pulling the chat model, though the embedding examples need a different one. Both are reported. - The unset-key fix named a command this tool does not ship. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
williedoran-neo4j
force-pushed
the
willie/examples-setup-doctor
branch
from
August 17, 2026 10:02
7c18582 to
1684979
Compare
williedoran-neo4j
changed the base branch from
main
to
willie/examples-requirement-model
August 17, 2026 10:12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second of the chain-B PRs. Stacked on #597 — the diff above contains it until it merges; this PR's own change is the final commit.
Adds
scripts/check_setup.py: resolves every example against the requirement model, probes this machine, and reports the single first thing in the way of each one — grouped so the biggest wins surface first, and carrying the command that fixes it.Writes nothing and needs no credentials of its own. Network use is limited to TCP connects, except that resolving Google credentials shells out to
gcloud.Four defects found while building it, fixed here
NEO4J_PASSWORDproduced a clean bill of health.service_availableonly opens a TCP socket, and the APOC and index checks both gate onauthenticated— so all three silently passed while every Neo4j example failed at runtime. A reachable-but-unauthenticated database is now a blocker in its own right, which also givesNeo4jState.reachableand.errortheir first reader.setup_examples.py --tier 0— a flag that exists nowhere in the repo. Following it gets youunrecognized arguments. It now points at the example that creates the index.nomic-embed-textwas never mentioned. Both are reported now.Each of the four is pinned by a test; the first was confirmed to fail against the code without the fix.
Type of Change
Complexity
Complexity: Medium
How Has This Been Tested?
13 tests over
blockers_for, driven through the four probe seams so nothing touches the network or a service. Run against this machine with Neo4j stopped and confirmed it reports blocked rather than passing.Checklist
🤖 Generated with Claude Code