Repository navigation
fix(junie): stop $ARGUMENTS/$speckit-... becoming required Junie arguments - #4796
chelsealong wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Existing or incidental allowPromptArgument: text can prevent the required frontmatter setting from being enabled.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Adapts generated Junie commands to accept free-text arguments correctly.
Changes:
- Rewrites
$ARGUMENTSto$promptand removes misleading$speckit-...prose. - Adds regression and generated-command coverage.
| File | Description |
|---|---|
src/specify_cli/integrations/junie/__init__.py |
Adds Junie-specific argument adaptation. |
tests/integrations/test_integration_junie.py |
Tests placeholder rewriting and generated commands. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…pt is used AI-assisted (Claude Code).
|
Fixed in the latest commit (AI-assisted, Claude Code): |
|
Please fix test & lint errors |
|
AI-assisted (Claude Code): I couldn't reproduce a test or lint failure on the current head. |
|
AI-assisted (Claude Code): the macOS log is readable now. The single failure is |
Pin the workflow ZIP member timestamp so independently generated catalog and download fixtures remain byte-identical across DOS timestamp boundaries. Add a regression using controlled wall-clock values two seconds apart; it fails with the original helper and passes with the fixed timestamp. Production integrity checks and existing negative tests are unchanged. Validation: targeted workflow catalog and Junie tests: 78 passed; Ruff: passed. Full pytest collection: 9014 before, 9015 after. Assisted-by: GitHub Copilot (model: GPT-6.1 Sol, autonomous) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Please address Copilot feedback |
Assisted-by: Codex (autonomous)
|
Thank you for pointing out the unrelated catalog-test change. I removed that change in 23add6a, keeping this PR focused on Junie argument placeholders. The Junie regression suite passes all 35 tests, and I also merged current upstream main as 265b190 and resolved the Junie test conflict while retaining both sets of regressions. The refreshed branch passes all 71 Junie and agent-configuration tests, Ruff, and CLI help. Posted on behalf of chelsealong. Codex (model GPT-6, autonomous) implemented this follow-up, ran the checks, and drafted this summary. |
Assisted-by: Codex (model: GPT-6, autonomous)
| content = content.replace("$ARGUMENTS", "$prompt") | ||
| fm = re.match(r"\A---(\r?\n)(.*?)(\r?\n)---(?=\r?\n|\Z)", content, re.S) | ||
| if "$prompt" in content and fm: |
|
Updated the Junie guide to explain Commit: 1e28250 |


Fixes #4794
Junie treats every
$identifierin a command body as a required named argument. The installed commands contained$ARGUMENTSand the prose$speckit-..., so Junie silently refused to run them.Junie's
post_process_command_contentnow:$ARGUMENTSto Junie's free-text$prompt, and addsallowPromptArgument: trueto the frontmatter (per the Junie custom-slash-commands docs);or \$speckit-...`` aside.Tests:
test_junie_argument_placeholders_adaptedandtest_junie_setup_leaves_no_stray_dollar_arguments. They fail without the fix (2 failed, 32 passed on the junie test file with the source reverted). With the fix,pytest tests/integrationsgives 2677 passed, 5 skipped.AI disclosure: this change was written with Claude Code (AI-assisted).