Repository navigation
Normalize Oxford spelling and narrow exemptions - #709
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
Summary
ValidationThe author reports that the listed formatting, spelling, lint, test, typecheck, workflow-contract, and documentation gates passed on the stated head. The author reports that The author reports that CodeRabbit reports that the WalkthroughThe change updates spelling-policy guidance and typo-checker exclusions. It renames pool-server behaviour identifiers and updates spelling in error messages, tests, and examples. One response-error test now checks the exact display text. ChangesSpelling consistency
Priority: ⬇️ Low Change: Other Merge Risk: ⚪ Minimal · up to The changes correct spelling in diagnostics, examples, and test names. The documented error prefixes match the implementation, and the changed serialization message is asserted; no material runtime or compatibility risk remains evident. Pre-merge checks |
|
Reviewer's GuideThis spelling-focused PR converts ordinary Oxford File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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. |
4fb23ee to
1a49f81
Compare
1a49f81 to
5979cf2
Compare
|
@coderabbitai Have the following failed checks now been resolved? If further work is required, please provide an AI agent prompt for the remaining work to be done to address these failures. Do not treat warnings as optional or aspirational. Previously failed pre-merge check
|
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf 'HEAD: '; git rev-parse HEAD
printf 'PR metadata:\n'
gh pr view 709 --repo leynos/wireframe --json headRefOid,state,statusCheckRollup --jq '{headRefOid,state,checks:(.statusCheckRollup | map({name,conclusion,status,detailsUrl}))}' || true
printf '\nCandidate outlines:\n'
for f in src/app/error.rs tests/response/response_errors.rs wireframe_testing/src/helpers/tests/helper_tests.rs wireframe_testing/src/helpers/payloads.rs; do
echo "== $f =="; ast-grep outline "$f" --items all --match 'SendError|serialize|drive_with_payloads|envelope|response_errors' || true
done
printf '\nRelevant snippets:\n'
rg -n -C 5 -F -e 'serialization error: Other("fail")' -e 'SendError::Serialize' -e 'failed to deserialize envelope' -e 'drive_with_payloads(' src/app/error.rs tests/response/response_errors.rs wireframe_testing/src/helpers/tests/helper_tests.rs wireframe_testing/src/helpers/payloads.rs || true
printf '\nCommit summary:\n'
git show --stat --oneline --no-patch 5979cf2 || trueLength of output: 7489 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf 'Review-fix commit:\n'
git show --format=medium --no-ext-diff -- tests/response/response_errors.rs | head -110
printf '\nSendError declaration:\n'
sed -n '1,55p' src/app/error.rs
printf '\nResponse test relevant ranges:\n'
sed -n '130,245p' tests/response/response_errors.rs
printf '\nHelper test relevant ranges:\n'
sed -n '35,100p' wireframe_testing/src/helpers/tests/helper_tests.rs
printf '\nPayload helper relevant ranges:\n'
sed -n '34,120p' wireframe_testing/src/helpers/payloads.rsLength of output: 13864
GitHub reports ✏️ Learnings added
You are interacting with an AI system. |
5979cf2 to
fc7c3a4
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
Correct diagnostic and test text that used -ise forms where Oxford English requires -ize. Rename the private pool-test behaviour field while preserving published helper identifiers. Remove obsolete Typos exemptions for the corrected text and private names, regenerate the tracked configuration, and document the remaining fixed external spellings.
Check the exact `SendError::Serialize` diagnostic in the existing response encode-error test. This guards the public spelling change against regression while preserving the error variant check.
fc7c3a4 to
c9dd178
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
The spelling normalisation in 9ea1692 changed the rendered text of `SendError::Serialize` from `serialisation error:` to `serialization error:`. That string is what callers and logs actually observe, so the change is user-visible even though no type signature moved. Record the three `Display` prefixes in the users' guide, in the paragraph that already introduces the `SendError` variants returned by `send_response` and `send_response_framed`. State plainly that the prefixes are the stable public diagnostic contract and that the source error text following them is not, so downstream code knows what it may match on without pinning itself to an implementation detail. The guide's later `SendError` mention in the connection-lifecycle section is left as-is; the contract is stated once, where the variants are introduced. Co-Authored-By: Claude Code <noreply@anthropic.com>
There was a problem hiding this comment.
Gates Passed
6 Quality Gates Passed
See analysis details in CodeScene
Absence of Expected Change Pattern
- wireframe/tests/fixtures/fragment/mod.rs is usually changed with: wireframe/src/fragment/error.rs
Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
|
@coderabbitai Pre-merge reconciliation for the Thank you — this one is valid, and it is now addressed. Disposition
What changedCommit
The three prefixes are quoted verbatim from the Why the wording is not "callers may match on it"The section documents a public error type, so the note is scoped to those ScopeThe change is documentation only: All seven deterministic repository gates were re-run on Remaining checkThis is a disposition reply for the warning above, not a request for a new |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
target=fc8ca8a92f54394e471b5f4bd5084866737d541e
printf 'Checkout HEAD: '; git rev-parse HEAD
printf '\nRequested commit:\n'
git show --no-patch --format=fuller "$target"
printf '\nDocumentation change:\n'
git show --format= --stat "$target"
git show --format= "$target" -- docs/users-guide.md
printf '\nImplementation outline:\n'
ast-grep outline src/app/error.rs --items all || true
printf '\nImplementation at requested commit:\n'
git show "$target:src/app/error.rs" | sed -n '1,75p'
printf '\nDocumentation context at requested commit:\n'
git show "$target:docs/users-guide.md" | grep -n -B 12 -A 14 -E "Each .SendError. variant|serialization error:|source error text"Length of output: 163614
I verified that
No further work is required for this warning. This confirmation does not waive any separate warning or check. I did not rerun the repository gates or trigger a full review. Thanks for clarifying the contract boundary. ✏️ Learnings added
You are interacting with an AI system. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai approve Published head: The latest completed review round is clean: your pre-merge checks report Earlier substantive findings and their dispositions:
Pre-merge checks: 15 passed, 0 failed at CI: Rebase/stack state: this is position 6 of managed stack #715; the five All eleven deterministic repository gates were re-run on Please approve if those findings are resolved. If approval remains blocked, |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
gh pr view 709 --repo leynos/wireframe --json headRefOid,state,mergeable,mergeStateStatus,statusCheckRollup --jq '{headRefOid,state,mergeable,mergeStateStatus,checks:[.statusCheckRollup[]|{name,status,conclusion,state}]}'
printf '\nCheckout head:\n'
git rev-parse HEAD
printf '\nResponse test outline:\n'
ast-grep outline tests/response/response_errors.rs --items all
printf '\nResponse assertion:\n'
rg -n -C 5 -F 'serialization error: Other(' tests/response/response_errors.rs
printf '\nError declaration outline:\n'
ast-grep outline src/app/error.rs --items all
printf '\nError attributes:\n'
sed -n '1,35p' src/app/error.rs
printf '\nDocumented contract:\n'
rg -n -C 6 -F -e 'Those prefixes are stable' -e 'source error text' docs/users-guide.mdLength of output: 6800
Both earlier findings are resolved:
GitHub reports No unresolved blocker remains in the checked findings. I did not rerun repository gates. 🧠 Learnings used✅ Action performedChanges approved. Review threads were not changed. |
Summary
This branch corrects Oxford
-izespellings in Rust diagnostics, test fixturesand an authored guide example. It renames a private pool-test field and parameter
while retaining the published test-helper identifiers. Obsolete spelling
exemptions are removed; fixed public names, historical API references and the
tooling layer's
moldcommand exemptions remain. Because one corrected stringis a public error's rendered text, the users' guide now records which part of
the
SendErrorDisplayoutput is a stable contract.This is the spelling layer after Phase 1b (#708). Structural module moves and source-level lint waves follow in separate layers.
Review walkthrough
behaviouris the private field at line 78 and the parameter at line 96, whilePoolServerBehavior(line 48) andstart_with_behavior(line 96) keep their published spellings.SendErrordisplay contract, which pins what callers may match on.Validation
On current head
fc8ca8a92f54394e471b5f4bd5084866737d541e, restacked ontomainata530389, an independent Scrutineer ran the repository'sown-configuration gates sequentially with
teelogs under/tmp/pr709-restack-20261011/:make check-fmtmake spellingmake lintmake typecheckmake testmake test-docmake test-workflow-contractsmake markdownlintmake nixiemake formal-prmbake validate Makefilemake check-fmtalso coversmdtablefixover 118 files.make lintruns therustdoc build,
cargo clippywith warnings denied, and Whitaker over alltargets and features.
make testran the full workspace suite: 81 testbinaries, 1,222 tests passed, 0 failed and 0 ignored, including the trybuild
compile-fail cases. The run reused a warm target directory, so its wall time
is not comparable to a cold run; the test binaries it executed were built from
this head's sources.
make test-docpassed 216 doctests with four ignoredacross
wireframe,wireframe_loomandwireframe_verification;make test-workflow-contractspassed 243 contracts.make formal-prpassedits 52
test-verificationtests; itskaniandverusphases are therepository's deliberate
FORMAL-SKIProadmap stubs (roadmaps 15.3.1 and15.5.x) and execute no harnesses, so no formal-verification evidence is claimed
for this candidate. No gate was skipped or suppressed.
Several gates rebuilt uncached, because the managed
sccacheserver wasunreachable throughout the run. Per the build standard that is a cache state,
not a build failure; every compile still went through the shared admission
pool. The wall times above are therefore not cold-build times: gates run after
a shared target directory was populated reuse it, which is why
make test(34 s) and
make formal-pr(8 s) are shorter here than on a cold tree. Thebinaries executed were built from this head's sources, which predate every
cache artifact reused.
Hosted CI
The hosted checks were re-observed on
fc8ca8a. The required checkbuild-testpassed in 8m37s, including the Format, Lint, Markdown lint,en-GB-oxendict spelling, Mermaid and workflow-contract steps and the coverage
ratchet; CodeQL's
Analyze (actions|python|rust)jobs passed; CodeScene,Gecko and the
CodeQLsummary check passed.automerge,Kody Code Reviewand
Sourcery reviewreportskippedby design (Dependabot-only, andunconfigured providers) rather than pending. No check was cancelled, timed out
or blocked.
Restack and rebase evidence
The branch previously sat on the pre-squash
origin/mainlineage and showedCONFLICTING/DIRTYbecause 28 commits, including #708'ssquash
3f6a608and the typos-tooling changes in #727/#754,had landed on
mainsince. The two branch-owned commits were replayed ontomainata530389with an explicit exclusive boundary of5e85f6a(the lastinherited #708 head commit), not the topology merge-base.
main)a530389f2f6528d0fc949101107a1e5154421c555e85f6ae4ec4(#708 head)fc7c3a49877ae13ae02e1ce5c331baa5217ff904fc8ca8a92f54394e471b5f4bd5084866737d541egit range-diff 5e85f6a..fc7c3a4 a530389..c9dd178reports commit 2 as an exact=match. Commit 1 differs only where the generated/input spelling pair had tobe reconciled, and the difference is positional: the added/removed line
multisets are identical for
typos.local.toml(4 added / 28 removed),docs/developers-guide.md(6 added / 6 removed) and the 35-pattern generatedtypos.toml(21 removed), and all twelve target-only paths in the diff arebyte-identical to their pre-restack state.
The net branch diff is unchanged and still 12 paths, +28/−71.
git diff --checkis clean, and the only repeated-block hit is the intended 4→8 occurrence
correction of
"state not initialized"intests/fixtures/message_assembly.rs.Generator and probe reproduction
The pinned
typos-config-builderv0.1.3gate regenerated the trackedtypos.tomlfromtypos.local.tomland the live shared en-GB-oxendictdictionary. Two consecutive runs produced a stable SHA-256
5c48d693c38aa0817df5071c10ee72c5766742f0bc9c0bf840bad8f3df585e84, and thesecond reported
current: typos.toml.Both narrowing probes were re-run against the same live dictionary:
BackoffConfig::normalisedpassed, because the exemption isthe exact former-public-method form rather than the bare stem;
error: `normalised` should be `normalized`atdocs/developers-guide.md:1454.Notes
The second commit asserts the complete public
SendError::SerializeDisplaystring, which addresses CodeRabbit's valid diagnostic-test finding. Its
additional
drive_with_payloadsrequest concerns a string constructed only bya test-body
map_errafter the helper returned, so it is not a helper outputcontract.
The branch retains an automatic review approval from
coderabbitaiatfc7c3a4. Because a restack creates a new candidate, thatapproval is historical evidence for the old head, not merge eligibility for
fc8ca8a. After the restack, CodeRabbit's commit status reported "Reviewpaused" rather than a rate limit, so a review was dispatched through the
managed queue for head
c9dd178; it completed at 02:23:35Z and raised exactlyone valid finding, the undocumented
User-Facing Documentationcontract.Commit
fc8ca8aaddresses it, satisfies the repository's "update the users'guide for user-facing changes" rule, and a reconciliation reply has been
posted.
fc8ca8achanges documentation only, so thec9dd178CI resultsremain applicable to the code under test, and hosted checks were re-observed
green on
fc8ca8a. A confirmation review forfc8ca8ais queued.The revised B build-routing guidance and this layer's spelling guidance both
survive in separate developer-guide sections. Concordat #203 repaired CV-005
upstream, but this repository's run remains pinned to
8a2c99cpending anexplicit re-pin decision; BD-001/002 and CV-005 remain recorded selected-canon
conflicts.
References
Summary by Sourcery
Normalize Oxford spelling throughout the project while preserving necessary public and tooling-specific exceptions.
Bug Fixes:
-izespellings across diagnostics, fixtures, documentation, and testing examples.SendErrordisplay prefixes, including the corrected serialization error wording.Enhancements:
Documentation:
SendErrordiagnostic prefixes for users.Tests:
🤖 Generated with Claude Code