# Customer Intake Work Items

This is the first Plane-parity product slice for Company OS: customers and
customer requests become first-class intake records that can be promoted into
ordinary Company OS tasks.

The design intentionally avoids a second work ledger. Customer requests preserve
the product/customer signal, while tasks remain the execution unit for agents,
humans, traces, governance, and verification.

## API

```http
GET  /api/company/companies/{company_id}/customers
POST /api/company/companies/{company_id}/customers

GET  /api/company/companies/{company_id}/customer-requests
POST /api/company/companies/{company_id}/customer-requests
POST /api/company/companies/{company_id}/customer-requests/{request_id}/promote-task
```

Implementation:

- `src/company_os/customer_intake.rs`
- `migrations/20260610120000__customer_intake.sql`

## Customer Profiles

`company_customers` stores:

- external reference;
- name, email, organization, segment;
- status: `active`, `prospect`, `churned`, or `archived`;
- arbitrary properties for CRM/import metadata.

## Customer Requests

`customer_requests` stores:

- customer link;
- source and source reference for idempotent imports;
- title/body;
- type: `bug`, `feature`, `feedback`, `support`, `sales`, `risk`, or `other`;
- status: `new`, `triaged`, `linked`, `closed`, or `rejected`;
- priority;
- evidence and intake metadata.

## Promotion To Task

Promotion creates one Company OS task and links it back to the request:

```text
customer_request
  -> promote-task
  -> tasks row with capability_ref { kind: "customer_request", ref: request_id }
  -> customer_requests.status = linked
  -> governance event customer_request_promoted
```

The promoted task carries a generated specification with:

- customer name;
- request type;
- source;
- title/body;
- evidence JSON.

Agents should use the task as the execution unit and the customer request as
the customer/product signal. Any customer-visible action still follows the
production-readiness policy in `PRODUCTION_READINESS_POLICIES.md`.

## Next Plane-Parity Slices

1. Comments/activity timeline on customer requests and tasks.
2. Rich labels/custom fields and saved views for work queues.
3. Cycles/modules/roadmaps as planning containers over tasks.
4. Importers from Jira, Linear, Plane, CSV, and support tools.
5. Customer request UI in Company Console.
