Skip to content

feat!: let kind answer other instead of a guessed kind - #442

Merged
jbrown9513 merged 7 commits into
mainfrom
claude/kind-other
Oct 29, 2026
Merged

jbrown9513 merged 7 commits into
mainfrom
claude/kind-other

Conversation

@jbrown9513

@jbrown9513 jbrown9513 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

kind names which kind of bug a method has, from nine options. When none of them fit, a model had to pick one anyway: OpenAI's Decisions refused the question, and the none_of_these fallback added for it was spread over the nine, so the scan reported its best guess as the kind.

kind now has a tenth option, other, "A defect that none of the kinds above describes", for every model. On Decisions, a none_of_these answer on a choice that has other is taken as other, its share added to other's, instead of being spread over the rest. A choice without other still spreads it. A reply whose only share is none_of_these used to throw on an empty list; it is now spread evenly over the options asked about. Options are looked up with Object.hasOwn, so a pick named like a built-in property, such as toString, is not taken as an option.

other is shown and filtered as other_defect. The plain word clashed with --filter rule=, which also matches issue labels: a rule named other selected the bug questions.

The scripted model in test/helpers.js answers the last option, so it now skips other, and the tests that relied on it read as before. npm run check passes except the pytest runner test, which fails on main too on this machine.

BEGIN_COMMIT_OVERRIDE
feat!: let kind answer other instead of a guessed kind (#442)

BREAKING CHANGE: kind has a tenth option, other, shown and filtered as other_defect, and a Decisions answer of none_of_these on it is other instead of a guess spread over the other kinds. A defect that was labelled with a guessed kind can now be labelled other_defect, so --filter kind= with the old label no longer matches it, and an issue closed under the old kind is listed again. Changing kind's options changes the question, so cached kind answers are asked again.
END_COMMIT_OVERRIDE

@perchcode-bot

perchcode-bot Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Perch Scan: no issues in 71 methods at 26e7bdb.

See the scan

@perchcode-bot perchcode-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perch found an issue in code this pull request changed. See the scan

Comment thread src/systemone.js
return { type: 'choice', name, instructions: text, choices: type === 'choice' && !Object.hasOwn(options, NONE) ? [...choices, { value: NONE, description: 'None of these fits' }] : choices };
}),
}),
reply: ({ answers = [], ...rest }, { questions }) => {

@perchcode-bot perchcode-bot Bot Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed: the scan of 69ec8da no longer reports this.

P2 Defect: wrong return value (83%)

Perch believes DECISIONS.reply has this problem. It is a probability, not a located defect: the cause may sit a few lines away.

Check a fix with perch check src/systemone.js::DECISIONS.reply. See the scan

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scan of 69ec8da no longer reports this, so Perch marked it fixed. Resolve this thread when you are done with it. See the scan

@jbrown9513 jbrown9513 changed the title feat: let kind answer other instead of a guessed kind feat!: let kind answer other instead of a guessed kind Oct 29, 2026
@jbrown9513
jbrown9513 merged commit 1911f36 into main Oct 29, 2026
6 checks passed
@jbrown9513
jbrown9513 deleted the claude/kind-other branch October 29, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant