1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Parity Matrix
Generated from `PARITY_MATRIX.json` (ยง70). Last updated: 2026-08-20.
## API Completeness
### libxml2 2.15.3
| Surface | Headers | DSO | Both | H-only | DSO-only | Status |
|---------|---------|-----|------|--------|----------|--------|
| Functions | 1403 | 1658 | **1344** | 53 | 290 | ๐ข 81% |
| Globals | 17 | 89 | **17** | 0 | 72 | ๐ข 100% of captured |
| System leaks | โ | โ | โ | **0** | โ | โ
Clean |
| Internal `__xml*` | 6 | โ | โ | 6 | โ | โ
Classified |
| SAX1 callbacks | โ | 24 | โ | โ | 24 | โ
Classified |
| Typedefs | 312 | โ | โ | โ | โ | ๐ Cataloged |
| Records (struct/union) | 76 | โ | โ | โ | โ | ๐ Cataloged |
| Enums | 39 | โ | โ | โ | โ | ๐ Cataloged |
| Enumerators | 1131 | โ | โ | โ | โ | ๐ Cataloged |
| Callbacks | 86 | โ | โ | โ | โ | ๐ Cataloged |
| Headers processed | 45 | โ | โ | โ | โ | โ
Complete |
### libxslt 1.1.45
| Surface | Headers | DSO | Both | H-only | DSO-only | Status |
|---------|---------|-----|------|--------|----------|--------|
| Functions | 231 | 232 | **225** | 6 | 7 | ๐ข 97% |
| Globals | 12 | 39 | **12** | 0 | 27 | ๐ข 100% of captured |
| System leaks | โ | โ | โ | **0** | โ | โ
Clean |
| Typedefs | 63 | โ | โ | โ | โ | ๐ Cataloged |
| Records | 16 | โ | โ | โ | โ | ๐ Cataloged |
| Enums | 7 | โ | โ | โ | โ | ๐ Cataloged |
| Enumerators | 65 | โ | โ | โ | โ | ๐ Cataloged |
| Callbacks | 17 | โ | โ | โ | โ | ๐ Cataloged |
| Headers processed | 23 | โ | โ | โ | โ | โ
Complete |
## Tools Status
| Tool | Status | Notes |
|------|--------|-------|
| `manifest.py` | โ
Working | 183 libxml2 + 92 libxslt releases cataloged |
| `profileconfig.py` | โ
Working | Generates xmlversion.h/xsltconfig.h for distro profile |
| `apiatlas.py` | โ
Working | Clang-AST-based public API extractor. Fixes applied: (1) origin resolution uses loc.file/loc.includedFrom instead of buggy #line mapping, (2) XML_TREE_INTERNALS define for tree.h circular dependency, (3) system function name denylist |
| `symbols.py` | โ
Working | ABI ground-truth comparison via readelf. Classifies SAX1 callbacks, internal __xml* functions, system leaks |
| `delta.py` | โ
Built | Ready for multi-version API diffing |
| `court runner` | โ
Built | Ready for differential testing (needs Docker oracle) |
## Infrastructure Status
| Component | Status | Notes |
|-----------|--------|-------|
| Docker oracle | ๐ก Scaffolded | Dockerfile and build script created, not yet built |
| Court receipts | ๐ก Scaffolded | Schema and runner created, no cases executed yet |
| Historical API matrix | ๐ก Partial | Only 2.15.3 + 1.1.45 snapshots taken |
| Historical deltas | ๐ด Not started | Need at least 2 versions per project |
| Downstream consumers | ๐ด Not started | |