Repository navigation
Conversation
3a97705 to
8da1454
Compare
The previous pin (939ae9c, tagged "# v1" but actually the v1.0.0-era release, claude-agent-sdk ^0.2.133) bundles a Claude Code CLI whose "sonnet" alias resolves to claude-sonnet-4-6 — a snapshot the CLAUDE_CODE_OAUTH_TOKEN account cannot access. That made the "--model sonnet" pin from #265 a no-op, failing conventions-review, security-review and @claude mentions on every PR. Bump all three workflows to 1d6de8c (current v1 tag == release v1.0.248, claude-agent-sdk ^0.3.296), whose CLI maps "sonnet" to a live snapshot. Verified on this PR via the documented escape hatch: both review sessions initialized with model claude-sonnet-5-5 and completed successfully; security review passed end-to-end. The conventions-review/security-review check failures on this PR are the documented App-token workflow-validation skip for workflow-editing PRs and clear on merge. Surfaced in #256.
8da1454 to
9def754
Compare
|
I've given this branch a manual end-to-end test and looks good to go |
dcdce74 to
94dcdc6
Compare
| "Write commands (`create`, `update`, `delete`) require `--rw`.", | ||
| } | ||
|
|
||
| catalogcmd.Mount(cfg, cmd, spec) |
There was a problem hiding this comment.
[Medium] Cobra one-file-per-leaf layout: project and tag leaves (create/list/update/delete) are generated from a spec via catalogcmd.Mount instead of living in their own <action>.go files. The parent project.go is 112 lines and tag/tag.go is 124, both over the ≤80-line parent limit. The leaf bodies also sit in internal/catalogcmd/.
Why this matters: "Cobra Command Layout" requires one file per leaf and a parent of ≤80 lines. The only documented exception is admin privilege (categoryMeta table), and this isn't listed.
Suggested fix: add <action>.go leaf constructors under project/ and tag/ (they can delegate to catalogcmd helpers), and move the help-text strings out of the parent so it stays ≤80 lines. Alternatively, document this as a second exception in AGENTS.md.
| @@ -0,0 +1,112 @@ | |||
| // Copyright (c) "Neo4j" | |||
There was a problem hiding this comment.
[Medium] Cobra layout: project.go (112 lines) and tag/tag.go (124 lines) exceed the ≤80-line parent limit and build the create/list/update/delete leaves from the shared catalogcmd scaffold. There are no per-leaf <action>.go files, but create_test.go, delete_test.go and the other leaf tests are colocated here.
Why this matters: the "Cobra Command Layout" section requires one file per leaf with the parent ≤80 lines. The only documented exception is the admin privilege categoryMeta table.
Suggested fix: add thin create.go, list.go, update.go and delete.go leaf files that call into catalogcmd, which keeps the parent short. Alternatively, document this as a second exception in AGENTS.md.
|
Security review (golang-security skill, review mode) Analysed the Go changes in this PR: the new No issues found. Security review: ✅ no issues found |
|
Conventions review (AGENTS.md gates) Reviewed the desktop project/tag/dbms-update changes: license headers on all new No issues found. Conventions review: ✅ no issues found |
The review agent's sandbox auto-approves writes only inside the session working directory; /tmp is outside it, so the prompt-mandated tee /tmp/claude-verdict.txt and tee /tmp/claude-summary.md writes were denied every run (PR #256, run 38713682287) and no verdict or summary comment ever landed. Move both files to the workspace root.
…or when Desktop 2 lacks the projects/tags routes Old Desktop 2 versions answer unknown /fastify/api/* routes with the SPA fallback (HTTP 200 + index.html), which surfaced as a raw JSON decode error. decodeState — the single shared decode point for all eight catalog methods and, via ListProjects/ListTags, both name resolvers — now detects a markup-shaped 2xx body and returns a clierr fatal error telling the user this Desktop version does not support projects and tags and to upgrade. Undecodable bodies that do not look like markup keep the detailed decode error.
…spec.go, document catalogcmd exception
fa8f7ab to
1015ea0
Compare
Summary
New feature (CLI-239): surfaces Neo4j Desktop 2's project and tag endpoints in
neo4j-cli desktop— newdesktop projectanddesktop tagsubtrees (list/create/update/delete) plus project/tag assignment ondbms update(new) andconnection update(new flags), via the local relate API. Wire shapes verified against Desktop 2's generated OpenAPI spec and the upx client.Changes
desktop project list|create|update|deleteanddesktop tag list|create|update|deleteagainst/fastify/api/projectsresp./tags(catalog CRUD; deletes use the?id=querystring; tag color accepts palette ids 1–12)desktop dbms update <id>— rename, edit description, replace project/tag assignments (PATCH /dbmss/:id)desktop connection updategains--project/--tags(replace semantics; empty value clears)desktop/internal/catalogcmd, following the admin-privilege categoryMeta precedent)Connectconstructor replacing six per-package copiesproject(never populated by Desktop 2) is nowprojects(string array), matching the actual API; e2e fixture updated to match/fastify/api/*paths with the SPA fallback (200 + HTML), which the CLI now detects on the catalog endpoints and reports as a clear "upgrade Desktop" error instead of a raw JSON decode failureUser-facing impact
Users can now organize Desktop 2 DBMSes and saved connections into projects and tags from the CLI. In
desktopJSON output, theprojectfield on DBMS and connection objects is renamed toprojectsand is now an array instead of a single string. On a Desktop 2 version without the projects/tags endpoints, the new commands (and--project/--tagsassignments) fail with a clear upgrade message:Example usage
This description was auto generated