fix(sales): stop interpolating the offer name directly after the article 'the' - #94
fix(sales): stop interpolating the offer name directly after the article 'the'#94nish3451 wants to merge 62 commits into
Conversation
…cle 'the' offerName is 'The Website Correction', so five operator copy templates rendered 'the The Website Correction' (or 'The The Website Correction') in generated calls, recording briefs, loom scripts, kickoffs, and follow-up messages. Drop the redundant article at each interpolation site and add a product-truth guard that fails any active operator copy source interpolating the offer name directly after 'the'.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThe PR updates generated offer messaging to remove “the” before configured offer names. It also adds a validation scan across selected scripts to detect direct interpolation that uses this pattern. ChangesOffer Name Interpolation Cleanup
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change removes duplicated articles from generated offer copy and adds a guard against recurrence; no actionable merge-blocking risk remains after normal checks and review. Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5061dfd436
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for (const path of [ | ||
| "scripts/draft-sales-call-prep.mjs", |
There was a problem hiding this comment.
Check every active generator for doubled offer articles
This hard-coded subset leaves active offer-copy generators such as create-prospect-audit.mjs, prepare-prospect-close-package.mjs, and export-proof-library.mjs unchecked, even though they are already listed in activeGeneratorSources and interpolate offerName. If any of those emits the ${config.offerName}, the product-truth gate still passes while producing the same "the The Website Correction" regression this guard is intended to prevent; apply the check across activeGeneratorSources (plus any relevant libraries) instead.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
What
offerNameis "The Website Correction", so five operator copy templates interpolated it directly after the article "the"/"The", rendering duplicated-article copy in generated outputs:draft-sales-call-prep.mjs— "The The Website Correction is exactly a $1,000 founder pilot…"draft-recording-sharpness-brief.mjs— "Offer the The Website Correction at …"draft-loom-recording-script.mjs— "positions the The Website Correction as the obvious next step"draft-client-kickoff.mjs— "Thanks for approving the The Website Correction."draft-prospect-message.mjs— "the exact one-page The Website Correction scope"Fix
check-product-truth.mjs: any active operator copy source interpolating the offer name directly after "the" fails the gate (verified: reintroducing the pattern makesproduct:truthfail withoffer name is interpolated directly after the article 'the').Validation
node scripts/check-product-truth.mjs— passednode scripts/test-sales-intake-contract.mjs— passednode scripts/test-active-offer-projection.mjs— passednode scripts/test-outbound-send-readiness.mjs— passednpm test— full suite, exit 0 (incl. active operator surfaces + product truth)Note (not changed, same family)
create-prospect-audit.mjsrenders "run a The Website Correction" (article "a" directly before the name). The codebase convention tolerates "a human-reviewed The Website Correction" (used inloom-audit-script.md,proof-library.md), so I left the "a" sites alone; flagging here for a decision.Summary by CodeRabbit
Bug Fixes
Tests