# 3. Subject Management — Test Cases

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*
Spec: subject_management.md — every feature, sub-feature, and rule covered

---

## Test Execution Policy
- Zero tolerance: any deviation from documented behavior = FAILED = bug
- Every bug is immediately logged/reported (Bug ID, feature, sub-feature,
  expected vs actual, severity) and fixed 100% before the group passes
- Feature group passes only at 100% test pass rate

## Coverage Matrix
| Feature | Sub-feature / Rule | Test IDs |
|---------|--------------------|----------|
| 3.1 Add Multiple Subjects per Grade | Add subjects to a grade (multiple per grade) | TC-SA-05-03-001 |
| 3.1 Add Multiple Subjects per Grade | Subject identity: name, code (where used), and description | TC-SA-05-03-002 |
| 3.1 Add Multiple Subjects per Grade | Subject attributes: the subject's type (core/elective where applicable) and notes | TC-SA-05-03-003 |
| 3.1 Add Multiple Subjects per Grade | Per-grade subject sets: a grade's subjects are its own set | TC-SA-05-03-004 |
| 3.1 Add Multiple Subjects per Grade | Subject list per grade with counts of mapped topics/content | TC-SA-05-03-005 |
| 3.1 Add Multiple Subjects per Grade | Subject status: active subjects are usable; inactive subjects are not offered for new mapping | TC-SA-05-03-006 |
| 3.1 Add Multiple Subjects per Grade | Audit logging of subject add/edit | TC-SA-05-03-007 |
| 3.1 Add Multiple Subjects per Grade | Rule: subjects belong to a grade (within a board's context); a grade's subject set is its own | TC-SA-05-03-004 |
| 3.1 Add Multiple Subjects per Grade | Rule: multiple subjects per grade are supported; the set is the grade's offered subjects | TC-SA-05-03-001 |
| 3.1 Add Multiple Subjects per Grade | Rule: an inactive subject is not offered for new mapping but preserves existing mappings and history | TC-SA-05-03-006 |
| 3.1 Add Multiple Subjects per Grade | Rule: the subject list shows mapped counts, so a subject with no topics/content is a visible gap | TC-SA-05-03-005 |
| 3.1 Add Multiple Subjects per Grade | Rule: subject identity (name/code) changes are recorded; mappings reference the subject, not its old name | TC-SA-05-03-008 |
| 3.1 Add Multiple Subjects per Grade | Rule: subject add and edit are audit-logged with the grade, subject, and timestamp | TC-SA-05-03-007 |
| 3.2 Subject-Wise Curriculum Breakdown | Subject breakdown: the chapters/topics that compose the subject for a grade | TC-SA-05-03-009 |
| 3.2 Subject-Wise Curriculum Breakdown | Sequencing: the order of chapters/topics within the subject | TC-SA-05-03-010 |
| 3.2 Subject-Wise Curriculum Breakdown | Completeness: the subject's full breakdown is present (no missing chapters) | TC-SA-05-03-011 |
| 3.2 Subject-Wise Curriculum Breakdown | Breakdown view: the subject's structure with the mapped content per chapter/topic | TC-SA-05-03-012 |
| 3.2 Subject-Wise Curriculum Breakdown | Alignment to the board's syllabus (where the subject is board-specific) | TC-SA-05-03-013 |
| 3.2 Subject-Wise Curriculum Breakdown | Revision: updating the breakdown as the syllabus evolves | TC-SA-05-03-014 |
| 3.2 Subject-Wise Curriculum Breakdown | Audit logging of breakdown changes | TC-SA-05-03-015 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: the breakdown is per subject per grade; it is the subject's structured content for that level | TC-SA-05-03-009 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: sequencing is maintained; the order reflects the learning progression, so "next topic" is well-defined | TC-SA-05-03-010 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: completeness is visible: a chapter/topic with no mapped content is a gap, not a silent omission | TC-SA-05-03-011 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: a board-specific subject's breakdown aligns to the board's syllabus; the nodes mirror it | TC-SA-05-03-013 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: a revision updates the breakdown and re-maps content, with the change recorded | TC-SA-05-03-014 |
| 3.2 Subject-Wise Curriculum Breakdown | Rule: breakdown changes are audit-logged with the subject, grade, nodes, and timestamp | TC-SA-05-03-015 |
| 3.3 Cross-Subject Linking for Integrated Learning | Cross-subject link: a connection between a topic in one subject and a topic in another | TC-SA-05-03-016 |
| 3.3 Cross-Subject Linking for Integrated Learning | Link creation: the Super Admin links related topics across subjects | TC-SA-05-03-017 |
| 3.3 Cross-Subject Linking for Integrated Learning | Link direction and type: the nature of the connection (prerequisite, related, applied-in) | TC-SA-05-03-018 |
| 3.3 Cross-Subject Linking for Integrated Learning | Integrated views: a topic's cross-subject connections are visible from its page | TC-SA-05-03-019 |
| 3.3 Cross-Subject Linking for Integrated Learning | Integrated learning material: content that references the linked topics across subjects | TC-SA-05-03-020 |
| 3.3 Cross-Subject Linking for Integrated Learning | Link review: the set of cross-subject links is reviewed for correctness | TC-SA-05-03-021 |
| 3.3 Cross-Subject Linking for Integrated Learning | Audit logging of link create/remove | TC-SA-05-03-022 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: a cross-subject link connects topics in different subjects; it does not merge the subjects (each keeps its own breakdown) | TC-SA-05-03-023 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: the link type is explicit (prerequisite, related, applied-in); the type drives how the connection is presented | TC-SA-05-03-018 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: a prerequisite link implies order (the linked topic should come first); a related link does not | TC-SA-05-03-024 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: links are reviewed for correctness; a wrong link is removed and the removal is recorded | TC-SA-05-03-021 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: integrated material references the linked topics; the references resolve to the actual topics | TC-SA-05-03-020 |
| 3.3 Cross-Subject Linking for Integrated Learning | Rule: link create and remove are audit-logged with the topics, subjects, type, and timestamp | TC-SA-05-03-022 |
| 3.4 Subject Difficulty Progression | Difficulty marking per topic (the topic's difficulty level within the subject) | TC-SA-05-03-025 |
| 3.4 Subject Difficulty Progression | Progression view: the difficulty ramp across the subject's sequence | TC-SA-05-03-026 |
| 3.4 Subject Difficulty Progression | Cross-grade progression: how the subject's difficulty builds from one grade to the next | TC-SA-05-03-027 |
| 3.4 Subject Difficulty Progression | Progression review: the ramp is checked for coherence (no abrupt jumps or regressions) | TC-SA-05-03-028 |
| 3.4 Subject Difficulty Progression | Learner pacing: the progression informs the recommended path and pacing | TC-SA-05-03-029 |
| 3.4 Subject Difficulty Progression | Adjustment: correcting a difficulty mark where the ramp is off | TC-SA-05-03-030 |
| 3.4 Subject Difficulty Progression | Audit logging of difficulty mark changes | TC-SA-05-03-031 |
| 3.4 Subject Difficulty Progression | Rule: difficulty is marked per topic; the progression is the ramp formed by the marks across the sequence | TC-SA-05-03-025 |
| 3.4 Subject Difficulty Progression | Rule: the ramp is reviewed for coherence; abrupt jumps and regressions are corrected | TC-SA-05-03-028 |
| 3.4 Subject Difficulty Progression | Rule: cross-grade progression is maintained: the subject builds in difficulty across grades, so the multi-year path is coherent | TC-SA-05-03-027 |
| 3.4 Subject Difficulty Progression | Rule: the progression informs pacing and the recommended path; it is a guide, not a hard gate (a learner can move at their own pace within the course's rules) | TC-SA-05-03-029 |
| 3.4 Subject Difficulty Progression | Rule: a difficulty mark can be adjusted where the ramp is off; the adjustment is recorded | TC-SA-05-03-030 |
| 3.4 Subject Difficulty Progression | Rule: difficulty mark changes are audit-logged with the subject, topic, mark, and timestamp | TC-SA-05-03-031 |

## 3.1 Add Multiple Subjects per Grade

### TC-SA-05-03-001 — Add multiple subjects to a grade (the grade's offered subjects)
**Type:** Positive
**Covers:** 3.1 → Add subjects to a grade (multiple per grade); Rule: multiple subjects per grade are supported; the set is the grade's offered subjects
**Preconditions:** A grade exists under a board.
**Steps:**
1. Open the grade's subject management.
2. Add the core subjects the grade offers (Mathematics, Science, Language) and any electives.
3. Save and verify the subjects appear under the grade.
**Expected Result:** Multiple subjects are added to the grade; they appear under the grade and are available for topic organization and content/course mapping.
**Priority:** Critical

### TC-SA-05-03-002 — Subject identity: name, code (where used), and description
**Type:** Positive
**Covers:** 3.1 → Subject identity: name, code (where used), and description
**Preconditions:** A subject is being added to a grade.
**Steps:**
1. Set the subject's identity: name "Mathematics", code "MATH10" (where used), and a description.
2. Save and verify the identity is stored.
**Expected Result:** The subject's identity (name, code, description) is set and stored.
**Priority:** High

### TC-SA-05-03-003 — Subject attributes: the subject's type (core/elective where applicable) and notes
**Type:** Positive
**Covers:** 3.1 → Subject attributes: the subject's type (core/elective where applicable) and notes
**Preconditions:** A subject is being added to a grade.
**Steps:**
1. Set the subject's type to "core" (or "elective" where applicable) and add notes.
2. Save and verify the attributes are stored.
**Expected Result:** The subject's attributes (type, notes) are set and stored.
**Priority:** Medium

### TC-SA-05-03-004 — Per-grade subject sets: a grade's subjects are its own set (a subject offered at one grade but not another is reflected)
**Type:** Edge
**Covers:** 3.1 → Per-grade subject sets: a grade's subjects are its own set; Rule: subjects belong to a grade (within a board's context); a grade's subject set is its own
**Preconditions:** "Mathematics" is offered at Grade 10 but not Grade 5.
**Steps:**
1. Verify Grade 10's subject set includes Mathematics.
2. Verify Grade 5's subject set does not include Mathematics.
**Expected Result:** Each grade has its own subject set — Mathematics appears at Grade 10 but not Grade 5.
**Priority:** High

### TC-SA-05-03-005 — The subject list per grade shows counts of mapped topics/content; a subject with no topics/content is a visible gap
**Type:** Positive
**Covers:** 3.1 → Subject list per grade with counts of mapped topics/content; Rule: the subject list shows mapped counts, so a subject with no topics/content is a visible gap
**Preconditions:** A grade has subjects with varying mapped counts; one subject has no topics/content.
**Steps:**
1. Open the subject list per grade.
2. Verify each subject shows the counts of mapped topics and content.
3. Verify the subject with no topics/content is visible as a gap.
**Expected Result:** The subject list shows mapped counts; the subject with no topics/content is a visible gap.
**Priority:** High

### TC-SA-05-03-006 — Subject status: active subjects are usable; inactive subjects are not offered for new mapping but preserve existing mappings
**Type:** Negative
**Covers:** 3.1 → Subject status: active subjects are usable; inactive subjects are not offered for new mapping; Rule: an inactive subject is not offered for new mapping but preserves existing mappings and history
**Preconditions:** A subject is no longer offered at the grade (a curriculum change); it has existing mappings.
**Steps:**
1. Set the subject inactive.
2. Verify the subject is not offered for new mapping.
3. Verify the existing mappings and history remain intact.
**Expected Result:** The inactive subject is not offered for new mapping; existing mappings and history are preserved.
**Priority:** Critical

### TC-SA-05-03-007 — Subject add and edit are audit-logged with the grade, subject, and timestamp
**Type:** Positive
**Covers:** 3.1 → Audit logging of subject add/edit; Rule: subject add and edit are audit-logged with the grade, subject, and timestamp
**Preconditions:** Subjects have been added and edited.
**Steps:**
1. Open the audit trail and filter by "subject".
2. Verify entries for add and edit with the grade, the subject, and the timestamp.
**Expected Result:** Each subject add and edit is audit-logged with the grade, subject, and timestamp.
**Priority:** Critical

### TC-SA-05-03-008 — Subject identity (name/code) changes are recorded; mappings reference the subject, not its old name
**Type:** Edge
**Covers:** 3.1 → Rule: subject identity (name/code) changes are recorded; mappings reference the subject, not its old name
**Preconditions:** A subject "General Science" has mapped content; it is renamed to "Integrated Science".
**Steps:**
1. Rename the subject to "Integrated Science".
2. Verify the existing mapped content still references the subject (now under the new name).
3. Verify the name change is recorded.
**Expected Result:** The rename is recorded; existing mappings still reference the subject (not its old name) — content is not orphaned.
**Priority:** High

## 3.2 Subject-Wise Curriculum Breakdown

### TC-SA-05-03-009 — The subject breakdown: the chapters/topics that compose the subject for a grade
**Type:** Positive
**Covers:** 3.2 → Subject breakdown: the chapters/topics that compose the subject for a grade; Rule: the breakdown is per subject per grade; it is the subject's structured content for that level
**Preconditions:** A subject at a grade exists.
**Steps:**
1. Open the subject-wise breakdown.
2. Verify the chapters and topics that compose the subject for the grade are present.
**Expected Result:** The subject's breakdown (chapters/topics) is present for the grade — the subject's structured content for that level.
**Priority:** Critical

### TC-SA-05-03-010 — Sequencing: the order of chapters/topics reflects the intended learning progression; "next topic" is well-defined
**Type:** Positive
**Covers:** 3.2 → Sequencing: the order of chapters/topics within the subject; Rule: sequencing is maintained; the order reflects the learning progression, so "next topic" is well-defined
**Preconditions:** A subject's breakdown is sequenced (foundations before advanced topics).
**Steps:**
1. Review the chapter/topic order.
2. Verify the order reflects the intended learning progression (foundations before advanced topics).
3. Verify "next topic" from a given topic is well-defined.
**Expected Result:** The sequencing reflects the learning progression; "next topic" is well-defined.
**Priority:** High

### TC-SA-05-03-011 — Completeness: the subject's full breakdown is present; a missing chapter is a visible gap
**Type:** Negative
**Covers:** 3.2 → Completeness: the subject's full breakdown is present (no missing chapters); Rule: completeness is visible: a chapter/topic with no mapped content is a gap, not a silent omission
**Preconditions:** A subject's breakdown is missing one chapter; another chapter has no mapped content.
**Steps:**
1. Review the breakdown and verify the missing chapter is a visible gap.
2. Verify the chapter with no mapped content is flagged as a gap (not a silent omission).
**Expected Result:** The missing chapter and the content-less chapter are both visible gaps — not silent omissions.
**Priority:** High

### TC-SA-05-03-012 — The breakdown view shows the subject's structure with the mapped content per chapter/topic
**Type:** Positive
**Covers:** 3.2 → Breakdown view: the subject's structure with the mapped content per chapter/topic
**Preconditions:** A subject's breakdown has mapped content per chapter/topic.
**Steps:**
1. Open the breakdown view.
2. Verify each chapter/topic shows the mapped content, so coverage per node is visible.
**Expected Result:** The breakdown view shows the subject's structure with the mapped content per chapter/topic.
**Priority:** High

### TC-SA-05-03-013 — Alignment to the board's syllabus: a board-specific subject's breakdown mirrors the syllabus
**Type:** Positive
**Covers:** 3.2 → Alignment to the board's syllabus (where the subject is board-specific); Rule: a board-specific subject's breakdown aligns to the board's syllabus; the nodes mirror it
**Preconditions:** A board-specific subject exists; the board's syllabus structure is defined.
**Steps:**
1. Review the subject's breakdown against the board's syllabus.
2. Verify the nodes mirror the syllabus structure.
**Expected Result:** The board-specific subject's breakdown aligns to the board's syllabus — the nodes mirror it.
**Priority:** High

### TC-SA-05-03-014 — Revision: updating the breakdown as the syllabus evolves; content is re-mapped and the change is recorded
**Type:** Positive
**Covers:** 3.2 → Revision: updating the breakdown as the syllabus evolves; Rule: a revision updates the breakdown and re-maps content, with the change recorded
**Preconditions:** The syllabus is revised (chapters need adding/reordering).
**Steps:**
1. Update the breakdown (add/reorder chapters) per the revision.
2. Re-map the affected content to the updated chapters.
3. Verify the change is recorded in the audit trail.
**Expected Result:** The breakdown is updated, the content is re-mapped, and the change is recorded.
**Priority:** High

### TC-SA-05-03-015 — Breakdown changes are audit-logged with the subject, grade, nodes, and timestamp
**Type:** Positive
**Covers:** 3.2 → Audit logging of breakdown changes; Rule: breakdown changes are audit-logged with the subject, grade, nodes, and timestamp
**Preconditions:** The subject's breakdown has been changed.
**Steps:**
1. Open the audit trail and filter by "breakdown".
2. Verify the entry shows the subject, the grade, the nodes changed, and the timestamp.
**Expected Result:** The breakdown change is audit-logged with the subject, grade, nodes, and timestamp.
**Priority:** Critical

## 3.3 Cross-Subject Linking for Integrated Learning

### TC-SA-05-03-016 — A cross-subject link connects a topic in one subject to a topic in another
**Type:** Positive
**Covers:** 3.3 → Cross-subject link: a connection between a topic in one subject and a topic in another
**Preconditions:** A mathematics topic (ratios) and a science topic (concentrations) exist.
**Steps:**
1. Create a cross-subject link between the mathematics topic and the science topic.
2. Verify the link is established.
**Expected Result:** The cross-subject link connects the two topics in different subjects.
**Priority:** High

### TC-SA-05-03-017 — Link creation: the Super Admin links related topics across subjects
**Type:** Positive
**Covers:** 3.3 → Link creation: the Super Admin links related topics across subjects
**Preconditions:** Two related topics in different subjects exist.
**Steps:**
1. As the Super Admin, link the related topics across subjects.
2. Verify the link is created and visible.
**Expected Result:** The related topics are linked across subjects; the link is created and visible.
**Priority:** High

### TC-SA-05-03-018 — Link direction and type: the nature of the connection (prerequisite, related, applied-in) is explicit
**Type:** Positive
**Covers:** 3.3 → Link direction and type: the nature of the connection (prerequisite, related, applied-in); Rule: the link type is explicit (prerequisite, related, applied-in); the type drives how the connection is presented
**Preconditions:** Topics exist in multiple subjects.
**Steps:**
1. Create a "prerequisite" link (mathematics ratios → science concentrations).
2. Create a "related" link between two reinforcing topics.
3. Create an "applied-in" link (a concept applied in another subject).
4. Verify each link shows its type and the connection is presented per the type.
**Expected Result:** Each link has an explicit type (prerequisite, related, applied-in); the type drives how the connection is presented.
**Priority:** High

### TC-SA-05-03-019 — Integrated views: a topic's cross-subject connections are visible from its page
**Type:** Positive
**Covers:** 3.3 → Integrated views: a topic's cross-subject connections are visible from its page
**Preconditions:** A science topic has a cross-subject link to a mathematics topic.
**Steps:**
1. Open the science topic's page.
2. Verify the link is visible: "Related: Mathematics — Ratios (prerequisite)".
**Expected Result:** The topic's cross-subject connections are visible from its page.
**Priority:** High

### TC-SA-05-03-020 — Integrated learning material references the linked topics; the references resolve to the actual topics
**Type:** Positive
**Covers:** 3.3 → Integrated learning material: content that references the linked topics across subjects; Rule: integrated material references the linked topics; the references resolve to the actual topics
**Preconditions:** Integrated learning material (a project using both subjects) references the linked topics.
**Steps:**
1. Open the integrated material.
2. Verify the references to the linked topics resolve to the actual topics.
**Expected Result:** The integrated material references the linked topics; the references resolve to the actual topics.
**Priority:** Medium

### TC-SA-05-03-021 — Link review: the set of cross-subject links is reviewed for correctness; a wrong link is removed and recorded
**Type:** Negative
**Covers:** 3.3 → Link review: the set of cross-subject links is reviewed for correctness; Rule: links are reviewed for correctness; a wrong link is removed and the removal is recorded
**Preconditions:** The cross-subject link set contains a wrong link.
**Steps:**
1. Review the cross-subject link set for correctness.
2. Identify the wrong link and remove it.
3. Verify the removal is recorded in the audit trail.
**Expected Result:** The wrong link is removed and the removal is recorded — the link set is correct.
**Priority:** High

### TC-SA-05-03-022 — Link create and remove are audit-logged with the topics, subjects, type, and timestamp
**Type:** Positive
**Covers:** 3.3 → Audit logging of link create/remove; Rule: link create and remove are audit-logged with the topics, subjects, type, and timestamp
**Preconditions:** Cross-subject links have been created and removed.
**Steps:**
1. Open the audit trail and filter by "cross-subject link".
2. Verify entries for create and remove with the topics, subjects, link type, and timestamp.
**Expected Result:** The link create and remove events are audit-logged with the topics, subjects, type, and timestamp.
**Priority:** Critical

### TC-SA-05-03-023 — A cross-subject link does not merge the subjects; each keeps its own breakdown
**Type:** Negative
**Covers:** 3.3 → Rule: a cross-subject link connects topics in different subjects; it does not merge the subjects (each keeps its own breakdown)
**Preconditions:** A cross-subject link exists between a mathematics topic and a science topic.
**Steps:**
1. Verify the mathematics subject still has its own breakdown (unchanged).
2. Verify the science subject still has its own breakdown (unchanged).
**Expected Result:** The link does not merge the subjects — each keeps its own breakdown.
**Priority:** High

### TC-SA-05-03-024 — A prerequisite link implies order (the linked topic should come first); a related link does not
**Type:** Edge
**Covers:** 3.3 → Rule: a prerequisite link implies order (the linked topic should come first); a related link does not
**Preconditions:** A "prerequisite" link and a "related" link exist.
**Steps:**
1. Verify the prerequisite link presents the linked topic as coming first (order implied).
2. Verify the related link presents the connection without implying order.
**Expected Result:** The prerequisite link implies order; the related link does not — the type drives the presentation.
**Priority:** Medium

## 3.4 Subject Difficulty Progression

### TC-SA-05-03-025 — Difficulty marking per topic: the topic's difficulty level within the subject
**Type:** Positive
**Covers:** 3.4 → Difficulty marking per topic (the topic's difficulty level within the subject); Rule: difficulty is marked per topic; the progression is the ramp formed by the marks across the sequence
**Preconditions:** A subject's topics exist.
**Steps:**
1. Mark each topic's difficulty level within the subject.
2. Verify the marks form the ramp across the sequence.
**Expected Result:** Each topic has a difficulty mark; the marks form the progression ramp across the sequence.
**Priority:** High

### TC-SA-05-03-026 — The progression view shows the difficulty ramp across the subject's sequence
**Type:** Positive
**Covers:** 3.4 → Progression view: the difficulty ramp across the subject's sequence
**Preconditions:** A subject's topics are difficulty-marked.
**Steps:**
1. Open the progression view for the subject.
2. Verify the difficulty ramp across the sequence is visible and well-graded.
**Expected Result:** The progression view shows the difficulty ramp across the subject's sequence.
**Priority:** High

### TC-SA-05-03-027 — Cross-grade progression: the subject's difficulty builds from one grade to the next
**Type:** Positive
**Covers:** 3.4 → Cross-grade progression: how the subject's difficulty builds from one grade to the next; Rule: cross-grade progression is maintained: the subject builds in difficulty across grades, so the multi-year path is coherent
**Preconditions:** The subject's topics are marked at Grade 6 and Grade 7.
**Steps:**
1. Review the cross-grade progression.
2. Verify Grade 7's topics are a step up from Grade 6's (the multi-year path is coherent).
**Expected Result:** The subject's difficulty builds across grades — the multi-year path is coherent.
**Priority:** Medium

### TC-SA-05-03-028 — Progression review: the ramp is checked for coherence (no abrupt jumps or regressions)
**Type:** Negative
**Covers:** 3.4 → Progression review: the ramp is checked for coherence (no abrupt jumps or regressions); Rule: the ramp is reviewed for coherence; abrupt jumps and regressions are corrected
**Preconditions:** The subject's ramp has an abrupt jump (a hard topic too early) and a regression (an easy topic after a hard one).
**Steps:**
1. Review the ramp and identify the abrupt jump and the regression.
2. Verify both are flagged as incoherent.
**Expected Result:** The abrupt jump and the regression are identified — the ramp is checked for coherence.
**Priority:** High

### TC-SA-05-03-029 — Learner pacing: the progression informs the recommended path and pacing; it is a guide, not a hard gate
**Type:** Positive
**Covers:** 3.4 → Learner pacing: the progression informs the recommended path and pacing; Rule: the progression informs pacing and the recommended path; it is a guide, not a hard gate (a learner can move at their own pace within the course's rules)
**Preconditions:** A subject's progression is defined; a learner is in the course.
**Steps:**
1. Verify the recommended path follows the progression.
2. Verify the learner can move at their own pace within the course's rules (the progression is a guide, not a hard gate).
**Expected Result:** The recommended path follows the progression; the learner can move at their own pace — it is a guide, not a hard gate.
**Priority:** Medium

### TC-SA-05-03-030 — Adjustment: correcting a difficulty mark where the ramp is off; the adjustment is recorded
**Type:** Positive
**Covers:** 3.4 → Adjustment: correcting a difficulty mark where the ramp is off; Rule: a difficulty mark can be adjusted where the ramp is off; the adjustment is recorded
**Preconditions:** A topic is marked too hard (learners finding it unexpectedly difficult); the ramp is off.
**Steps:**
1. Review the mark and the content.
2. Adjust the difficulty mark (or route the content for simplification).
3. Verify the adjustment is recorded in the audit trail.
**Expected Result:** The difficulty mark is adjusted where the ramp is off; the adjustment is recorded.
**Priority:** High

### TC-SA-05-03-031 — Difficulty mark changes are audit-logged with the subject, topic, mark, and timestamp
**Type:** Positive
**Covers:** 3.4 → Audit logging of difficulty mark changes; Rule: difficulty mark changes are audit-logged with the subject, topic, mark, and timestamp
**Preconditions:** Difficulty marks have been changed.
**Steps:**
1. Open the audit trail and filter by "difficulty".
2. Verify entries show the subject, the topic, the mark, and the timestamp.
**Expected Result:** The difficulty mark changes are audit-logged with the subject, topic, mark, and timestamp.
**Priority:** Critical
