Release tooling and one-shot CLI: three small inconsistencies seen while releasing and installing v0.41.49 #572
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
h-dv/code-index#572
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observed on 2026-11-11 while releasing v0.41.49 and verifying the installed binaries. None affects the shipped binaries (all four report
0.41.49 (a7ce9603)).1. The release notes'
Build:line names a package tag after a promotion run.The promoted release says
Build: pkg/de.h-dv.php/v0.1.6+2559. The promotion was aworkflow_dispatchofrelease.ymlon the tagv0.41.49; the package tag sits on the same commit, andgit describe --tagspicks it. v0.41.47 shows the same (Build: pkg/de.h-dv.javascript/v0.1.6+2505). The first, tag-pushed run printedBuild: v0.41.49+2557.Expected: the build line names the core tag the run was dispatched for.
2.
install.sh --checkreports "not installed" beside an existing installation.As a non-root user with
/usr/localnot writable,sh install.sh --checkanswersprefix /home/<user>/.local/bin,installed (nothing at …/.local/bin/code-index),not installed, whilecode-index 0.41.48is onPATHin/usr/local/bin. The same script run with sudo then reportsinstalled 0.41.48and updates it.Expected: the check also reports a
code-indexfound onPATHoutside the chosen prefix, with its version, so "not installed" cannot be read as "no code-index on this machine".3.
code-index querywith an invalid.code-index.tomlprints no JSON document.With a daemon serving the project and the config made invalid (for example
enabled = ["php", "Ruby"]),code-index query search_symbols …exits 2 with an empty stdout. stderr carries the correct diagnostic (file, accepted form, suggestion), followed byerror: the index server closed its output before answering. A long-lived MCP session answers the same situation with the structured refusalindex_unavailable/invalid_configuration. After the file is repaired the next query answers normally, and the daemon stayed alive throughout.Expected: the one-shot CLI prints the same structured refusal as one JSON document on stdout, so a script reading stdout gets the reason. Same family as #570 (one contract across CLI and MCP).
Released in v0.41.50.
install.sh --checkandinstall.ps1 -Checkreport acode-indexfound onPATHoutside the selected prefix, with its version. Verified with the releasedinstall.shon Linux: an unprivileged--checkselects~/.local/binand printsPATH /usr/local/bin/code-index (0.41.50).install.ps1is covered by its tests and the Windows CI job only; I did not run it on a Windows machine.Build: v0.41.50+2578. The promotion-run path is covered by its test; this release needed no promotion run.Closing.
Addendum for item 3: on the installed v0.41.50,
code-index query search_symbols …with an invalid.code-index.tomlexits 1 and prints one JSON document:{"error":"index_unavailable","index_unavailable":{"reason":"invalid_configuration","path":…,"remedy":…,"converges_on_retry":false},…}.