TEFactory Control RoomISOLATED PREVIEWS
← All jobs

JOB 32CD61BE · REVISION 0

Re: Plan ready: Re: Plan ready: Show Candidate Email in Profile.

phantomtiger04@gmail.com

awaiting approval

REQUEST

APPROVE STBJFEGGWLSZKWB4 On Mon, Aug 31, 2026 at 6:41 PM TE Factory <factory@factory.mailtest.win> wrote: > 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. > > To launch the isolated implementation, reply with exactly: > APPROVE STBJFEGGWLSZKWB4 > > To cancel, reply with: > CANCEL STBJFEGGWLSZKWB4 >

1. User-visible behavior

In the candidate detail drawer, show the candidate’s email beneath the title/company line as a clickable `mailto:` link.

2. Frontend changes

- Update `components/recruiting-app.tsx` within the existing `.personHeader`.
- Render an anchor with `href={`mailto:${selectedCandidate.email}`}`.
- Add minimal spacing/color styling in `app/styles.css`, likely scoped to the drawer header email link.
- Preserve all editing, stage, notes, deletion, login, and recruiting workflows.

3. Backend and Convex changes

None. Email already exists in the frontend types, API validation, Convex schema/mutations, fallback data, and seeded records.

4. Migration assessment

No versioned migration is required because this is UI-only and does not alter stored data.

Therefore, none of the following apply:

- transient widened schema;
- backup/stash;
- forward transform;
- rollback or reapply;
- row-count validation;
- invariant validation.

The existing migration configuration and implementation remain unchanged, and the migration lifecycle should not be run for this request.

5. Tests and browser verification

- Extend `e2e/factory-preview.spec.ts` to open an existing candidate drawer, such as Ava Chen’s.
- Assert the email is visible beneath the title/company line.
- Assert the email link has the expected `mailto:ava.chen@example.test` href.
- Run the configured checks:
  - `bun run typecheck`
  - `bun run test:run`
  - `bun run build`
  - `bunx playwright install chromium && bun run test:e2e`

6. Risks or questions

No blocking risks identified. The repository is clean, email data is already available, and the change can be implemented safely in an isolated preview without credentials, database changes, migrations, deployment, or production operations.

TIMELINE

received

Request received

planning

Read-only planning run queued

awaiting approval

Plan sent; waiting for email approval