Skip to content

Commit 4ed1a29

Browse files
committed
wire(combinatorial_maps): register domain in catalog and root namespace
- Add combinatorial_maps to the root jacobian.math exports and the public API ROOT_MATH_DOMAINS contract. - Import the domain's TOOLS and ADMISSIONS in catalog/builtins.py. - Update the frozen admission baselines (KEEP 239->246, candidates 399->406) and add the combinatorial_maps schema-snapshot fragment.
1 parent 3d9565b commit 4ed1a29

5 files changed

Lines changed: 48 additions & 3 deletions

File tree

src/jacobian/catalog/builtins.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@
4646
from jacobian.math.boolean_analysis._tools import TOOLS as BOOLEAN_ANALYSIS_TOOLS
4747
from jacobian.math.code_theory._admission import ADMISSIONS as CODE_THEORY_ADMISSIONS
4848
from jacobian.math.code_theory._tools import TOOLS as CODE_THEORY_TOOLS
49+
from jacobian.math.combinatorial_maps._admission import (
50+
ADMISSIONS as COMBINATORIAL_MAPS_ADMISSIONS,
51+
)
52+
from jacobian.math.combinatorial_maps._tools import (
53+
TOOLS as COMBINATORIAL_MAPS_TOOLS,
54+
)
4955
from jacobian.math.combinatorics._admission import (
5056
ADMISSIONS as COMBINATORICS_ADMISSIONS,
5157
)
@@ -291,6 +297,7 @@
291297
*NUMBER_THEORY_TOOLS,
292298
*DIOPHANTINE_APPROXIMATION_TOOLS,
293299
*COMBINATORICS_TOOLS,
300+
*COMBINATORIAL_MAPS_TOOLS,
294301
*FINITE_SETS_TOOLS,
295302
*FINITE_FIELDS_TOOLS,
296303
*LOGIC_TOOLS,
@@ -360,6 +367,7 @@
360367
*BOOLEAN_ANALYSIS_ADMISSIONS,
361368
*CODE_THEORY_ADMISSIONS,
362369
*COMBINATORICS_ADMISSIONS,
370+
*COMBINATORIAL_MAPS_ADMISSIONS,
363371
*CONVEX_ANALYSIS_ADMISSIONS,
364372
*DIOPHANTINE_APPROXIMATION_ADMISSIONS,
365373
*DISCREPANCY_THEORY_ADMISSIONS,

src/jacobian/math/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
algebraic_combinatorics,
55
arithmetic,
66
arithmetic_dynamics,
7+
combinatorial_maps,
78
combinatorics,
89
diophantine_approximation,
910
finite_abelian_groups,
@@ -32,6 +33,7 @@
3233
"algebraic_combinatorics",
3334
"arithmetic",
3435
"arithmetic_dynamics",
36+
"combinatorial_maps",
3537
"combinatorics",
3638
"diophantine_approximation",
3739
"finite_abelian_groups",
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"catalog_version": "1",
3+
"domain": "combinatorial_maps",
4+
"operations": {
5+
"combinatorial_map.connected_components.compute": {
6+
"input_schema": "sha256:f387e2ba041eeb2510e0cc4155680d7201564aab86454a03b4a40f74f7c79f7f",
7+
"output_schema": "sha256:901ca1ae1033145f0e5e4fcd9d6dd2e6f9c57f5c155f5d0cc1441b5b4ff79506"
8+
},
9+
"combinatorial_map.dual.compute": {
10+
"input_schema": "sha256:608a11a495f82b3e74bb63abb15ff43ce1edf4340cc75893741ddff9d145f74a",
11+
"output_schema": "sha256:7aaf047ab71d0965f1638981815960dc26a98629ba2dd4bd8240248a0816ffe9"
12+
},
13+
"combinatorial_map.euler_characteristic.compute": {
14+
"input_schema": "sha256:122e6b5f4d4566b86bd32fcaaa3fea061785b872d8a0ca945c4feb7e5a4d0e29",
15+
"output_schema": "sha256:839d71cbe880a3f8324f556691a93ff17265515dcd1fc7aad9abc67aed5b11d6"
16+
},
17+
"combinatorial_map.faces.compute": {
18+
"input_schema": "sha256:21d0ccbec74dab2830f2f37510b899bfce4485698a9ba3c5d3ab3a63fe19d65e",
19+
"output_schema": "sha256:2484d8b6dbdfae080e6ee1150cc8b8e79919ff05b116ec6a5383915f14f54d25"
20+
},
21+
"combinatorial_map.orientable_genus.compute": {
22+
"input_schema": "sha256:67398c752523df2cc43217ec004405e666a772d3b9331a107001e3f61510a7f2",
23+
"output_schema": "sha256:49cfb597c88c8fe6567427d7d5c90da74b5aafad9337aeda8d6455a7b81fef8a"
24+
},
25+
"combinatorial_map.orientation_reverse.compute": {
26+
"input_schema": "sha256:5091ffba4ed7d8f45130c98904fc96a074810e51a6138b174e7a9f53ea88d36d",
27+
"output_schema": "sha256:fa6071e1214239ef8705946196b5c38f78f9f642b245af86a59daec0cbafbf63"
28+
},
29+
"combinatorial_map.vertex_face_incidence.compute": {
30+
"input_schema": "sha256:ef9c7321870ddd6d1229760d7ce369d1a4c05005a358f2df33a58c8a1e9b27f1",
31+
"output_schema": "sha256:81993b7bb681ae33299f89be8e1771e196884ffb1cfadc4c10dafde7ec27ec14"
32+
}
33+
}
34+
}

tests/catalog/test_admission.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ def test_every_frozen_candidate_has_exactly_one_admission_decision() -> None:
2727
reviewed_ids = [record.operation_id for record in OPERATION_ADMISSIONS]
2828

2929
assert REVIEWED_BASE_REVISION == "61589543bbbff546edbc51d34a07887982fa4ad6"
30-
assert len(candidate_ids) == len(set(candidate_ids)) == 399
30+
assert len(candidate_ids) == len(set(candidate_ids)) == 406
3131
assert reviewed_ids == sorted(reviewed_ids)
3232
assert set(reviewed_ids) == set(candidate_ids)
3333
assert all(record.rationale.strip() for record in OPERATION_ADMISSIONS)
3434
assert Counter(record.decision for record in OPERATION_ADMISSIONS) == {
35-
AdmissionDecision.KEEP: 239,
35+
AdmissionDecision.KEEP: 246,
3636
AdmissionDecision.NATIVE_ONLY: 56,
3737
AdmissionDecision.DROP: 104,
3838
}
@@ -46,7 +46,7 @@ def test_public_catalog_contains_only_admitted_atomic_operations() -> None:
4646
}
4747

4848
assert {tool.operation_id for tool in BUILTIN_TOOLS} == expected
49-
assert len(BUILTIN_TOOLS) == 239
49+
assert len(BUILTIN_TOOLS) == 246
5050

5151

5252
def test_catalog_construction_fails_closed_on_duplicate_candidates() -> None:

tests/math/public_api/test_namespace.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"algebraic_combinatorics",
2020
"arithmetic",
2121
"arithmetic_dynamics",
22+
"combinatorial_maps",
2223
"combinatorics",
2324
"diophantine_approximation",
2425
"finite_abelian_groups",

0 commit comments

Comments
 (0)