Donker All-Feature Tree Synthesis
Generated by scripts/run_donker_all_feature_tree.py.
This run pools Donker's non-overlapping source matrices rather than consolidating the nine section trees. It uses Acts 1-12, Acts 13-28, Romans, 1 Corinthians, 2 Corinthians-Titus, Hebrews, and the Catholic Epistles. The full Acts and full Pauline matrices are excluded because their feature columns are exactly the union of their component sections.
Aggregate Checks
| Aggregate | Component sections | Aggregate features | Component features | Match |
|---|---|---|---|---|
Ath.Acts |
Ath.Acts.1-12; Ath.Acts.13-28 | 45 | 45 | yes |
Ath.PaulineEpistles |
Ath.Rom; Ath.1Cor; Ath.2Cor-Titus; Ath.Heb | 168 | 168 | yes |
Coverage
- Unique pooled variation units:
225 - Witness labels in the union:
41 - Witness labels with at least one defined reading in every non-overlapping section:
8 - Pairwise witness comparisons with no shared readings:
291/820 - Pairwise witness comparisons with fewer than 12 shared readings:
334/820
Lowest row coverage:
| label | defined_features | total_features |
|---|---|---|
| P72 | 6 | 225 |
| M325 | 8 | 225 |
| M1022 | 12 | 225 |
| M201 | 12 | 225 |
| M1424 | 12 | 225 |
| M105 | 12 | 225 |
| M323 | 12 | 225 |
| M383 | 21 | 225 |
| M81 | 41 | 225 |
| P74 | 43 | 225 |
| M1175 | 45 | 225 |
| M614 | 45 | 225 |
Trees
The core tree is the clean all-feature synthesis: it uses only witnesses observed in every non-overlapping section, so every pair has direct shared feature evidence.
- Core all-section tree PNG:
outputs/figures/donker_all_feature_tree/core_all_sections/consensus_provenance_tree.png - Core all-section distance matrix:
outputs/tables/donker_all_feature_tree/core_all_sections_distance_matrix.csv - Core labels:
A, Ath, B, C, L, M1739, U1, U44 - Core pairwise shared-feature range:
149to225
Core Newick:
((((A,(B,U1)),(C,M1739)),Ath),(L,U44));
The all-label tree is exploratory. It keeps all 41 labels by building a shared-feature graph with edges requiring at least 6 shared readings, then filling missing cross-section distances by shortest paths through bridge witnesses. The resulting distances are normalised before average-linkage tree fitting.
- All-label bridged tree PNG:
outputs/figures/donker_all_feature_tree/all_labels_bridged/consensus_provenance_tree.png - All-label bridged distance matrix:
outputs/tables/donker_all_feature_tree/all_labels_bridged_distance_matrix.csv - Shared-feature graph edges:
outputs/tables/donker_all_feature_tree/all_labels_bridged_graph_edges.csv
All-label bridged Newick:
((P46,(D,(F,G))),(((((((A,P74),(B,U1)),(((C,M1175),(M1739,(((M1704,M945),M630),M1891))),(Ath,M81))),(M323,M33)),((((((((M223,((M2423,(M1022,M1424)),M325)),M876),(((H,U49),(((L,M105),M201),M1073)),(M1352,P))),K),M104),U44),U1C),(M383,M614))),E),P72));
Machine-Readable Outputs
- Pooled feature matrix:
outputs/tables/donker_all_feature_tree/pooled_unique_features.csv - Exact-duplicate-collapsed pooled matrix:
outputs/tables/donker_all_feature_tree/pooled_unique_features_collapsed.csv - Exact duplicate feature map:
outputs/tables/donker_all_feature_tree/pooled_exact_duplicate_feature_map.csv - Pooled feature map:
outputs/tables/donker_all_feature_tree/pooled_feature_map.csv - Row coverage:
outputs/tables/donker_all_feature_tree/row_coverage.csv - Pairwise observed distances:
outputs/tables/donker_all_feature_tree/pairwise_observed_distances.csv - Shared-feature counts:
outputs/tables/donker_all_feature_tree/pairwise_shared_feature_counts.csv - Aggregate checks:
outputs/tables/donker_all_feature_tree/aggregate_checks.csv
Interpretation note: this gives the all-feature tree Greg expected, but only the core-witness tree is a direct feature-space synthesis. The all-label tree is a completion model for uneven coverage, not a recovered historical stemma.