# Quality Assessment -- [DATE]

> **Score: [ ] / 100 — Grade: [ ]**
> [ one-sentence summary of overall quality and key movement since last assessment ]

| Dimension | Score |
|-----------|-------|
| Test Health | /10 |
| Type Safety | /10 |
| Lint Hygiene | /10 |
| Architecture | /10 |
| Documentation | /10 |
| Complexity | /10 |
| Security | /10 |
| Maintainability | /10 |

**Version:** [VERSION]
**Assessed by:** [human / LLM model]
**Previous assessment:** [filename or "None (baseline)"]

---

## Inventory

| Metric | Value |
|--------|-------|
| Source files | |
| Source lines | |
| Test files | |
| Test lines | |
| Test:source ratio | |
| Direct dependencies | |

---

## Raw Metrics

### Test Suite

```
[paste pytest output]
```

- Tests collected:
- Tests passed:
- Tests failed:
- Test duration:

### Type Safety (mypy --strict)

```
[paste mypy summary]
```

- Total errors:
- Files with errors: / total
- Top error categories:

### Lint (ruff)

```
[paste ruff summary]
```

- Total violations:
- Auto-fixable:
- Top violation rules:

### Complexity

- File size: min= / median= / mean= / max=
- Files >300 lines: / total
- High-complexity files (branch density >15):

```
[paste high-complexity file list]
```

### Documentation

- Docstring coverage: / definitions ( %)
- Modules with `__all__`:  / total
- README: lines
- Architectural diagrams: yes/no

### Security

- eval/exec (sandboxed):
- eval/exec (unsandboxed):
- subprocess:
- Hardcoded secrets:
- Bare except:

### Maintainability

- TODO:
- FIXME:
- HACK:
- Logging calls:
- try/except blocks:
- Internal imports (coupling):

---

## Scorecard

| # | Dimension | Weight | Score | Weighted | Justification |
|---|-----------|--------|-------|----------|---------------|
| 1 | Test Health | 20% | /10 | | |
| 2 | Type Safety | 15% | /10 | | |
| 3 | Lint Hygiene | 10% | /10 | | |
| 4 | Architecture | 15% | /10 | | |
| 5 | Documentation | 10% | /10 | | |
| 6 | Complexity | 10% | /10 | | |
| 7 | Security | 10% | /10 | | |
| 8 | Maintainability | 10% | /10 | | |

### Composite Score: **[ ] / 100**
### Grade: **[ ]**

---

## Delta from Previous Assessment

| Dimension | Previous | Current | Change |
|-----------|----------|---------|--------|
| Test Health | | | |
| Type Safety | | | |
| Lint Hygiene | | | |
| Architecture | | | |
| Documentation | | | |
| Complexity | | | |
| Security | | | |
| Maintainability | | | |
| **Composite** | | | |

---

## Top Improvements Since Last Assessment

1.
2.
3.

---

## Recommended Actions (Priority Order)

| # | Action | Effort | Impact | Dimensions Affected |
|---|--------|--------|--------|---------------------|
| 1 | | | | |
| 2 | | | | |
| 3 | | | | |
| 4 | | | | |
| 5 | | | | |

---

## Notes

[Any judgment calls, caveats, or context for this assessment.]
