# noCV engineering task library

Content version 5

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.

## BCRM — CRM contact synchronization repair

A fictional account team sees overwritten edits, duplicate contacts, and stale opt-out preferences after synchronization retries.

**Field:** Integrations. **Suggested stack:** TypeScript, PostgreSQL, HTTP.

**Engineer value:** Practice sync cursors, conflict policies, privacy boundaries, and replay.

**Company value:** Provide predictable customer-data synchronization with inspectable conflicts.

**Delivery agreement:** Deliver a local bidirectional adapter and reconciliation report.

### Setup prerequisites

- Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

### Map authority

Define identities and field ownership.

#### BCRM-101 — Define contact field ownership between the app and CRM

**Task · Medium priority · Foundational**

noCV practice brief v5 · BCRM-101 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Map authority. Depends on: No preceding ticket.

Difficulty: Foundational. Estimated focused work: 60 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Integrations 50% · System design 30% · Privacy engineering 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Both systems overwrite account names and communication preferences.

Acceptance criteria

- Assign an authority rule per synchronized field.

- Separate display fields from consent fields.

- Define unresolved conflicts explicitly.

Implementation constraints

- Never infer marketing consent from unrelated activity.

Verification

- Resolve an app-owned field change.

- Keep conflicting consent records unresolved.

Deliverables

- Field ownership matrix.

Rollout and recovery: Review the matrix before enabling writes.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-102 — Separate external contact identity from email addresses

**Task · High priority · Intermediate**

noCV practice brief v5 · BCRM-102 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Map authority. Depends on: BCRM-101.

Difficulty: Intermediate. Estimated focused work: 120 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Integrations 60% · Database engineering 40%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

An email change creates a second contact instead of updating the original.

Acceptance criteria

- Use provider and organization-scoped external identities.

- Allow email changes without identity replacement.

- Detect conflicting identity mappings.

Implementation constraints

- Email is mutable data, not a stable key.

Verification

- Update an existing contact's email.

- Reject an external identity mapped across organizations.

Deliverables

- Identity mapping model.

Rollout and recovery: Backfill synthetic mappings before synchronization.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

### Synchronize changes

Handle pagination, retries, conflicts, and deletion.

#### BCRM-103 — Checkpoint CRM pagination only after local batch commit

**Bug · High priority · Advanced**

noCV practice brief v5 · BCRM-103 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Synchronize changes. Depends on: BCRM-102.

Difficulty: Advanced. Estimated focused work: 180 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Data engineering 50% · Database engineering 30% · Integrations 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

The cursor advances even when a page fails to persist.

Acceptance criteria

- Commit page changes and cursor together.

- Resume from the last committed cursor.

- Bound page size and total import work.

Implementation constraints

- Do not use timestamps alone as a pagination tie-breaker.

Verification

- Interrupt after a committed page and resume.

- Fail persistence and verify the cursor remains unchanged.

Deliverables

- Transactional page importer.

Rollout and recovery: Start with small batches; retain checkpoints during recovery.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-104 — Apply contact updates with explicit conflict detection

**Task · High priority · Advanced**

noCV practice brief v5 · BCRM-104 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Synchronize changes. Depends on: BCRM-101, BCRM-103.

Difficulty: Advanced. Estimated focused work: 210 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Distributed systems 40% · Integrations 40% · Database engineering 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

A delayed CRM event overwrites a newer local edit.

Acceptance criteria

- Compare the declared version or revision.

- Apply field ownership rules on conflicts.

- Preserve unresolved values and provenance.

Implementation constraints

- Do not use arrival time as proof of freshness.

Verification

- Merge independent field edits.

- Detect conflicting edits to the same owned field.

Deliverables

- Conflict-aware update handler.

Rollout and recovery: Enable writes only after the conflict report is reviewable.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-105 — Propagate communication opt-outs ahead of ordinary profile updates

**Task · High priority · Advanced**

noCV practice brief v5 · BCRM-105 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Synchronize changes. Depends on: BCRM-104.

Difficulty: Advanced. Estimated focused work: 180 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Privacy engineering 50% · Integrations 30% · Distributed systems 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

An opt-out remains queued behind thousands of cosmetic profile changes.

Acceptance criteria

- Prioritize restrictive preference updates.

- Prevent older permissive values from restoring permission.

- Record propagation state without exposing contact details in logs.

Implementation constraints

- Use synthetic preferences; no messages are sent.

Verification

- Propagate a new opt-out.

- Replay an older opt-in and preserve the restrictive state.

Deliverables

- Preference propagation checks.

Rollout and recovery: Pause outbound communication integration when preference state is uncertain.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-106 — Handle provider rate limits without skipping contacts

**Bug · High priority · Intermediate**

noCV practice brief v5 · BCRM-106 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Synchronize changes. Depends on: BCRM-103.

Difficulty: Intermediate. Estimated focused work: 150 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Integrations 60% · Site reliability 40%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

The importer treats a rate-limited page as empty and advances.

Acceptance criteria

- Respect bounded retry delays.

- Keep the current cursor until a successful page.

- Distinguish terminal authentication failure from throttling.

Implementation constraints

- Use a mock clock and fixed retry ceiling.

Verification

- Recover from one rate-limited response.

- Exhaust retries without advancing the cursor.

Deliverables

- Rate-limit handling.

Rollout and recovery: Pause the organization sync after exhaustion; resume from its saved cursor.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-107 — Represent deleted CRM records with tombstone semantics

**Task · High priority · Advanced**

noCV practice brief v5 · BCRM-107 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Synchronize changes. Depends on: BCRM-104, BCRM-105.

Difficulty: Advanced. Estimated focused work: 180 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Data engineering 40% · Integrations 30% · Privacy engineering 30%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

A deleted record reappears when an old update is replayed.

Acceptance criteria

- Retain deletion identity and source revision.

- Prevent older updates from resurrecting the record.

- Apply the documented retention rule to local fields.

Implementation constraints

- Deletion policy must distinguish identity metadata from contact contents.

Verification

- Apply a deletion then replay an older update.

- Verify an authorized new identity follows an explicit recreation path.

Deliverables

- Deletion and replay rules.

Rollout and recovery: Introduce tombstones before importing deletion events.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

### Operate safely

Reconcile drift and recover interrupted imports.

#### BCRM-108 — Reconcile contact drift using bounded hashes and counts

**Task · Medium priority · Intermediate**

noCV practice brief v5 · BCRM-108 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Operate safely. Depends on: BCRM-106, BCRM-107.

Difficulty: Intermediate. Estimated focused work: 150 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Integrations 50% · Privacy engineering 50%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Support needs to find mismatches without exporting every contact's personal data.

Acceptance criteria

- Compare scoped canonical synchronized-field digests.

- Report missing and changed identities separately.

- Limit detailed inspection to authorized records.

Implementation constraints

- Do not publish raw contact values in aggregate reports.

Verification

- Identify one missing and one changed contact.

- Deny reconciliation across organization boundaries.

Deliverables

- Drift report.

Rollout and recovery: Run read-only reconciliation before repair.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-109 — Plan a full CRM resynchronization without erasing local edits

**Task · High priority · Expert**

noCV practice brief v5 · BCRM-109 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Operate safely. Depends on: BCRM-104, BCRM-108.

Difficulty: Expert. Estimated focused work: 300 minutes; setup and prerequisite tickets are additional.

Estimated field mix: System design 40% · Integrations 40% · Distributed systems 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

A corrupted cursor requires a new import while staff continue editing customer records.

Acceptance criteria

- Freeze an import boundary and preserve concurrent local revisions.

- Compare merge strategies and conflict workload.

- Rehearse resumption and cancellation without bulk replacement.

Implementation constraints

- Keep the exercise bounded to the synthetic dataset.

Verification

- Resume an interrupted full import.

- Edit a contact mid-import and verify conflict preservation.

Deliverables

- Resynchronization decision record.

Rollout and recovery: Run read-only comparison first; apply reviewed differences in bounded batches.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.

#### BCRM-110 — Create a sync support view with safe failure categories

**Story · Low priority · Foundational**

noCV practice brief v5 · BCRM-110 · CRM contact synchronization repair

Fictional engineering practice briefs. Starter repositories, fixtures, automated grading, and verified ownership are not included.

Phase: Operate safely. Depends on: BCRM-109.

Difficulty: Foundational. Estimated focused work: 90 minutes; setup and prerequisite tickets are additional.

Estimated field mix: Frontend 40% · Integrations 40% · Site reliability 20%.

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Support sees only 'sync failed' and repeatedly restarts imports.

Acceptance criteria

- Show last committed cursor age and operation status.

- Distinguish throttling, authorization, conflict, and malformed data.

- Provide a scoped resume action using existing identity.

Implementation constraints

- Exclude tokens and contact contents from status output.

Verification

- Display a successful completed import.

- Show authorization failure without retrying indefinitely.

Deliverables

- Support status projection.

Rollout and recovery: Expose read-only status first; keep repairs separately authorized.

Project prerequisites: Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.

Engineer value: Practice sync cursors, conflict policies, privacy boundaries, and replay.

Company value: Provide predictable customer-data synchronization with inspectable conflicts.

AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.

Planning status does not create Outcome Evidence or Ownership Evidence.
