Skip to content

fix(sales): stop interpolating the offer name directly after the article 'the' - #94

Closed
nish3451 wants to merge 62 commits into
mainfrom
fix/operator-copy-offer-article
Closed

fix(sales): stop interpolating the offer name directly after the article 'the'#94
nish3451 wants to merge 62 commits into
mainfrom
fix/operator-copy-offer-article

Conversation

@nish3451

@nish3451 nish3451 commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

What

offerName is "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

  • Drop the redundant article at each of the five interpolation sites (the offer name already carries "The").
  • Add a product-truth guard in check-product-truth.mjs: any active operator copy source interpolating the offer name directly after "the" fails the gate (verified: reintroducing the pattern makes product:truth fail with offer name is interpolated directly after the article 'the').

Validation

  • node scripts/check-product-truth.mjs — passed
  • node scripts/test-sales-intake-contract.mjs — passed
  • node scripts/test-active-offer-projection.mjs — passed
  • node scripts/test-outbound-send-readiness.mjs — passed
  • npm test — full suite, exit 0 (incl. active operator surfaces + product truth)

Note (not changed, same family)

create-prospect-audit.mjs renders "run a The Website Correction" (article "a" directly before the name). The codebase convention tolerates "a human-reviewed The Website Correction" (used in loom-audit-script.md, proof-library.md), so I left the "a" sites alone; flagging here for a decision.

Summary by CodeRabbit

  • Bug Fixes

    • Improved generated sales, recording, kickoff, and prospect messages to use offer names naturally and consistently.
    • Removed awkward “the” phrasing before offer names in scripts and calls to action.
    • Updated follow-up messaging to refer clearly to the exact one-page scope.
  • Tests

    • Added validation to detect inconsistent offer-name phrasing across generated materials.

…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'.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: db5be105-bf47-454e-9476-e56ce5077fa9

📥 Commits

Reviewing files that changed from the base of the PR and between 80df37a and 2f5c391.

📒 Files selected for processing (6)
  • scripts/check-product-truth.mjs
  • scripts/draft-client-kickoff.mjs
  • scripts/draft-loom-recording-script.mjs
  • scripts/draft-prospect-message.mjs
  • scripts/draft-recording-sharpness-brief.mjs
  • scripts/draft-sales-call-prep.mjs

📝 Walkthrough

Walkthrough

The 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.

Changes

Offer Name Interpolation Cleanup

Layer / File(s) Summary
Generated message wording
scripts/draft-client-kickoff.mjs, scripts/draft-loom-recording-script.mjs, scripts/draft-prospect-message.mjs, scripts/draft-recording-sharpness-brief.mjs, scripts/draft-sales-call-prep.mjs
Updated generated kickoff, recording, prospect, and sales-call text to avoid inserting “the” before configured offer names.
Offer name interpolation validation
scripts/check-product-truth.mjs
Added a scan that reports direct offer-name interpolation after “the” in selected scripts. Missing files produce no violation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 2f5c3

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 Free

Your 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 @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines +252 to +253
for (const path of [
"scripts/draft-sales-call-prep.mjs",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nish3451 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@nish3451

Copy link
Copy Markdown
Collaborator Author

Superseded by #178 — 100% of this PR's changes are contained in it, plus a lane report. Closing in favour of #178.

@nish3451 nish3451 closed this Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant