lakehouse/data/workspaces/ws-1774619071313.json
root 0b9da45647 Agent workspaces: per-contract overlays with instant handoff
- WorkspaceManager: create/get/list workspaces with daily/weekly/monthly/pinned tiers
- Saved searches: agent stores SQL queries in workspace context
- Shortlist: tag candidates/records to a workspace with notes
- Activity log: track calls, emails, updates per workspace per agent
- Instant handoff: transfer workspace ownership with full history
  Zero data copy — just a pointer swap, receiving agent sees everything
- Persistence: workspaces stored as JSON in object storage, rebuilt on startup
- Endpoints: /workspaces/create, /{id}, /{id}/handoff, /{id}/search,
  /{id}/shortlist, /{id}/activity
- Tested: Sarah creates workspace, saves searches, shortlists 3 candidates,
  logs activity, hands off to Mike who continues seamlessly

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 08:44:45 -05:00

130 lines
4.0 KiB
JSON

{
"id": "ws-1774619071313",
"name": "Apex Corp - .NET Developers Chicago",
"description": "Fill 5 .NET developer positions, downtown Chicago, $65-85/hr",
"tier": "weekly",
"owner": "Mike",
"previous_owners": [
{
"from_agent": "Sarah",
"to_agent": "Mike",
"reason": "Sarah on PTO, Mike covering Apex account",
"timestamp": "2026-03-27T13:44:31.531544562Z"
}
],
"created_at": "2026-03-27T13:44:31.313179900Z",
"updated_at": "2026-03-27T13:44:31.534554639Z",
"saved_searches": [
{
"name": "Chicago .NET active",
"sql": "SELECT candidate_id, first_name, last_name, phone, years_experience FROM candidates WHERE city = 'Chicago' AND skills LIKE '%.NET%' AND status = 'active' ORDER BY years_experience DESC",
"created_at": "2026-03-27T13:44:31.314740279Z"
},
{
"name": "High-bill .NET history",
"sql": "SELECT p.candidate_id, c.first_name, c.last_name, p.bill_rate FROM placements p JOIN candidates c ON p.candidate_id = c.candidate_id JOIN job_orders j ON p.job_order_id = j.job_order_id WHERE j.title LIKE '%.NET%' AND p.bill_rate > 60 ORDER BY p.bill_rate DESC LIMIT 20",
"created_at": "2026-03-27T13:44:31.315923201Z"
}
],
"shortlist": [
{
"dataset": "candidates",
"record_id": "CAND-006645",
"notes": "Joseph Hill — 30yr .NET exp",
"added_at": "2026-03-27T13:44:31.524757463Z",
"added_by": "Sarah"
},
{
"dataset": "candidates",
"record_id": "CAND-020078",
"notes": "Jessica Jones — 30yr .NET exp",
"added_at": "2026-03-27T13:44:31.525965891Z",
"added_by": "Sarah"
},
{
"dataset": "candidates",
"record_id": "CAND-015656",
"notes": "Barbara Wright — 30yr .NET exp",
"added_at": "2026-03-27T13:44:31.527152483Z",
"added_by": "Sarah"
},
{
"dataset": "candidates",
"record_id": "CAND-00099",
"notes": "Mike found additional candidate via LinkedIn",
"added_at": "2026-03-27T13:44:31.534551709Z",
"added_by": "Mike"
}
],
"activity": [
{
"action": "search",
"detail": "saved search: Chicago .NET active",
"timestamp": "2026-03-27T13:44:31.314743876Z",
"agent": "Sarah"
},
{
"action": "search",
"detail": "saved search: High-bill .NET history",
"timestamp": "2026-03-27T13:44:31.315925687Z",
"agent": "Sarah"
},
{
"action": "shortlist",
"detail": "added CAND-006645 from candidates",
"timestamp": "2026-03-27T13:44:31.524762385Z",
"agent": "Sarah"
},
{
"action": "shortlist",
"detail": "added CAND-020078 from candidates",
"timestamp": "2026-03-27T13:44:31.525968748Z",
"agent": "Sarah"
},
{
"action": "shortlist",
"detail": "added CAND-015656 from candidates",
"timestamp": "2026-03-27T13:44:31.527155126Z",
"agent": "Sarah"
},
{
"action": "call",
"detail": "Called top 3 candidates, 2 interested",
"timestamp": "2026-03-27T13:44:31.528254640Z",
"agent": "Sarah"
},
{
"action": "email",
"detail": "Sent job descriptions to shortlist",
"timestamp": "2026-03-27T13:44:31.529452236Z",
"agent": "Sarah"
},
{
"action": "update",
"detail": "Candidate CAND-00025 confirmed for Thursday interview",
"timestamp": "2026-03-27T13:44:31.530540919Z",
"agent": "Sarah"
},
{
"action": "handoff",
"detail": "handed off to Mike — Sarah on PTO, Mike covering Apex account",
"timestamp": "2026-03-27T13:44:31.531546876Z",
"agent": "Mike"
},
{
"action": "call",
"detail": "Followed up with CAND-00025, interview confirmed",
"timestamp": "2026-03-27T13:44:31.533529588Z",
"agent": "Mike"
},
{
"action": "shortlist",
"detail": "added CAND-00099 from candidates",
"timestamp": "2026-03-27T13:44:31.534554347Z",
"agent": "Mike"
}
],
"ingested_datasets": [],
"delta_keys": [],
"tags": []
}