TEFactory Control RoomISOLATED PREVIEWS
← All jobs

JOB 2903A0B3 · REVISION 0

Re: Plan ready: Show Candidate Email in Profile.

phantomtiger04@gmail.com

awaiting approval

REQUEST

APPROVE FQO1TSAV0GE0WJIW On Mon, Aug 31, 2026 at 6:38 PM TE Factory <factory@factory.mailtest.win> wrote: > 1. Requested behavior > > In the candidate detail drawer, show the candidate’s email beneath the > title/company line. Render it as a clickable link with `href="mailto:<candidate > email>"`. > > 2. Frontend changes > > - Update the drawer markup in > [components/recruiting-app.tsx](/vercel/sandbox/target/components/recruiting-app.tsx) > to add the email anchor beneath the existing title/company text. > - Add minimal styling in > [app/styles.css](/vercel/sandbox/target/app/styles.css) if needed for > spacing and link appearance. > - No changes to candidate editing or existing recruiting workflows. > > 3. Backend and Convex changes > > None required. Candidate email already exists in: > > - `Candidate` and `CandidateInput` types. > - The Convex `candidates` schema. > - Convex create/update functions. > - Dashboard/API responses. > - Demo seed and fallback data. > > 4. Migration assessment > > No stored data or schema changes are needed, so no version bump or > migration entry is required. > > The transient widened schema, backup/stash, forward transform, rollback, > reapply, and row-count/invariant validation are therefore not applicable > and must not be run for this UI-only change. Existing records already > contain email values, and the existing migration contract remains 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` is the expected `mailto:` URL. > - Run the factory-required checks: typecheck, unit tests, build, and > Playwright smoke/browser verification in the isolated preview. > > 6. Risks or questions > > No blocking risks identified. The request is safely implementable in an > isolated preview without credentials, database changes, migrations, or > production operations. > > To launch the isolated implementation, reply with exactly: > APPROVE FQO1TSAV0GE0WJIW > > To cancel, reply with: > CANCEL FQO1TSAV0GE0WJIW >

1. Requested behavior

In the candidate detail drawer, display the candidate’s email beneath the title/company line as a clickable link:

`href="mailto:<candidate email>"`

2. Frontend changes

- Update [components/recruiting-app.tsx](/vercel/sandbox/target/components/recruiting-app.tsx) to render the email anchor in the existing candidate header.
- Add minimal email-link spacing/color styling in [app/styles.css](/vercel/sandbox/target/app/styles.css), if needed.
- Leave editing and recruiting workflows unchanged.

3. Backend and Convex changes

None. Email is already present in the `Candidate` and `CandidateInput` types, Convex schema and mutations, API/dashboard responses, fallback data, and seeded data.

4. Migration assessment

No stored-data change is required, so no version bump or migration entry is needed.

The transient widened schema, backup/stash, forward transform, rollback, reapply, row-count checks, and invariant validation are all not applicable and must not be run for this UI-only change. The existing migration contract remains unchanged.

5. Tests and browser verification

- Extend [e2e/factory-preview.spec.ts](/vercel/sandbox/target/e2e/factory-preview.spec.ts) to open a candidate drawer and assert:
  - the email is visible beneath the title/company line;
  - the link has the expected `mailto:` href.
- Run the configured typecheck, unit tests, production build, and Playwright smoke test in the isolated preview.

6. Risks or questions

No blocking risks identified. The change is safely implementable in an isolated preview without credentials, database changes, migrations, production operations, or disruption to existing workflows.

TIMELINE

received

Request received

planning

Read-only planning run queued

awaiting approval

Plan sent; waiting for email approval