mirror of
https://github.com/prdlk/jobyssey.git
synced 2026-11-02 13:12:49 +00:00
docs(claude): clarify Fastmail requirement and add Twenty CRM sync steps to rank and scraper docs
This commit is contained in:
1 parent
1884510414
commit
12f7f4d9dc
3 files changed
+26
-1
No files matched your search
@@ -94,6 +94,21 @@ Do not modify `job_search_tracker.csv` - that file records applications, and `/r
|
||||
|
||||
---
|
||||
|
||||
## Step 4.5: Sync the Delta to Twenty CRM
|
||||
|
||||
`/rank` is the moment a posting becomes an opportunity, so the run pushes its own delta to Twenty instead of waiting for a manual `/sync-twenty`. **Silently optional**: if the Twenty MCP tools (`execute_tool` meta-tool / `mcp__twenty_*` devices) are not available in this session, or the one cheap preflight call fails, say so in one line inside the Step 5 report and skip this step - the ranking result above is complete without it, and the next `/sync-twenty` run will catch the CRM up.
|
||||
|
||||
Follow the `/sync-twenty` contract exactly (it is the single source of truth for field maps, enum tables, batch caps, and idempotency rules) - this step is that command scoped to **this run's delta**:
|
||||
|
||||
1. **Newly ranked jobs** (this run's Step 4 writes): ensure each employer's Company record exists (`/sync-twenty` Steps 4-5: dedup on normalized name, enrich via `tools/twenty_enrich.py` local layer, never overwrite existing records), then create the Opportunity (`/sync-twenty` Step 6: dedup on posting URL, `stage: RANKED`, score/verdict/url/location/`companyId`, batches ≤ 20) and its Fit Analysis note (`/sync-twenty` Step 8).
|
||||
2. **Newly expired entries** (this run's rule 6 sweep and dead-posting marks): if the posting URL already has an Opportunity, set its `stage` to `EXPIRED` via `upsert_many_opportunities` with the explicit `id` (assert zero creates). Never delete records.
|
||||
3. **Salary + name cleanup** (`/sync-twenty` Step 7) run only over the records this step touched.
|
||||
4. Add one line to the Step 5 report: `Twenty CRM: <N> opportunities created, <E> expired, <C> companies created (or: skipped - not connected).`
|
||||
|
||||
Everything created here is what a subsequent full `/sync-twenty` would create - running both never duplicates (both dedup on the same posting-URL / normalized-name keys).
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Present the Shortlist
|
||||
|
||||
```
|
||||
|
||||
Reference in new issue
Block a user