Repository navigation
feat!: rename the AI issue inputs and document every input - #85
Merged
Merged
Conversation
Rename `integrations` to `issue_mentions` and `prompt` to `issue_prompt`, so the Action no longer shares a name with config `integrations`. The old names stay as deprecated aliases: the action reads the new name first, falls back to the old one with a warning, and fails when both are set. `issue_prompt` has no action.yml default, because the runner fills defaults in before the action starts and that would hide a value set under `prompt`. The action applies the default itself. README now has a section for every input, and each default matches action.yml (working_directory, pr_branch, pr_body, issue_body and its $RESULTS, $RUN_URL and $PROMPT tokens). It says `config` and `input` are relative to `working_directory`, uses `record`, drops the stray `~~~~`, notes that exit_on_fail never turns exit 2 green, and uses `doc-tests` job ids. It folds in the content of #59. src/actionInputs.test.ts parses action.yml and README.md and fails when an input lacks a section or a documented default drifts. BREAKING CHANGE: the `integrations` and `prompt` inputs are renamed `issue_mentions` and `issue_prompt`. The old names still work, log a deprecation warning, and fail the job when set together with the new name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
scripts/check-doc-examples.mjs classifies each fenced json/yaml block in
README.md, and each artifacts/*.{json,yaml,yml} file, as a spec, test,
step, or config by shape, and validates it with doc-detective-common's
validate(). It skips blocks it can't classify and fences marked
`invalid`. `npm test` runs it after the unit tests, against
doc-detective-common@v5-rc as a devDependency.
Delete the four v2 headful configs in artifacts/. Nothing references
them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
The example check now fails any example that validate() accepts only by upgrading it from v2, such as `"action": "goTo"` steps. With addDefaults: false, validate() returns the caller's object unless it transformed it, so a different object means a v2 form. Steps keyed by `action` now classify as steps, so a standalone v2 step is checked too. Deliberate counter-examples stay skippable with an `invalid` fence. Red first: the stricter check failed on artifacts/change.spec.json. Convert it to v3: `runShell` steps, `runOn` with the same platforms and chrome, and `shell: cmd` on the Windows step, whose command is cmd syntax. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`integrations` now means only the config key, so the collapsible section that `issue_mentions` adds to the issue body is titled "AI issue mentions", and the unknown-value warning names `issue_mentions`. README and action.yml name the section. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fail-tests assertion passed on any step failure, including exit 2 (nothing tested) or a crash with no results. It now also requires the results output with summary.specs.fail above 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Promptless documentation updates
|
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
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.
Summary
integrations:integrations→issue_mentions,prompt→issue_prompt. The old names stay as deprecated aliases for the life of v2.action.ymlinput a README section whose default matchesaction.yml, and adds a test that keeps it that way.scripts/check-doc-examples.mjs, which validates README andartifacts/examples againstdoc-detective-common@v5-rc, and runs it innpm test.validate()accepts only by upgrading it from v2, such as steps keyed byaction. Deliberate counter-examples stay skippable with aninvalidfence.artifacts/, and convertsartifacts/change.spec.jsonto v3. It keeps the same platforms and chrome, and its Windows step getsshell: cmdfor its cmd syntax.issue_mentions.fail-testsassertion. It now also requiressummary.specs.fail > 0, so exit2or a crash with no results no longer counts as the expected failure.integrationsandpromptinputs to README #59, rewritten for@v2and the new names. docs: Addintegrationsandpromptinputs to README #59 can be closed.Interface
integrationsissue_mentionsintegrationsstill works. Its description isDeprecated: use `issue_mentions`.promptissue_promptpromptstill works. Its description isDeprecated: use `issue_prompt`.The action reads the new name first, then falls back to the old one.
The `integrations` input is deprecated. Rename it to `issue_mentions`.(same form forprompt).Set `issue_mentions` or `integrations`, not both.issue_promptdeclares nodefault:inaction.yml. The runner fillsaction.ymldefaults in before the action starts, so a defaultedissue_promptwould always look set and hide a value given asprompt. The action applies the same default itself, and the description states it ("Defaults to…").Other
action.ymland README changes:configandinput: "Relative toworking_directory."pr_branchdefault:doc-detective-<timestamp>(milliseconds since the Unix epoch), notdoc-detective-{DATE}.pr_bodydefault: "passed for failed" → "passed or failed". The README quotes the default in full, and the stray~~~~is gone.issue_bodydefault now matchesaction.yml(A Doc Detective run ($RUN_URL) failed with the following results:$RESULTS), with a table for$RESULTS,$RUN_URLand$PROMPT.working_directorydefault is`.`. The text usesrecord, notstartRecording. Example job ids aredoc-tests, notrunTests.exit_on_fail: "Unlike the CLI'sexitOnFail: false, this never turns exit2(nothing tested) green."issue_prompt.test.yml,local.ymlandmain.ymluse the new names. The manual job is nowfail-tests-with-issue-mentions.Tests
src/actionInputs.test.tswas written red first. It failed onworking_directory,issue_body, the missing alias behavior and the deprecated descriptions. It parsesaction.ymlandREADME.mdand checks four things:### \name`section under## Inputs`, and every section names a real input;(default: …)equals theaction.ymldefault;pr_body) appear in full in their section, and code-applied defaults (pr_branch,issue_prompt) appear in theaction.ymldescription;issue_promptdefault in code equals the documented one.getAliasedInputcover the new name only, the old name with its warning, both names failing, and neither name.npm test: 46 unit tests pass. Example check:Doc examples: 3 checked, 29 skipped, 0 failed.The 3 checked areartifacts/.doc-detective.json(config),change.spec.jsonandtests.spec.yaml(specs). The skips are the README's workflow YAML. A local probe with a badgoTostep and a v2find.matchTextspec fails the check. A fence markedjson invalidis skipped. The v2-form rule was written red first: it failed on the v2change.spec.jsonbefore the conversion. Probes with a standalone v2actionstep and a v2 test both fail it.npm run typecheckpasses.dist/is rebuilt; the bundle diff is only the source changes.Docs impact
Yes. The renamed inputs are user-facing. This PR updates the README and
action.yml. Retitling the core docs page "Integrations" to "AI issue mentions" (/docs/ci/issue-mentions, with a redirect) belongs to core and isn't in this PR.🤖 Generated with Claude Code