TEFactory Control RoomISOLATED PREVIEWS
← All jobs

JOB D8F3204C · REVISION 0

Show Candidate Email in Profile.

phantomtiger04@gmail.com

failed

REQUEST

Hi. In the candidate detail drawer, display the candidate’s email address beneath their title and company. Make it a clickable mailto: link and add an automated test for it. Do not change the database schema or migrate any data.

1. Requested behavior

In the candidate detail drawer, show the candidate’s existing email beneath the title/company line. Render it as a clickable link with `href="mailto:<email>"`.

2. Frontend changes

- Update the drawer markup in [components/recruiting-app.tsx](/vercel/sandbox/target/components/recruiting-app.tsx) to add the email link below the title/company text.
- Add minimal styling in [app/styles.css](/vercel/sandbox/target/app/styles.css) so the email aligns with the drawer metadata and has an appropriate link color/hover state.
- No changes are needed to candidate forms or existing recruiting workflows.

3. Backend and Convex changes

None. Candidate email already:

- Exists as a required `candidates.email` field in [convex/schema.ts](/vercel/sandbox/target/convex/schema.ts).
- Is returned by [convex/dashboard.ts](/vercel/sandbox/target/convex/dashboard.ts).
- Is supported by the Convex create/update mutations and API validation.
- Is included in the fallback demo data path.

4. Migration assessment

No versioned migration is required. This is presentation-only and does not alter stored data.

Therefore:

- No transient widened schema is needed.
- No backup/stash or migration snapshot changes are needed.
- No forward transform, rollback transform, or reapply transform is needed.
- No row-count or data invariant changes are needed.
- `convex/migrations.config.ts`, `convex/migrations.ts`, and the app version remain unchanged.

The existing factory migration lifecycle should continue to pass unchanged.

5. Tests and browser verification

- Extend [e2e/factory-preview.spec.ts](/vercel/sandbox/target/e2e/factory-preview.spec.ts) to open a seeded candidate drawer and assert:
  - The email is visible beneath the title/company.
  - The link’s `href` equals the expected `mailto:` URL.
- Run the required checks from `.factory/config.json`:
  - `bun run typecheck`
  - `bun run test:run`
  - `bun run build`
  - `bun run test:e2e`
- Browser verification should confirm the link is clickable and does not interfere with opening/closing the drawer or existing candidate editing and notes workflows.

6. Risks or questions

No material safety blockers are apparent. The request can be implemented safely in an isolated preview without database or production operations. The only minor consideration is styling the new link so it remains readable and does not accidentally trigger the drawer backdrop handler; the link is inside the drawer and should naturally stop propagation through the existing drawer container.
Run stopped safely

$ playwright test error: script "test:e2e" exited with code 1

TIMELINE

provisioning

Request received

implementing

Isolated backend cloned; Codex implementation started

migrating

Running idempotent migration and validation

testing

Running typecheck, tests, and production build

deploying

Committing branch and creating Vercel preview

verifying

Running deployed browser smoke tests and recording evidence

failed

Implementation failed