From 7f7d93c087910e0f9ef3e820b59d6a88f413f94e Mon Sep 17 00:00:00 2001 From: "Jeremy H. Carroll" Date: Thu, 5 Nov 2026 21:09:47 -0500 Subject: [PATCH 1/9] Record baseline screenshots, console output, timings, and test output for Simplex-NF Studio --- overnight/baseline/browser_console.txt | 4 ++++ overnight/baseline/first_result_timing.txt | 5 +++++ overnight/baseline/front_1280x800.png | Bin 0 -> 174065 bytes overnight/baseline/front_390x844.png | Bin 0 -> 88048 bytes overnight/baseline/test_suite_output.txt | 22 +++++++++++++++++++++ 5 files changed, 31 insertions(+) create mode 100644 overnight/baseline/browser_console.txt create mode 100644 overnight/baseline/first_result_timing.txt create mode 100644 overnight/baseline/front_1280x800.png create mode 100644 overnight/baseline/front_390x844.png create mode 100644 overnight/baseline/test_suite_output.txt diff --git a/overnight/baseline/browser_console.txt b/overnight/baseline/browser_console.txt new file mode 100644 index 0000000..9d4021b --- /dev/null +++ b/overnight/baseline/browser_console.txt @@ -0,0 +1,4 @@ +[warning] cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation +[error] Failed to load resource: the server responded with a status of 404 (Not Found) +[warning] cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation +[error] Failed to load resource: the server responded with a status of 404 (Not Found) diff --git a/overnight/baseline/first_result_timing.txt b/overnight/baseline/first_result_timing.txt new file mode 100644 index 0000000..a5410a8 --- /dev/null +++ b/overnight/baseline/first_result_timing.txt @@ -0,0 +1,5 @@ +{ + "domInteractiveMs": 345, + "loadEventEndMs": 347, + "wallClockFirstResultMs": 1538 +} diff --git a/overnight/baseline/front_1280x800.png b/overnight/baseline/front_1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..13ead0647f7f17d50b4686ba61666c14eea040ea GIT binary patch literal 174065 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

aA{%!aVShRN;5OpZWxlAR$R#?XXL=_&xDk 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 + + def test_zero_gtmur_across_contracts_wiki_and_code(self) -> None: + for folder in ("contracts", "normal_forms", "wiki", "images"): + for p in (REPO_ROOT / folder).rglob("*"): + if p.is_file() and p.suffix in {".yaml", ".md", ".svg", ".py", ".sql", ".json"}: + txt = p.read_text(encoding="utf-8") +> self.assertNotIn("gtmur", txt.lower(), f"Found legacy gtmur in {p}") +E AssertionError: 'gtmur' unexpectedly found in '# planned tests 516�615\n\n**authorityeffect:** `none`\n**parent inventory:** [planned-tests.md](planned-tests.md)\n\ntests 1�515 stay in the parent inventory. the rows below are planned. they have no module and no execution receipt.\n\n## 26. tranche 27: exact rational constraint sums (tests 516�535)\n\n**status:** planned. no module and no execution receipt. \ntarget module: `omega_engine_governance/tests/normal_forms/test_tranche27_exact_rational_constraint_sums.py` \naligned contracts: `nf.physics.wdwnf`, `nf.physics.l1_constraint_closure`, `nf.runtime.zfnf`\n\neach amplitude is a signed rational $\\sigma_i n_i / d_i$ with $d_i > 0$. the net constraint is the gcd-reduced fold $\\sum_i \\sigma_i n_i / d_i$, and the constraint vanishes exactly when $n_{\\text{net}} = 0$.\n\n| # | test identifier | category | target invariant & scope |\n|---|---|---|---|\n| 516 | `test_single_term_rational_amplitude_is_not_zero` | exact sum | a one-term constraint $1/7$ yields $n_{\\text{net}} \\neq 0$. the $k=1$ term remains in the fold. |\n| 517 | `test_two_term_exact_cancellation` | exact sum | $1/2 - 1/2$ yields $n_{\\text{net}} = 0$ after reduction. |\n| 518 | `test_two_term_false_zero_rejected` | exact sum | $1/2 - 1/3$ yields $1/6$, so $n_{\\text{net}} \\neq 0$. |\n| 519 | `test_three_term_false_zero_rejected` | exact sum | $1/2 + 1/3 - 3/5$ yields $7/30$, so $n_{\\text{net}} \\neq 0$. |\n| 520 | `test_three_term_true_zero_accepted` | exact sum | $1/2 + 1/3 - 5/6$ yields $n_{\\text{net}} = 0$. |\n| 521 | `test_large_integer_beyond_2_64` | exact sum | numerators and denominators above $10^{18}$ fold by stepwise gcd reduction and return the same reduced fraction as arbitrary-precision arithmetic. |\n| 522 | `test_stepwise_fold_keeps_single_term` | exact sum | the fold of a single fraction equals that fraction. a pairwise sum over $i \\neq j$ is not used as the constraint value. |\n| 523 | `test_stepwise_fold_disagrees_with_pairwise_product_at_k3` | exact sum | for three fractions, the stepwise rational sum differs from $\\sum_{i \\neq j} n_i d_j$. the harness reports the stepwise sum. |\n| 524 | `test_denominator_strictly_positive` | exact sum | an amplitude with $d_i = 0$ is a typed refusal before any fold begins. |\n| 525 | `test_sign_applied_before_reduction` | exact sum | $\\sigma_i \\in \\{+1,-1\\}$ is applied to the numerator, and gcd reduction leaves a positive denominator. |\n| 526 | `test_unreduced_fractions_canonicalize` | exact sum | $2/4 + 1/2$ reduces to the same $(n_{\\text{net}}, d_{\\text{net}})$ as $1/2 + 1/2$. |\n| 527 | `test_wdw_constraint_vanishes_iff_numerator_zero` | wdwnf | the wheeler�dewitt constraint $h_{\\perp}$ is recorded as zero exactly when the folded numerator is zero. |\n| 528 | `test_positive_wdw_residual_refuses_preserve` | wdwnf | a folded residual of $1/2$ routes away from `preserve`. |\n| 529 | `test_momentum_constraint_uses_same_rational_fold` | l1 closure | the spatial diffeomorphism constraint uses the same signed rational fold as $h_{\\perp}$. |\n| 530 | `test_four_term_mixed_sign_cancellation` | exact sum | $1/3 + 1/6 - 1/2 + 0/1$ yields $n_{\\text{net}} = 0$. |\n| 531 | `test_zero_numerator_is_exact_zero` | exact sum | $0/5$ is exact zero and stays exact zero inside a larger fold. |\n| 532 | `test_negative_denominator_normalized` | exact sum | input $-1/-2$ is stored as $+1/2$ with $d > 0$. input $1/-2$ is stored as $-1/2$ with $d > 0$. |\n| 533 | `test_gcd_reduction_is_deterministic` | exact sum | two calls on the same multiset of fractions return identical $(n_{\\text{net}}, d_{\\text{net}})$. |\n| 534 | `test_rational_fold_order_independence` | exact sum | every permutation of a fixed list of signed fractions returns the same reduced sum. |\n| 535 | `test_float_constraint_payload_refused` | exact sum | a float payload such as `0.16666666666666666` is a typed refusal. the fold accepts only integer numerators and denominators. |\n\n---\n\n## 27. tranche 28: null totality, boolean identity, residual zero & candidate sets (tests 536�555)\n\n**status:** planned. no module and no execution receipt. \ntarget module: `omega_engine_governance/tests/normal_forms/test_tranche28_null_totality_and_guard_identity.py` \naligned contracts: `nf.evidence.certificate`, `nf.coda.eqnf`, `nf.runtime.zfnf`, `normal_form_contract_schema.yaml`\n\nboolean fields use `type(val) is bool`. sql disagreement uses `is distinct from`. guard $g_3$ requires `residual_mass == 0`. guard $g_5$ requires set equality of candidate identifiers.\n\n| # | test identifier | category | target invariant & scope |\n|---|---|---|---|\n| 536 | `test_bool_field_rejects_int_one` | boolean identity | a schema boolean rejects integer `1`. the mutation is the witness. |\n| 537 | `test_bool_field_rejects_int_zero` | boolean identity | a schema boolean rejects integer `0`. the mutation is the witness. |\n| 538 | `test_bool_field_accepts_true_and_false` | boolean identity | `true` and `false` pass a schema boolean check, and their python types are `bool`. |\n| 539 | `test_conditional_field_accepts_bool_or_conditional` | boolean identity | a field whose schema is boolean-or-`"conditional"` accepts `true`, `false`, and the string `"conditional"`. |\n| 540 | `test_conditional_field_rejects_other_strings` | boolean identity | the same field refuses `"true"`, `"false"`, `"yes"`, and the empty string. |\n| 541 | `test_null_preflight_flags_null_fact_value` | null totality | a totality preflight returns the row whose protected fact value is null. |\n| 542 | `test_null_preflight_flags_null_global_verdict` | null totality | a totality preflight returns the row whose `global_verdict` is null. |\n| 543 | `test_null_preflight_flags_null_local_product` | null totality | a totality preflight returns the row whose `local_product` is null. |\n| 544 | `test_sql_inequality_misses_null_disagreement` | null totality | `global_verdict <> local_product` returns no row when one side is null. the same row is returned by `is distinct from`. |\n| 545 | `test_is_distinct_from_detects_null_versus_value` | null totality | `null is distinct from 1` and `0 is distinct from null` both select the disagreeing row. |\n| 546 | `test_is_distinct_from_detects_value_mismatch` | null totality | two non-null unequal verdicts are selected by `is distinct from`. |\n| 547 | `test_is_distinct_from_accepts_equal_pair` | null totality | two equal non-null verdicts are absent from the `is distinct from` result. |\n| 548 | `test_zero_residual_guard_requires_exact_zero` | residual gate | guard $g_3$ passes only when `residual_mass == 0` as an exact rational. |\n| 549 | `test_half_residual_fails_under_positive_tolerance` | residual gate | residual mass $1/2$ fails $g_3$ when a caller supplies a positive numeric tolerance. |\n| 550 | `test_certificate_verify_is_executed` | certificate | an attached distance certificate is accepted only after `certificate.verify()` returns success. |\n| 551 | `test_certificate_distance_equals_residual_mass` | certificate | the validator requires `certificate.distance == residual_mass` on the exact rational. |\n| 552 | `test_contradictory_certificate_refuses` | certificate | a certificate whose distance differs from the computed residual mass produces an explicit refusal. |\n| 553 | `test_exhaustive_guard_requires_set_equality` | exhaustiveness | guard $g_5$ passes when the checked candidate-id set equals `packet.evaluator_class_e` and the lengths are equal. |\n| 554 | `test_duplicate_checks_fail_set_exhaustiveness` | exhaustiveness | a count `candidates_checked >= candidates_declared` with a repeated id and a missing declared id fails $g_5$. |\n| 555 | `test_extraneous_candidate_id_fails_exhaustiveness` | exhaustiveness | a checked id absent from the packet fails $g_5$ even when the counts match. |\n\n---\n\n## 28. tranche 29: loss-ledger trigger registry (tests 556�575)\n\n**status:** planned. no module and no execution receipt. \ntarget module: `omega_engine_governance/tests/normal_forms/test_tranche29_loss_ledger_trigger_registry.py` \naligned contracts: `nf.evidence.loss_ledger`, `nf.compilation.cpnf`, `nf.transport.gtmur`, `nf.motion.flow_control`, `nf.representation.gnf`, `nf.motion.locality_lrb`, `nf.epistemic.location`, `nf.epistemic.enf`\n\nthe closed registry in `normal_form_contract_schema.yaml` is the only source of trigger ids. `loss_ledger_required: conditional` carries one of those ids.\n\n| # | test identifier | category | target invariant & scope |\n|---|---|---|---|\n| 556 | `test_conditional_obligation_requires_trigger_id` | registry | `loss_ledger_required: conditional` with `loss_ledger_trigger_id: null` is a schema refusal. |\n| 557 | `test_conditional_prose_without_trigger_id_refused` | registry | a free-text loss commentary and a null trigger id is a schema refusal. |\n| 558 | `test_trigger_id_cpnf_lossy_compilation_lowering_resolves` | registry | `cpnf.lossy_compilation_lowering` resolves to the closed registry entry for lossy compilation lowering. |\n| 559 | `test_trigger_id_gtmur_unmapped_field_drop_resolves` | registry | `gtmur.unmapped_field_drop` resolves to the closed registry entry for unmapped field drop. |\n| 560 | `test_trigger_id_flow_control_buffer_drop_resolves` | registry | `flow_control.buffer_drop` resolves to the closed registry entry for buffer drop. |\n| 561 | `test_trigger_id_gnf_hyperedge_projection_loss_resolves` | registry | `gnf.hyperedge_projection_loss` resolves to the closed registry entry for hyperedge projection loss. |\n| 562 | `test_trigger_id_locality_lrb_tail_truncation_resolves` | registry | `locality_lrb.tail_truncation` resolves to the closed registry entry for lieb�robinson tail truncation. |\n| 563 | `test_trigger_id_epistemic_location_partition_divergence_resolves` | registry | `epistemic_location.partition_divergence` resolves to the closed registry entry for partition divergence. |\n| 564 | `test_trigger_id_enf_lossy_epistemic_transition_resolves` | registry | `enf.lossy_epistemic_transition` resolves to the closed registry entry for lossy epistemic transition. |\n| 565 | `test_unregistered_trigger_id_refused` | registry | `loss_ledger_trigger_id: "custom.operator_note"` is a schema refusal. |\n| 566 | `test_registry_keys_equal_schema_enum` | registry | the keys of `loss_ledger_trigger_registry` equal the non-null enum of `loss_ledger_trigger_id`. |\n| 567 | `test_required_false_permits_null_trigger` | registry | `loss_ledger_required: false` with a null trigger id passes the trigger check. |\n| 568 | `test_required_true_demands_ledger_entries` | ledger payload | `loss_ledger_required: true` with an empty entry list is a refusal. |\n| 569 | `test_required_true_rejects_missing_ledger_object` | ledger payload | `loss_ledger_required: true` with no ledger object is a refusal. |\n| 570 | `test_loss_ledger_required_rejects_int_zero_and_one` | boolean identity | integer `0` and integer `1` fail the `loss_ledger_required` type check. accepted values are `true`, `false`, and `"conditional"`. |\n| 571 | `test_trigger_fires_only_for_its_event` | predicate | `flow_control.buffer_drop` stays inactive on a compilation-lowering event, and `cpnf.lossy_compilation_lowering` stays inactive on a buffer-drop event. |\n| 572 | `test_inactive_trigger_omits_ledger` | predicate | when `loss_ledger_required` is `conditional` and the registered predicate is false, a missing ledger passes. |\n| 573 | `test_active_trigger_demands_ledger` | predicate | when the same contract\'s predicate is true, a missing ledger is a refusal. |\n| 574 | `test_sealed_ledger_digest_tracks_erased_attributes` | ledger payload | changing `erased_attributes` changes the sealed ledger digest. |\n| 575 | `test_parser_preserves_declared_trigger_id` | registry | parsing a contract with `loss_ledger_required: conditional` and `loss_ledger_trigger_id: gtmur.unmapped_field_drop` returns that id unchanged. a missing id stays null, and the conditional check then refuses. |\n\n---\n\n## 29. tranche 30: pseudometric separation & quotient factors (tests 576�595)\n\n**status:** planned. no module and no execution receipt. \ntarget module: `omega_engine_governance/tests/normal_forms/test_tranche30_pseudometric_and_quotient_factors.py` \naligned contracts: `nf.epistemic.odnf`, `nf.coda.eqnf`, `nf.transport.gtmur`\n\ndistance zero is a pseudometric fact. point equality is claimed only after a declared separation axiom. quotient distance is the $l_1$ distance on the quotient, and a factor through the quotient is unique on the declared kernel.\n\n| # | test identifier | category | target invariant & scope |\n|---|---|---|---|\n| 576 | `test_pseudometric_zero_keeps_distinct_ids` | pseudometric | two observer states with $d(o_1, o_2) = 0$ retain distinct identifiers when no separation axiom is declared. |\n| 577 | `test_equality_requires_separation_axiom` | pseudometric | a collapse of those states to one point is refused until the contract declares a separation axiom. |\n| 578 | `test_odnf_zero_divergence_routes_to_abstain` | odnf | odnf distance zero, with separation undeclared, routes to `abstain`. |\n| 579 | `test_positive_pseudometric_blocks_collapse` | pseudometric | $d(o_1, o_2) = 1/2$ refuses a collapse receipt. |\n| 580 | `test_pseudometric_nonnegative` | pseudometric | every evaluated pair returns $d \\ge 0$ as an exact rational. |\n| 581 | `test_pseudometric_symmetric` | pseudometric | $d(a, b) = d(b, a)$ on the fixture pairs. |\n| 582 | `test_pseudometric_triangle_inequality` | pseudometric | $d(a, c) \\le d(a, b) + d(b, c)$ on the fixture triple, with exact rational addition. |\n| 583 | `test_separation_axiom_makes_zero_into_equality` | pseudometric | after the contract declares separation, $d(a, b) = 0$ yields $a = b$ in the quotient of the pseudometric. |\n| 584 | `test_l1_quotient_distance_is_the_reported_distance` | quotient | the reported distance is the $l_1$ distance between quotient classes, computed from class representatives. |\n| 585 | `test_kernel_inclusion_checked_before_factor` | quotient | a map factors through the quotient only when the declared kernel sits inside the map\'s kernel. |\n| 586 | `test_factor_missing_a_kernel_pair_refused` | quotient | a candidate factor that separates two kernel-equivalent representatives is refused. |\n| 587 | `test_universal_factor_unique_on_classes` | quotient | two factors that agree on every quotient class are recorded as the same factor. |\n| 588 | `test_second_factor_disagreement_refused` | quotient | a second factor that disagrees on one class is refused as a universal factor. |\n| 589 | `test_quotient_identifies_only_the_declared_kernel` | quotient | representatives outside the declared kernel remain distinct classes. |\n| 590 | `test_nontrivial_class_is_not_a_point_equality_claim` | quotient | a class with two representatives is reported as one quotient point and two carrier points. |\n| 591 | `test_eqnf_unverified_quotient_refuses_preserve` | eqnf | an eqnf quotient whose verification status is `absent` refuses `preserve`. |\n| 592 | `test_gtmur_unmapped_field_opens_loss_ledger` | gtmur | dropping an unmapped field opens a loss-ledger entry bound to `gtmur.unmapped_field_drop`. |\n| 593 | `test_gtmur_mapped_roundtrip_preserves_payload` | gtmur | a payload whose fields are all in the declared map round-trips to the same canonical bytes. |\n| 594 | `test_certificate_does_not_supply_separation` | pseudometric | attaching a distance certificate leaves the separation axiom unset. zero distance still withholds point equality. |\n| 595 | `test_two_representatives_at_quotient_distance_zero` | quotient | two distinct representatives of one class have quotient distance zero and unequal carrier ids. |\n\n---\n\n## 30. tranche 31: operational pipeline & terminal routes (tests 596�615)\n\n**status:** planned. no module and no execution receipt. \ntarget module: `omega_engine_governance/tests/normal_forms/test_tranche31_operational_pipeline_and_terminal_routes.py` \naligned contracts: `nf.epistemic.authority`, `nf.evidence.certificate`, `nf.evidence.ddanf`, `nf.coda.eqnf`\n\nthe operational harness runs `route`, then `descend`, then `verify`, then `terminalize`, and stops at the first refusal. `guardevidence` is read from that trace. caller-supplied booleans are `guardattestations` and stay on the attestation side of the boundary.\n\n| # | test identifier | category | target invariant & scope |\n|---|---|---|---|\n| 596 | `test_stages_run_in_route_descend_verify_terminalize_order` | pipeline | a clean fixture records the four stage names in that order in the serialized trace. |\n| 597 | `test_route_refusal_skips_later_stages` | pipeline | a refusal from `route` leaves `descend`, `verify`, and `terminalize` absent from the trace. |\n| 598 | `test_descend_refusal_skips_verify_and_terminalize` | pipeline | a refusal from `descend` leaves `verify` and `terminalize` absent from the trace. |\n| 599 | `test_verify_refusal_skips_terminalize` | pipeline | a refusal from `verify` leaves `terminalize` absent from the trace. |\n| 600 | `test_trace_lists_each_executed_stage` | pipeline | the trace entries are exactly the stages that ran, each with its input digest and output digest. |\n| 601 | `test_trace_sha256_binds_canonical_json` | pipeline | the receipt digest equals the sha-256 of the rfc 8785 canonical json of the trace. |\n| 602 | `test_mutated_trace_byte_fails_digest` | pipeline | flipping one byte of the canonical trace makes the stored digest fail recomputation. |\n| 603 | `test_guard_evidence_is_read_from_the_trace` | evidence | `guardevidence` fields match the stage outputs in the trace and are absent when the stage did not run. |\n| 604 | `test_caller_true_without_trace_refuses_preserve` | attestation | a caller attestation `verified: true` with no trace refuses `preserve`. |\n| 605 | `test_attestation_input_type_is_guard_attestations` | attestation | the policy-evaluator entry point accepts `guardattestations` and refuses a payload typed as `guardevidence` when no trace is attached. |\n| 606 | `test_policy_evaluator_receipt_names_attestation_boundary` | attestation | the attestation receipt states that the evaluator judges caller-supplied attestations and records no pipeline execution. |\n| 607 | `test_observed_no_mixed_fiber_routes_to_abstain` | terminal route | evidence label `observednomixedfiberincorpus` routes to `abstain`. |\n| 608 | `test_claimed_view_determinate_routes_to_abstain` | terminal route | evidence label `claimedviewdeterminate` routes to `abstain`. |\n| 609 | `test_preserve_requires_machine_checked_and_verifier` | terminal route | `preserve` is emitted when `verification_status` is `machine_checked` and `verifier_required` is `true`. |\n| 610 | `test_preserve_refused_when_verifier_required_is_false` | terminal route | `verification_status: machine_checked` with `verifier_required: false` refuses `preserve`. |\n| 611 | `test_preserve_refused_when_verification_status_absent` | terminal route | `verifier_required: true` with `verification_status: absent` refuses `preserve`. |\n| 612 | `test_count_only_coverage_is_labeled_count_coverage` | exhaustiveness | a packet that supplies counts and no candidate ids is labeled count coverage. |\n| 613 | `test_count_coverage_does_not_emit_exhaustive` | exhaustiveness | the count-coverage label is refused as an `exhaustive` guard result. |\n| 614 | `test_replay_of_trace_reproduces_terminal` | replay | re-executing the stored trace yields the same terminal and the same sha-256 digest. |\n| 615 | `test_first_refusal_is_the_recorded_terminal` | pipeline | when `descend` refuses, the recorded terminal is that refusal, and later stage names do not appear. |\n\n---\n' : Found legacy gtmur in C:\Users\a343o\source\repos\simplex-normal-forms\normal_forms\planned-tests-516-615.md + +tests\test_normal_forms.py:57: AssertionError +=========================== short test summary info =========================== +FAILED tests/test_normal_forms.py::TestSimplexNormalForms::test_zero_gtmur_across_contracts_wiki_and_code +1 failed, 231 passed in 37.50s +Frontend component parsing and zero-step chase rendering passed. From a0946ba80fb63426fa7a67d7a1d673d8b7d29690 Mon Sep 17 00:00:00 2001 From: "Jeremy H. Carroll" Date: Thu, 5 Nov 2026 21:32:09 -0500 Subject: [PATCH 2/9] Add property-based tests for closure, candidate keys, 3NF synthesis, BCNF decomposition, and chase join agreement --- tests/test_relational_properties.py | 329 ++++++++++++++++++++++++++++ web/static/anomalon-favicon.svg | 1 + web/static/anomalon.css | 178 +++++++++++++++ web/static/anomalon.js | 108 +++++++++ web/static/style.css | 74 ++----- web/templates/index.html | 122 +++++------ 6 files changed, 688 insertions(+), 124 deletions(-) create mode 100644 tests/test_relational_properties.py create mode 100644 web/static/anomalon-favicon.svg create mode 100644 web/static/anomalon.css create mode 100644 web/static/anomalon.js diff --git a/tests/test_relational_properties.py b/tests/test_relational_properties.py new file mode 100644 index 0000000..15ab586 --- /dev/null +++ b/tests/test_relational_properties.py @@ -0,0 +1,329 @@ +"""Property-based correctness tests for classical relational dependency algebra. + +Checks over seeded random functional-dependency sets on at most 6 attributes: +1. Attribute closure and candidate-key enumeration agree with brute force over all attribute subsets. +2. Bernstein 3NF synthesis is dependency-preserving and lossless (chase reaches a distinguished row). +3. Tsou-Fischer BCNF decomposition is lossless and every output table is in BCNF. +4. Chase lossy/lossless verdict agrees with actual natural join of projections on small instances, + and when lossy, spurious_tuple_witness appears in the natural join of projections of the chase + counterexample instance and not in the original relation. +""" + +from __future__ import annotations + +from itertools import combinations, product +import random +from typing import Dict, FrozenSet, Iterable, List, Sequence, Set, Tuple + +from normal_forms.domain.relational import ( + FunctionalDependency, + RelationalSchema, + check_bcnf, + chase_join_dependency, + compute_attribute_closure, +) +from normal_forms.domain.relational_advanced import ( + decompose_bcnf_tree, + project_functional_dependencies, + synthesize_3nf_bernstein, +) + + +def _brute_force_closure( + attrs: Sequence[str], + seed_subset: Iterable[str], + fds: Sequence[FunctionalDependency], +) -> FrozenSet[str]: + """Computes X^+ by checking all 2^|U| Boolean valuations satisfying F.""" + attr_list = sorted(attrs) + seed_set = set(seed_subset) + in_closure = set(attr_list) + + for bits in product((0, 1), repeat=len(attr_list)): + valuation = dict(zip(attr_list, bits)) + if not all(valuation[a] == 1 for a in seed_set): + continue + satisfies_fds = True + for fd in fds: + if all(valuation[a] == 1 for a in fd.determinant): + if not all(valuation[b] == 1 for b in fd.dependent): + satisfies_fds = False + break + if not satisfies_fds: + continue + for a in list(in_closure): + if valuation[a] == 0: + in_closure.remove(a) + + return frozenset(in_closure) + + +def _brute_force_candidate_keys( + attrs: Sequence[str], + fds: Sequence[FunctionalDependency], +) -> Set[FrozenSet[str]]: + """Enumerates all minimal superkeys by checking all non-empty subsets of U.""" + attr_list = sorted(attrs) + all_set = frozenset(attr_list) + superkeys: List[FrozenSet[str]] = [] + + for r in range(1, len(attr_list) + 1): + for comb in combinations(attr_list, r): + sub = frozenset(comb) + if _brute_force_closure(attr_list, sub, fds) == all_set: + superkeys.append(sub) + + minimal: Set[FrozenSet[str]] = set() + for sk in superkeys: + if not any(other < sk for other in superkeys): + minimal.add(sk) + return minimal + + +def _project_relation( + rows: Sequence[Dict[str, str]], + comp: Iterable[str], +) -> List[Dict[str, str]]: + cols = sorted(comp) + seen: Set[Tuple[str, ...]] = set() + out: List[Dict[str, str]] = [] + for row in rows: + key = tuple(row[c] for c in cols) + if key not in seen: + seen.add(key) + out.append({c: row[c] for c in cols}) + return out + + +def _natural_join( + left: Sequence[Dict[str, str]], + right: Sequence[Dict[str, str]], +) -> List[Dict[str, str]]: + if not left: + return [] + if not right: + return [] + left_cols = set(left[0].keys()) + right_cols = set(right[0].keys()) + shared = sorted(left_cols & right_cols) + all_cols = sorted(left_cols | right_cols) + + seen: Set[Tuple[str, ...]] = set() + joined: List[Dict[str, str]] = [] + for r1 in left: + for r2 in right: + if all(r1[c] == r2[c] for c in shared): + merged = {**r1, **r2} + tup = tuple(merged[c] for c in all_cols) + if tup not in seen: + seen.add(tup) + joined.append({c: merged[c] for c in all_cols}) + return joined + + +def _join_all_projections( + rows: Sequence[Dict[str, str]], + components: Sequence[Iterable[str]], +) -> List[Dict[str, str]]: + projections = [_project_relation(rows, comp) for comp in components] + if not projections: + return [] + acc = projections[0] + for proj in projections[1:]: + acc = _natural_join(acc, proj) + return acc + + +def _relation_satisfies_fds( + rows: Sequence[Dict[str, str]], + fds: Iterable[FunctionalDependency], +) -> bool: + for fd in fds: + det_cols = sorted(fd.determinant) + dep_cols = sorted(fd.dependent) + for i in range(len(rows)): + for j in range(i + 1, len(rows)): + if all(rows[i][c] == rows[j][c] for c in det_cols): + if not all(rows[i][c] == rows[j][c] for c in dep_cols): + return False + return True + + +def _random_schema(rng: random.Random) -> RelationalSchema: + n_attrs = rng.randint(2, 6) + attrs = [chr(ord("A") + i) for i in range(n_attrs)] + n_fds = rng.randint(1, 6) + fds: Set[FunctionalDependency] = set() + for _ in range(n_fds): + det_size = rng.randint(1, max(1, n_attrs - 1)) + det = frozenset(rng.sample(attrs, det_size)) + remaining = [a for a in attrs if a not in det] + if not remaining: + dep = frozenset(rng.sample(attrs, 1)) + else: + dep_size = rng.randint(1, min(2, len(remaining))) + dep = frozenset(rng.sample(remaining, dep_size)) + fds.add(FunctionalDependency(det, dep)) + return RelationalSchema(attributes=frozenset(attrs), dependencies=frozenset(fds)) + + +def test_closure_and_candidate_keys_match_brute_force() -> None: + rng = random.Random(20261105) + for iteration in range(150): + schema = _random_schema(rng) + attrs = sorted(schema.attributes) + fds = list(schema.dependencies) + + for r in range(len(attrs) + 1): + for comb in combinations(attrs, r): + got = compute_attribute_closure(comb, fds) + expected = _brute_force_closure(attrs, comb, fds) + assert got == expected, ( + f"Closure mismatch at seed=20261105 iter={iteration} " + f"subset={comb} fds={fds}: got={got}, expected={expected}" + ) + + got_keys = set(schema.candidate_keys()) + expected_keys = _brute_force_candidate_keys(attrs, fds) + assert got_keys == expected_keys, ( + f"Candidate keys mismatch at seed=20261105 iter={iteration} " + f"fds={fds}: got={got_keys}, expected={expected_keys}" + ) + + +def test_3nf_synthesis_is_dependency_preserving_and_lossless() -> None: + rng = random.Random(20261106) + for iteration in range(150): + schema = _random_schema(rng) + decomp = synthesize_3nf_bernstein(schema) + assert len(decomp) >= 1 + assert frozenset().union(*decomp) == schema.attributes + + # Dependency preservation: every input FD is implied by the union of FDs projected onto the 3NF tables + projected_union: List[FunctionalDependency] = [] + for comp in decomp: + projected_union.extend(project_functional_dependencies(schema.dependencies, comp)) + + for fd in schema.dependencies: + closure = compute_attribute_closure(fd.determinant, projected_union) + assert fd.dependent.issubset(closure), ( + f"3NF synthesis lost FD {fd} at seed=20261106 iter={iteration}: " + f"decomp={decomp}, projected_union={projected_union}" + ) + + # Lossless join: when decomposed into >=2 tables, chase reaches a distinguished row + if len(decomp) >= 2: + chase = chase_join_dependency( + heading=sorted(schema.attributes), + dependencies=schema.dependencies, + components=decomp, + ) + assert chase.is_implied is True, ( + f"3NF synthesis is not lossless at seed=20261106 iter={iteration}: " + f"schema={schema}, decomp={decomp}, chase={chase}" + ) + assert chase.distinguished_row_index is not None + dist_row = chase.final_tableau[chase.distinguished_row_index] + assert all(dist_row[a] == f"a_{a}" for a in schema.attributes) + + +def test_bcnf_decomposition_is_lossless_and_in_bcnf() -> None: + rng = random.Random(20261107) + for iteration in range(150): + schema = _random_schema(rng) + leaves = decompose_bcnf_tree(schema) + assert len(leaves) >= 1 + assert frozenset().union(*(s.attributes for s in leaves)) == schema.attributes + + for leaf in leaves: + ok_bcnf, reason = check_bcnf(leaf) + assert ok_bcnf is True, ( + f"BCNF leaf failed check_bcnf at seed=20261107 iter={iteration}: " + f"leaf={leaf}, reason={reason}" + ) + + if len(leaves) >= 2: + chase = chase_join_dependency( + heading=sorted(schema.attributes), + dependencies=schema.dependencies, + components=[s.attributes for s in leaves], + ) + assert chase.is_implied is True, ( + f"BCNF decomposition is lossy at seed=20261107 iter={iteration}: " + f"schema={schema}, leaves={leaves}, chase={chase}" + ) + assert chase.distinguished_row_index is not None + + +def test_chase_verdict_agrees_with_natural_join_and_spurious_tuple_witness() -> None: + rng = random.Random(20261108) + lossy_count = 0 + lossless_count = 0 + + for iteration in range(150): + schema = _random_schema(rng) + attrs = sorted(schema.attributes) + if len(attrs) < 3: + continue + + # Build a random 2-way or 3-way decomposition covering all attributes + k = rng.randint(1, len(attrs) - 1) + part1 = set(attrs[:k]) + part2 = set(attrs[k:]) + overlap = rng.sample(attrs, rng.randint(1, len(attrs) - 1)) + comp1 = frozenset(part1 | set(overlap[:1])) + comp2 = frozenset(part2 | set(overlap)) + if comp1 == schema.attributes or comp2 == schema.attributes: + continue + components = [comp1, comp2] + + chase = chase_join_dependency( + heading=attrs, + dependencies=schema.dependencies, + components=components, + ) + assert chase.is_implied in (True, False) + + # The final chase tableau is a relation over attrs + final_rows = [{c: row[c] for c in attrs} for row in chase.final_tableau] + joined_rows = _join_all_projections(final_rows, components) + + if chase.is_implied is False: + lossy_count += 1 + assert _relation_satisfies_fds(final_rows, schema.dependencies), ( + f"Lossy counterexample tableau violates FDs at iter={iteration}: {final_rows}" + ) + witness = chase.spurious_tuple_witness + assert witness is not None, "Lossy chase must return a spurious_tuple_witness" + witness_clean = {c: witness[c] for c in attrs} + assert witness_clean not in final_rows, ( + f"Spurious witness {witness_clean} was already in the original relation {final_rows}" + ) + assert witness_clean in joined_rows, ( + f"Spurious witness {witness_clean} did not appear in the join of projections {joined_rows}" + ) + else: + lossless_count += 1 + assert chase.spurious_tuple_witness is None + dist_witness = {c: f"a_{c}" for c in attrs} + assert dist_witness in final_rows + # Run chase to full fixpoint (early_exit=False) to get an FD-valid instance I + full_chase = chase_join_dependency( + heading=attrs, + dependencies=schema.dependencies, + components=components, + early_exit=False, + ) + valid_instance = _project_relation( + [{c: row[c] for c in attrs} for row in full_chase.final_tableau], + attrs, + ) + assert _relation_satisfies_fds(valid_instance, schema.dependencies) + rejoined = _join_all_projections(valid_instance, components) + assert len(rejoined) == len(valid_instance) and all( + r in valid_instance for r in rejoined + ), f"Lossless decomposition produced spurious tuples on {valid_instance}: {rejoined}" + + assert lossy_count >= 10, f"Expected at least 10 lossy cases, got {lossy_count}" + assert lossless_count >= 10, f"Expected at least 10 lossless cases, got {lossless_count}" + diff --git a/web/static/anomalon-favicon.svg b/web/static/anomalon-favicon.svg new file mode 100644 index 0000000..a77a165 --- /dev/null +++ b/web/static/anomalon-favicon.svg @@ -0,0 +1 @@ +AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTo1Y2EzZGRiNi00NWEyLTQzNGUtODA2Mi1kZWI2ZGNjYjUyYjgAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaBwmin8nlQDUNzzJSzcnvQ0AAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDoxMzA3NjgzNi0wNTI1LTQ0YTUtYjA3My04MjFmMzljNjZiNzVscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoZ2sAi9GLJ+UAKA4pcWto/QAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggw/VjBzF+LywxgO0ZbfNVspKXCGmHn2GLEqDp5VyrFG6kZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaM4aO3LQxAmiwCOqOk5WHKUAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCAaHApdZoVSPVqaVglFOmXsr0/lQX/PI3uhjDiFPL9x9mRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBh7Zmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjVjYTNkZGI2LTQ1YTItNDM0ZS04MDYyLWRlYjZkY2NiNTJiOC9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjVmOGFmNzYzLWIzNDQtNDQ1ZS1hZWYxLWI2OWMwZDE2NmNkM3JjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCDD9WMHMX4vLDGA7Rlt81WykpcIaYefYYsSoOnlXKsUbqJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg0AfzP3TOPLKIM+qKwd3RLLx2MFf0jLT40FTFtNIdlfaiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggBmXSvRAGhbkXBjdwTz7W6GjMFwVfABgoEPzN/LWxgSN0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQPcqT5cRJi2YzGLB4EFt9oH5LMKjMi2D9e+ILolTZYo5EuSmYfni1TjXDTh31aYfQxTApz8A9DjdKcoOHxxKTCE= diff --git a/web/static/anomalon.css b/web/static/anomalon.css new file mode 100644 index 0000000..f4e2bf5 --- /dev/null +++ b/web/static/anomalon.css @@ -0,0 +1,178 @@ +/* + * Anomalon design system v1 — palette A, "paper and teal". + * One stylesheet for www.anomalon.com and every *.anomalon.com tool. + * Load: + * Classes are prefixed an- so they never collide with a tool's own CSS. + */ +@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap"); + +/* ---------- tokens ---------- */ +:root { + --an-bg: #fbfbf9; + --an-surface: #ffffff; + --an-ink: #15202c; + --an-ink-2: #4b5664; + --an-ink-3: #6f7884; + --an-line: #e2e4e1; + --an-line-strong: #c9cdc8; + --an-accent: #12706c; + --an-accent-hover: #0d5b58; + --an-accent-ink: #ffffff; + --an-accent-soft: #e2f0ee; + --an-ok: #1f7a4a; --an-ok-soft: #e1f1e7; + --an-warn: #8a5a00; --an-warn-soft: #f7ecd2; + --an-bad: #b3261e; --an-bad-soft: #f8e1de; + --an-mute-soft: #eceeed; + --an-focus: 0 0 0 3px rgba(18, 112, 108, .35); + + --an-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif; + --an-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace; + + /* type scale (px): 12.5 / 14 / 16 / 20 / 30 */ + --an-fs-xs: .78125rem; --an-fs-sm: .875rem; --an-fs-md: 1rem; --an-fs-lg: 1.25rem; --an-fs-xl: 1.875rem; + /* spacing (px): 4 8 12 16 24 32 48 */ + --an-s1: 4px; --an-s2: 8px; --an-s3: 12px; --an-s4: 16px; --an-s5: 24px; --an-s6: 32px; --an-s7: 48px; + --an-radius: 6px; + --an-header-h: 56px; + --an-w-prose: 620px; --an-w-home: 880px; --an-w-tool: 1200px; +} +@media (prefers-color-scheme: dark) { + :root:not([data-theme="light"]) { + --an-bg: #11161c; --an-surface: #171e26; --an-ink: #e6eaee; --an-ink-2: #aab3bd; --an-ink-3: #8a939d; + --an-line: #2a333d; --an-line-strong: #3a4552; --an-accent: #4fb7b0; --an-accent-hover: #6cc9c2; --an-accent-ink: #0c1a1a; + --an-accent-soft: #16302f; --an-ok: #6fcf97; --an-ok-soft: #173326; --an-warn: #e0b55a; --an-warn-soft: #3a2e14; + --an-bad: #f2867d; --an-bad-soft: #3d1d1a; --an-mute-soft: #222a33; color-scheme: dark; + } +} +:root[data-theme="dark"] { + --an-bg: #11161c; --an-surface: #171e26; --an-ink: #e6eaee; --an-ink-2: #aab3bd; --an-ink-3: #8a939d; + --an-line: #2a333d; --an-line-strong: #3a4552; --an-accent: #4fb7b0; --an-accent-hover: #6cc9c2; --an-accent-ink: #0c1a1a; + --an-accent-soft: #16302f; --an-ok: #6fcf97; --an-ok-soft: #173326; --an-warn: #e0b55a; --an-warn-soft: #3a2e14; + --an-bad: #f2867d; --an-bad-soft: #3d1d1a; --an-mute-soft: #222a33; color-scheme: dark; +} + +/* ---------- base (opt-in with class="an" on ) ---------- */ +body.an { margin: 0; background: var(--an-bg); color: var(--an-ink); font: 400 var(--an-fs-sm)/1.6 var(--an-sans); -webkit-font-smoothing: antialiased; } +.an *, .an *::before, .an *::after { box-sizing: border-box; } +.an h1, .an h2, .an h3 { margin: 0; line-height: 1.2; text-wrap: balance; font-weight: 600; } +.an h1 { font-size: var(--an-fs-xl); letter-spacing: -.025em; } +.an h2 { font-size: var(--an-fs-lg); letter-spacing: -.01em; } +.an h3 { font-size: var(--an-fs-md); } +.an p { margin: 0; } +.an a { color: var(--an-accent); text-underline-offset: 2px; } +.an a:hover { color: var(--an-accent-hover); } +.an code, .an kbd, .an pre, .an-mono { font-family: var(--an-mono); font-size: .92em; } +.an :focus-visible { outline: none; box-shadow: var(--an-focus); border-radius: 3px; } +.an-tnum { font-variant-numeric: tabular-nums; } +.an-label { font: 500 var(--an-fs-xs)/1.3 var(--an-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--an-ink-3); } +.an-muted { color: var(--an-ink-2); } +.an-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } + +/* ---------- header ---------- */ +.an-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--an-surface); border-bottom: 1px solid var(--an-line); } +.an-header__in { max-width: var(--an-w-tool); margin: 0 auto; height: var(--an-header-h); display: flex; align-items: center; gap: var(--an-s5); + padding-left: max(var(--an-s5), env(safe-area-inset-left, 0px)); padding-right: max(var(--an-s5), env(safe-area-inset-right, 0px)); } +.an-brand { display: flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px; letter-spacing: -.01em; color: var(--an-ink) !important; text-decoration: none; white-space: nowrap; } +.an-brand svg { width: 22px; height: 22px; flex: none; } +.an-brand__tool { color: var(--an-ink-3); font-weight: 400; } +.an-nav { margin-left: auto; display: flex; gap: var(--an-s5); font-size: 13.5px; } +.an-nav a { color: var(--an-ink-2); text-decoration: none; padding: 17px 0; } +.an-nav a:hover { color: var(--an-ink); } +.an-nav a[aria-current="page"] { color: var(--an-ink); font-weight: 500; box-shadow: inset 0 -2px 0 var(--an-accent); } +.an-header .an-nav__toggle { display: none; margin-left: auto; } +@media (max-width: 760px) { + .an-header__in { padding-left: max(var(--an-s4), env(safe-area-inset-left, 0px)); padding-right: max(var(--an-s4), env(safe-area-inset-right, 0px)); } + .an-header .an-nav__toggle { display: inline-flex; } + .an-nav { display: none; position: absolute; left: 0; right: 0; top: var(--an-header-h); flex-direction: column; gap: 0; background: var(--an-surface); border-bottom: 1px solid var(--an-line); + padding: var(--an-s2) max(var(--an-s4), env(safe-area-inset-right, 0px)) var(--an-s3) max(var(--an-s4), env(safe-area-inset-left, 0px)); } + .an-nav[data-open="true"] { display: flex; } + .an-nav a { padding: 10px 0; } + .an-nav a[aria-current="page"] { box-shadow: inset 2px 0 0 var(--an-accent); padding-left: 10px; } +} + +/* ---------- footer ---------- */ +.an-footer { border-top: 1px solid var(--an-line); margin-top: var(--an-s7); } +.an-footer__in { max-width: var(--an-w-tool); margin: 0 auto; display: flex; flex-wrap: wrap; gap: var(--an-s2) var(--an-s5); font-size: 12.5px; color: var(--an-ink-3); + padding-block: var(--an-s5); padding-left: max(var(--an-s5), env(safe-area-inset-left, 0px)); padding-right: max(var(--an-s5), env(safe-area-inset-right, 0px)); } +.an-footer__in > :first-child { margin-right: auto; } +.an-footer a { color: var(--an-ink-2); text-decoration: none; } +.an-footer a:hover { color: var(--an-ink); text-decoration: underline; } + +/* ---------- page containers ---------- */ +.an-page { margin: 0 auto; padding-block: var(--an-s7) var(--an-s6); padding-left: max(var(--an-s5), env(safe-area-inset-left, 0px)); padding-right: max(var(--an-s5), env(safe-area-inset-right, 0px)); } +.an-page--prose { max-width: calc(var(--an-w-prose) + 2 * var(--an-s5)); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--an-s4); } +.an-page--home { max-width: calc(var(--an-w-home) + 2 * var(--an-s5)); } +.an-page--tool { max-width: var(--an-w-tool); padding-block: 0 var(--an-s6); } +.an-page--prose p { color: var(--an-ink-2); font-size: 15px; max-width: 65ch; } +.an-lede { color: var(--an-ink-2); font-size: var(--an-fs-md); max-width: 56ch; margin-top: var(--an-s3) !important; } +@media (max-width: 760px) { .an-page { padding-block: var(--an-s6) var(--an-s5); padding-left: max(var(--an-s4), env(safe-area-inset-left, 0px)); padding-right: max(var(--an-s4), env(safe-area-inset-right, 0px)); } .an h1 { font-size: 1.55rem; } } + +/* ---------- tool directory (hub) ---------- */ +.an-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--an-line); border: 1px solid var(--an-line); border-radius: var(--an-radius); overflow: hidden; margin-top: var(--an-s6); } +.an-tool { background: var(--an-surface); padding: 18px 20px; display: grid; gap: 6px; align-content: start; text-decoration: none; color: var(--an-ink) !important; min-width: 0; } +.an-tool:hover { background: var(--an-bg); } +.an-tool__name { font-size: 15px; font-weight: 600; display: flex; justify-content: space-between; gap: var(--an-s2); } +.an-tool__name::after { content: "→"; color: var(--an-accent); font-weight: 500; transition: transform .15s; } +.an-tool:hover .an-tool__name::after { transform: translateX(3px); } +.an-tool__desc { color: var(--an-ink-2); font-size: 13.5px; } +.an-tool__host { font: 400 12px var(--an-mono); color: var(--an-ink-3); overflow-wrap: anywhere; } +@media (max-width: 640px) { .an-tools { grid-template-columns: 1fr; } } + +/* ---------- buttons ---------- */ +.an-btn { font: 500 13.5px/1 var(--an-sans); border-radius: var(--an-radius); padding: 0 16px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; + border: 1px solid var(--an-line-strong); background: var(--an-surface); color: var(--an-ink); cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s; } +.an-btn:hover { background: var(--an-bg); border-color: var(--an-ink-3); color: var(--an-ink); } +.an-btn--primary { background: var(--an-accent); border-color: var(--an-accent); color: var(--an-accent-ink); } +.an-btn--primary:hover { background: var(--an-accent-hover); border-color: var(--an-accent-hover); color: var(--an-accent-ink); } +.an-btn--ghost { border-color: transparent; background: transparent; } +.an-btn:disabled { opacity: .5; cursor: not-allowed; } +@media (pointer: coarse) { .an-btn { min-height: 44px; } } + +/* ---------- status chips: ok / warn / bad / mute ---------- */ +.an-chip { display: inline-flex; align-items: center; gap: 6px; font: 500 11.5px/1.4 var(--an-mono); letter-spacing: .04em; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; white-space: nowrap; } +.an-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; } +.an-chip--ok { background: var(--an-ok-soft); color: var(--an-ok); } +.an-chip--warn { background: var(--an-warn-soft); color: var(--an-warn); } +.an-chip--bad { background: var(--an-bad-soft); color: var(--an-bad); } +.an-chip--mute { background: var(--an-mute-soft); color: var(--an-ink-2); } + +/* ---------- forms ---------- */ +.an-field { display: grid; gap: 5px; font-size: 12.5px; font-weight: 500; color: var(--an-ink-2); } +.an-input, .an-textarea, .an-select { font: 400 13px/1.5 var(--an-mono); color: var(--an-ink); background: var(--an-surface); border: 1px solid var(--an-line-strong); border-radius: var(--an-radius); padding: 8px 10px; width: 100%; } +.an-input:focus, .an-textarea:focus, .an-select:focus { outline: none; border-color: var(--an-accent); box-shadow: var(--an-focus); } +.an-textarea { resize: vertical; min-height: 6em; } + +/* ---------- tool template ---------- */ +.an-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--an-s3); padding: 14px 0; border-bottom: 1px solid var(--an-line); } +.an-toolbar h1 { font-size: var(--an-fs-lg); letter-spacing: -.01em; } +.an-toolbar__end { margin-left: auto; display: flex; gap: var(--an-s2); } +.an-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; } +.an-split__in { padding: var(--an-s5) var(--an-s5) var(--an-s5) 0; border-right: 1px solid var(--an-line); display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-content: start; } +.an-split__out { padding: var(--an-s5) 0 var(--an-s5) var(--an-s5); display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-content: start; min-width: 0; } +.an-actions { display: flex; flex-wrap: wrap; gap: var(--an-s2); justify-content: flex-end; padding-top: var(--an-s3); border-top: 1px solid var(--an-line); } +@media (max-width: 860px) { .an-split { grid-template-columns: minmax(0, 1fr); } .an-split__in { padding-right: 0; border-right: 0; border-bottom: 1px solid var(--an-line); } .an-split__out { padding-left: 0; } } + +.an-summary { display: flex; flex-wrap: wrap; gap: var(--an-s3); align-items: center; padding: 12px 14px; background: var(--an-surface); border: 1px solid var(--an-line); border-radius: var(--an-radius); } +.an-summary b { font-size: 14px; } +.an-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; background: var(--an-line); border: 1px solid var(--an-line); border-radius: var(--an-radius); overflow: hidden; } +.an-kv > div { background: var(--an-surface); padding: 10px 12px; min-width: 0; } +.an-kv small { display: block; font-size: 11px; color: var(--an-ink-3); text-transform: uppercase; letter-spacing: .06em; } +.an-kv strong { font: 500 15px var(--an-mono); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; } +.an-callout { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 12px 14px; border: 1px solid var(--an-line); border-left: 3px solid var(--an-accent); background: var(--an-accent-soft); border-radius: var(--an-radius); font-size: 13.5px; } + +/* ---------- tables & code ---------- */ +.an-scroll { overflow-x: auto; } +.an-table { width: 100%; border-collapse: collapse; font-size: 13px; } +.an-table th, .an-table td { padding: 8px 10px; border-bottom: 1px solid var(--an-line); text-align: left; vertical-align: top; } +.an-table th { color: var(--an-ink-3); font-weight: 500; font-size: 12px; } +.an-table td.n, .an-table th.n { font-family: var(--an-mono); font-variant-numeric: tabular-nums; text-align: right; } +.an-code { position: relative; background: var(--an-surface); border: 1px solid var(--an-line); border-radius: var(--an-radius); } +.an-code pre { margin: 0; padding: 12px 14px; overflow-x: auto; font: 400 12.5px/1.55 var(--an-mono); color: var(--an-ink); } +.an-code [data-an-copy] { position: absolute; top: 6px; right: 6px; min-height: 28px; padding: 0 10px; font-size: 12px; } + +/* ---------- definition list (contact, metadata) ---------- */ +.an-dl { display: grid; grid-template-columns: max-content 1fr; gap: 10px 20px; margin: var(--an-s2) 0 0; font-size: 14.5px; } +.an-dl dt { color: var(--an-ink-3); } +.an-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; } + +@media (prefers-reduced-motion: reduce) { .an *, .an *::before, .an *::after { transition: none !important; animation: none !important; } } diff --git a/web/static/anomalon.js b/web/static/anomalon.js new file mode 100644 index 0000000..e035f32 --- /dev/null +++ b/web/static/anomalon.js @@ -0,0 +1,108 @@ +/* + * Anomalon design system v1 — behaviour. + * Load: + * + * -

+ * renders the shared header. data-tool and data-nav are optional; + * "All tools" is always appended unless data-no-all is present. + * -
+ * renders the shared footer. + * - copies the target's text. + * No dependencies. Safe to load twice. + */ +(function () { + "use strict"; + if (window.Anomalon) return; + var HOME = "https://www.anomalon.com"; + var MARK = + ''; + + function esc(s) { return String(s).replace(/[&<>"']/g, function (c) { return { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[c]; }); } + + function parseNav(spec) { + if (!spec) return []; + return spec.split(",").map(function (pair) { + var i = pair.indexOf("="); + return i < 0 ? null : { label: pair.slice(0, i).trim(), href: pair.slice(i + 1).trim() }; + }).filter(Boolean); + } + + function isCurrent(href) { + try { + var u = new URL(href, location.href); + if (u.origin !== location.origin) return false; + var a = u.pathname.replace(/\/index\.html$/, "/").replace(/\.html$/, ""); + var b = location.pathname.replace(/\/index\.html$/, "/").replace(/\.html$/, ""); + return a === b && (!u.hash || u.hash === location.hash); + } catch (e) { return false; } + } + + function header(el) { + var tool = el.getAttribute("data-tool"); + var home = el.getAttribute("data-home") || HOME + "/"; + var items = parseNav(el.getAttribute("data-nav")); + if (!el.hasAttribute("data-no-all")) items.push({ label: tool ? "All tools" : "Tools", href: HOME + "/" }); + var nav = items.map(function (it) { + return '
" + esc(it.label) + ""; + }).join(""); + var id = "an-nav-" + Math.random().toString(36).slice(2, 8); + el.outerHTML = + '
' + + '' + MARK + "Anomalon" + (tool ? ' / ' + esc(tool) + "" : "") + "" + + (nav ? '' + + '" : "") + + "
"; + } + + function footer(el) { + var tool = el.getAttribute("data-tool"); + var src = el.getAttribute("data-source"); + var year = new Date().getFullYear(); + el.outerHTML = + '
"; + } + + function copyText(text, btn) { + var done = function () { var t = btn.textContent; btn.textContent = "Copied"; setTimeout(function () { btn.textContent = t; }, 1400); }; + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(text).then(done, function () { fallback(text); done(); }); + } else { fallback(text); done(); } + } + function fallback(text) { + var ta = document.createElement("textarea"); ta.value = text; ta.setAttribute("readonly", ""); + ta.style.position = "fixed"; ta.style.opacity = "0"; document.body.appendChild(ta); ta.select(); + try { document.execCommand("copy"); } catch (e) {} document.body.removeChild(ta); + } + + function init(root) { + root = root || document; + root.querySelectorAll("[data-an-header]").forEach(header); + root.querySelectorAll("[data-an-footer]").forEach(footer); + } + + document.addEventListener("click", function (ev) { + var t = ev.target.closest && ev.target.closest(".an-nav__toggle"); + if (t) { + var nav = document.getElementById(t.getAttribute("aria-controls")); + var open = t.getAttribute("aria-expanded") !== "true"; + t.setAttribute("aria-expanded", String(open)); if (nav) nav.setAttribute("data-open", String(open)); + return; + } + var c = ev.target.closest && ev.target.closest("[data-an-copy]"); + if (c) { + var sel = c.getAttribute("data-an-copy"); + var src = sel ? document.querySelector(sel) : c.parentElement.querySelector("pre, code"); + if (src) copyText(src.innerText, c); + } + }); + + window.Anomalon = { init: init, version: "1.0.0" }; + if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", function () { init(); }); + else init(); +})(); diff --git a/web/static/style.css b/web/static/style.css index 1186b24..73f61b9 100644 --- a/web/static/style.css +++ b/web/static/style.css @@ -1,61 +1,25 @@ -/* Custom styles for Simplex Normal Forms Studio */ +/* Simplex Normal Forms Studio: local additions on top of /static/anomalon.css (Anomalon design system v1). */ -.active-tab { - background-color: #1e293b; - color: #22d3ee; - border-bottom: 2px solid #06b6d4; -} +/* Section tabs: underline style, matching the shared header. */ +.tab-btn { border-radius: 0 !important; color: var(--an-ink-2); box-shadow: inset 0 -2px 0 transparent; } +.tab-btn:hover { color: var(--an-ink); } +.active-tab { color: var(--an-ink) !important; background: transparent; box-shadow: inset 0 -2px 0 var(--an-accent); } -.no-scrollbar::-webkit-scrollbar { - display: none; -} -.no-scrollbar { - -ms-overflow-style: none; - scrollbar-width: none; -} +.no-scrollbar::-webkit-scrollbar { display: none; } +.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } -/* Custom scrollbars for code blocks and tables */ -pre::-webkit-scrollbar, div::-webkit-scrollbar { - width: 6px; - height: 6px; -} -pre::-webkit-scrollbar-track, div::-webkit-scrollbar-track { - background: #020617; -} -pre::-webkit-scrollbar-thumb, div::-webkit-scrollbar-thumb { - background: #334155; - border-radius: 3px; -} -pre::-webkit-scrollbar-thumb:hover, div::-webkit-scrollbar-thumb:hover { - background: #475569; -} +/* Quiet scrollbars for code blocks and tables. */ +pre::-webkit-scrollbar, div::-webkit-scrollbar { width: 6px; height: 6px; } +pre::-webkit-scrollbar-track, div::-webkit-scrollbar-track { background: var(--an-bg); } +pre::-webkit-scrollbar-thumb, div::-webkit-scrollbar-thumb { background: var(--an-line-strong); border-radius: 3px; } -/* Long result values must remain readable within their cards. */ -.ledger-value { - min-width: 0; - overflow-wrap: anywhere; -} +/* Status badges, aliased to the shared chip colors. */ +.badge-pass { background: var(--an-ok-soft); color: var(--an-ok); border: 1px solid transparent; } +.badge-fail { background: var(--an-bad-soft); color: var(--an-bad); border: 1px solid transparent; } +.badge-warn { background: var(--an-warn-soft); color: var(--an-warn); border: 1px solid transparent; } -.compiler-fixture-json { - white-space: pre-wrap; - overflow-wrap: anywhere; -} +/* The shared stylesheet's sticky header sits above the tab row. */ +.an-header { z-index: 50; } -/* Badge styles */ -.badge-pass { - background-color: rgba(16, 185, 129, 0.15); - color: #34d399; - border: 1px solid rgba(16, 185, 129, 0.4); -} - -.badge-fail { - background-color: rgba(244, 63, 94, 0.15); - color: #fb7185; - border: 1px solid rgba(244, 63, 94, 0.4); -} - -.badge-warn { - background-color: rgba(245, 158, 11, 0.15); - color: #fbbf24; - border: 1px solid rgba(245, 158, 11, 0.4); -} +/* Keep the preset picker inside the viewport on phones. */ +select { max-width: 100%; } diff --git a/web/templates/index.html b/web/templates/index.html index 9484b1e..5daa9f7 100644 --- a/web/templates/index.html +++ b/web/templates/index.html @@ -1,69 +1,57 @@ - + Simplex Normal Forms Studio | smplxnf.anomalon.com - + + + + - - - -
-
-
-
- Δ -
-
-
- Simplex-NF Studio - v0.1.0 -
- -
-
-
- - - smplxnf.anomalon.com - - - Clone & Import - -
+ + + +
+
-
+
-
+
- @@ -153,7 +141,7 @@

Leave blank to chase Bernstein's 3NF synthesis, or enter subschemas to test for lossiness.

- @@ -256,7 +244,7 @@

Simulate high-throughput Change Data Capture (CDC) events across query boundaries. Observe how Boundary-Quotient Normal Form commutes incremental signed coboundary updates, services destructive extremum deletions via $O(\log K)$ priority-queue cochains, and bisects dynamic dyadic quantile sketches under power-law skew without full table recomputations.

- @@ -379,7 +367,7 @@

Inspect the 4-layer compiler intermediate representation. Transform declarative normal form contracts into micro-kernel witness triples $K = (X, F, L)$, optimize via monotone poset subsumption lattices with dead-check elimination (DCE), and lower to executable SQLite triggers, Python guards, and automated counterexample test fixtures.

- @@ -493,7 +481,7 @@

Auditable RAG context compression and token truncation. Enforces exact token conservation (source_tokens == retained_tokens + truncated_tokens), emits SHA-256 Merkle-sealed LossLedgers documenting erased attributes, and enforces the epistemic firewall (certified_implies_authorized: false).

- @@ -550,17 +538,17 @@

-
+
Root Merkle Digest: - — + —
-
+
Erased Metadata Fields: - — + —
-
+
Token Conservation Law: - — + —
@@ -690,22 +678,18 @@

4. Ver - - "; } @@ -102,7 +95,7 @@ } }); - window.Anomalon = { init: init, version: "1.0.0" }; + window.Anomalon = { init: init, version: "1.3.0" }; if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", function () { init(); }); else init(); })(); diff --git a/web/static/app.js b/web/static/app.js index 47532b0..4a97868 100644 --- a/web/static/app.js +++ b/web/static/app.js @@ -213,10 +213,10 @@ function renderRelationalResults(data) { witnessBox.innerHTML = `
- Concrete Spurious Tuple Counterexample Witness Produced: + Spurious Tuple Counterexample Witness:
-
Projecting base relations produces spurious tuple: ${JSON.stringify(data.chase.spurious_tuple_witness)}
-
Natural join fails to reconstruct original relation without extraneous artifacts.
+
Projecting base relations produces spurious tuple: ${JSON.stringify(data.chase.spurious_tuple_witness)} — this row is in the join of the pieces but not in the original.
+
Natural join fails to reconstruct the original relation without extraneous rows.
`; } else { witnessBox.classList.add('hidden'); @@ -234,12 +234,15 @@ function renderRelationalResults(data) { data.chase.steps.forEach(s => { const tr = document.createElement('tr'); tr.className = 'hover:bg-slate-900/50 transition'; + const cellsText = (s.changed_cells && s.changed_cells.length > 0) + ? s.changed_cells.map(c => `R${c.row}.${c.column}: ${c.from} → ${c.to}`).join(', ') + : `${s.old_symbol} → ${s.new_symbol}`; tr.innerHTML = ` ${s.step_number} ${s.fd} Rows (${s.rows_matched[0] + 1}, ${s.rows_matched[1] + 1}) ${s.attribute_equated} - ${s.old_symbol} → ${s.new_symbol} + ${cellsText} `; tbody.appendChild(tr); }); @@ -247,7 +250,7 @@ function renderRelationalResults(data) { // Tableau Matrix View const matrixEl = document.getElementById('chase-tableau-matrix'); - if (data.chase.final_tableau && data.chase.final_tableau.length > 0) { + if (matrixEl && data.chase.final_tableau && data.chase.final_tableau.length > 0) { const heading = data.chase.heading; let html = ''; heading.forEach(a => { html += ``; }); @@ -268,7 +271,12 @@ function renderRelationalResults(data) { } // SQL DDL Output - document.getElementById('relational-sql-ddl').innerText = data.sql_ddl; + const ddlEl = document.getElementById('relational-sql-ddl'); + if (ddlEl) ddlEl.innerText = data.sql_ddl; + const pgDdlEl = document.getElementById('relational-sql-ddl-postgres'); + if (pgDdlEl && data.sql_ddl_postgres) pgDdlEl.innerText = data.sql_ddl_postgres; + const msDdlEl = document.getElementById('relational-sql-ddl-sqlserver'); + if (msDdlEl && data.sql_ddl_sqlserver) msDdlEl.innerText = data.sql_ddl_sqlserver; } @@ -524,18 +532,18 @@ document.addEventListener('DOMContentLoaded', async () => { if (res.ok) { PRESETS = await res.json(); // Populate defaults - if (PRESETS.relational) { + if (PRESETS.relational && document.getElementById('relational-attributes-input')) { loadRelationalPreset('ecommerce'); } - if (PRESETS.bqnf) { + if (PRESETS.bqnf && document.getElementById('bqnf-events-input')) { document.getElementById('bqnf-events-input').value = JSON.stringify(PRESETS.bqnf.financial_ledger.events, null, 2); executeBqnfSimulation(); } - if (PRESETS.compiler) { + if (PRESETS.compiler && document.getElementById('compiler-carrier-json')) { document.getElementById('compiler-carrier-json').value = JSON.stringify(PRESETS.compiler.employee_bcnf.test_carrier, null, 2); executeCompilerLowering(); } - if (PRESETS.ai) { + if (PRESETS.ai && document.getElementById('ai-chunks-input')) { document.getElementById('ai-chunks-input').value = JSON.stringify(PRESETS.ai.rag_research_context.source_chunks, null, 2); executeAiLossLedger(); } diff --git a/web/templates/front.html b/web/templates/front.html new file mode 100644 index 0000000..002a56e --- /dev/null +++ b/web/templates/front.html @@ -0,0 +1,218 @@ + + + + + + Simplex Normal Forms Studio | smplxnf.anomalon.com + + + + + + + + + +
+ +
+ +
+ +
+
+

+ Relational 3NF / BCNF Normalization, Tableau Chase & Incremental MAX Maintenance +

+

+ Synthesize lossless 3NF tables, inspect every chase step and spurious row on lossy splits, and compare PostgreSQL / SQL Server DDL. +

+
+
+ + + + Open /studio/ + +
+
+ + +
+ +
+
+
+

1. Schema & Functional Dependencies

+ +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+

2. Why Indexed Views Cannot Hold MAX

+ Sorted List per Group +
+

+ A SQL Server indexed view (WITH SCHEMABINDING) forbids MAX() and MIN() because deleting a group's current maximum cannot be repaired from the single stored scalar without rescanning the group. +

+
+
Query: SELECT region, SUM(amount), MAX(amount) FROM sales WHERE status = 'paid' GROUP BY region
+
Sorted list (North): [25, 60, 75, 120, 250] → DELETE 250 → next MAX = 120 (0 table scans)
+
+
+
+ + +
+
+
+
Candidate Keys
+
—
+
+
+
Key Columns
+
—
+
+
+
Chase Status
+
—
+
+
+ + +
+
+

Normal Form Checks

+
+
+
+

Synthesized 3NF Tables (Primary Keys)

+
+
+
+ + +
+
+

Tableau Chase Steps (FD Applied & Cells Changed)

+ +
+ +
+
Row${a}
+ + + + + + + + + + + + +
StepFD AppliedRows EquatedColumnCells Changed
Loading preset...
+

+
+ + +
+
+

Generated DDL: PostgreSQL & SQL Server (PK, UNIQUE, FK)

+ +
+
+
+
PostgreSQL
+
-- PostgreSQL DDL
+
+
+
SQL Server
+
-- SQL Server DDL
+
+
+ +
+
+ + + +
+ +
+ + + + + + + diff --git a/web/templates/index.html b/web/templates/index.html index 5daa9f7..a957b68 100644 --- a/web/templates/index.html +++ b/web/templates/index.html @@ -57,22 +57,25 @@ @@ -157,18 +160,18 @@

—
-
Prime Attributes
+
Key Columns (Prime)
—
-
Chase Join Status
+
Join Losslessness (Chase)
—
-

Normal Form Decision Invariants

+

Normal Form Checks

@@ -177,18 +180,18 @@

N

- Bernstein (1976) 3NF Synthesis (Lossless & Dependency-Preserving) + 3NF Decomposed Tables (Lossless & Dependency-Preserving)

-

Run synthesis to generate decomposed relational tables.

+

Click Normalize to generate decomposed relational tables.

-

Relational Tableau Chase Execution Trace

+

Tableau Chase Steps (FD Applied & Cells Changed)

@@ -199,8 +202,8 @@

Relati Step FD Applied Rows Equated - Attribute - Symbol Mutation + Column + Cells Changed @@ -217,12 +220,25 @@

Relati

-
+
-

Generated Relational DDL

- +

Generated Relational DDL (PostgreSQL & SQL Server)

+ +
+
+
+
PostgreSQL DDL (PK / UNIQUE / FK)
+
-- PostgreSQL DDL
+
+
+
SQL Server DDL (PK / UNIQUE / FK)
+
-- SQL Server DDL
+
-
-- SQL DDL will appear here after synthesis
+

+ Why a SQL Server indexed view cannot hold MAX: A SQL Server indexed view (WITH SCHEMABINDING) cannot include MAX() or MIN() because deleting the current maximum row cannot be repaired from the single stored scalar without rescanning the group; maintaining a sorted list of values per group avoids that rescan. +

+

@@ -230,18 +246,18 @@

Genera - +