Commit f977a94
committed
chore(release): 1.3.0 [skip ci]
## [1.3.0](https://github.com/Mearman/GraphBox/compare/v1.2.2...v1.3.0) (2026-01-30)
### Features
* add max length parameter to salience ground truth ([b5b4bdd](https://github.com/Mearman/GraphBox/commit/b5b4bddac3c8af445eba6163f3e9520606e493f6))
* add novel expansion algorithms, baseline variants, and sut registrations ([5a7fac3](https://github.com/Mearman/GraphBox/commit/5a7fac3a5fc7d673c47186f7c2872e2cea328447))
* **algorithms:** add forbidden subgraph detection ([8534614](https://github.com/Mearman/GraphBox/commit/8534614b68269a1ee69f1bd34c49b5c7147e7cda))
* **algorithms:** add overlap-based expansion algorithm ([c1290f6](https://github.com/Mearman/GraphBox/commit/c1290f6c05a9b9b82f7adf7f31cb935144b4cf0d))
* **algorithms:** use calculatePriority in traversal algorithms ([794b92d](https://github.com/Mearman/GraphBox/commit/794b92d0bb4485b9ef6998700341f3bda2c16fc5))
* **analyzer:** implement weakly chordal detection using hole and antihole checking ([4f82609](https://github.com/Mearman/GraphBox/commit/4f8260989cbca5c71a9eb08df492688ec47150da))
* **analyzer:** improve planar detection with density heuristic and extended K5/K3,3 checking for graphs up to 20 nodes ([f3bb5f5](https://github.com/Mearman/GraphBox/commit/f3bb5f598d06878950c5a249be58a3ab868beb5d))
* **analyzers:** add analyzers for Priority 1 graph classes ([27ecd3b](https://github.com/Mearman/GraphBox/commit/27ecd3bec584de9d3c75e08ef325efedfa97969a))
* **analyzers:** integrate Priority 1 classes into analyzer orchestrator ([f122e90](https://github.com/Mearman/GraphBox/commit/f122e904ddda2ab0cdce836b4fbd2364b7921a9e))
* **baselines:** add degree-sum, jaccard-arithmetic, pagerank-sum ranking baselines ([4be0a01](https://github.com/Mearman/GraphBox/commit/4be0a01e3b0d8b79c9e2408da9ba3ac90db88131))
* **baselines:** add node discovery iteration tracking to baseline algorithms ([4c8d866](https://github.com/Mearman/GraphBox/commit/4c8d8662f1e1952ce61078eef08330828abec9f2))
* **benchmarks:** add remote URLs and content size validation ([fa3c7ab](https://github.com/Mearman/GraphBox/commit/fa3c7ab81a12386724f7f038ae845d4d39702cad))
* **benchmarks:** add test node pairs and helper function ([1b035b6](https://github.com/Mearman/GraphBox/commit/1b035b6827bd72f1fdb5864c5e0ca914271f88ad))
* **build:** add latex table generator from test metrics ([7d9b8d1](https://github.com/Mearman/GraphBox/commit/7d9b8d1f3da3d54d4311b507d0150ddc720ad6b5))
* **cases:** register new benchmark case variants ([734f9c8](https://github.com/Mearman/GraphBox/commit/734f9c8926bad152c9a79039591b4d7036b53c5e))
* **checkpoint:** add checkpoint/resume system ([a98dc4c](https://github.com/Mearman/GraphBox/commit/a98dc4cb509dae405bcd68c9fd6e34e14edb0407))
* **claims:** add community detection and k-core evaluation claims ([6e74562](https://github.com/Mearman/GraphBox/commit/6e745622c8d558133ffee1a43fcf6e47b66b5351))
* **claims:** register hub-avoidance claim ([0a83e76](https://github.com/Mearman/GraphBox/commit/0a83e76d74a41c735b9058413a5ebb3e80ff0752))
* **cli:** add ensemble expansion result metrics extraction ([27f2c19](https://github.com/Mearman/GraphBox/commit/27f2c19de1a74b053a00dc6269fa3f82a38ab138))
* **cli:** add evaluate command ([c62773d](https://github.com/Mearman/GraphBox/commit/c62773df10c1220ac8bcdec90e88b5b86b565b1a))
* **data:** add ocs experiment results to test-metrics ([9003681](https://github.com/Mearman/GraphBox/commit/90036810b776e97719a2dc438c06407b1c26f179))
* **datasets:** add 7 citation and collaboration networks ([18e9fe8](https://github.com/Mearman/GraphBox/commit/18e9fe82714f5977b83f6778640e8259e5a65aed))
* **domain:** add claims and tables from framework ([1e34c68](https://github.com/Mearman/GraphBox/commit/1e34c68ebaa67ee95f3353e6d1112291368fc69f))
* **eval:** add constrained graph generation module ([1fa4367](https://github.com/Mearman/GraphBox/commit/1fa43676db7796cd9c6fca10c2e2ceb0ff1a0c9e))
* **eval:** add graph classification module ([2ece030](https://github.com/Mearman/GraphBox/commit/2ece030aff4f8fde821edf6ecfd2d2a6cb0eb772))
* **evaluate:** add automatic sorting of runs by graph size ([d7307f4](https://github.com/Mearman/GraphBox/commit/d7307f42f4605424220662c37887bdb806af7750))
* **evaluate:** integrate checkpoint system and hub-avoidance metrics ([0cbff28](https://github.com/Mearman/GraphBox/commit/0cbff28f6aec12005b43f3b79a6076b93cc38b38))
* **evaluate:** update CLI for sharded checkpoint system ([189deac](https://github.com/Mearman/GraphBox/commit/189deac6d0b51321d67f2c73034e2fc5ddfa2738))
* **evaluation:** add automatic concurrency detection ([ea8a9aa](https://github.com/Mearman/GraphBox/commit/ea8a9aa4b2b95f10e31340d5b5c1cd1e6c4001fb))
* **evaluation:** add coverage efficiency metrics computation ([e970e87](https://github.com/Mearman/GraphBox/commit/e970e87894baa00ad59d11737f5102e8c376b9d9))
* **evaluation:** add salience coverage metric module ([a3e25fa](https://github.com/Mearman/GraphBox/commit/a3e25fae69aa96c2d77e7675b66f01dd26fb2cc3))
* **evaluation:** export salience coverage metrics ([08040f0](https://github.com/Mearman/GraphBox/commit/08040f0a76c71fe379aa7672f2dd00f49c2958fd))
* **executor:** add MemoryMonitor class ([6c40fa2](https://github.com/Mearman/GraphBox/commit/6c40fa2db9f5ac44239a723de528d3036f0cd857))
* **executor:** add ParallelExecutor for sharded checkpoint execution ([642f3d7](https://github.com/Mearman/GraphBox/commit/642f3d70177e1141985e6e936109ca2140b0c961))
* **executor:** add timeout protection and plannedRuns parameter ([83fbfe0](https://github.com/Mearman/GraphBox/commit/83fbfe0004ed017749fbc1ceae93ca7e1c536483))
* **executor:** add worker entry point for parallel execution ([1cb8277](https://github.com/Mearman/GraphBox/commit/1cb827789c76995937fbf0fe875ec437462fba41))
* **executor:** export checkpoint types and support async callbacks ([10040b2](https://github.com/Mearman/GraphBox/commit/10040b2632712d0506f186b78ac2e9d7145e8430))
* **executor:** integrate memory monitoring ([defb61d](https://github.com/Mearman/GraphBox/commit/defb61d30b0afbbff24fa0ee78b3f7d32edd815e))
* **experiments:** add community detection experiment tests ([9d09734](https://github.com/Mearman/GraphBox/commit/9d09734979d549c40bda01b9656f86a2b839fbe7))
* **experiments:** add experiment orchestrator script ([ec76595](https://github.com/Mearman/GraphBox/commit/ec7659598cebd2af2ffd087e8feee59c7211d965))
* **experiments:** add intelligent delayed termination to coverage tests ([f49d329](https://github.com/Mearman/GraphBox/commit/f49d3293839789abcebf27a240d093b5ea86061d))
* **experiments:** add k-core decomposition experiment tests ([3d1da7d](https://github.com/Mearman/GraphBox/commit/3d1da7d77a0205acbc852e668b65829f4b1bc0ce))
* **experiments:** add path ranking suts with proper types ([d26742b](https://github.com/Mearman/GraphBox/commit/d26742bd81ee8efe0378d914f5039a29948c4e79))
* **experiments:** add salience coverage comparison framework ([2406053](https://github.com/Mearman/GraphBox/commit/2406053e550b094ce3f3620c1ba61809aedbafe0))
* **experiments:** add standalone experiment scripts ([c923248](https://github.com/Mearman/GraphBox/commit/c92324843a69642b785466ce07e29de6e839887d))
* **experiments:** extend salience coverage to larger datasets ([0d46558](https://github.com/Mearman/GraphBox/commit/0d465584e1f1b28c0b9b99cfd14a177c391b3eb8))
* **experiments:** update cli and renderers for universal framework ([5d865e5](https://github.com/Mearman/GraphBox/commit/5d865e59e9e171f2679580651bf4d73aced0cdfc))
* **exports:** export intelligent delayed termination ([462635a](https://github.com/Mearman/GraphBox/commit/462635a7d284d70796906148b086f7ccb33e2474))
* **framework:** add aggregation layer ([23bbea5](https://github.com/Mearman/GraphBox/commit/23bbea5db055b51898919f2cf3c935f5337f895c))
* **framework:** add claims evaluation system ([68ce43e](https://github.com/Mearman/GraphBox/commit/68ce43e6041adebf3c0c0b5f5fe3adb4d44936a2))
* **framework:** add core type definitions for evaluation framework ([a82973f](https://github.com/Mearman/GraphBox/commit/a82973ff49220b91fd8730854d4d10372d8a3ff9))
* **framework:** add entry point and module index ([0645164](https://github.com/Mearman/GraphBox/commit/06451645441632bed38459e6ab6de5661d0642f9))
* **framework:** add executor with deterministic run IDs ([bbb7499](https://github.com/Mearman/GraphBox/commit/bbb74994f829b9985ca6fb0a0da47eaf1f9b1fd4))
* **framework:** add LaTeX rendering layer ([43eb27d](https://github.com/Mearman/GraphBox/commit/43eb27dac4c4d9253d62a3171dc9e886a0113229))
* **framework:** add metric registry with definitions ([341e7f6](https://github.com/Mearman/GraphBox/commit/341e7f6a6abc3880cbdd1e3e47a3cf73e379863e))
* **framework:** add result collector with schema validation ([d20d99f](https://github.com/Mearman/GraphBox/commit/d20d99f1b19229fc9b0777ace627bb13fc136c3d))
* **framework:** add robustness analysis ([fd1d2ef](https://github.com/Mearman/GraphBox/commit/fd1d2ef5feb3d972f817b1ba397555f218a07e1c))
* **framework:** add SUT and case registries ([a53a74a](https://github.com/Mearman/GraphBox/commit/a53a74a90cf2c7357ab358eb097849e8f93b37c9))
* **generators:** add generators for Priority 1 graph classes ([1a5dabc](https://github.com/Mearman/GraphBox/commit/1a5dabc07affd2b837bfa27a41620d2ac03c2e9b))
* **generators:** implement forbidden subgraph constructive algorithms ([3ee1613](https://github.com/Mearman/GraphBox/commit/3ee1613a3b6b797b32726db344000ed67f7d1955))
* **generators:** integrate Priority 1 classes into generator orchestrator ([aff7209](https://github.com/Mearman/GraphBox/commit/aff720978c07aa181a88a78fbf68c75bf7b812e5))
* **integration:** add Phase 4 integration tests for all 6 properties ([abc4a70](https://github.com/Mearman/GraphBox/commit/abc4a70175cf21419e5940ee2ac0cf6ed918da78))
* **interface:** add calculatePriority method to GraphExpander ([b47680e](https://github.com/Mearman/GraphBox/commit/b47680eff886d06cb940eaf223a437a8f000514d))
* **intersection:** implement circular arc graph algorithms ([aa4cc51](https://github.com/Mearman/GraphBox/commit/aa4cc515946aef78f96e3aeaf0903a815321a634))
* **loaders:** add GraphJson and GML format support ([cdef81b](https://github.com/Mearman/GraphBox/commit/cdef81b408de9019e5b4cadf5982bd8106428ca3))
* **loaders:** add TAR/ZIP/TGZ decompression with Node.js caching ([c0cb23f](https://github.com/Mearman/GraphBox/commit/c0cb23f1da58a3f7382af7c20b54b47187c88981))
* **louvain:** return iteration stats from detectcommunities ([4862880](https://github.com/Mearman/GraphBox/commit/4862880baacc7240da53157f558d09bbfdbc0e57))
* **metrics:** add community detection and k-core metric types ([a913764](https://github.com/Mearman/GraphBox/commit/a91376413a9142e9d827b1b0a360da9ffb1e54e4))
* **metrics:** add hub-avoidance metrics calculator ([6e013b8](https://github.com/Mearman/GraphBox/commit/6e013b80c9b70c005b51b3e16de073da0cdb2793))
* **metrics:** add HubAvoidanceMetric type and export ([358cfd1](https://github.com/Mearman/GraphBox/commit/358cfd1a83d7181887c038373e4966d5576e08d1))
* **metrics:** add npm scripts for test metrics and latex table generation ([36503db](https://github.com/Mearman/GraphBox/commit/36503dbd8a4db7410be58907c199c13a151f267a))
* **metrics:** add ocs scenario metric types and categories ([7b15c58](https://github.com/Mearman/GraphBox/commit/7b15c589c02f362f4d212c10115454acda048050))
* **metrics:** add typed metrics collection system ([42efe92](https://github.com/Mearman/GraphBox/commit/42efe923f9e2c4335387ee2eeabe694c36fdf818))
* **metrics:** register hub-avoidance metric extractor ([dc59387](https://github.com/Mearman/GraphBox/commit/dc593876332c457ed9f279fc2776a7e3955fff6d))
* **metrics:** update salience coverage data with efficiency metrics ([cc24499](https://github.com/Mearman/GraphBox/commit/cc2449912bafe446aad042afad5b389177f33b18))
* **pathfinding:** add random path sampling and shortest path ranking ([0c70718](https://github.com/Mearman/GraphBox/commit/0c70718376022a73b71283f37a438382ca22ebfd))
* **ppef:** add thesis claims for traversal and ranking evaluation ([aef18da](https://github.com/Mearman/GraphBox/commit/aef18da40dbee4e9599539a64b44183294b23ba4))
* **probe:** implement probe graph recognition algorithms ([bb108a0](https://github.com/Mearman/GraphBox/commit/bb108a08df2a9c23e5c6bc6211d52abdd4a9d281))
* **rendering:** add hub-avoidance table specification ([93fd827](https://github.com/Mearman/GraphBox/commit/93fd82748206e1a75078139dccc8208011a56f2c))
* **scripts:** add benchmark dataset display names to csv export ([e250ceb](https://github.com/Mearman/GraphBox/commit/e250ceb6c0c100590dc962ab69d5f31303515f8d))
* **scripts:** add build-time registry SUT generator (Option 2) ([ab0df4c](https://github.com/Mearman/GraphBox/commit/ab0df4c0da5742db40c600b91bc0c9f9597eb516))
* **scripts:** add community detection and k-core tap parsers ([d7ca874](https://github.com/Mearman/GraphBox/commit/d7ca87425cd3dfb29214305ba6659e3c0c3e3304))
* **scripts:** add ocs metric parsing and merge to run-tap ([a9a67f9](https://github.com/Mearman/GraphBox/commit/a9a67f9a46bf0816a55e3bdebc83c2e6a3dbf19a))
* **scripts:** add post-build SUT copier for worker compatibility ([cf90a22](https://github.com/Mearman/GraphBox/commit/cf90a22e615e35a36ca5ce740949d1cd3d8d61b5))
* **scripts:** add PPEF to LaTeX metrics converter ([7e55489](https://github.com/Mearman/GraphBox/commit/7e55489bd032d52f1f2b9e0edc238f29a9f1c263))
* **specs:** add type definitions for Priority 1 graph classes ([614f17f](https://github.com/Mearman/GraphBox/commit/614f17f11b0edc456b9235d4c44c8461f90d6c53))
* **specs:** extend GraphSpec with Priority 1 graph classes ([5550191](https://github.com/Mearman/GraphBox/commit/555019151776e3e3cb68eecd9cfe4e269b5a477a))
* **sut:** register salience-prioritised expansion sut ([ce5e758](https://github.com/Mearman/GraphBox/commit/ce5e758cd033b7071e49d121ddec9ba679a9bfba))
* **suts:** add bidirectional bfs as baseline sut ([d21c8e9](https://github.com/Mearman/GraphBox/commit/d21c8e963d5bf6ab0f12454c68a8c564a1707430))
* **suts:** add graph cache to avoid repeated conversions ([e33cbe0](https://github.com/Mearman/GraphBox/commit/e33cbe0411382042f0054a23674179572f5a6f22))
* **suts:** add overlap-based expansion sut registry ([e8b1d09](https://github.com/Mearman/GraphBox/commit/e8b1d09b289d870037fb41128827ef8924fab26d))
* **suts:** add system under test definitions for novel algorithms ([7b04f82](https://github.com/Mearman/GraphBox/commit/7b04f82fbf39f3faea21ea09db5bb40ff872585d))
* **suts:** add traversal algorithm wrappers for ppef evaluation ([3293228](https://github.com/Mearman/GraphBox/commit/3293228cce92ed27a39a56c9fccb563c2d39a575))
* **suts:** add worker-compatible standalone SUT files (Option 1) ([8d44cb9](https://github.com/Mearman/GraphBox/commit/8d44cb9ec00d08c3a8a66f38bca76af351138e69))
* **suts:** add wrappers for three new ranking baselines ([3c08821](https://github.com/Mearman/GraphBox/commit/3c08821665a9624ac180d4686ef319481886bb05))
* **tables:** add salience coverage comparison table generator ([962c9b5](https://github.com/Mearman/GraphBox/commit/962c9b59e6b8ab97439d21f947d19170fde93276))
* **tap:** add console metrics parser for test output extraction ([d1227fa](https://github.com/Mearman/GraphBox/commit/d1227fae6c1ac46658741a4d8ff0d08052c0fc6a))
* **test:** add coverage thresholds for test infrastructure ([fe1055e](https://github.com/Mearman/GraphBox/commit/fe1055ef9298d26d88f465cfdf3e07283bcea29c))
* **test:** add mutation testing with stryker ([f2942ed](https://github.com/Mearman/GraphBox/commit/f2942edafc296780c3de3fea4ff22a6b65f2b361))
* **test:** add property-based tests for metrics and adapters ([e5337de](https://github.com/Mearman/GraphBox/commit/e5337de090e54639c5687f31c585a2a40fb8bf22))
* **tests:** add console output for degree bucket metrics ([6bedeb0](https://github.com/Mearman/GraphBox/commit/6bedeb0b72e4176fa6635a27b2a26f0a81201fc2))
* **tests:** add console output for ego network representativeness ([66de541](https://github.com/Mearman/GraphBox/commit/66de541143d7d8ac9c556421812577cc6a4723fc))
* **tests:** add console output for hub mitigation metrics ([8405c87](https://github.com/Mearman/GraphBox/commit/8405c87c3f0b6f50b91469b63afbcd9409341326))
* **tests:** add console output for multi-hub expansion efficiency ([689f0ae](https://github.com/Mearman/GraphBox/commit/689f0aea7a86a4442f9b2d24b39880a3de999c29))
* **tests:** add console output for n-seed generalisation metrics ([d8c1bed](https://github.com/Mearman/GraphBox/commit/d8c1bed482cfa89380f32df0081e73cd0c51a959))
* **tests:** add n-seed comparison test with console metrics ([4af26d2](https://github.com/Mearman/GraphBox/commit/4af26d2419b6fc710ff5f3d307646611dcbbe73b))
* **tests:** add tap test runner and experimental test suite ([dc0e73a](https://github.com/Mearman/GraphBox/commit/dc0e73ac0e2a428a90603318d1a0452b08d69392))
* **traversal:** add heterogeneity-aware bidirectional expansion ([cb2d2c6](https://github.com/Mearman/GraphBox/commit/cb2d2c6b67807dd5766e092da35724e7dbd3682f))
* **traversal:** add multi-frontier adaptive salience feedback expansion ([0e2e4a6](https://github.com/Mearman/GraphBox/commit/0e2e4a6ff3330bdc8dda2f9112f606f2fbfe4d70))
* **traversal:** add node discovery iteration tracking to novel algorithms ([ceb179e](https://github.com/Mearman/GraphBox/commit/ceb179e6bc46d637ba42c58ec197c53755b2a85a))
* **traversal:** add node discovery iteration tracking to result interfaces ([2a2d7c4](https://github.com/Mearman/GraphBox/commit/2a2d7c4a848285ef80510598c1230e8ca99a9457))
* **traversal:** add node discovery iteration tracking to salience-prioritised ([dde9ef5](https://github.com/Mearman/GraphBox/commit/dde9ef5bd674987fcfd96a2c5674435052df6458))
* **traversal:** add priority calculator for thesis-aligned expansion ([9c398f6](https://github.com/Mearman/GraphBox/commit/9c398f6dce8badcee0a59490cb72264d6aa13b81))
* **traversal:** add salience-prioritised expansion algorithm ([776cdde](https://github.com/Mearman/GraphBox/commit/776cdde69573ab9e475e69064ce256aa9248a0fc))
* **traversal:** export new algorithms and overlap-based family ([e87483c](https://github.com/Mearman/GraphBox/commit/e87483c2106bbabedef91e14f42c19763879578e))
* **traversal:** export priority calculator from traversal index ([a820a46](https://github.com/Mearman/GraphBox/commit/a820a4691a9231bee136e81d9a3ff5f7fa72e06a))
* **traversal:** implement intelligent delayed termination ([84eac30](https://github.com/Mearman/GraphBox/commit/84eac3091760e7988635f333adcea69216a64468))
* **types:** add unified graph core types ([b0ab500](https://github.com/Mearman/GraphBox/commit/b0ab5001fa350b6fb5914fa5ec4653269c3cc355))
* **types:** add weighted_vector and valued_symbolic to weighting type ([3b8b090](https://github.com/Mearman/GraphBox/commit/3b8b090f906609ede811cb50849a546ef5f84d8b))
* **validation:** add validators for Priority 1 graph classes ([e324a24](https://github.com/Mearman/GraphBox/commit/e324a24e6454cd07cbd3af561c69e99d3ab37da0))
* **validation:** implement forbidden subgraph validation algorithms ([7f49dc9](https://github.com/Mearman/GraphBox/commit/7f49dc9be03e3f015925f6c9655b7a5f180d28f8))
* **validation:** implement self-complementary degree sequence check ([30b6d01](https://github.com/Mearman/GraphBox/commit/30b6d010e7c27bd2c51f16ae612a30c8f1e915bc))
* **validation:** implement small-world, power-law KS test, and modularity Q validation ([5aa75b6](https://github.com/Mearman/GraphBox/commit/5aa75b6fd9f5773c54614b82bd610fd33fdc389d))
* **validation:** integrate Priority 1 classes into validator orchestrator ([105829b](https://github.com/Mearman/GraphBox/commit/105829b6254172a28938695b540bd6ab0b3733e9))
### Bug Fixes
* add sentinel exports to empty modules ([cfaf9d3](https://github.com/Mearman/GraphBox/commit/cfaf9d33ff6be41e2240df1ddcea99148bd39af2))
* address ESLint errors in framework ([f17d5fa](https://github.com/Mearman/GraphBox/commit/f17d5fabb5c615817dd8b5ce54dc441fef31546e))
* **algorithm:** correct frontier intersection detection in degree-prioritised expansion ([5e8d8f1](https://github.com/Mearman/GraphBox/commit/5e8d8f124a08a73ef78e47e31ad594a0488d7567))
* **analyzer:** add density heuristic for cliquewidth detection ([d0ba8db](https://github.com/Mearman/GraphBox/commit/d0ba8db08d5639bbc46935a9c3710596e4e078ba))
* **analyzer:** adjust heuristics to pass all integration and unit tests ([40e9efe](https://github.com/Mearman/GraphBox/commit/40e9efe4f5ca8ef3f9931951bebc724ce035a740))
* **analyzer:** adjust modular heuristic threshold from > 30 to >= 15 ([c81bfb4](https://github.com/Mearman/GraphBox/commit/c81bfb4cbb4eb0103eaeb6180e86e218930d1bfd))
* **analyzer:** increase modular heuristic threshold to 25 ([6dfb3db](https://github.com/Mearman/GraphBox/commit/6dfb3dbd58a46e346fe67485a00388b4a6df958c))
* **analyzer:** merge duplicate imports from same modules ([20a7b3a](https://github.com/Mearman/GraphBox/commit/20a7b3a80a130e009a497b37399461ec64df739c))
* **analyzer:** restore planar sparse heuristic and adjust modular threshold ([25f4a3b](https://github.com/Mearman/GraphBox/commit/25f4a3b62f5162edcd9d4479dab00c991699cbd5))
* **analyzer:** return unconstrained for large planar graphs ([9ef50c1](https://github.com/Mearman/GraphBox/commit/9ef50c10c278bd4644fe30d939ae122bbbed9121))
* apply remaining lint fixes to mixed-change files ([aae7290](https://github.com/Mearman/GraphBox/commit/aae7290460e60b923f3fa06fa8803eeecb7ebfbb))
* **checkpoint:** preserve main data in mergeShards ([db294ba](https://github.com/Mearman/GraphBox/commit/db294baad4c091013fe8bb34261a6fe29b2c0713))
* **checkpoint:** prevent duplicate runIds in saveIncremental ([d0fbc7e](https://github.com/Mearman/GraphBox/commit/d0fbc7e42b13c39eb920a67641fea109badac1b3))
* **ci:** lower coverage thresholds to match current actuals ([175ee6f](https://github.com/Mearman/GraphBox/commit/175ee6fb3f7a40ec2fbdeb25c9f4570785993147))
* **ci:** resolve TypeScript errors and add dataset cache persistence ([10ae86b](https://github.com/Mearman/GraphBox/commit/10ae86bd71919e63bf71c3c8444a837087a247ac))
* **claims:** correct hub-avoidance metric name ([ed84106](https://github.com/Mearman/GraphBox/commit/ed84106e08d9b8398f9ece297d548ae2c2a16198))
* **claims:** reframe 7 violated sampling claims with scoped metrics ([b4d1278](https://github.com/Mearman/GraphBox/commit/b4d1278135404210f7cc36f073192b9945a2bcbf))
* **cli:** fix TypeScript errors from linter changes ([2c76a3d](https://github.com/Mearman/GraphBox/commit/2c76a3d25f46d670b846165a57ee760e62fa1b43))
* **cli:** reload checkpoint after execution to get saved results ([c55a441](https://github.com/Mearman/GraphBox/commit/c55a441cd78db9421b35d15879f94d99034e5913))
* **config:** remove unsupported vitest configuration options ([4043ddf](https://github.com/Mearman/GraphBox/commit/4043ddf8e6dcdb4ddcc2037063ecd61c67a807b1))
* correct ArtefactReference type export ([557f9b5](https://github.com/Mearman/GraphBox/commit/557f9b55e6385722a0896c49c8c820a92976969a))
* correct path reconstruction logic in bfs shortest path ([e164170](https://github.com/Mearman/GraphBox/commit/e164170980eef72b25f76222b6f2568fbd11ae62))
* **csr:** store both edge directions for undirected graphs ([5bef09d](https://github.com/Mearman/GraphBox/commit/5bef09dc2f2bcae721a5dc3c21992abc27b146a0))
* **deps:** switch ppef from local link to npm registry ([2a7153a](https://github.com/Mearman/GraphBox/commit/2a7153a08cf6f8a9297d38c67f7788e2dfa0e326))
* **eslint:** allow scripts in default project after tsconfig change ([09f4386](https://github.com/Mearman/GraphBox/commit/09f4386fc25f8f71da1cf045009519a919c3f1e5))
* **eslint:** convert array sort() to toSorted() for immutability ([bd5674c](https://github.com/Mearman/GraphBox/commit/bd5674ce84f78009264795b1bc3c3cc10c7cfe38))
* **eslint:** resolve all 27 eslint errors ([821a588](https://github.com/Mearman/GraphBox/commit/821a588e69323281da145fefabbcc02d3178dd00))
* **eslint:** suppress warnings for intentional codebase patterns ([a2cd0b4](https://github.com/Mearman/GraphBox/commit/a2cd0b440f5b3a79bb3b042776d0c2df34501988))
* **evaluate:** apply lint fixes for encoding, imports, and nan checks ([b976417](https://github.com/Mearman/GraphBox/commit/b9764174e2f1a26707e6feafe5a6c1550e517480))
* **evaluate:** handle numeric argument for parallel-workers ([6d38fa0](https://github.com/Mearman/GraphBox/commit/6d38fa0d09dc6993ed0330f1f5ffa1cae86ce704))
* **evaluate:** use in-process execution for ranking metrics collection ([f2c249a](https://github.com/Mearman/GraphBox/commit/f2c249a815c2914ca18dd902e6ea1812be4851ca))
* **evaluation:** path storage for parallel execution ([016bfe9](https://github.com/Mearman/GraphBox/commit/016bfe9437a03d81bf9471a83c120dd5e165b11f))
* **evaluation:** reduce path max length for computational tractability ([3b2b1cb](https://github.com/Mearman/GraphBox/commit/3b2b1cbe8218a47e300116cd410834a374281f1e))
* **evaluation:** remove useless switch case before default ([3511291](https://github.com/Mearman/GraphBox/commit/3511291dcb359fb64577d8ccebc240402bce1860))
* **executor:** correct spread order to preserve input value ([d316c08](https://github.com/Mearman/GraphBox/commit/d316c08e3727c2ed647de89c4bbf28977692949f))
* **experiments:** add proof tests with type safety fixes ([ba6d68e](https://github.com/Mearman/GraphBox/commit/ba6d68e33a8bea4dbe47281e3e316db194723612))
* **experiments:** fix type coercion in Node.js version check ([e1671b5](https://github.com/Mearman/GraphBox/commit/e1671b56086cb96b67c5c7e245e6eabe5402a1f9))
* **experiments:** resolve 0% salience coverage via BenchmarkGraphExpander fix + retroactive enumeration ([09df5ad](https://github.com/Mearman/GraphBox/commit/09df5ad0849ced5b5673af3e1fe34ba0459d98f5))
* **formats:** prevent CLI execution when bundled ([eda2e5c](https://github.com/Mearman/GraphBox/commit/eda2e5c70d5350967084ac1827a2bbc85fc72dfc))
* **formats:** use non-capturing groups in regexes ([42d9b8e](https://github.com/Mearman/GraphBox/commit/42d9b8ea9d16f6ddde8ced87e84d3cf573208b65))
* **generation:** replace nested ternary with if-else block ([fc702aa](https://github.com/Mearman/GraphBox/commit/fc702aafe2de96749047eb24930eaa0cc0bf6e81))
* **gen:** move perfect graph generators before default handling ([911da7e](https://github.com/Mearman/GraphBox/commit/911da7e220c535515042ea3d718f769b48ae101c))
* **gen:** prioritize tree generator over planar for acyclic graphs ([612728b](https://github.com/Mearman/GraphBox/commit/612728b5127fcf4d64ea05b2e3d03ddbfba2b00e))
* **lint-staged:** exclude scripts/ from typecheck-files ([526b8f8](https://github.com/Mearman/GraphBox/commit/526b8f80ba7f97995c413fa0119184199feeb479))
* **lint:** resolve all linting errors and add path ranking baselines ([69af9af](https://github.com/Mearman/GraphBox/commit/69af9af5d0dfd78b2d67792a5f7ecd1184b72853))
* **louvain:** prevent over-merging on small and dense graphs ([11bebd1](https://github.com/Mearman/GraphBox/commit/11bebd1cebc19c3c3a72c5d084afba86cd5a8ef2))
* **metrics:** prefix unused constant with underscore ([e632b45](https://github.com/Mearman/GraphBox/commit/e632b450658473b3fb8e998f2a9d9e76269aab34))
* **overlap:** add default maxIterations to prevent infinite loops ([6faa83b](https://github.com/Mearman/GraphBox/commit/6faa83b31bfdea4f316c508ef21bcfe31227f3f7))
* **overlap:** add fallback for n1 case in minimal paths strategy ([d60a395](https://github.com/Mearman/GraphBox/commit/d60a39544381653840c995c36eccc9f3fffb851f))
* prefer utf8 over utf-8 encoding identifier ([d43fee4](https://github.com/Mearman/GraphBox/commit/d43fee4038df2135d2eee6dcf1a711349c98b94a))
* **ranking:** use correct node IDs for Cora and CiteSeer datasets ([d714d14](https://github.com/Mearman/GraphBox/commit/d714d142d409718b394b5dc391c913970f4a4288))
* replace global with number-safe nan and finite checks ([2b3fa92](https://github.com/Mearman/GraphBox/commit/2b3fa924c6d6f1513525c80c49cf7fe7466cf4ff))
* resolve linter unused variable errors and improve generators ([3357eef](https://github.com/Mearman/GraphBox/commit/3357eef8fccb6567b8dee3179ec60a36b5781b3e))
* resolve typecheck and lint errors ([912e6dd](https://github.com/Mearman/GraphBox/commit/912e6ddad4def4a41366962e8a510457d0ec7540))
* **scripts:** resolve all eslint errors in generate-latex-tables.ts ([61d0180](https://github.com/Mearman/GraphBox/commit/61d0180c74ac2631087b8345b2ad7645efcc0dc1))
* **scripts:** resolve all eslint errors in run-tap.ts ([0ddb158](https://github.com/Mearman/GraphBox/commit/0ddb1580597411c56e8b9a77e6759c6637156478))
* **suts:** correct result type handling in ranking suts ([e27e05c](https://github.com/Mearman/GraphBox/commit/e27e05c7407c2c2fa2f7c9bb77e383413fd5e512))
* **test:** add missing argument to isCoreGraph test call ([53095ea](https://github.com/Mearman/GraphBox/commit/53095ea9aefb0d80e89d1fdd1c3abfe3f7f9884d))
* **test:** include metric unit tests in mutation testing config ([9286f43](https://github.com/Mearman/GraphBox/commit/9286f4307520d03659cc38f1634accf1e8289bcd))
* **tests:** correct dataset ids and increase test timeouts ([063e97f](https://github.com/Mearman/GraphBox/commit/063e97f8315b56e995aa672c43811b4f84195b1c))
* **tests:** correct import path for overlap-based module ([58ebc18](https://github.com/Mearman/GraphBox/commit/58ebc18346092ce6c513eaaf63765e3dc69ca419))
* **tests:** correct overlap-based expansion test setup and assertions ([d39d9dc](https://github.com/Mearman/GraphBox/commit/d39d9dc166b0a8440cb7e9b55c3154781ac07ae9))
* **tests:** fix topological representativeness test failures ([24f35d0](https://github.com/Mearman/GraphBox/commit/24f35d0ae47c6e7b8c12d001ba97b31adcbc083a))
* **tests:** handle undefined from array.at() and fix array mutation ([008a01e](https://github.com/Mearman/GraphBox/commit/008a01ed82ba62e3ed547b77354458f370179015))
* **tests:** increase graph size to trigger modular degree heuristic ([e21de44](https://github.com/Mearman/GraphBox/commit/e21de44e48d3668bf83c84c06b75ee4f1f489f0e))
* **tests:** increase timeout for facebook benchmark tests ([5fb3b19](https://github.com/Mearman/GraphBox/commit/5fb3b19f457d9a097c388b529617a591f199785d))
* **tests:** increase timeout for facebook path-salience effect-size test ([97a0dd8](https://github.com/Mearman/GraphBox/commit/97a0dd8e19ed147be87fe0ca0a0de65cf4d002f0))
* **tests:** make edge mi order test order-agnostic ([001b3d8](https://github.com/Mearman/GraphBox/commit/001b3d824a10aa0ae2ad4dcbedcd2e04ea6a15f3))
* **tests:** relax path diversity assertions in benchmark tests ([b49b0ab](https://github.com/Mearman/GraphBox/commit/b49b0abb430441f985f495ff53afeade8df07470))
* **tests:** update path diversity benefit test assertions ([acdaab8](https://github.com/Mearman/GraphBox/commit/acdaab8e60db536d24103cdfb3389fe17b7c08b5))
* **tests:** update remaining hardcoded node ids in ranking tests ([04f718a](https://github.com/Mearman/GraphBox/commit/04f718aef895b4ae88ae8ba5abd017e4bbc2f825))
* **tests:** use actual character names in les mis ranking tests ([efbbc1e](https://github.com/Mearman/GraphBox/commit/efbbc1e55e22a621e578315a0a4e0032956d88af))
* **tests:** use actual paper ids in citeseer ranking tests ([135b70e](https://github.com/Mearman/GraphBox/commit/135b70e1f7ab2245656220b776b9595fc5eb7b43))
* **tests:** use actual paper ids in cora ranking tests ([216cfd4](https://github.com/Mearman/GraphBox/commit/216cfd49174d79d98277f2470897a36faceeb675))
* **tests:** use const for never-reassigned variables ([3efd5af](https://github.com/Mearman/GraphBox/commit/3efd5afd1ee21ff65f352da5e4ce1a3d2b62b22c))
* **traversal:** correct path detection order in multi-frontier expansion ([a811cbc](https://github.com/Mearman/GraphBox/commit/a811cbcadbfe54db1c5744d5925e7d234d7ac113))
* **traversal:** fix path detection order in entropy-guided expansion ([cd7bf5b](https://github.com/Mearman/GraphBox/commit/cd7bf5b7167701d5405b1c70bec85338eb836c75))
* **traversal:** prefer array.at(-1) and simplify spread expressions ([ee7fefb](https://github.com/Mearman/GraphBox/commit/ee7fefb97d3a7e7acc6913403a6e767bf5704bf1))
* **traversal:** replace .at() with bracket notation for ES2020 compat ([c1c9088](https://github.com/Mearman/GraphBox/commit/c1c9088949e08886fc270c99a9fd980cf3e46b14))
* **tsconfig:** remove scripts from include to resolve ts6059 ([f747fe1](https://github.com/Mearman/GraphBox/commit/f747fe107c0fbd5a7363bdf4dedc6fa4bbf55e0d))
* **types:** rename duplicate louvain result export in clustering-types ([24be127](https://github.com/Mearman/GraphBox/commit/24be12708c2de3c91bb8fd243e5eac43b24e3362))
* use default import for node:path module ([2282005](https://github.com/Mearman/GraphBox/commit/2282005a858d9aafb0526c630ed3936fe35bfce8))
* **validation:** fix import paths and module resolution after reorganization ([3a8dacb](https://github.com/Mearman/GraphBox/commit/3a8dacb3100bac7a0c61fb03641f67bc664265c0))
* **validation:** optimize distance-hereditary detection using forbidden subgraph characterization - replaces O(n!) isometric cycle checking with O(n^4) pattern matching (160x speedup: 302s → 1.9s for n=20) ([6bbcbeb](https://github.com/Mearman/GraphBox/commit/6bbcbeb5c8573ab493ee294ee508b5d1facc604a))
* **validation:** simplify small-world validation to parameter reporting ([db91b7c](https://github.com/Mearman/GraphBox/commit/db91b7c5175a8f9c1d5b65b6a66996a68e68dc75))
* **vitest:** resolve typescript path aliases in project config ([411e8f0](https://github.com/Mearman/GraphBox/commit/411e8f0ef569f3290852d158e9470eb79240c5a3))
### Performance
* **algorithm:** optimize frontier intersection checking to O(1) ([bec6dbf](https://github.com/Mearman/GraphBox/commit/bec6dbf868de839e6a603a7cfbdf52247b898994))
* **analyzer:** optimize tree/forest/DAG predicates with O(V+E) checks ([b2fd743](https://github.com/Mearman/GraphBox/commit/b2fd74371214aedfd7dde9348f79f5e5ccb4e82d))
* **baselines:** skip path checks for single-seed experiments ([c0c721a](https://github.com/Mearman/GraphBox/commit/c0c721a8104eece309146ba84cafe9aeb7a65063))
* **executor:** add expander caching to reduce redundant graph construction ([8af3487](https://github.com/Mearman/GraphBox/commit/8af3487d903bd6698108987f40c0cd5128cb7159))
* **priority-queue:** add O(1) peekPriority method ([c4ef316](https://github.com/Mearman/GraphBox/commit/c4ef316711d00dd3b221c83e3be61806da32f26a))
### Documentation
* add graph classes gap analysis ([2c23b5e](https://github.com/Mearman/GraphBox/commit/2c23b5e8673b45452c1dc168bf8da18b832d76e8))
* symlink agents and claude docs to readme ([f6a8d26](https://github.com/Mearman/GraphBox/commit/f6a8d26c7c821a93722f7183221b53883d4a53bf))
* **test:** clarify tree integration test skip reason ([ae95ac4](https://github.com/Mearman/GraphBox/commit/ae95ac4de67ea982b715478d343d38f9b67eb2a1))
### Styles
* **eslint:** add eqeqeq rule to forbid type coercion ([bd9cd5d](https://github.com/Mearman/GraphBox/commit/bd9cd5d934f7052eb15d95f079c621cc314f8470))
* **eslint:** apply import sorting and numeric formatting ([9073fd3](https://github.com/Mearman/GraphBox/commit/9073fd31fc76da65440e571a246a82ff23d0a513))
* **executor:** apply lint fixes ([d1da2a1](https://github.com/Mearman/GraphBox/commit/d1da2a1f51c5e4f1eee3de602a32224af45a66af))
* **memory-monitor:** numeric separators and jsdoc improvements ([09cf0ce](https://github.com/Mearman/GraphBox/commit/09cf0ceae5477c1b22fd48089aa95a2d2f2b2e90))
* **suts:** apply code style improvements to ranking SUTs ([d35b118](https://github.com/Mearman/GraphBox/commit/d35b118c9ce180af4aa5fce55011212b0632c4cc))
* **tests:** apply code style improvements to overlap-based test ([4f5a9d0](https://github.com/Mearman/GraphBox/commit/4f5a9d06e3b8be65bb5000a0f674e8af6e99ef5b))
* **tests:** apply consistent formatting to diagnostic tests ([f016ed8](https://github.com/Mearman/GraphBox/commit/f016ed8508d2315cba5cf66688f1fdc24119e858))
* **tests:** apply ESLint autofixes to validation test files ([eb785f7](https://github.com/Mearman/GraphBox/commit/eb785f7be24a54eba998ee3ad0473f38ccbaec45))
* **test:** sort imports in integration tests ([251158e](https://github.com/Mearman/GraphBox/commit/251158e10c2bee3e0b34f7f57342083b5b9e416e))
### Code Refactoring
* **analyzer:** refactor type coercion and type assertions in advanced-props ([abbd772](https://github.com/Mearman/GraphBox/commit/abbd77244f4f57af9bd4f33b428679761ce83149))
* **checkpoint:** simplify object spread in mergeShards ([b9b3972](https://github.com/Mearman/GraphBox/commit/b9b39727ffa483a3a82186c7c3f980a763a5b009))
* **eval:** rename nvv to ocs (originality-correctness-significance) ([8d8b957](https://github.com/Mearman/GraphBox/commit/8d8b9579550253816397117e596c847e92c265c3))
* **evaluate:** add support for bidirectional bfs result metrics ([ecc8904](https://github.com/Mearman/GraphBox/commit/ecc8904b56d563044973d915dfcf2429892d1774))
* **evaluate:** add support for overlap-based result metrics ([c39e447](https://github.com/Mearman/GraphBox/commit/c39e44759aa4e1bce5ca1326e80e1ee8d523bc96))
* **evaluate:** include edge count in graph size sorting ([5c476e9](https://github.com/Mearman/GraphBox/commit/5c476e911d61abceadad8dae32a6699d3b669791))
* **evaluate:** update imports to use ppef package ([f954857](https://github.com/Mearman/GraphBox/commit/f95485737d524c2427baf93b7c1197105971bb4e))
* **eval:** update thesis-validation test header to ocs terminology ([25bf9f3](https://github.com/Mearman/GraphBox/commit/25bf9f38f4184efdb321e7dee8633a7e0d538744))
* **executor:** add dependency injection interfaces to checkpoint-storage ([dfff9f2](https://github.com/Mearman/GraphBox/commit/dfff9f2b2d1701f4d79e9f9c42bda56930670412))
* **executor:** refactor CheckpointManager for dependency injection ([3d79a0e](https://github.com/Mearman/GraphBox/commit/3d79a0e955f7b2efbca30a7d2ee2821988b82c98))
* **executor:** update exports for sharded checkpoint system ([ea0217a](https://github.com/Mearman/GraphBox/commit/ea0217a740f4106f3437d633ee3d19f7ef2b5de2))
* **executor:** update to use three type parameters ([ebaf464](https://github.com/Mearman/GraphBox/commit/ebaf46421e3f4d6b4a7e96ef543f4f1be4eee4dd))
* **expander:** lazy adjacency with binary search ([9882e44](https://github.com/Mearman/GraphBox/commit/9882e44c143c71a3d7ecda0bbfea31df5aba2da1))
* **exp:** use retroactive path enumeration in bidirectional-bfs experiments ([52d8be8](https://github.com/Mearman/GraphBox/commit/52d8be8deddf39fa856878090ee2cc259d13e187))
* **exp:** use retroactive path enumeration in seeded-expansion experiments ([86522e7](https://github.com/Mearman/GraphBox/commit/86522e7e1214fe902ad80ddbe540aa7487d3d34e))
* **files:** rename to kebab-case ([76d8e77](https://github.com/Mearman/GraphBox/commit/76d8e77129f720ad2e2aff00e95bf8ef176278f6))
* **framework:** remove extracted evaluation framework ([202af2a](https://github.com/Mearman/GraphBox/commit/202af2a0d7f74021248eac500f07c9e9bc18266c))
* **gen:** simplify ptolemaic generator to use path graphs ([989acf2](https://github.com/Mearman/GraphBox/commit/989acf2f4fd8d8aa248ba86f5c112fa84f40a482))
* **metrics:** use jaccard distance for path diversity ([0655431](https://github.com/Mearman/GraphBox/commit/06554317a236d13c9ef9794fea2a6c6aeb119f1f))
* **overlap:** remove unused frontier state field ([71da8e0](https://github.com/Mearman/GraphBox/commit/71da8e01f0dfe928a510401fb33a64d9de254997))
* **ranking:** rename expander field to input for consistency ([73e5118](https://github.com/Mearman/GraphBox/commit/73e51188a277d486a19a46d3cea13b38bcfbe67f))
* **register-cases:** update case definitions to universal input pattern ([dd10e02](https://github.com/Mearman/GraphBox/commit/dd10e022d1ba7fdd9d4f9b1df8970fd5a0c2ac0d))
* **register-suts:** define domain-specific expansion inputs ([dd19aa7](https://github.com/Mearman/GraphBox/commit/dd19aa72159a1ab1ea25f19307be153b4aaa3b4b))
* **registries:** extract graphbox-specific registrations ([c3174f6](https://github.com/Mearman/GraphBox/commit/c3174f6c034a49c5fed4e3f7745909283ca53ff4))
* **registry:** simplify registry with universal types ([25da111](https://github.com/Mearman/GraphBox/commit/25da111e07f5860fd67e946dbd20d895534ec44f))
* **scripts:** fix all eslint issues in generate-latex-tables.ts ([03bdb3e](https://github.com/Mearman/GraphBox/commit/03bdb3e0080970238382e46075190bd7695d764b))
* **scripts:** replace generate-latex-tables with export-csv ([05e1a15](https://github.com/Mearman/GraphBox/commit/05e1a150f4ec60344c84b5aaf593671e7691b6b9))
* **scripts:** update scripts for new experiment framework ([7fd2d59](https://github.com/Mearman/GraphBox/commit/7fd2d5983a8fb62046de4ead8d5849fb2a50b4a8))
* **suts:** integrate overlap-based expansion into registry ([4576142](https://github.com/Mearman/GraphBox/commit/45761428326bacf0a689f12fac87f7f10b9af610))
* **tests:** convert overlap-based test from node:test to vitest ([3e09a13](https://github.com/Mearman/GraphBox/commit/3e09a13e1ddc7cd9c16fc90525b14bff168a9211))
* **test:** simplify test config ([5b646dc](https://github.com/Mearman/GraphBox/commit/5b646dc0f1b0975d26b74a222e599c0f84f5eb04))
* **tests:** rename integration tests to experimental format ([24445df](https://github.com/Mearman/GraphBox/commit/24445dfad7be94c7dd1d4eaca86ef48097cc613f))
* **tests:** rename thesis-validation test to exp project ([ddd07f2](https://github.com/Mearman/GraphBox/commit/ddd07f29fbeed1830f7711c5cef64bd0f0864870))
* **types:** make sut and case interfaces universal ([a3a1ab8](https://github.com/Mearman/GraphBox/commit/a3a1ab84153524c120457b1269b481a3263d0dff))
* **validation:** refactor type assertions to proper type guards in structural-class validation ([f3ee56d](https://github.com/Mearman/GraphBox/commit/f3ee56d573bb666b58ab313fd7aa46fce2f5290a))
* **validation:** rename thesis/ directory to validation/ ([0d96820](https://github.com/Mearman/GraphBox/commit/0d96820ccb4286cf51ca05fecde96dfca41afb82))
### Tests
* add iteration scaling benchmark for path salience ranking ([dcc9ab1](https://github.com/Mearman/GraphBox/commit/dcc9ab111fe6b1cad972e9974b8ee59d56aec150))
* **aggregators:** update tests for computeComparison signature ([ac6c556](https://github.com/Mearman/GraphBox/commit/ac6c5562f57b5c01c478733d0e8335048e7e3a17))
* **algorithms:** add overlap-based expansion validation tests ([852eb78](https://github.com/Mearman/GraphBox/commit/852eb78e5e603e98422bc897fb0f898652cb1f94))
* **algorithms:** adjust overlap-based test expectations ([d4ebbfc](https://github.com/Mearman/GraphBox/commit/d4ebbfc0847ebdb9abc58ad0f09be02b2b217cac))
* **algorithms:** expand degree-prioritised expansion test coverage ([bb4c730](https://github.com/Mearman/GraphBox/commit/bb4c7305e1bd4f3ffd328cd88e5e9e65ec4d6f64))
* **analyzer:** add timeout for sparse graph detection test ([d07d55c](https://github.com/Mearman/GraphBox/commit/d07d55cb719d8f29a3aa06e7bf105150f5cd327c))
* **analyzer:** enable tree integration tests ([b0a9f5e](https://github.com/Mearman/GraphBox/commit/b0a9f5ee8dfb278e17e2461cc33af7c241ddf3ee))
* **application:** add literature review metrics tests ([ae88c12](https://github.com/Mearman/GraphBox/commit/ae88c12977581d4be0cb04de44bcea527615a7da))
* **baselines:** add calculatePriority mocks to baseline tests ([dbf9245](https://github.com/Mearman/GraphBox/commit/dbf9245ea70248aeebcf8446c56b07163be396df))
* **baselines:** add method ranking comparison tests ([0dc796f](https://github.com/Mearman/GraphBox/commit/0dc796fe3dc6ee27c47a4a91b4249b4d1969b352))
* **benchmark-datasets:** split dataset-specific validation tests ([ba62adb](https://github.com/Mearman/GraphBox/commit/ba62adb34badbc27756ca4e6536dfb52d2ecf454))
* **benchmarks:** remove cache clearing to enable persistent caching ([abfaf7b](https://github.com/Mearman/GraphBox/commit/abfaf7b41ff63216d50a621b3c9e1ad207f14d3c))
* **benchmarks:** unskip DBLP validation test ([be1b734](https://github.com/Mearman/GraphBox/commit/be1b734196e728b95cd3ff3bf7b65cc9aea2e9fa))
* **checkpoint:** add tests for saveIncremental deduplication ([4eb5bc6](https://github.com/Mearman/GraphBox/commit/4eb5bc6ca7966b24e57ffe040fc02e62e4b158c6))
* **checkpoint:** add unit test for merge behavior ([d853fe3](https://github.com/Mearman/GraphBox/commit/d853fe34083ea613dfdd11faae3b3474cf9cbb99))
* **common:** extract shared utilities for thesis validation ([126045b](https://github.com/Mearman/GraphBox/commit/126045b8d0d5311acc16c7ac01f61eb98dd761f9))
* **comparative:** skip memory-intensive perturbation consistency test ([bda6afc](https://github.com/Mearman/GraphBox/commit/bda6afc03195b9863c1dc2daf44fc14b1ea4eeaa))
* **degree-prioritised:** add experimental traversal validation tests ([e3e22b1](https://github.com/Mearman/GraphBox/commit/e3e22b1c296f7dd46c13fa085f312902b7b0a065))
* **eval:** add NVV tests for entropy-guided expansion (EGE) ([7c62a32](https://github.com/Mearman/GraphBox/commit/7c62a3295a712abc76eb764475bd3fedc8283b99))
* **eval:** add NVV tests for path-preserving expansion (PPME) ([184b277](https://github.com/Mearman/GraphBox/commit/184b27712e22947e0eb8fdbd287308e8ff6d7bfd))
* **eval:** add NVV tests for retrospective-salience expansion (RSGE) ([b49fa5a](https://github.com/Mearman/GraphBox/commit/b49fa5a065bc94d2239c2ec5cc5f712f4aa6fe5a))
* **eval:** add ocs experiment tests for classification, generation, ranking ([c0855a3](https://github.com/Mearman/GraphBox/commit/c0855a3c6997e15caffb4629b7dcf498520a528d))
* **eval:** add statistical comparison tests for novel algorithms ([2829b3e](https://github.com/Mearman/GraphBox/commit/2829b3ea6dce6188b37e67af2e37227ce02bd19f))
* **eval:** enable sequential execution for perturbation test ([e048646](https://github.com/Mearman/GraphBox/commit/e0486469ceec71a318ecc132b164b40b87a85e15))
* **eval:** widen execution time ratio threshold for variance ([19d45ec](https://github.com/Mearman/GraphBox/commit/19d45ecc422cb8c8c06b135840a68362a7167f45))
* **eval:** widen scalability ratio threshold for timing variance ([55c1539](https://github.com/Mearman/GraphBox/commit/55c1539efd5ba196d5a1fad8c07d07997b8ead93))
* **executor:** add diagnostic tests for checkpoint bugs ([955500a](https://github.com/Mearman/GraphBox/commit/955500a1bb607a579bb3754134298afea465a68c))
* **executor:** add parallel checkpoint merge integration test ([a13fd5b](https://github.com/Mearman/GraphBox/commit/a13fd5b061870d8862685c0521cc28576a704162))
* **executor:** add unit and integration tests for checkpoint system ([124c5e1](https://github.com/Mearman/GraphBox/commit/124c5e12565fc2c138cf5d9132a0179b3508f758))
* **experiments:** update tests for universal framework ([ba0d8df](https://github.com/Mearman/GraphBox/commit/ba0d8dfef808b4ba258b1571c0388ce33fce4339))
* **fixtures:** update expected dataset count and add dblp timeout ([b4f86d1](https://github.com/Mearman/GraphBox/commit/b4f86d1fac7d4544364df25954dfd193fadfdbd6))
* **framework:** add aggregation unit tests ([1fc115c](https://github.com/Mearman/GraphBox/commit/1fc115c30f27c2ce5b04c67df6579c0bd1b8289b))
* **framework:** add evaluator and latex-renderer unit tests ([421bc9b](https://github.com/Mearman/GraphBox/commit/421bc9b04f14b95e7db20e05327c2f0c9137d854))
* **framework:** add integration tests ([8074c66](https://github.com/Mearman/GraphBox/commit/8074c66bb3b4a8bc9ac4d0f66822f00fd61afcfc))
* **framework:** add result collector unit tests ([3279885](https://github.com/Mearman/GraphBox/commit/3279885d89ad1d5affa78fb4b64b522bf48a1289))
* **framework:** add robustness analyzer unit tests ([3049aa3](https://github.com/Mearman/GraphBox/commit/3049aa33153c347f31f0c2a183691d841852ffe9))
* **framework:** add run-id and metrics registry unit tests ([557919d](https://github.com/Mearman/GraphBox/commit/557919d1d0425d8468f019508fd820559d59351a))
* **framework:** add test helper utilities ([b5ec654](https://github.com/Mearman/GraphBox/commit/b5ec654f673dc5404e3355a3060f413ef161e376))
* **harness:** add algorithm evaluation harness ([2682667](https://github.com/Mearman/GraphBox/commit/268266746bc198e82755e99c724138dbd8c616cb))
* **integration:** add calculatePriority mocks to integration tests ([3723088](https://github.com/Mearman/GraphBox/commit/37230883426fd2680857e1a0088993f39c166afe))
* **integration:** skip tree tests that hang during full suite ([fb2fb4c](https://github.com/Mearman/GraphBox/commit/fb2fb4cbb2ac8da4b6d8c078f6b08abef0444cd6))
* **interface:** add calculatePriority tests to GraphExpander suite ([9e277d7](https://github.com/Mearman/GraphBox/commit/9e277d70e59876f2f6e01176485ba654763df226))
* **metrics:** add arithmetic validation for aggregation and ranking ([84203d5](https://github.com/Mearman/GraphBox/commit/84203d5fc44c007a1296b63c598076dc7e7f84f7))
* **metrics:** add betweenness correlation validation and improve divergence tests ([72529a3](https://github.com/Mearman/GraphBox/commit/72529a3e60aecda028d3761805b9606e30199f1d))
* **metrics:** add boundary conditions test suite ([5ad53f0](https://github.com/Mearman/GraphBox/commit/5ad53f0b232678c46282f6bdce6ca38ec003ed12))
* **metrics:** add final validation tests for arithmetic and guards ([4d75f7f](https://github.com/Mearman/GraphBox/commit/4d75f7f6f6bf8bab26add03cb269f3d1b3108950))
* **metrics:** add sort direction validation for hub identification ([2c8c5ba](https://github.com/Mearman/GraphBox/commit/2c8c5baeafca00a957437574059a2d748d0f68b8))
* **metrics:** add tests for loop bounds, array spreading, and divergence ([dca6d66](https://github.com/Mearman/GraphBox/commit/dca6d66094a757aa648c3fc5639ae090d590bed9))
* **mock:** add calculatePriority to MockGraphExpander and test utils ([14ab4e8](https://github.com/Mearman/GraphBox/commit/14ab4e8c5d1831d228040b34cb9714a47eb86654))
* **mutation:** configure mutation testing with vitest integration ([04fca00](https://github.com/Mearman/GraphBox/commit/04fca007b10e015f0e9c556ada769d75bf245c28))
* **node-explosion:** split node explosion mitigation tests ([7dc9c0f](https://github.com/Mearman/GraphBox/commit/7dc9c0fc5fd9c9194a4c8454eadad2e57b7b5a7b))
* **novelty:** add novelty-validity-value integration tests ([d06ae95](https://github.com/Mearman/GraphBox/commit/d06ae953acde04976ff466283eb536bd4b6f8278))
* **novelty:** split novelty-validation tests by category ([3c301eb](https://github.com/Mearman/GraphBox/commit/3c301eb3bb21d54aa8aaf36389e854cd348f0224))
* **performance:** add execution time performance tests ([93422b5](https://github.com/Mearman/GraphBox/commit/93422b5ee1693fb7e71cf21eb2b7d71446b27f95))
* **ranking:** add integration tests for case validation ([2829cc3](https://github.com/Mearman/GraphBox/commit/2829cc36480e06fcb14c003642175a0fed5f315e))
* **representativeness:** split representativeness validation tests ([1f33060](https://github.com/Mearman/GraphBox/commit/1f33060b959c94f16a31a567d242894d7bb1da09))
* **robustness:** add graph perturbation consistency tests ([8bfce2d](https://github.com/Mearman/GraphBox/commit/8bfce2d73d41ec21383c599b51acb23be94e295f))
* **statistical:** add multi-method statistical comparison tests ([01cbcf1](https://github.com/Mearman/GraphBox/commit/01cbcf1362d72bae0155c5ec8b4f1c92ca2ab732))
* **summary:** add comprehensive validation summary tests ([9ac544d](https://github.com/Mearman/GraphBox/commit/9ac544dd2b98b9a5078e7c6e358b07ed13588317))
* **traversal:** add simple path validation test for intersection detection ([3ea4d87](https://github.com/Mearman/GraphBox/commit/3ea4d8734ee08a7b5686d9abd8b30bf135923d4f))
* **traversal:** make entropy-guided mock graph bidirectional ([ce6b9ad](https://github.com/Mearman/GraphBox/commit/ce6b9ad712987f5a961d947587736c0ce40cae4a))
* **traversal:** relax intersection test assertions for bidirectional paths ([8af22b9](https://github.com/Mearman/GraphBox/commit/8af22b9e5e1696ea06a5e42646557ba488c9e7bc))
* **validation:** add algorithm validation tests using benchmark datasets ([8f17cb5](https://github.com/Mearman/GraphBox/commit/8f17cb52bba6eea94a215fbdf40692be53992143))
* **validation:** add contract, canary, and round-trip tests for adapters ([0271229](https://github.com/Mearman/GraphBox/commit/02712298446ea6ba8e3dbc9cc6557201661ab68a))
* **validation:** add thesis benchmark validation suite ([94e4414](https://github.com/Mearman/GraphBox/commit/94e441442ccc520d780bfa3b0113c85a49eefb88))
* **vite:** add vitest project for experimental tests ([b476b11](https://github.com/Mearman/GraphBox/commit/b476b112f693f70e4b34af963252d411b3adf6bd))
### Build System
* **config:** update tsconfig lib target ([2c7cf3d](https://github.com/Mearman/GraphBox/commit/2c7cf3d6d7c3eacc6b6b77418a67bf210544f765))
* **config:** update tsconfig lib to ES2023 ([b4bc659](https://github.com/Mearman/GraphBox/commit/b4bc6593351984edb950e69a67f4aa95523f9c61))
* **tsconfig:** include scripts directory in compilation ([2adb204](https://github.com/Mearman/GraphBox/commit/2adb20423efa3873ca3834a3a7b97bd76e3c106d))
* **vite:** externalize ppef package in rollup config ([b97f7ee](https://github.com/Mearman/GraphBox/commit/b97f7eeb8c53e42ee8d2e822c16e08793669694f))
* **vite:** update config for ranking experiments ([2df2478](https://github.com/Mearman/GraphBox/commit/2df24785fa811dd8ef7cf6f1e47d07d1e1695f9b))
### CI/CD
* add coverage reporting and weekly mutation testing ([d775221](https://github.com/Mearman/GraphBox/commit/d775221a3638ec53cc05b3db4fc962de54571bb3))
### Chores
* add Claude settings configuration ([f59ae08](https://github.com/Mearman/GraphBox/commit/f59ae0827fda9601da187fb20fef6f04341e0bd6))
* add results/ directory to gitignore ([0d7b33c](https://github.com/Mearman/GraphBox/commit/0d7b33c284c9d66e91ace73a505cb118cefb902b))
* add typecheck-files for smarter pre-commit typechecking ([3f09ff5](https://github.com/Mearman/GraphBox/commit/3f09ff50bd62bdfb9558115ceee5706a79a99d94))
* **ci:** add lint-staged with affected test filtering ([9d49189](https://github.com/Mearman/GraphBox/commit/9d491891695776a4af9d1d1765a03ba7b8b1d2e6))
* **codegen:** add graph class code generation system ([217cbb5](https://github.com/Mearman/GraphBox/commit/217cbb5799c7e7d09c18ae1061243a33d46a54c3))
* **config:** enable bundler module resolution ([6de2ae4](https://github.com/Mearman/GraphBox/commit/6de2ae43f4686dccd5b2344ed7d78dad4d18c311))
* **deps:** link ppef as local dependency ([a3e0099](https://github.com/Mearman/GraphBox/commit/a3e00998c3360b0ebdb425a6bd3a601be2d4f8ff))
* **deps:** lock mutation testing dependencies ([a62f540](https://github.com/Mearman/GraphBox/commit/a62f540c66d4933b6b32116cbf875f21d4b35120))
* disable debug salience logging flag ([74135be](https://github.com/Mearman/GraphBox/commit/74135be6d5a0a65adee38af243583490aaab13f8))
* **experiments:** add generated test metrics output ([b419524](https://github.com/Mearman/GraphBox/commit/b419524fa76e604ae7e45c159ff19c42ce529e5f))
* **gitignore:** add tap test result files ([527c55b](https://github.com/Mearman/GraphBox/commit/527c55bc0f36a3f44b487d47705110bf6c98d62e))
* **gitignore:** exclude mutation testing and compiled artifacts ([a3b04c3](https://github.com/Mearman/GraphBox/commit/a3b04c37c3a3d68ff44a06d8e7179667f84dafd2))
* **gitignore:** ignore results directories with suffix ([e3b7a26](https://github.com/Mearman/GraphBox/commit/e3b7a26963e6fc4f0bc751cdd0c8aa5e45755c35))
* **metrics:** add converted LaTeX metrics from PPEF ([5d6d813](https://github.com/Mearman/GraphBox/commit/5d6d813f24b2ede6af333e3fd6496a1f1a4743fc))
* **metrics:** add intelligent delayed termination to salience results ([1221fa8](https://github.com/Mearman/GraphBox/commit/1221fa8861b0bd28123771b035027b4a882ea677))
* **package:** add tap test runner scripts ([bf2c81c](https://github.com/Mearman/GraphBox/commit/bf2c81c2e9f2ee5361891081a4f549ca77f7a875))
* **settings:** forbid git commit --no-verify in permissions ([8a77c4d](https://github.com/Mearman/GraphBox/commit/8a77c4d0646a94875493376f9a11bdac933791bf))
* **tables:** remove unused mi-ranking abbreviation ([cee7600](https://github.com/Mearman/GraphBox/commit/cee76000e3a9e81f899a98677928c6660bafd5a4))
* update settings to prevent git commit bypass ([54bdc21](https://github.com/Mearman/GraphBox/commit/54bdc215b2e74b2a28bcc53b4f4e9d268bc530d4))
* update test metrics with ranking benchmarks data ([dccab1c](https://github.com/Mearman/GraphBox/commit/dccab1c79df69a46660962330777621c18123f5a))
* update test metrics with salience coverage results ([0868e77](https://github.com/Mearman/GraphBox/commit/0868e77c3e95736768d43b77cc7c538219f9b60c))1 parent 175ee6f commit f977a94
2 files changed
Lines changed: 389 additions & 1 deletion
0 commit comments