bcgov / bcgov/entity

Epic: Investigate and Resolve Candidate Migration Failures

Open
#34,432 0 comments 0 reactions 0 assignees View on GitHub
Entities - Data Migration
Dominant language
JavaScript
Stars
23
Forks
62
Avg merge
24m
Merged PRs (30d)
1

Description

## Objective

Identify all **active candidates who are currently not being migrated due to failed migration criteria**, analyze the reasons for failure, and determine the appropriate resolution based on business logic.

The goal is to clearly categorize the failed criteria, distinguish between **data/configuration issues, business-rule exceptions, implementation gaps, and cases requiring further investigation**, and establish a path to clear eligible candidates for migration.

## Scope

This epic will cover:

- Identifying active candidates who are excluded from migration.
- Extracting and analyzing the migration criteria that caused each candidate to fail.
- Categorizing candidates based on the specific failed criteria.
- Validating each failure against the expected business logic.
- Determining whether the candidate should:
- Be cleared for migration.
- Remain excluded based on valid business rules.
- Require data/configuration correction.
- Require implementation changes.
- Require additional investigation or business clarification.
- Documenting findings and proposed resolutions.
- Implementing approved fixes where required.
- Re-running migration eligibility checks to confirm the resolution.

## Key Activities

### 1\. Identify Failed Candidates

Generate a list of all active candidates that are currently not being migrated because one or more migration criteria have failed.

Capture, at minimum:

- Candidate identifier
- Current status
- Migration eligibility status
- Failed criteria
- Relevant data/configuration
- Failure reason/message
- Current system behavior

### 2\. Categorize Failed Criteria

Group the failures into meaningful categories, for example:

- **Data Issue** — Candidate data is missing, invalid, or inconsistent.
- **Business Rule Failure** — Candidate genuinely does not meet the defined migration criteria.
- **Configuration Issue** — System/configuration is preventing an otherwise eligible candidate from migrating.
- **Implementation Gap** — Existing implementation does not correctly support the intended business logic.
- **Integration/Dependency Issue** — Failure is caused by another system or dependency.
- **Business Clarification Required** — Existing rules are ambiguous or do not cover the scenario.
- **Investigation Required** — Root cause cannot be determined from the current information.

### 3\. Validate Against Business Logic

For each category and failure scenario:

- Review the applicable business rules.
- Confirm whether the current eligibility behavior is expected.
- Identify discrepancies between business requirements and system implementation.
- Determine whether the candidate should be considered eligible.

### 4\. Determine Resolution

For each failed candidate/criteria combination, document:

| Failure Category | Expected Behavior | Current Behavior | Resolution | Action |
| --- | --- | --- | --- | --- |
| Data Issue | Valid data required | Data missing/invalid | Correct data | Data remediation |
| Business Rule | Candidate should be excluded | Candidate excluded | No change | Confirm rule |
| Configuration | Eligible candidate should migrate | Configuration blocks migration | Update configuration | Configuration change |
| Implementation Gap | Business rule should allow migration | System rejects candidate | Fix logic | Development |
| Clarification | Rule is ambiguous | Inconsistent outcome | Confirm business rule | Investigation |
| Dependency | Dependency must succeed | Dependency failure | Resolve dependency | Cross-team action |

### 5\. Implementation Assessment

For scenarios where the system behavior does not match the expected business logic, determine:

- Whether an implementation change is required.
- Components/services affected.
- Estimated complexity and impact.
- Regression considerations.
- Test scenarios required.
- Whether the change can be handled within this epic or requires a separate story/epic.

### 6\. Investigation & Business Decisions

For unresolved scenarios:

- Identify the information needed.
- Engage the appropriate business/system owners.
- Document the decision and rationale.
- Update the migration criteria/business rules where necessary.

## Deliverables

The epic is complete when:

- All active non-migrated candidates have been identified.
- Failed migration criteria have been categorized.
- Each failure has a documented root cause or investigation status.
- Business logic has been validated.
- Candidates eligible for migration have been identified.
- Data/configuration issues have been resolved where applicable.
- Required implementation gaps have been identified and either resolved or converted into development stories.
- Business-clarification items have documented decisions.
- Migration eligibility has been re-evaluated after remediation.
- A final summary of remaining excluded candidates and the reasons for exclusion is available.

## Success Criteria

The outcome should provide a clear answer to:

1. **Which active candidates are not migrating?**
2. **Why is each candidate failing?**
3. **Which failures are valid according to business rules?**
4. **Which candidates can be cleared immediately?**
5. **Which failures require data/configuration changes?**
6. **Which failures require code/implementation changes?**
7. **Which scenarios require further investigation or business decisions?**
8. **After remediation, are eligible candidates successfully entering the migration flow?**

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by identifying active non-migrated candidates and the migration criteria or failure messages, then categorize and validate each failure against the business rules. Done means root causes and resolutions are documented, eligible candidates are re-evaluated, and remaining exclusions are explained.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.