dev#14
Merged
Merged
Conversation
- general CI checks for code quality and correct builds - standard test runs on PRs - fuzz testing
enables users to open isses with default editor synatax
binary name didn't match actually command
doc: added `close` command to readme
There was a problem hiding this comment.
7 issues found across 22 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="README.md">
<violation number="1" location="README.md:14">
P2: README references `issues` throughout but the binary's root command is `issue` (cmd/root.go:12 Use: "issue"). Users running `issues` will get a command-not-found error.</violation>
</file>
<file name="cmd/create.go">
<violation number="1" location="cmd/create.go:20">
P2: `--editor` mode currently accepts any extra positional args and ignores them. Validate that editor mode uses zero positional args to avoid silent input loss.</violation>
<violation number="2" location="cmd/create.go:66">
P2: `--editor` error path returns after file creation, leaving an empty issue file behind. Clean up the created file before returning this error.</violation>
</file>
<file name="cmd/util.go">
<violation number="1" location="cmd/util.go:94">
P1: `fmt.Sscanf(id, "%d", &number)` does not consume the full input, so inputs like "123abc" silently parse as 123 instead of returning an error</violation>
</file>
<file name=".github/dependabot.yml">
<violation number="1" location=".github/dependabot.yml:4">
P1: Both gomod blocks point at directories that do not exist in this repo, so Dependabot will never scan the actual root Go module.</violation>
</file>
<file name="cmd/view.go">
<violation number="1" location="cmd/view.go:34">
P2: Passing the raw editor string to exec.Command breaks editor values that include flags.</violation>
</file>
<file name="internal/issue/fuzz_test.go">
<violation number="1" location="internal/issue/fuzz_test.go:102">
P2: Round-trip check is unsound for bodies that start with newlines; Parse strips them, so the fuzz target will flag valid inputs as failures.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
deletes local issue after checking sync status and providing optional delete of remote copy
it was incorrectly referencing two separate builds rather than the singular build required. This is a remnent of reusing this from another project.
There was a problem hiding this comment.
1 issue found across 4 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="cmd/delete.go">
<violation number="1" location="cmd/delete.go:47">
P1: Snapshot is deleted before confirming local issue file deletion. A failed local delete can leave the issue file present but disable modified detection for that issue.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
There was a problem hiding this comment.
1 issue found across 9 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="cmd/delete.go">
<violation number="1" location="cmd/delete.go:47">
P1: Snapshot is deleted before confirming local issue file deletion. A failed local delete can leave the issue file present but disable modified detection for that issue.</violation>
</file>
<file name="cmd/list.go">
<violation number="1" location="cmd/list.go:44">
P1: Sort less function breaks strict weak ordering when Sscanf fails. When one path fails Sscanf but another succeeds, both `less(i,j)` and `less(j,i)` return false (considered equivalent). This breaks transitivity: if A≡B and B<C, then A must be < C, but A's Sscanf still fails → false. sort.Slice requires a strict weak ordering; violating it causes undefined behavior or panic.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
Binary is named "issues" via go install; Use field was "issue", causing help text to show the wrong command name.
/transpiler and /lsp directories do not exist; dependabot was silently skipping go dependency updates. Remove the dead block and point the single gomod entry at /.
fmt.Sscanf does not require consuming the full input, so "123abc" silently parsed as 123. strconv.Atoi fails on any non-numeric input.
- Reject positional args when --editor is set instead of silently ignoring them - Remove the created file before returning the no-editor error to avoid leaving an empty orphan file behind - Split editor env var on whitespace so flags like "--wait" are passed correctly to exec.Command
VISUAL="code --wait" was passed as a single argument to exec.Command, causing a no-such-file error. Split on whitespace before constructing the command.
Parse calls strings.TrimLeft on the body, stripping leading newlines. Bodies that start with "\n" will never round-trip, so exclude them from the check the same way "\n---" inputs are already excluded.
There was a problem hiding this comment.
2 issues found across 6 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
This was referenced Jun 18, 2026
Owner
Author
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.
completecommandSummary by cubic
Adds a delete command,
view,close, andcreate -e, improves list output, and tightens CI (linting, vuln checks, tests, fuzzing). Unifies ID parsing across commands (now rejects partial numeric IDs like "123abc") and fixes editor handling (supports flags in$VISUAL/$EDITOR, cleans up on abort).New Features
issues delete <id>deletes a local issue; prompts to also delete from GitHub if synced; cleans up originals; accepts numbers andT-ids.issues create -eopens a blank issue in your editor; discards if saved without a title; supports editor flags.issues view <id>opens an issue by number orT-id in your editor; supports editor flags.issues close <id>marks an issue closed and moves it toclosed/(no-op if already closed).issues listsorts numerically, shows GitHub issues before localTissues, and uses clearer, aligned columns.pushaccepts numbers orT-ids; rejects partial numeric IDs.Migration
issues close(renamed fromcomplete). Help text and docs now use theissuesbinary.Written for commit 5f3127e. Summary will update on new commits.