Skip to content

Prospecting defaults to 3 contacts per company - #39

Merged
yudelevi merged 1 commit into
developmentfrom
fix/prospecting-default-contacts-3
Oct 3, 2026
Merged

yudelevi merged 1 commit into
developmentfrom
fix/prospecting-default-contacts-3

Conversation

@yudelevi

@yudelevi yudelevi commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

The API now uses 3 contacts per company when a brief doesn't state a count (was 1). The SDK's ProspectingBrief default, CLI help, READMEs and CHANGELOG still said 1.

requests.py is regenerated from the spec; the field stays optional and 1-10, and is still omitted from the wire when unset, so older and newer SDKs behave the same against any server.

Pilot checkpoint reply copy also changed server-side. No change needed here: the CLI shows and sends the suggested_replies the server returns, and hardcodes none.

RetriggerConfidence Score: 4/5

The PR appears safe to merge; the remaining issue is a non-blocking test-coverage gap for an explicit value of 3.

Fix All in Claude CodeFindings

  1. P2 Explicit default lacks coverage ▶
Fix with agent prompt
### Issue 1
packages/discolike/tests/test_prospecting.py:420
The updated test checks that an omitted count stays off the wire, but its explicit case uses `2`. It does not protect the new default of `3` when a caller supplies it explicitly. That value must be sent so it can override a different count inferred from the brief; otherwise a future serialization change could break that behavior unnoticed.

```suggestion
    assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 3)
    assert ProspectingBrief(brief=implicit.brief, contacts_per_company=3).to_wire() == {
        "brief": implicit.brief,
        "contacts_per_company": 3,
    }
```

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

The PR aligns the SDK model default, CLI help, documentation, and an SDK test with the API’s stated fallback of three contacts per company. An unset count remains omitted from the request body, leaving brief inference to the server.

Reviews (1) · Last reviewed commit: "Prospecting defaults to 3 contacts per c..."

The API now fills in 3 contacts per company when a brief gives no
count, instead of 1. The SDK model default, the CLI help and the docs
still promised 1, so a caller reading them would plan around the wrong
number of people per company.
brief=implicit.brief, target_companies=25, contacts_per_company=2, max_actions=0, max_candidates=0
)
assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 1)
assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 3)

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 Explicit default lacks coverage The updated test checks that an omitted count stays off the wire, but its explicit case uses 2. It does not protect the new default of 3 when a caller supplies it explicitly. That value must be sent so it can override a different count inferred from the brief; otherwise a future serialization change could break that behavior unnoticed.

Suggested change
assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 3)
assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 3)
assert ProspectingBrief(brief=implicit.brief, contacts_per_company=3).to_wire() == {
"brief": implicit.brief,
"contacts_per_company": 3,
}

Knowledge Base Used: Quality and delivery automation

Prompt To Fix With AI
This is a comment left during a code review.
Path: packages/discolike/tests/test_prospecting.py
Line: 420

Comment:
**Explicit default lacks coverage** The updated test checks that an omitted count stays off the wire, but its explicit case uses `2`. It does not protect the new default of `3` when a caller supplies it explicitly. That value must be sent so it can override a different count inferred from the brief; otherwise a future serialization change could break that behavior unnoticed.

```suggestion
    assert (implicit.target_companies, implicit.contacts_per_company) == (1000, 3)
    assert ProspectingBrief(brief=implicit.brief, contacts_per_company=3).to_wire() == {
        "brief": implicit.brief,
        "contacts_per_company": 3,
    }
```

**Knowledge Base Used:** [Quality and delivery automation](https://app.greptile.com/discolike/-/custom-context/knowledge-base/discolike/discolike-python/-/docs/quality-and-delivery.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Claude Code Fix in Codex

@yudelevi
yudelevi merged commit 3105281 into development Oct 3, 2026
9 checks passed
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