Repository navigation
test(forge): conformance departures carry sc-forge's real refusal texts; gate S and X - #315
Conversation
…ts; gate S and X Replaces the placeholder message_contains words (not, auth, merge, state, rename, branch, password, not found) with the texts sc-forge sends, read off a run against the in-tree server, so a departure no longer passes on any message containing a common word. Adds the missing departure for S#13 (a read-only collaborator's tag push is refused at the advertisement with 403) and adds S and X to the gate: 24/24 scenarios. Ticks the first item of #297.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
| Layer / File(s) | Summary |
|---|---|
Merge and pull-request refusal expectations crates/forge/conformance/departures.json |
Merge conflict, unsupported merge mode, and already-merged pull-request expectations use more specific messages. |
Status, ref, and repository error expectations crates/forge/conformance/departures.json |
Status, ref, and repository expectations use more specific target, branch, and repository error messages. |
Authentication and API route expectations crates/forge/conformance/departures.json |
Token-route and API authentication expectations specify refusal messages. Team-route expectations use the “no such api route” wording. |
Tag-push case and conformance selection crates/forge/conformance/departures.json, crates/forge/conformance/forge-check.sh |
A read-only collaborator tag-push case expects a forbidden response. The check script adds scenarios S and X to its selection. |
Priority:
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Other
Possibly related issues
- P38 forge: F0 follow-ups (placeholder departure texts, git command comparison, F1 CI job) #297: This PR replaces placeholder message matches in the conformance departures with more specific refusal text.
Possibly related PRs
- git-agentic/src-control#304: Adds the Smart-HTTP authorization and pre-receive behavior used by the tag-push conformance case.
- git-agentic/src-control#310: Implements merge behavior whose refusal messages are updated in this PR.
- git-agentic/src-control#298: Implements password and token authentication behavior reflected in the updated conformance expectations.
Merge Risk: 
Minimal · up to cfdd9
-
The conformance updates are consistent with the server behavior and add the intended scenario coverage without an established merge-blocking risk.
Architecture risk: 
Low · up to cfdd9
-
The change affects 1 system.
Changed systems:
cratesArchitecture concerns
No architecture-level concerns identified.Review details
-
Systems and components
- observed — crates (service) was modified; 2 changed files map to changed impact.
Before / after behavior
- observed — Modified behavior in crates/forge/conformance/departures.json: The merge-conflict message expectation now matches “merge conflict” instead of the broader “conflict.”
- observed — Modified behavior in crates/forge/conformance/departures.json: The unsupported merge-mode expectation now matches “only do=merge is supported” instead of “merge.”
- observed — Modified behavior in crates/forge/conformance/departures.json: The unsupported rebase-mode expectation now matches “only do=merge is supported” instead of “merge.”
- observed — Modified behavior in crates/forge/conformance/departures.json: The unsupported rebase-merge expectation now matches “only do=merge is supported” instead of “merge.”
-
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files. (1 skipped: 1 unsupported.)
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
tonibergholm
left a comment
There was a problem hiding this comment.
Gate 24/24; Codex and CodeRabbit clean.
Replaces the placeholder message_contains words (not, auth, merge, state, rename,
branch, password, not found) with the texts sc-forge sends, read off a run against
the in-tree server, so a departure no longer passes on any message containing a
common word. Adds the missing departure for S#13 (a read-only collaborator's tag
push is refused at the advertisement with 403) and adds S and X to the gate:
24/24 scenarios. Ticks the first item of #297.
Summary by CodeRabbit