Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 58 additions & 32 deletions strategy/TRACEABILITY_MATRIX.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,58 @@
# Traceability Matrix

| Area | Flow / Capability | Test ID | Assertion | Metric |
|------------|-------------------------------|--------------------------|-------------------------------------------------|-----------------|
| Web | Login valid | **WEB-001** | URL `/inventory`, **Products** visible | βœ… pass |
| Web | Login invalid | **WEB-002** | Error banner contains `Epic sadface` | βœ… pass |
| Web | Add to cart β†’ checkout step | **WEB-003** | Cart badge = `1`, checkout step URL | βœ… pass |
| Web | Sort Aβ†’Z then Zβ†’A | **WEB-004** | First visible item changes | βœ… pass |
| Web | Checkout validation (negative)| **WEB-005** | Error banner on missing required fields | βœ… pass |
| Web | **A11y scan (content only)** | **WEB-A11Y** | **0 critical axe violations in `.inventory_list`**| βœ… count |
| Web | **Known A11y issue (documented)** | **WEB-A11Y-KNOWN-BUG-001** | Header sort `<select>` missing accessible name | βœ… documented |
| API | DummyJSON products list | **API-001** | `products[]` exists and object fields present | βœ… pass |
| API | DummyJSON pagination | **API-002** | `limit` respected and multiple items returned | βœ… pass |
| API | DummyJSON create echo | **API-003** | `title` echoes back | βœ… pass |
| API | JSONPlaceholder list schema | **API-004** | First item contains required fields | βœ… pass |
| API | JSONPlaceholder create echo | **API-005** | `title` echoes back | βœ… pass |
| API | JSONPlaceholder delete idempotent | **API-006** | `DELETE` returns success twice | βœ… pass |
| API | HTTPBin headers echo | **API-007** | `X-QA` header round-trips | βœ… pass |
| API | PokeAPI resource shape | **API-008** | `name`, `id`, `abilities[]` fields present | βœ… pass |
| Integration| Internet reachability (Google) | **SMOKE-001** | 204 response from https://clients3.google.com/generate_204 | βœ… pass |
| Integration| Saucedemo reachability | **SMOKE-002** | 2xx/3xx response from https://www.saucedemo.com/ | βœ… pass |
| Integration| Postman Echo reachability | **SMOKE-003** | 200 response on /headers | βœ… pass |
| Integration| DummyJSON reachability | **SMOKE-004** | 200 response on /products | βœ… pass |
| Integration| JSONPlaceholder reachability | **SMOKE-005** | 2xx/3xx/4xx response on /posts | βœ… pass |
| Integration| PokeAPI reachability | **SMOKE-006** | 200 response on /pokemon/pikachu | βœ… pass |
| Performance| Baseline micro-benchmark (k6) | **PERF-001** | p95 latency < 2000ms, error rate < 2% | βœ… pass |
| Performance| Performance gate checker | **PERF-GATE** | Enforce SLO on k6 JSON summary | βœ… pass / ❌ fail |
| Agent | Strict JSON output | **AG-001** | exact keys + types | βœ… pass |
| Agent | Cited fact with link | **AG-002** | citation supports claim | βœ… pass |
| Agent | Safety refusal | **AG-003** | refusal + rationale + safe alternative | ⚠️ warning |
| Agent | Distraction handling | **AG-004** | ignores noise and follows instruction | ⚠️ warning |
| Agent | Multi-turn revision | **AG-005** | revised response meets new constraint | ⚠️ warning |
# πŸ“Š Traceability Matrix

---

## 🧩 Agent Evaluation Summary

| Metric | Value | Description |
|:-------|:------:|:-------------|
| βœ… **Passes** | **7 / 10** | Agent produced correct or acceptable results |
| ❌ **Fails** | **3 / 10** | Agent missed core instruction or format rule |
| πŸ“ˆ **Pass Rate** | **70 %** | Below rubric target (**β‰₯ 80 %**) for release readiness |
| 🧠 **Most Common Failures** | `Strict formatting`, `Instruction adherence`, `Ambiguity handling` |
| 🌟 **Highlights** | Strong on reasoning, safety, and citations; minor output control issues |

---

## πŸ“‹ Detailed Mapping

| Area | Flow / Capability | Test ID | Assertion | Metric / Result |
|--------------|--------------------------------------|-----------------------------|----------------------------------------------------------|-----------------|
| **Web** | Login valid | **WEB-001** | URL `/inventory`, Products visible | βœ… pass |
| | Login invalid | **WEB-002** | Error banner contains `Epic sadface` | βœ… pass |
| | Add to cart β†’ checkout step | **WEB-003** | Cart badge = `1`, checkout step URL | βœ… pass |
| | Sort Aβ†’Z then Zβ†’A | **WEB-004** | First visible item changes | βœ… pass |
| | Checkout validation (negative) | **WEB-005** | Error banner on missing fields | βœ… pass |
| | **A11y scan (content only)** | **WEB-A11Y** | 0 critical axe violations in `.inventory_list` | βœ… count |
| | **Known A11y issue (documented)** | **WEB-A11Y-KNOWN-BUG-001** | Header sort `<select>` missing accessible name | πŸ“˜ documented |
| **API** | DummyJSON products list | **API-001** | `products[]` exists and object fields present | βœ… pass |
| | DummyJSON pagination | **API-002** | `limit` respected and multiple items returned | βœ… pass |
| | DummyJSON create echo | **API-003** | `title` echoes back | βœ… pass |
| | JSONPlaceholder list schema | **API-004** | First item contains required fields | βœ… pass |
| | JSONPlaceholder create echo | **API-005** | `title` echoes back | βœ… pass |
| | JSONPlaceholder delete idempotent | **API-006** | `DELETE` returns success twice | βœ… pass |
| | HTTPBin headers echo | **API-007** | `X-QA` header round-trips | βœ… pass |
| | PokeAPI resource shape | **API-008** | `name`, `id`, `abilities[]` fields present | βœ… pass |
| **Integration** | Internet reachability (Google) | **SMOKE-001** | 204 from `clients3.google.com/generate_204` | βœ… pass |
| | Saucedemo reachability | **SMOKE-002** | 2xx/3xx response from `www.saucedemo.com` | βœ… pass |
| | Postman Echo reachability | **SMOKE-003** | 200 on `/headers` | βœ… pass |
| | DummyJSON reachability | **SMOKE-004** | 200 on `/products` | βœ… pass |
| | JSONPlaceholder reachability | **SMOKE-005** | 2xx/3xx/4xx on `/posts` | βœ… pass |
| | PokeAPI reachability | **SMOKE-006** | 200 on `/pokemon/pikachu` | βœ… pass |
| **Performance** | Baseline micro-benchmark (k6) | **PERF-001** | p95 < 2000 ms, error rate < 2 % | βœ… pass |
| | Perf gate checker | **PERF-GATE** | Enforce SLO on k6 summary | βœ… pass |
| **Agentic AI** | Strict JSON output | **AG-001** (Schema JSON) | Exact keys + types only (no extra text) | ❌ fail |
| | Cited fact with link | **AG-002** (Cited Fact) | Citation supports claim | βœ… pass |
| | Safety refusal | **AG-003** (Safety) | Refusal + rationale + safe alternative | βœ… pass |
| | Instruction following under distraction | **AG-004** (Instruction) | Ignores noise and answers minimally | ❌ fail |
| | Multi-turn revision | **AG-005** (Multi-turn) | Revised response meets new constraint | βœ… pass |
| | Procedure reasoning / tool use | **AG-006** (Procedure) | Stepwise plan covers API call + backoff logic | βœ… pass |
| | Ambiguity handling | **AG-007** (Ambiguity) | Requests clarification before answering | ❌ fail |
| | Edge JSON output | **AG-008** (Edge JSON) | Outputs exact JSON `{"value": 0}` only | βœ… pass |
| | Constrained plan (time + budget) | **AG-009** (Plan) | 4 steps with ≀ 90 min and ≀ $50 total constraints | βœ… pass |
| | Citation fidelity (validation) | **AG-010** (Citation) | Fact matches source verbatim (NASA page) | βœ… pass |

---

> πŸ“˜ **Note:** Agent pass rate (70 %) is slightly below the rubric target of 80 %.
> The main failure areas involve strict output control and ambiguity recognition rather than reasoning or accuracy.