topmark 1.0.1__tar.gz → 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- topmark-2.0.0/.bake.toml +47 -0
- topmark-2.0.0/.github/actions/setup-python-nox/action.yml +52 -0
- topmark-2.0.0/.github/workflows/action-pin-audit.yml +44 -0
- topmark-2.0.0/.github/workflows/ci.yml +591 -0
- topmark-2.0.0/.github/workflows/dependency-review.yml +59 -0
- topmark-2.0.0/.github/workflows/published-artifact-validation.yml +219 -0
- topmark-2.0.0/.github/workflows/pull-request-title.yml +42 -0
- topmark-2.0.0/.github/workflows/python-lifecycle-audit.yml +69 -0
- topmark-2.0.0/.github/workflows/release.yml +460 -0
- topmark-2.0.0/.gitignore +99 -0
- topmark-2.0.0/.pre-commit-config.yaml +160 -0
- topmark-2.0.0/.python-version +6 -0
- topmark-2.0.0/.readthedocs.yml +41 -0
- topmark-2.0.0/.vscode/extensions.json +23 -0
- topmark-2.0.0/.vscode/settings.json +99 -0
- topmark-2.0.0/.vscode/tasks.json +82 -0
- topmark-2.0.0/AGENTS.md +149 -0
- topmark-2.0.0/CHANGELOG.md +5043 -0
- topmark-2.0.0/CONTRIBUTING.md +597 -0
- topmark-2.0.0/INSTALL.md +390 -0
- topmark-2.0.0/Makefile +331 -0
- topmark-2.0.0/PKG-INFO +566 -0
- topmark-2.0.0/README.md +485 -0
- topmark-2.0.0/codecov.yml +63 -0
- topmark-2.0.0/docs/_snippets/ci/related-pages.md +35 -0
- topmark-2.0.0/docs/_snippets/config-strictness.md +33 -0
- topmark-2.0.0/docs/_snippets/file-type-identifiers.md +18 -0
- topmark-2.0.0/docs/_snippets/option-spelling.md +44 -0
- topmark-2.0.0/docs/_snippets/path-serialization-contract.md +58 -0
- topmark-2.0.0/docs/_snippets/report-scope.md +36 -0
- topmark-2.0.0/docs/_snippets/runtime-configuration-model.md +57 -0
- topmark-2.0.0/docs/_snippets/runtime-validation-model.md +39 -0
- topmark-2.0.0/docs/api/index.md +44 -0
- topmark-2.0.0/docs/api/internals.md +77 -0
- topmark-2.0.0/docs/api/public.md +456 -0
- topmark-2.0.0/docs/assets/version-warning.js +55 -0
- topmark-2.0.0/docs/ci/action-pin-audit.md +259 -0
- topmark-2.0.0/docs/ci/ci-workflow.md +412 -0
- topmark-2.0.0/docs/ci/codecov.md +246 -0
- topmark-2.0.0/docs/ci/dependabot.md +216 -0
- topmark-2.0.0/docs/ci/dependency-review.md +193 -0
- topmark-2.0.0/docs/ci/index.md +130 -0
- topmark-2.0.0/docs/ci/published-artifact-validation.md +349 -0
- topmark-2.0.0/docs/ci/pull-request-title.md +88 -0
- topmark-2.0.0/docs/ci/python-lifecycle-audit.md +139 -0
- topmark-2.0.0/docs/ci/release-workflow.md +288 -0
- topmark-2.0.0/docs/ci/setup-python-nox-action.md +190 -0
- topmark-2.0.0/docs/ci/test-validation.md +403 -0
- topmark-2.0.0/docs/configuration/discovery.md +570 -0
- topmark-2.0.0/docs/configuration/index.md +161 -0
- topmark-2.0.0/docs/contributing.md +93 -0
- topmark-2.0.0/docs/dev/api-stability.md +397 -0
- topmark-2.0.0/docs/dev/architecture.md +681 -0
- topmark-2.0.0/docs/dev/configuration-schema.md +524 -0
- topmark-2.0.0/docs/dev/dependency-maintenance.md +273 -0
- topmark-2.0.0/docs/dev/documentation-conventions.md +937 -0
- topmark-2.0.0/docs/dev/documentation-pipeline.md +471 -0
- topmark-2.0.0/docs/dev/index.md +77 -0
- topmark-2.0.0/docs/dev/machine-formats.md +785 -0
- topmark-2.0.0/docs/dev/multiline-header-fields.md +248 -0
- topmark-2.0.0/docs/dev/performance-baselines.md +814 -0
- topmark-2.0.0/docs/dev/pipelines-reference.md +227 -0
- topmark-2.0.0/docs/dev/pipelines.md +1001 -0
- topmark-2.0.0/docs/dev/plugins.md +456 -0
- topmark-2.0.0/docs/dev/protocol-contracts.md +151 -0
- topmark-2.0.0/docs/dev/registry-model.md +692 -0
- topmark-2.0.0/docs/dev/release-process.md +395 -0
- topmark-2.0.0/docs/dev/resolution.md +572 -0
- topmark-2.0.0/docs/dev/road-to-1.0.md +513 -0
- topmark-2.0.0/docs/dev/roadmap.md +111 -0
- topmark-2.0.0/docs/index.md +165 -0
- topmark-2.0.0/docs/install.md +67 -0
- topmark-2.0.0/docs/terminology.md +539 -0
- topmark-2.0.0/docs/usage/ci.md +340 -0
- topmark-2.0.0/docs/usage/cli.md +444 -0
- topmark-2.0.0/docs/usage/commands/check.md +617 -0
- topmark-2.0.0/docs/usage/commands/config/check.md +394 -0
- topmark-2.0.0/docs/usage/commands/config/defaults.md +227 -0
- topmark-2.0.0/docs/usage/commands/config/dump.md +391 -0
- topmark-2.0.0/docs/usage/commands/config/init.md +254 -0
- topmark-2.0.0/docs/usage/commands/config.md +199 -0
- topmark-2.0.0/docs/usage/commands/probe.md +492 -0
- topmark-2.0.0/docs/usage/commands/registry/bindings.md +309 -0
- topmark-2.0.0/docs/usage/commands/registry/filetypes.md +373 -0
- topmark-2.0.0/docs/usage/commands/registry/processors.md +261 -0
- topmark-2.0.0/docs/usage/commands/registry.md +182 -0
- topmark-2.0.0/docs/usage/commands/strip.md +543 -0
- topmark-2.0.0/docs/usage/commands/version.md +244 -0
- topmark-2.0.0/docs/usage/configuration.md +304 -0
- topmark-2.0.0/docs/usage/exit-codes.md +355 -0
- topmark-2.0.0/docs/usage/filtering.md +454 -0
- topmark-2.0.0/docs/usage/getting-started.md +292 -0
- topmark-2.0.0/docs/usage/header-placement.md +290 -0
- topmark-2.0.0/docs/usage/index.md +70 -0
- topmark-2.0.0/docs/usage/machine-output.md +1441 -0
- topmark-2.0.0/docs/usage/policies.md +446 -0
- topmark-2.0.0/docs/usage/pre-commit.md +409 -0
- topmark-2.0.0/docs/usage/python-support.md +71 -0
- topmark-2.0.0/docs/usage/shared-options.md +256 -0
- topmark-2.0.0/docs/usage/upgrading-to-2.0.md +321 -0
- topmark-2.0.0/docs/usage/upgrading.md +69 -0
- topmark-2.0.0/lychee.toml +38 -0
- topmark-2.0.0/noxfile.py +1073 -0
- topmark-2.0.0/pyproject.toml +431 -0
- topmark-2.0.0/src/topmark/_version.py +24 -0
- topmark-2.0.0/src/topmark/api/__init__.py +158 -0
- topmark-2.0.0/src/topmark/api/collectors.py +360 -0
- topmark-2.0.0/src/topmark/api/commands/pipeline.py +696 -0
- topmark-2.0.0/src/topmark/api/commands/registry.py +154 -0
- topmark-2.0.0/src/topmark/api/protocols.py +122 -0
- topmark-2.0.0/src/topmark/api/runtime.py +909 -0
- topmark-2.0.0/src/topmark/api/types.py +701 -0
- topmark-2.0.0/src/topmark/api/view.py +445 -0
- topmark-2.0.0/src/topmark/cli/cli_types.py +269 -0
- topmark-2.0.0/src/topmark/cli/cmd_common.py +528 -0
- topmark-2.0.0/src/topmark/cli/commands/check.py +709 -0
- topmark-2.0.0/src/topmark/cli/commands/config.py +93 -0
- topmark-2.0.0/src/topmark/cli/commands/config_check.py +271 -0
- topmark-2.0.0/src/topmark/cli/commands/config_defaults.py +226 -0
- topmark-2.0.0/src/topmark/cli/commands/config_dump.py +381 -0
- topmark-2.0.0/src/topmark/cli/commands/config_init.py +231 -0
- topmark-2.0.0/src/topmark/cli/commands/probe.py +566 -0
- topmark-2.0.0/src/topmark/cli/commands/registry.py +90 -0
- topmark-2.0.0/src/topmark/cli/commands/registry_bindings.py +209 -0
- topmark-2.0.0/src/topmark/cli/commands/registry_filetypes.py +209 -0
- topmark-2.0.0/src/topmark/cli/commands/registry_processors.py +197 -0
- topmark-2.0.0/src/topmark/cli/commands/strip.py +669 -0
- topmark-2.0.0/src/topmark/cli/commands/version.py +193 -0
- topmark-2.0.0/src/topmark/cli/documentation.py +63 -0
- topmark-2.0.0/src/topmark/cli/emitters/machine.py +405 -0
- topmark-2.0.0/src/topmark/cli/errors.py +146 -0
- topmark-2.0.0/src/topmark/cli/help.py +150 -0
- topmark-2.0.0/src/topmark/cli/help_panels.py +131 -0
- topmark-2.0.0/src/topmark/cli/io.py +333 -0
- topmark-2.0.0/src/topmark/cli/keys.py +154 -0
- topmark-2.0.0/src/topmark/cli/main.py +122 -0
- topmark-2.0.0/src/topmark/cli/option_groups.py +94 -0
- topmark-2.0.0/src/topmark/cli/option_meta.py +107 -0
- topmark-2.0.0/src/topmark/cli/options.py +1353 -0
- topmark-2.0.0/src/topmark/cli/presentation.py +262 -0
- topmark-2.0.0/src/topmark/cli/rendering/unified_diff.py +149 -0
- topmark-2.0.0/src/topmark/cli/state.py +187 -0
- topmark-2.0.0/src/topmark/cli/streaming.py +247 -0
- topmark-2.0.0/src/topmark/cli/validators.py +557 -0
- topmark-2.0.0/src/topmark/config/io/deserializers.py +721 -0
- topmark-2.0.0/src/topmark/config/io/serializers.py +295 -0
- topmark-2.0.0/src/topmark/config/machine/payloads.py +224 -0
- topmark-2.0.0/src/topmark/config/machine/serializers.py +447 -0
- topmark-2.0.0/src/topmark/config/model.py +933 -0
- topmark-2.0.0/src/topmark/config/overrides.py +406 -0
- topmark-2.0.0/src/topmark/config/policy.py +502 -0
- topmark-2.0.0/src/topmark/config/resolution/bridge.py +252 -0
- topmark-2.0.0/src/topmark/config/resolution/layers.py +254 -0
- topmark-2.0.0/src/topmark/config/resolution/merge.py +147 -0
- topmark-2.0.0/src/topmark/core/constants.py +247 -0
- topmark-2.0.0/src/topmark/core/enum_mixins.py +193 -0
- topmark-2.0.0/src/topmark/core/errors.py +617 -0
- topmark-2.0.0/src/topmark/core/exit_codes.py +92 -0
- topmark-2.0.0/src/topmark/core/keys.py +113 -0
- topmark-2.0.0/src/topmark/core/logging.py +148 -0
- topmark-2.0.0/src/topmark/core/machine/errors.py +32 -0
- topmark-2.0.0/src/topmark/core/machine/payloads.py +107 -0
- topmark-2.0.0/src/topmark/core/machine/schemas.py +234 -0
- topmark-2.0.0/src/topmark/core/presentation.py +129 -0
- topmark-2.0.0/src/topmark/diagnostic/model.py +386 -0
- topmark-2.0.0/src/topmark/filetypes/builtins/data.py +141 -0
- topmark-2.0.0/src/topmark/filetypes/builtins/docs.py +51 -0
- topmark-2.0.0/src/topmark/filetypes/detectors/jsonc.py +107 -0
- topmark-2.0.0/src/topmark/filetypes/factory.py +94 -0
- topmark-2.0.0/src/topmark/filetypes/filename_rules.py +124 -0
- topmark-2.0.0/src/topmark/filetypes/model.py +491 -0
- topmark-2.0.0/src/topmark/pipeline/adapters.py +102 -0
- topmark-2.0.0/src/topmark/pipeline/context/model.py +513 -0
- topmark-2.0.0/src/topmark/pipeline/context/policy.py +555 -0
- topmark-2.0.0/src/topmark/pipeline/context/protocols.py +83 -0
- topmark-2.0.0/src/topmark/pipeline/context/status.py +369 -0
- topmark-2.0.0/src/topmark/pipeline/engine.py +442 -0
- topmark-2.0.0/src/topmark/pipeline/events.py +23 -0
- topmark-2.0.0/src/topmark/pipeline/hints.py +378 -0
- topmark-2.0.0/src/topmark/pipeline/kinds.py +44 -0
- topmark-2.0.0/src/topmark/pipeline/machine/__init__.py +44 -0
- topmark-2.0.0/src/topmark/pipeline/machine/envelopes.py +498 -0
- topmark-2.0.0/src/topmark/pipeline/machine/payloads.py +250 -0
- topmark-2.0.0/src/topmark/pipeline/machine/schemas.py +149 -0
- topmark-2.0.0/src/topmark/pipeline/machine/streaming.py +172 -0
- topmark-2.0.0/src/topmark/pipeline/outcome_snapshot.py +118 -0
- topmark-2.0.0/src/topmark/pipeline/outcomes.py +649 -0
- topmark-2.0.0/src/topmark/pipeline/pipelines.py +406 -0
- topmark-2.0.0/src/topmark/pipeline/pre_insert_advisory.py +91 -0
- topmark-2.0.0/src/topmark/pipeline/protocols.py +114 -0
- topmark-2.0.0/src/topmark/pipeline/reduction.py +123 -0
- topmark-2.0.0/src/topmark/pipeline/reporting.py +288 -0
- topmark-2.0.0/src/topmark/pipeline/result.py +631 -0
- topmark-2.0.0/src/topmark/pipeline/runner.py +69 -0
- topmark-2.0.0/src/topmark/pipeline/status.py +392 -0
- topmark-2.0.0/src/topmark/pipeline/steps/base.py +158 -0
- topmark-2.0.0/src/topmark/pipeline/steps/builder.py +335 -0
- topmark-2.0.0/src/topmark/pipeline/steps/comparer.py +274 -0
- topmark-2.0.0/src/topmark/pipeline/steps/patcher.py +420 -0
- topmark-2.0.0/src/topmark/pipeline/steps/planner.py +808 -0
- topmark-2.0.0/src/topmark/pipeline/steps/prober.py +106 -0
- topmark-2.0.0/src/topmark/pipeline/steps/reader.py +528 -0
- topmark-2.0.0/src/topmark/pipeline/steps/renderer.py +308 -0
- topmark-2.0.0/src/topmark/pipeline/steps/resolver.py +288 -0
- topmark-2.0.0/src/topmark/pipeline/steps/scanner.py +423 -0
- topmark-2.0.0/src/topmark/pipeline/steps/sniffer.py +601 -0
- topmark-2.0.0/src/topmark/pipeline/steps/stripper.py +484 -0
- topmark-2.0.0/src/topmark/pipeline/steps/writer.py +577 -0
- topmark-2.0.0/src/topmark/pipeline/structured_diff.py +115 -0
- topmark-2.0.0/src/topmark/pipeline/views.py +540 -0
- topmark-2.0.0/src/topmark/presentation/markdown/paths.py +63 -0
- topmark-2.0.0/src/topmark/presentation/markdown/pipeline.py +608 -0
- topmark-2.0.0/src/topmark/presentation/markdown/probe.py +266 -0
- topmark-2.0.0/src/topmark/presentation/markdown/registry.py +304 -0
- topmark-2.0.0/src/topmark/presentation/markdown/utils.py +209 -0
- topmark-2.0.0/src/topmark/presentation/output/__init__.py +19 -0
- topmark-2.0.0/src/topmark/presentation/output/pipeline.py +322 -0
- topmark-2.0.0/src/topmark/presentation/shared/outcomes.py +96 -0
- topmark-2.0.0/src/topmark/presentation/shared/paths.py +88 -0
- topmark-2.0.0/src/topmark/presentation/shared/pipeline.py +251 -0
- topmark-2.0.0/src/topmark/presentation/shared/probe.py +49 -0
- topmark-2.0.0/src/topmark/presentation/shared/registry.py +455 -0
- topmark-2.0.0/src/topmark/presentation/text/pipeline.py +886 -0
- topmark-2.0.0/src/topmark/presentation/text/probe.py +332 -0
- topmark-2.0.0/src/topmark/presentation/text/registry.py +229 -0
- topmark-2.0.0/src/topmark/processors/base.py +2011 -0
- topmark-2.0.0/src/topmark/processors/builtins/cblock.py +151 -0
- topmark-2.0.0/src/topmark/processors/builtins/markdown.py +170 -0
- topmark-2.0.0/src/topmark/processors/builtins/xml.py +494 -0
- topmark-2.0.0/src/topmark/processors/instances.py +310 -0
- topmark-2.0.0/src/topmark/processors/mixins.py +198 -0
- topmark-2.0.0/src/topmark/processors/types.py +184 -0
- topmark-2.0.0/src/topmark/registry/bindings.py +362 -0
- topmark-2.0.0/src/topmark/registry/filetypes.py +510 -0
- topmark-2.0.0/src/topmark/registry/machine/payloads.py +286 -0
- topmark-2.0.0/src/topmark/registry/machine/schemas.py +245 -0
- topmark-2.0.0/src/topmark/registry/machine/serializers.py +337 -0
- topmark-2.0.0/src/topmark/registry/processors.py +319 -0
- topmark-2.0.0/src/topmark/registry/registry.py +369 -0
- topmark-2.0.0/src/topmark/registry/types.py +99 -0
- topmark-2.0.0/src/topmark/resolution/files.py +861 -0
- topmark-2.0.0/src/topmark/resolution/filetypes.py +580 -0
- topmark-2.0.0/src/topmark/resolution/probe.py +176 -0
- topmark-2.0.0/src/topmark/runtime/model.py +150 -0
- topmark-2.0.0/src/topmark/toml/defaults.py +281 -0
- topmark-2.0.0/src/topmark/toml/keys.py +120 -0
- topmark-2.0.0/src/topmark/toml/loaders.py +161 -0
- topmark-2.0.0/src/topmark/toml/machine/payloads.py +145 -0
- topmark-2.0.0/src/topmark/toml/machine/schemas.py +117 -0
- topmark-2.0.0/src/topmark/toml/resolution.py +433 -0
- topmark-2.0.0/src/topmark/toml/schema.py +546 -0
- topmark-2.0.0/src/topmark/toml/surgery.py +316 -0
- topmark-2.0.0/src/topmark/toml/template_surgery.py +456 -0
- topmark-2.0.0/src/topmark/toml/topmark-example.toml +355 -0
- topmark-2.0.0/src/topmark/toml/validation.py +106 -0
- topmark-2.0.0/src/topmark/utils/file.py +166 -0
- topmark-2.0.0/src/topmark/utils/path.py +141 -0
- topmark-2.0.0/src/topmark/utils/version.py +96 -0
- topmark-2.0.0/src/topmark/version/convert.py +104 -0
- topmark-2.0.0/src/topmark/version/machine/serializers.py +139 -0
- topmark-2.0.0/src/topmark.egg-info/PKG-INFO +566 -0
- topmark-2.0.0/src/topmark.egg-info/SOURCES.txt +715 -0
- topmark-2.0.0/src/topmark.egg-info/requires.txt +43 -0
- topmark-2.0.0/src/topmark.egg-info/scm_file_list.json +710 -0
- topmark-2.0.0/src/topmark.egg-info/scm_version.json +8 -0
- topmark-2.0.0/tests/__init__.py +13 -0
- topmark-2.0.0/tests/api/__init__.py +13 -0
- topmark-2.0.0/tests/api/public_api_snapshot.json +1269 -0
- topmark-2.0.0/tests/api/test_api_check_and_strip.py +581 -0
- topmark-2.0.0/tests/api/test_api_core.py +155 -0
- topmark-2.0.0/tests/api/test_api_discovery_parity.py +303 -0
- topmark-2.0.0/tests/api/test_api_metadata.py +174 -0
- topmark-2.0.0/tests/api/test_api_more.py +67 -0
- topmark-2.0.0/tests/api/test_api_policy_overlays.py +333 -0
- topmark-2.0.0/tests/api/test_api_probe.py +278 -0
- topmark-2.0.0/tests/api/test_api_report_scope.py +169 -0
- topmark-2.0.0/tests/api/test_api_runtime_config.py +74 -0
- topmark-2.0.0/tests/api/test_api_runtime_probe_results.py +126 -0
- topmark-2.0.0/tests/api/test_api_stream_collectors.py +547 -0
- topmark-2.0.0/tests/api/test_api_stream_events.py +249 -0
- topmark-2.0.0/tests/api/test_buckets_check.py +128 -0
- topmark-2.0.0/tests/api/test_buckets_strip.py +55 -0
- topmark-2.0.0/tests/api/test_public_api_snapshot.py +56 -0
- topmark-2.0.0/tests/api/test_public_imports.py +91 -0
- topmark-2.0.0/tests/api/test_result_view.py +381 -0
- topmark-2.0.0/tests/cli/__init__.py +13 -0
- topmark-2.0.0/tests/cli/completion/__init__.py +13 -0
- topmark-2.0.0/tests/cli/completion/test_completion.py +216 -0
- topmark-2.0.0/tests/cli/completion/test_completion_integration.py +212 -0
- topmark-2.0.0/tests/cli/conftest.py +665 -0
- topmark-2.0.0/tests/cli/machine/__init__.py +13 -0
- topmark-2.0.0/tests/cli/machine/test_config_check_machine.py +379 -0
- topmark-2.0.0/tests/cli/machine/test_config_defaults_machine.py +135 -0
- topmark-2.0.0/tests/cli/machine/test_config_dump_machine.py +506 -0
- topmark-2.0.0/tests/cli/machine/test_config_init_machine.py +125 -0
- topmark-2.0.0/tests/cli/machine/test_contract_policy.py +187 -0
- topmark-2.0.0/tests/cli/machine/test_hard_link_identity_machine.py +204 -0
- topmark-2.0.0/tests/cli/machine/test_path_contracts_machine.py +214 -0
- topmark-2.0.0/tests/cli/machine/test_probe_machine.py +904 -0
- topmark-2.0.0/tests/cli/machine/test_processing_machine.py +1145 -0
- topmark-2.0.0/tests/cli/machine/test_registry_machine.py +725 -0
- topmark-2.0.0/tests/cli/machine/test_version_machine.py +220 -0
- topmark-2.0.0/tests/cli/test_apply_write_guard.py +419 -0
- topmark-2.0.0/tests/cli/test_check_exit_codes.py +83 -0
- topmark-2.0.0/tests/cli/test_cli_helper_contracts.py +375 -0
- topmark-2.0.0/tests/cli/test_cli_types.py +229 -0
- topmark-2.0.0/tests/cli/test_cmd_common.py +590 -0
- topmark-2.0.0/tests/cli/test_command_applicability.py +285 -0
- topmark-2.0.0/tests/cli/test_command_contracts.py +456 -0
- topmark-2.0.0/tests/cli/test_config_check_exit_codes.py +130 -0
- topmark-2.0.0/tests/cli/test_config_human_output.py +251 -0
- topmark-2.0.0/tests/cli/test_config_overrides.py +254 -0
- topmark-2.0.0/tests/cli/test_diff_output.py +601 -0
- topmark-2.0.0/tests/cli/test_documentation.py +49 -0
- topmark-2.0.0/tests/cli/test_entrypoint.py +61 -0
- topmark-2.0.0/tests/cli/test_file_type_and_skip_flags.py +412 -0
- topmark-2.0.0/tests/cli/test_filetypes.py +54 -0
- topmark-2.0.0/tests/cli/test_filters_and_types.py +152 -0
- topmark-2.0.0/tests/cli/test_finite_choice_options.py +233 -0
- topmark-2.0.0/tests/cli/test_help_all.py +348 -0
- topmark-2.0.0/tests/cli/test_help_epilog.py +116 -0
- topmark-2.0.0/tests/cli/test_logging_flags.py +70 -0
- topmark-2.0.0/tests/cli/test_option_meta.py +73 -0
- topmark-2.0.0/tests/cli/test_options_helpers.py +277 -0
- topmark-2.0.0/tests/cli/test_output_assertion_helpers.py +122 -0
- topmark-2.0.0/tests/cli/test_pipeline_human_output.py +703 -0
- topmark-2.0.0/tests/cli/test_policy_options.py +519 -0
- topmark-2.0.0/tests/cli/test_presentation.py +74 -0
- topmark-2.0.0/tests/cli/test_probe_exit_codes.py +195 -0
- topmark-2.0.0/tests/cli/test_probe_human_output.py +566 -0
- topmark-2.0.0/tests/cli/test_processing_case_insensitive_fs.py +168 -0
- topmark-2.0.0/tests/cli/test_processing_case_sensitive_fs.py +59 -0
- topmark-2.0.0/tests/cli/test_registry_human_output.py +515 -0
- topmark-2.0.0/tests/cli/test_report_scope.py +307 -0
- topmark-2.0.0/tests/cli/test_state.py +238 -0
- topmark-2.0.0/tests/cli/test_stdin_content.py +296 -0
- topmark-2.0.0/tests/cli/test_stdin_errors.py +185 -0
- topmark-2.0.0/tests/cli/test_stdin_lists.py +362 -0
- topmark-2.0.0/tests/cli/test_stream_routing.py +288 -0
- topmark-2.0.0/tests/cli/test_strip.py +296 -0
- topmark-2.0.0/tests/cli/test_unified_check_apply.py +165 -0
- topmark-2.0.0/tests/cli/test_unified_diff_rendering.py +112 -0
- topmark-2.0.0/tests/cli/test_validators.py +604 -0
- topmark-2.0.0/tests/cli/test_version.py +231 -0
- topmark-2.0.0/tests/config/__init__.py +13 -0
- topmark-2.0.0/tests/config/machine/__init__.py +13 -0
- topmark-2.0.0/tests/config/machine/test_config_machine_payloads.py +77 -0
- topmark-2.0.0/tests/config/machine/test_config_machine_serializers.py +210 -0
- topmark-2.0.0/tests/config/resolution/__init__.py +13 -0
- topmark-2.0.0/tests/config/resolution/test_bridge.py +177 -0
- topmark-2.0.0/tests/config/resolution/test_layers.py +166 -0
- topmark-2.0.0/tests/config/test_config_deserializers.py +737 -0
- topmark-2.0.0/tests/config/test_config_resolution_discovery.py +277 -0
- topmark-2.0.0/tests/config/test_config_resolution_merge.py +674 -0
- topmark-2.0.0/tests/config/test_config_resolution_paths.py +611 -0
- topmark-2.0.0/tests/config/test_config_strictness_and_validity.py +279 -0
- topmark-2.0.0/tests/config/test_merge_semantics_invariants.py +386 -0
- topmark-2.0.0/tests/config/test_model_export.py +413 -0
- topmark-2.0.0/tests/config/test_policy_resolution.py +760 -0
- topmark-2.0.0/tests/conftest.py +251 -0
- topmark-2.0.0/tests/core/__init__.py +13 -0
- topmark-2.0.0/tests/core/machine/__init__.py +13 -0
- topmark-2.0.0/tests/core/machine/test_payloads.py +91 -0
- topmark-2.0.0/tests/core/test_constants.py +273 -0
- topmark-2.0.0/tests/core/test_enum_mixins.py +159 -0
- topmark-2.0.0/tests/core/test_errors.py +260 -0
- topmark-2.0.0/tests/core/test_logging.py +262 -0
- topmark-2.0.0/tests/dev_validation/__init__.py +13 -0
- topmark-2.0.0/tests/dev_validation/test_pytest_markers.py +242 -0
- topmark-2.0.0/tests/dev_validation/test_test_package_layout.py +81 -0
- topmark-2.0.0/tests/diagnostic/__init__.py +13 -0
- topmark-2.0.0/tests/diagnostic/machine/__init__.py +13 -0
- topmark-2.0.0/tests/diagnostic/machine/test_diagnostic_machine_envelopes.py +129 -0
- topmark-2.0.0/tests/diagnostic/test_model.py +74 -0
- topmark-2.0.0/tests/filetypes/__init__.py +13 -0
- topmark-2.0.0/tests/filetypes/checks/__init__.py +20 -0
- topmark-2.0.0/tests/filetypes/checks/test_checks_json_like.py +144 -0
- topmark-2.0.0/tests/filetypes/checks/test_checks_xml.py +333 -0
- topmark-2.0.0/tests/filetypes/detectors/__init__.py +20 -0
- topmark-2.0.0/tests/filetypes/detectors/test_detectors_jsonc.py +148 -0
- topmark-2.0.0/tests/filetypes/test_base_registry.py +178 -0
- topmark-2.0.0/tests/filetypes/test_content_gate.py +544 -0
- topmark-2.0.0/tests/filetypes/test_filename_rules.py +94 -0
- topmark-2.0.0/tests/filetypes/test_instances_plugins.py +207 -0
- topmark-2.0.0/tests/filetypes/test_model_matching.py +142 -0
- topmark-2.0.0/tests/helpers/__init__.py +13 -0
- topmark-2.0.0/tests/helpers/api.py +284 -0
- topmark-2.0.0/tests/helpers/config_diagnostics.py +90 -0
- topmark-2.0.0/tests/helpers/console.py +52 -0
- topmark-2.0.0/tests/helpers/machine.py +70 -0
- topmark-2.0.0/tests/helpers/ndjson.py +136 -0
- topmark-2.0.0/tests/helpers/paths.py +171 -0
- topmark-2.0.0/tests/helpers/pipeline.py +520 -0
- topmark-2.0.0/tests/helpers/registry.py +345 -0
- topmark-2.0.0/tests/pipeline/__init__.py +13 -0
- topmark-2.0.0/tests/pipeline/context/__init__.py +13 -0
- topmark-2.0.0/tests/pipeline/context/test_model.py +229 -0
- topmark-2.0.0/tests/pipeline/context/test_policy.py +419 -0
- topmark-2.0.0/tests/pipeline/context/test_status.py +222 -0
- topmark-2.0.0/tests/pipeline/integration/__init__.py +13 -0
- topmark-2.0.0/tests/pipeline/integration/test_comparer_e2e.py +162 -0
- topmark-2.0.0/tests/pipeline/integration/test_nested_config_e2e.py +128 -0
- topmark-2.0.0/tests/pipeline/machine/__init__.py +13 -0
- topmark-2.0.0/tests/pipeline/machine/test_payloads.py +112 -0
- topmark-2.0.0/tests/pipeline/machine/test_stream_envelopes.py +1035 -0
- topmark-2.0.0/tests/pipeline/steps/__init__.py +13 -0
- topmark-2.0.0/tests/pipeline/steps/test_base.py +316 -0
- topmark-2.0.0/tests/pipeline/steps/test_builder.py +514 -0
- topmark-2.0.0/tests/pipeline/steps/test_comparer.py +739 -0
- topmark-2.0.0/tests/pipeline/steps/test_patcher.py +906 -0
- topmark-2.0.0/tests/pipeline/steps/test_planner.py +1355 -0
- topmark-2.0.0/tests/pipeline/steps/test_prober.py +262 -0
- topmark-2.0.0/tests/pipeline/steps/test_reader.py +943 -0
- topmark-2.0.0/tests/pipeline/steps/test_renderer.py +507 -0
- topmark-2.0.0/tests/pipeline/steps/test_resolver.py +1310 -0
- topmark-2.0.0/tests/pipeline/steps/test_scanner.py +363 -0
- topmark-2.0.0/tests/pipeline/steps/test_sniffer.py +579 -0
- topmark-2.0.0/tests/pipeline/steps/test_stripper.py +914 -0
- topmark-2.0.0/tests/pipeline/steps/test_writer.py +856 -0
- topmark-2.0.0/tests/pipeline/test_adapters.py +137 -0
- topmark-2.0.0/tests/pipeline/test_bom_shebang_policy.py +199 -0
- topmark-2.0.0/tests/pipeline/test_context_status.py +299 -0
- topmark-2.0.0/tests/pipeline/test_engine.py +274 -0
- topmark-2.0.0/tests/pipeline/test_engine_path_configs.py +290 -0
- topmark-2.0.0/tests/pipeline/test_hard_link_identity.py +161 -0
- topmark-2.0.0/tests/pipeline/test_header_bounds_property.py +213 -0
- topmark-2.0.0/tests/pipeline/test_kinds.py +36 -0
- topmark-2.0.0/tests/pipeline/test_outcomes.py +671 -0
- topmark-2.0.0/tests/pipeline/test_pipelines.py +199 -0
- topmark-2.0.0/tests/pipeline/test_policy_whitespace.py +108 -0
- topmark-2.0.0/tests/pipeline/test_reduction.py +172 -0
- topmark-2.0.0/tests/pipeline/test_reporting.py +80 -0
- topmark-2.0.0/tests/pipeline/test_result.py +298 -0
- topmark-2.0.0/tests/pipeline/test_structured_diff.py +230 -0
- topmark-2.0.0/tests/pipeline/test_synthetic.py +174 -0
- topmark-2.0.0/tests/pipeline/test_updated_content.py +38 -0
- topmark-2.0.0/tests/pipeline/test_view_pruning.py +270 -0
- topmark-2.0.0/tests/presentation/__init__.py +13 -0
- topmark-2.0.0/tests/presentation/test_config_rendering.py +583 -0
- topmark-2.0.0/tests/presentation/test_diagnostic_rendering.py +462 -0
- topmark-2.0.0/tests/presentation/test_diff_render.py +117 -0
- topmark-2.0.0/tests/presentation/test_markdown_utils.py +77 -0
- topmark-2.0.0/tests/presentation/test_pipeline_rendering.py +1584 -0
- topmark-2.0.0/tests/presentation/test_probe_rendering.py +397 -0
- topmark-2.0.0/tests/presentation/test_registry_rendering.py +674 -0
- topmark-2.0.0/tests/presentation/test_version_rendering.py +138 -0
- topmark-2.0.0/tests/processors/__init__.py +13 -0
- topmark-2.0.0/tests/processors/test_base_contracts.py +615 -0
- topmark-2.0.0/tests/processors/test_bom_newline_matrix.py +149 -0
- topmark-2.0.0/tests/processors/test_bounds_inclusive.py +97 -0
- topmark-2.0.0/tests/processors/test_cblock.py +376 -0
- topmark-2.0.0/tests/processors/test_field_validation.py +248 -0
- topmark-2.0.0/tests/processors/test_instances_contracts.py +269 -0
- topmark-2.0.0/tests/processors/test_markdown.py +198 -0
- topmark-2.0.0/tests/processors/test_mixins.py +287 -0
- topmark-2.0.0/tests/processors/test_multiline_fields.py +391 -0
- topmark-2.0.0/tests/processors/test_pound.py +883 -0
- topmark-2.0.0/tests/processors/test_processor_key_token.py +241 -0
- topmark-2.0.0/tests/processors/test_slash.py +301 -0
- topmark-2.0.0/tests/processors/test_slash_indent.py +167 -0
- topmark-2.0.0/tests/processors/test_xml.py +806 -0
- topmark-2.0.0/tests/processors/test_xml_anchor.py +314 -0
- topmark-2.0.0/tests/registry/__init__.py +13 -0
- topmark-2.0.0/tests/registry/machine/__init__.py +13 -0
- topmark-2.0.0/tests/registry/machine/test_registry_machine_payloads.py +77 -0
- topmark-2.0.0/tests/registry/machine/test_registry_machine_serializers.py +49 -0
- topmark-2.0.0/tests/registry/test_filetype_identity.py +609 -0
- topmark-2.0.0/tests/registry/test_register_unregister.py +362 -0
- topmark-2.0.0/tests/registry/test_registry_facade.py +182 -0
- topmark-2.0.0/tests/registry/test_registry_public_api.py +351 -0
- topmark-2.0.0/tests/registry/test_registry_types.py +161 -0
- topmark-2.0.0/tests/resolution/__init__.py +13 -0
- topmark-2.0.0/tests/resolution/files/__init__.py +13 -0
- topmark-2.0.0/tests/resolution/files/_helpers.py +69 -0
- topmark-2.0.0/tests/resolution/files/test_discovery_diagnostics.py +169 -0
- topmark-2.0.0/tests/resolution/files/test_file_type_filters.py +223 -0
- topmark-2.0.0/tests/resolution/files/test_files_from.py +111 -0
- topmark-2.0.0/tests/resolution/files/test_inputs.py +373 -0
- topmark-2.0.0/tests/resolution/files/test_pattern_filters.py +459 -0
- topmark-2.0.0/tests/resolution/test_discovery.py +307 -0
- topmark-2.0.0/tests/resolution/test_filetypes.py +187 -0
- topmark-2.0.0/tests/resolution/test_probe.py +173 -0
- topmark-2.0.0/tests/toml/__init__.py +13 -0
- topmark-2.0.0/tests/toml/machine/__init__.py +13 -0
- topmark-2.0.0/tests/toml/machine/test_toml_machine_payloads.py +284 -0
- topmark-2.0.0/tests/toml/test_defaults.py +169 -0
- topmark-2.0.0/tests/toml/test_getters.py +532 -0
- topmark-2.0.0/tests/toml/test_loaders.py +229 -0
- topmark-2.0.0/tests/toml/test_parse.py +165 -0
- topmark-2.0.0/tests/toml/test_pyproject.py +88 -0
- topmark-2.0.0/tests/toml/test_schema_validation_loading.py +221 -0
- topmark-2.0.0/tests/toml/test_schema_validation_missing_sections.py +116 -0
- topmark-2.0.0/tests/toml/test_schema_validation_policy.py +235 -0
- topmark-2.0.0/tests/toml/test_schema_validation_special_section.py +176 -0
- topmark-2.0.0/tests/toml/test_schema_validation_top_level.py +239 -0
- topmark-2.0.0/tests/toml/test_surgery.py +376 -0
- topmark-2.0.0/tests/toml/test_template_surgery.py +502 -0
- topmark-2.0.0/tests/toml/test_validation.py +137 -0
- topmark-2.0.0/tests/tools/__init__.py +11 -0
- topmark-2.0.0/tests/tools/ci/__init__.py +11 -0
- topmark-2.0.0/tests/tools/ci/test_action_pins.py +132 -0
- topmark-2.0.0/tests/tools/ci/test_python_lifecycle_audit.py +49 -0
- topmark-2.0.0/tests/tools/docs/__init__.py +11 -0
- topmark-2.0.0/tests/tools/docs/test_code_hygiene.py +67 -0
- topmark-2.0.0/tests/tools/docs/test_docs_hygiene.py +178 -0
- topmark-2.0.0/tests/tools/docs/test_docs_utils.py +82 -0
- topmark-2.0.0/tests/tools/docs/test_project_links.py +115 -0
- topmark-2.0.0/tests/tools/docs/test_zensical_output_parity.py +51 -0
- topmark-2.0.0/tests/tools/docs/test_zensical_preparation.py +405 -0
- topmark-2.0.0/tests/tools/perf/__init__.py +11 -0
- topmark-2.0.0/tests/tools/perf/test_pipeline_memory_baseline.py +208 -0
- topmark-2.0.0/tests/tools/test_api_snapshot.py +531 -0
- topmark-2.0.0/tests/tools/test_coverage_changed.py +179 -0
- topmark-2.0.0/tests/typecheck/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/config/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/config/policy_protocols.py +31 -0
- topmark-2.0.0/tests/typecheck/diagnostic/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/diagnostic/protocols.py +39 -0
- topmark-2.0.0/tests/typecheck/filetypes/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/filetypes/protocols.py +76 -0
- topmark-2.0.0/tests/typecheck/pipeline/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/pipeline/context_protocols.py +30 -0
- topmark-2.0.0/tests/typecheck/pipeline/result_protocols.py +73 -0
- topmark-2.0.0/tests/typecheck/pipeline/step_protocols.py +29 -0
- topmark-2.0.0/tests/typecheck/pipeline/view_protocols.py +49 -0
- topmark-2.0.0/tests/typecheck/pipeline/writer_protocols.py +48 -0
- topmark-2.0.0/tests/typecheck/processors/__init__.py +13 -0
- topmark-2.0.0/tests/typecheck/processors/base_protocols.py +40 -0
- topmark-2.0.0/tests/utils/__init__.py +13 -0
- topmark-2.0.0/tests/utils/test_file.py +350 -0
- topmark-2.0.0/tests/utils/test_path.py +340 -0
- topmark-2.0.0/tests/utils/test_timestamp.py +204 -0
- topmark-2.0.0/tests/utils/test_version.py +187 -0
- topmark-2.0.0/tests/version/__init__.py +13 -0
- topmark-2.0.0/tests/version/machine/__init__.py +13 -0
- topmark-2.0.0/tests/version/machine/test_version_machine_serializers.py +146 -0
- topmark-2.0.0/tests/version/test_convert.py +108 -0
- topmark-2.0.0/tests/version/test_runtime.py +148 -0
- topmark-2.0.0/tools/api_snapshot.py +852 -0
- topmark-2.0.0/tools/ci/audit_action_pins.py +705 -0
- topmark-2.0.0/tools/ci/audit_python_lifecycle.py +273 -0
- topmark-2.0.0/tools/coverage_changed.py +433 -0
- topmark-2.0.0/tools/docs/__init__.py +21 -0
- topmark-2.0.0/tools/docs/check_code_hygiene.py +168 -0
- topmark-2.0.0/tools/docs/check_docs_hygiene.py +1093 -0
- topmark-2.0.0/tools/docs/check_project_links.py +301 -0
- topmark-2.0.0/tools/docs/check_zensical_parity.py +92 -0
- topmark-2.0.0/tools/docs/docs_utils.py +569 -0
- topmark-2.0.0/tools/docs/gen_cli_reference_pages.py +519 -0
- topmark-2.0.0/tools/docs/prepare_zensical_docs.py +353 -0
- topmark-2.0.0/tools/perf/pipeline_memory_baseline.py +1426 -0
- topmark-2.0.0/uv.lock +2345 -0
- topmark-2.0.0/zensical.toml +193 -0
- topmark-1.0.1/.bake.toml +0 -47
- topmark-1.0.1/.github/actions/setup-python-nox/action.yml +0 -51
- topmark-1.0.1/.github/workflows/action-pin-audit.yml +0 -40
- topmark-1.0.1/.github/workflows/ci.yml +0 -460
- topmark-1.0.1/.github/workflows/published-artifact-validation.yml +0 -219
- topmark-1.0.1/.github/workflows/release.yml +0 -460
- topmark-1.0.1/.gitignore +0 -94
- topmark-1.0.1/.pre-commit-config.yaml +0 -125
- topmark-1.0.1/.readthedocs.yml +0 -27
- topmark-1.0.1/.vscode/extensions.json +0 -24
- topmark-1.0.1/.vscode/settings.json +0 -99
- topmark-1.0.1/.vscode/tasks.json +0 -73
- topmark-1.0.1/CHANGELOG.md +0 -4957
- topmark-1.0.1/CONTRIBUTING.md +0 -480
- topmark-1.0.1/INSTALL.md +0 -362
- topmark-1.0.1/Makefile +0 -282
- topmark-1.0.1/PKG-INFO +0 -557
- topmark-1.0.1/README.md +0 -474
- topmark-1.0.1/docs/_snippets/ci/related-pages.md +0 -27
- topmark-1.0.1/docs/_snippets/config-strictness.md +0 -24
- topmark-1.0.1/docs/_snippets/file-type-identifiers.md +0 -18
- topmark-1.0.1/docs/_snippets/option-spelling.md +0 -37
- topmark-1.0.1/docs/_snippets/report-scope.md +0 -21
- topmark-1.0.1/docs/_snippets/runtime-configuration-model.md +0 -27
- topmark-1.0.1/docs/_snippets/runtime-validation-model.md +0 -23
- topmark-1.0.1/docs/api/index.md +0 -42
- topmark-1.0.1/docs/api/internals.md +0 -85
- topmark-1.0.1/docs/api/public.md +0 -335
- topmark-1.0.1/docs/assets/version-warning.js +0 -46
- topmark-1.0.1/docs/ci/action-pin-audit.md +0 -239
- topmark-1.0.1/docs/ci/ci-workflow.md +0 -254
- topmark-1.0.1/docs/ci/dependabot.md +0 -204
- topmark-1.0.1/docs/ci/index.md +0 -104
- topmark-1.0.1/docs/ci/published-artifact-validation.md +0 -343
- topmark-1.0.1/docs/ci/release-workflow.md +0 -284
- topmark-1.0.1/docs/ci/setup-python-nox-action.md +0 -183
- topmark-1.0.1/docs/ci/test-validation.md +0 -265
- topmark-1.0.1/docs/configuration/discovery.md +0 -491
- topmark-1.0.1/docs/configuration/index.md +0 -123
- topmark-1.0.1/docs/contributing.md +0 -82
- topmark-1.0.1/docs/dev/api-stability.md +0 -338
- topmark-1.0.1/docs/dev/architecture.md +0 -449
- topmark-1.0.1/docs/dev/configuration-schema.md +0 -376
- topmark-1.0.1/docs/dev/documentation-conventions.md +0 -905
- topmark-1.0.1/docs/dev/documentation-pipeline.md +0 -427
- topmark-1.0.1/docs/dev/index.md +0 -49
- topmark-1.0.1/docs/dev/machine-formats.md +0 -593
- topmark-1.0.1/docs/dev/pipelines-reference.md +0 -107
- topmark-1.0.1/docs/dev/pipelines.md +0 -724
- topmark-1.0.1/docs/dev/plugins.md +0 -362
- topmark-1.0.1/docs/dev/registry-model.md +0 -629
- topmark-1.0.1/docs/dev/release-process.md +0 -347
- topmark-1.0.1/docs/dev/resolution.md +0 -423
- topmark-1.0.1/docs/dev/road-to-1.0.md +0 -501
- topmark-1.0.1/docs/dev/roadmap.md +0 -671
- topmark-1.0.1/docs/index.md +0 -150
- topmark-1.0.1/docs/install.md +0 -65
- topmark-1.0.1/docs/terminology.md +0 -358
- topmark-1.0.1/docs/usage/ci.md +0 -274
- topmark-1.0.1/docs/usage/cli.md +0 -359
- topmark-1.0.1/docs/usage/commands/check.md +0 -498
- topmark-1.0.1/docs/usage/commands/config/check.md +0 -356
- topmark-1.0.1/docs/usage/commands/config/defaults.md +0 -225
- topmark-1.0.1/docs/usage/commands/config/dump.md +0 -324
- topmark-1.0.1/docs/usage/commands/config/init.md +0 -235
- topmark-1.0.1/docs/usage/commands/config.md +0 -174
- topmark-1.0.1/docs/usage/commands/probe.md +0 -395
- topmark-1.0.1/docs/usage/commands/registry/bindings.md +0 -281
- topmark-1.0.1/docs/usage/commands/registry/filetypes.md +0 -325
- topmark-1.0.1/docs/usage/commands/registry/processors.md +0 -259
- topmark-1.0.1/docs/usage/commands/registry.md +0 -167
- topmark-1.0.1/docs/usage/commands/strip.md +0 -435
- topmark-1.0.1/docs/usage/commands/version.md +0 -235
- topmark-1.0.1/docs/usage/configuration.md +0 -219
- topmark-1.0.1/docs/usage/exit-codes.md +0 -312
- topmark-1.0.1/docs/usage/filtering.md +0 -375
- topmark-1.0.1/docs/usage/getting-started.md +0 -199
- topmark-1.0.1/docs/usage/header-placement.md +0 -248
- topmark-1.0.1/docs/usage/index.md +0 -59
- topmark-1.0.1/docs/usage/machine-output.md +0 -1126
- topmark-1.0.1/docs/usage/policies.md +0 -371
- topmark-1.0.1/docs/usage/pre-commit.md +0 -345
- topmark-1.0.1/docs/usage/shared-options.md +0 -212
- topmark-1.0.1/lychee.toml +0 -38
- topmark-1.0.1/mkdocs.linkcheck.yml +0 -14
- topmark-1.0.1/mkdocs.yml +0 -257
- topmark-1.0.1/noxfile.py +0 -862
- topmark-1.0.1/pyproject.toml +0 -430
- topmark-1.0.1/src/topmark/_version.py +0 -24
- topmark-1.0.1/src/topmark/api/__init__.py +0 -133
- topmark-1.0.1/src/topmark/api/commands/pipeline.py +0 -338
- topmark-1.0.1/src/topmark/api/commands/registry.py +0 -152
- topmark-1.0.1/src/topmark/api/protocols.py +0 -116
- topmark-1.0.1/src/topmark/api/runtime.py +0 -885
- topmark-1.0.1/src/topmark/api/types.py +0 -558
- topmark-1.0.1/src/topmark/api/view.py +0 -423
- topmark-1.0.1/src/topmark/cli/cli_types.py +0 -242
- topmark-1.0.1/src/topmark/cli/cmd_common.py +0 -442
- topmark-1.0.1/src/topmark/cli/commands/check.py +0 -592
- topmark-1.0.1/src/topmark/cli/commands/config.py +0 -80
- topmark-1.0.1/src/topmark/cli/commands/config_check.py +0 -238
- topmark-1.0.1/src/topmark/cli/commands/config_defaults.py +0 -196
- topmark-1.0.1/src/topmark/cli/commands/config_dump.py +0 -348
- topmark-1.0.1/src/topmark/cli/commands/config_init.py +0 -200
- topmark-1.0.1/src/topmark/cli/commands/probe.py +0 -502
- topmark-1.0.1/src/topmark/cli/commands/registry.py +0 -79
- topmark-1.0.1/src/topmark/cli/commands/registry_bindings.py +0 -169
- topmark-1.0.1/src/topmark/cli/commands/registry_filetypes.py +0 -169
- topmark-1.0.1/src/topmark/cli/commands/registry_processors.py +0 -169
- topmark-1.0.1/src/topmark/cli/commands/strip.py +0 -579
- topmark-1.0.1/src/topmark/cli/commands/version.py +0 -164
- topmark-1.0.1/src/topmark/cli/emitters/machine.py +0 -375
- topmark-1.0.1/src/topmark/cli/errors.py +0 -145
- topmark-1.0.1/src/topmark/cli/io.py +0 -332
- topmark-1.0.1/src/topmark/cli/keys.py +0 -147
- topmark-1.0.1/src/topmark/cli/main.py +0 -96
- topmark-1.0.1/src/topmark/cli/options.py +0 -1187
- topmark-1.0.1/src/topmark/cli/presentation.py +0 -217
- topmark-1.0.1/src/topmark/cli/rendering/unified_diff.py +0 -149
- topmark-1.0.1/src/topmark/cli/state.py +0 -177
- topmark-1.0.1/src/topmark/cli/validators.py +0 -581
- topmark-1.0.1/src/topmark/config/io/deserializers.py +0 -631
- topmark-1.0.1/src/topmark/config/io/serializers.py +0 -297
- topmark-1.0.1/src/topmark/config/machine/payloads.py +0 -214
- topmark-1.0.1/src/topmark/config/machine/serializers.py +0 -443
- topmark-1.0.1/src/topmark/config/model.py +0 -889
- topmark-1.0.1/src/topmark/config/overrides.py +0 -353
- topmark-1.0.1/src/topmark/config/policy.py +0 -431
- topmark-1.0.1/src/topmark/config/resolution/bridge.py +0 -251
- topmark-1.0.1/src/topmark/config/resolution/layers.py +0 -239
- topmark-1.0.1/src/topmark/config/resolution/merge.py +0 -142
- topmark-1.0.1/src/topmark/core/constants.py +0 -219
- topmark-1.0.1/src/topmark/core/enum_mixins.py +0 -192
- topmark-1.0.1/src/topmark/core/errors.py +0 -576
- topmark-1.0.1/src/topmark/core/exit_codes.py +0 -83
- topmark-1.0.1/src/topmark/core/keys.py +0 -107
- topmark-1.0.1/src/topmark/core/logging.py +0 -148
- topmark-1.0.1/src/topmark/core/machine/payloads.py +0 -101
- topmark-1.0.1/src/topmark/core/machine/schemas.py +0 -224
- topmark-1.0.1/src/topmark/core/presentation.py +0 -129
- topmark-1.0.1/src/topmark/diagnostic/model.py +0 -383
- topmark-1.0.1/src/topmark/filetypes/builtins/data.py +0 -141
- topmark-1.0.1/src/topmark/filetypes/builtins/docs.py +0 -50
- topmark-1.0.1/src/topmark/filetypes/detectors/jsonc.py +0 -112
- topmark-1.0.1/src/topmark/filetypes/factory.py +0 -93
- topmark-1.0.1/src/topmark/filetypes/model.py +0 -451
- topmark-1.0.1/src/topmark/pipeline/adapters.py +0 -102
- topmark-1.0.1/src/topmark/pipeline/context/model.py +0 -482
- topmark-1.0.1/src/topmark/pipeline/context/policy.py +0 -593
- topmark-1.0.1/src/topmark/pipeline/context/status.py +0 -239
- topmark-1.0.1/src/topmark/pipeline/engine.py +0 -238
- topmark-1.0.1/src/topmark/pipeline/hints.py +0 -388
- topmark-1.0.1/src/topmark/pipeline/machine/__init__.py +0 -45
- topmark-1.0.1/src/topmark/pipeline/machine/envelopes.py +0 -315
- topmark-1.0.1/src/topmark/pipeline/machine/payloads.py +0 -263
- topmark-1.0.1/src/topmark/pipeline/machine/schemas.py +0 -109
- topmark-1.0.1/src/topmark/pipeline/machine/serializers.py +0 -207
- topmark-1.0.1/src/topmark/pipeline/outcomes.py +0 -510
- topmark-1.0.1/src/topmark/pipeline/pipelines.py +0 -192
- topmark-1.0.1/src/topmark/pipeline/protocols.py +0 -132
- topmark-1.0.1/src/topmark/pipeline/reporting.py +0 -192
- topmark-1.0.1/src/topmark/pipeline/runner.py +0 -62
- topmark-1.0.1/src/topmark/pipeline/status.py +0 -382
- topmark-1.0.1/src/topmark/pipeline/steps/base.py +0 -123
- topmark-1.0.1/src/topmark/pipeline/steps/builder.py +0 -289
- topmark-1.0.1/src/topmark/pipeline/steps/comparer.py +0 -268
- topmark-1.0.1/src/topmark/pipeline/steps/patcher.py +0 -222
- topmark-1.0.1/src/topmark/pipeline/steps/planner.py +0 -704
- topmark-1.0.1/src/topmark/pipeline/steps/prober.py +0 -82
- topmark-1.0.1/src/topmark/pipeline/steps/reader.py +0 -499
- topmark-1.0.1/src/topmark/pipeline/steps/renderer.py +0 -209
- topmark-1.0.1/src/topmark/pipeline/steps/resolver.py +0 -252
- topmark-1.0.1/src/topmark/pipeline/steps/scanner.py +0 -337
- topmark-1.0.1/src/topmark/pipeline/steps/sniffer.py +0 -551
- topmark-1.0.1/src/topmark/pipeline/steps/stripper.py +0 -390
- topmark-1.0.1/src/topmark/pipeline/steps/writer.py +0 -546
- topmark-1.0.1/src/topmark/pipeline/views.py +0 -308
- topmark-1.0.1/src/topmark/presentation/markdown/pipeline.py +0 -597
- topmark-1.0.1/src/topmark/presentation/markdown/probe.py +0 -257
- topmark-1.0.1/src/topmark/presentation/markdown/registry.py +0 -285
- topmark-1.0.1/src/topmark/presentation/markdown/utils.py +0 -237
- topmark-1.0.1/src/topmark/presentation/shared/outcomes.py +0 -88
- topmark-1.0.1/src/topmark/presentation/shared/pipeline.py +0 -153
- topmark-1.0.1/src/topmark/presentation/shared/registry.py +0 -403
- topmark-1.0.1/src/topmark/presentation/text/pipeline.py +0 -835
- topmark-1.0.1/src/topmark/presentation/text/probe.py +0 -351
- topmark-1.0.1/src/topmark/presentation/text/registry.py +0 -207
- topmark-1.0.1/src/topmark/processors/base.py +0 -1404
- topmark-1.0.1/src/topmark/processors/builtins/cblock.py +0 -127
- topmark-1.0.1/src/topmark/processors/builtins/markdown.py +0 -149
- topmark-1.0.1/src/topmark/processors/builtins/xml.py +0 -476
- topmark-1.0.1/src/topmark/processors/instances.py +0 -295
- topmark-1.0.1/src/topmark/processors/mixins.py +0 -463
- topmark-1.0.1/src/topmark/processors/types.py +0 -146
- topmark-1.0.1/src/topmark/registry/bindings.py +0 -349
- topmark-1.0.1/src/topmark/registry/filetypes.py +0 -510
- topmark-1.0.1/src/topmark/registry/machine/payloads.py +0 -254
- topmark-1.0.1/src/topmark/registry/machine/schemas.py +0 -241
- topmark-1.0.1/src/topmark/registry/machine/serializers.py +0 -300
- topmark-1.0.1/src/topmark/registry/processors.py +0 -350
- topmark-1.0.1/src/topmark/registry/registry.py +0 -366
- topmark-1.0.1/src/topmark/registry/types.py +0 -98
- topmark-1.0.1/src/topmark/resolution/files.py +0 -807
- topmark-1.0.1/src/topmark/resolution/filetypes.py +0 -561
- topmark-1.0.1/src/topmark/resolution/probe.py +0 -154
- topmark-1.0.1/src/topmark/runtime/model.py +0 -67
- topmark-1.0.1/src/topmark/toml/defaults.py +0 -272
- topmark-1.0.1/src/topmark/toml/keys.py +0 -115
- topmark-1.0.1/src/topmark/toml/loaders.py +0 -156
- topmark-1.0.1/src/topmark/toml/machine/payloads.py +0 -128
- topmark-1.0.1/src/topmark/toml/machine/schemas.py +0 -108
- topmark-1.0.1/src/topmark/toml/resolution.py +0 -384
- topmark-1.0.1/src/topmark/toml/schema.py +0 -541
- topmark-1.0.1/src/topmark/toml/surgery.py +0 -311
- topmark-1.0.1/src/topmark/toml/template_surgery.py +0 -411
- topmark-1.0.1/src/topmark/toml/topmark-example.toml +0 -310
- topmark-1.0.1/src/topmark/toml/validation.py +0 -112
- topmark-1.0.1/src/topmark/utils/file.py +0 -161
- topmark-1.0.1/src/topmark/utils/version.py +0 -157
- topmark-1.0.1/src/topmark/version/convert.py +0 -104
- topmark-1.0.1/src/topmark/version/machine/serializers.py +0 -133
- topmark-1.0.1/src/topmark.egg-info/PKG-INFO +0 -557
- topmark-1.0.1/src/topmark.egg-info/SOURCES.txt +0 -519
- topmark-1.0.1/src/topmark.egg-info/requires.txt +0 -46
- topmark-1.0.1/tests/__init__.py +0 -13
- topmark-1.0.1/tests/api/public_api_snapshot.json +0 -20
- topmark-1.0.1/tests/api/test_api_check_and_strip.py +0 -190
- topmark-1.0.1/tests/api/test_api_core.py +0 -171
- topmark-1.0.1/tests/api/test_api_discovery_parity.py +0 -311
- topmark-1.0.1/tests/api/test_api_more.py +0 -109
- topmark-1.0.1/tests/api/test_api_policy_overlays.py +0 -271
- topmark-1.0.1/tests/api/test_api_probe.py +0 -143
- topmark-1.0.1/tests/api/test_api_smoke.py +0 -82
- topmark-1.0.1/tests/api/test_api_strip_report_scope.py +0 -56
- topmark-1.0.1/tests/api/test_buckets_check.py +0 -126
- topmark-1.0.1/tests/api/test_buckets_strip.py +0 -54
- topmark-1.0.1/tests/api/test_public_api_snapshot.py +0 -73
- topmark-1.0.1/tests/api/test_public_imports.py +0 -56
- topmark-1.0.1/tests/cli/__init__.py +0 -13
- topmark-1.0.1/tests/cli/conftest.py +0 -248
- topmark-1.0.1/tests/cli/machine/test_config_check_machine.py +0 -364
- topmark-1.0.1/tests/cli/machine/test_config_defaults_machine.py +0 -121
- topmark-1.0.1/tests/cli/machine/test_config_dump_machine.py +0 -275
- topmark-1.0.1/tests/cli/machine/test_config_init_machine.py +0 -122
- topmark-1.0.1/tests/cli/machine/test_probe_machine.py +0 -295
- topmark-1.0.1/tests/cli/machine/test_processing_machine.py +0 -429
- topmark-1.0.1/tests/cli/machine/test_registry_machine.py +0 -655
- topmark-1.0.1/tests/cli/machine/test_version_machine.py +0 -217
- topmark-1.0.1/tests/cli/test_apply_write_guard.py +0 -336
- topmark-1.0.1/tests/cli/test_check_exit_codes.py +0 -83
- topmark-1.0.1/tests/cli/test_command_applicability.py +0 -211
- topmark-1.0.1/tests/cli/test_completion.py +0 -115
- topmark-1.0.1/tests/cli/test_completion_integration.py +0 -153
- topmark-1.0.1/tests/cli/test_config_check_exit_codes.py +0 -130
- topmark-1.0.1/tests/cli/test_config_human_output.py +0 -214
- topmark-1.0.1/tests/cli/test_config_overrides.py +0 -215
- topmark-1.0.1/tests/cli/test_diff_output.py +0 -266
- topmark-1.0.1/tests/cli/test_file_type_and_skip_flags.py +0 -192
- topmark-1.0.1/tests/cli/test_filetypes.py +0 -49
- topmark-1.0.1/tests/cli/test_help_all.py +0 -114
- topmark-1.0.1/tests/cli/test_logging_flags.py +0 -66
- topmark-1.0.1/tests/cli/test_pipeline_human_output.py +0 -273
- topmark-1.0.1/tests/cli/test_policy_options.py +0 -225
- topmark-1.0.1/tests/cli/test_probe_exit_codes.py +0 -126
- topmark-1.0.1/tests/cli/test_probe_human_output.py +0 -184
- topmark-1.0.1/tests/cli/test_registry_human_output.py +0 -349
- topmark-1.0.1/tests/cli/test_smoke.py +0 -54
- topmark-1.0.1/tests/cli/test_state.py +0 -225
- topmark-1.0.1/tests/cli/test_stdin_content.py +0 -92
- topmark-1.0.1/tests/cli/test_stdin_errors.py +0 -132
- topmark-1.0.1/tests/cli/test_stdin_lists.py +0 -140
- topmark-1.0.1/tests/cli/test_strip.py +0 -296
- topmark-1.0.1/tests/cli/test_unified_check_apply.py +0 -73
- topmark-1.0.1/tests/cli/test_validators.py +0 -593
- topmark-1.0.1/tests/cli/test_version.py +0 -186
- topmark-1.0.1/tests/config/resolution/test_bridge.py +0 -61
- topmark-1.0.1/tests/config/test_config_deserializers.py +0 -496
- topmark-1.0.1/tests/config/test_config_resolution_discovery.py +0 -130
- topmark-1.0.1/tests/config/test_config_resolution_merge.py +0 -341
- topmark-1.0.1/tests/config/test_config_resolution_paths.py +0 -325
- topmark-1.0.1/tests/config/test_config_strictness_and_validity.py +0 -291
- topmark-1.0.1/tests/config/test_merge_semantics_invariants.py +0 -350
- topmark-1.0.1/tests/config/test_model_export.py +0 -126
- topmark-1.0.1/tests/config/test_policy_resolution.py +0 -685
- topmark-1.0.1/tests/conftest.py +0 -211
- topmark-1.0.1/tests/filetypes/test_base_registry.py +0 -39
- topmark-1.0.1/tests/filetypes/test_content_gate.py +0 -498
- topmark-1.0.1/tests/filetypes/test_instances_plugins.py +0 -70
- topmark-1.0.1/tests/helpers/api.py +0 -283
- topmark-1.0.1/tests/helpers/ndjson.py +0 -184
- topmark-1.0.1/tests/helpers/pipeline.py +0 -465
- topmark-1.0.1/tests/helpers/registry.py +0 -344
- topmark-1.0.1/tests/pipeline/__init__.py +0 -13
- topmark-1.0.1/tests/pipeline/integration/__init__.py +0 -13
- topmark-1.0.1/tests/pipeline/integration/test_comparer_e2e.py +0 -158
- topmark-1.0.1/tests/pipeline/integration/test_nested_config_e2e.py +0 -102
- topmark-1.0.1/tests/pipeline/steps/__init__.py +0 -13
- topmark-1.0.1/tests/pipeline/steps/test_comparer.py +0 -184
- topmark-1.0.1/tests/pipeline/steps/test_patcher.py +0 -237
- topmark-1.0.1/tests/pipeline/steps/test_planner.py +0 -271
- topmark-1.0.1/tests/pipeline/steps/test_prober.py +0 -126
- topmark-1.0.1/tests/pipeline/steps/test_reader.py +0 -580
- topmark-1.0.1/tests/pipeline/steps/test_resolver.py +0 -909
- topmark-1.0.1/tests/pipeline/steps/test_sniffer.py +0 -232
- topmark-1.0.1/tests/pipeline/steps/test_stripper.py +0 -329
- topmark-1.0.1/tests/pipeline/steps/test_writer.py +0 -256
- topmark-1.0.1/tests/pipeline/test_bom_shebang_policy.py +0 -172
- topmark-1.0.1/tests/pipeline/test_context_status.py +0 -194
- topmark-1.0.1/tests/pipeline/test_engine_path_configs.py +0 -191
- topmark-1.0.1/tests/pipeline/test_header_bounds_property.py +0 -151
- topmark-1.0.1/tests/pipeline/test_outcomes.py +0 -400
- topmark-1.0.1/tests/pipeline/test_registry_validation.py +0 -87
- topmark-1.0.1/tests/presentation/test_diagnostic_rendering.py +0 -309
- topmark-1.0.1/tests/presentation/test_diff_render.py +0 -107
- topmark-1.0.1/tests/presentation/test_pipeline_rendering.py +0 -409
- topmark-1.0.1/tests/presentation/test_registry_rendering.py +0 -509
- topmark-1.0.1/tests/processors/__init__.py +0 -13
- topmark-1.0.1/tests/processors/test_bom_newline_matrix.py +0 -153
- topmark-1.0.1/tests/processors/test_bounds_inclusive.py +0 -103
- topmark-1.0.1/tests/processors/test_cblock.py +0 -361
- topmark-1.0.1/tests/processors/test_markdown.py +0 -108
- topmark-1.0.1/tests/processors/test_mixins.py +0 -161
- topmark-1.0.1/tests/processors/test_pound.py +0 -909
- topmark-1.0.1/tests/processors/test_slash.py +0 -294
- topmark-1.0.1/tests/processors/test_slash_indent.py +0 -172
- topmark-1.0.1/tests/processors/test_xml.py +0 -741
- topmark-1.0.1/tests/processors/test_xml_anchor.py +0 -169
- topmark-1.0.1/tests/registry/test_filetype_identity.py +0 -245
- topmark-1.0.1/tests/registry/test_register_unregister.py +0 -85
- topmark-1.0.1/tests/registry/test_registry_facade.py +0 -57
- topmark-1.0.1/tests/registry/test_registry_public_api.py +0 -137
- topmark-1.0.1/tests/resolver/__init__.py +0 -13
- topmark-1.0.1/tests/resolver/test_discovery.py +0 -165
- topmark-1.0.1/tests/resolver/test_filters_and_types.py +0 -142
- topmark-1.0.1/tests/resolver/test_probe.py +0 -149
- topmark-1.0.1/tests/toml/test_getters.py +0 -398
- topmark-1.0.1/tests/toml/test_schema_validation_loading.py +0 -226
- topmark-1.0.1/tests/toml/test_schema_validation_missing_sections.py +0 -119
- topmark-1.0.1/tests/toml/test_schema_validation_policy.py +0 -200
- topmark-1.0.1/tests/toml/test_schema_validation_special_section.py +0 -181
- topmark-1.0.1/tests/toml/test_schema_validation_top_level.py +0 -248
- topmark-1.0.1/tests/toml/test_surgery.py +0 -243
- topmark-1.0.1/tests/toml/test_template_surgery.py +0 -245
- topmark-1.0.1/tests/unit/__init__.py +0 -13
- topmark-1.0.1/tests/unit/test_enum_mixins.py +0 -106
- topmark-1.0.1/tests/unit/test_processor_key_token.py +0 -241
- topmark-1.0.1/tests/unit/test_resolve_file_list.py +0 -933
- topmark-1.0.1/tools/api_snapshot.py +0 -125
- topmark-1.0.1/tools/ci/audit_action_pins.py +0 -455
- topmark-1.0.1/tools/docs/__init__.py +0 -22
- topmark-1.0.1/tools/docs/check_code_hygiene.py +0 -167
- topmark-1.0.1/tools/docs/check_docs_hygiene.py +0 -1026
- topmark-1.0.1/tools/docs/docs_utils.py +0 -617
- topmark-1.0.1/tools/docs/gen_api_pages.py +0 -884
- topmark-1.0.1/tools/docs/hooks.py +0 -487
- topmark-1.0.1/typings/mkdocs_gen_files/__init__.pyi +0 -18
- topmark-1.0.1/uv.lock +0 -1934
- {topmark-1.0.1 → topmark-2.0.0}/.editorconfig +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.gitattributes +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.github/dependabot.yml +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.markdownlint.jsonc +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.mdformat.toml +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.pre-commit-hooks.yaml +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.pypirc.example +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/.taplo.toml +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/LICENSE +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/_snippets/.markdownlint.jsonc +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/_snippets/api-internal-overrides.md +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/_snippets/output-contract-no-quiet.md +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/_snippets/output-contract.md +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/_snippets/terminology.md +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/assets/favicon.ico +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/assets/topmark-logo.png +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/docs/usage/upgrading-to-1.0.md +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/mypy.ini +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/setup.cfg +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/__main__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/api/commands/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/api/commands/version.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/commands/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/click_console.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/color.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/protocols.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/standard_console.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/console/utils.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/cli/emitters/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/io/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/machine/envelopes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/machine/schemas.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/paths.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/resolution/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/resolution/synthetic.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/types.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/config/validation.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/formats.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/machine/envelopes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/machine/serializers.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/merge.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/outcomes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/core/typing_guards.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/diagnostic/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/diagnostic/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/diagnostic/machine/envelopes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/diagnostic/machine/schemas.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/diagnostic/types.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/builtins/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/builtins/core_langs.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/builtins/ops.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/builtins/scripting.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/builtins/web.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/checks/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/checks/json_like.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/checks/xml.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/detectors/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/instances.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/filetypes/policy.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/pipeline/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/pipeline/context/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/pipeline/policy_whitespace.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/pipeline/steps/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/pipeline/synthetic.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/formatters/filetypes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/formatters/unified_diff.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/formatters/utils.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/markdown/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/markdown/config.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/markdown/diagnostic.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/markdown/version.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/shared/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/shared/config.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/shared/diagnostic.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/shared/version.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/text/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/text/config.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/text/diagnostic.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/text/utils.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/presentation/text/version.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/processors/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/processors/bindings.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/processors/builtins/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/processors/builtins/pound.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/processors/builtins/slash.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/py.typed +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/registry/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/registry/identity.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/registry/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/registry/machine/envelopes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/resolution/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/resolution/discovery.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/runtime/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/runtime/writer_options.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/enums.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/getters.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/parse.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/pyproject.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/render.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/types.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/typing_guards.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/toml/utils.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/utils/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/utils/merge.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/utils/timestamp.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/machine/__init__.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/machine/envelopes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/machine/payloads.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/machine/schemas.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/runtime.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark/version/types.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark.egg-info/dependency_links.txt +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark.egg-info/entry_points.txt +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/src/topmark.egg-info/top_level.txt +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/api/conftest.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/api/test_api_additional.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/api/test_public_api_views.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_config_dump_output.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_diff_edge_cases.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_include_exclude_precedence.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_no_files.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_unmatched_glob_exit_codes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/cli/test_write_error_exit_codes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/config/test_config_validation_error.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/config/test_io.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/filetypes/test_builtin_module_inventory.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/config.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/diagnostics.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/io.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/json.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/toml.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/helpers/version.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/presentation/conftest.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_anchor_helper.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_base_registry.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_builtin_module_inventory.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_cblock_affixes.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_final_newline_policy.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_idempotency.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_multiple_headers.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_registry_linkage.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_replace_path_normalization.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/processors/test_xml_single_line_roundtrip.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/registry/test_registry_linkage.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/registry/test_registry_one_step.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/registry/test_registry_overlays.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/registry/test_resolver.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/snapshots.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/strategies_topmark.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/toml/conftest.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tests/utils/test_merge.py +0 -0
- {topmark-1.0.1 → topmark-2.0.0}/tools/__init__.py +0 -0
topmark-2.0.0/.bake.toml
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# topmark:header:start
|
|
2
|
+
#
|
|
3
|
+
# project : TopMark
|
|
4
|
+
# file : .bake.toml
|
|
5
|
+
# file_relpath : .bake.toml
|
|
6
|
+
# license : MIT
|
|
7
|
+
# copyright : (c) 2025 Olivier Biot
|
|
8
|
+
#
|
|
9
|
+
# topmark:header:end
|
|
10
|
+
|
|
11
|
+
# mbake configuration file
|
|
12
|
+
# Generated with: mbake init
|
|
13
|
+
|
|
14
|
+
# Global settings
|
|
15
|
+
debug = false
|
|
16
|
+
verbose = false
|
|
17
|
+
|
|
18
|
+
# Error message formatting
|
|
19
|
+
gnu_error_format = true
|
|
20
|
+
wrap_error_messages = false
|
|
21
|
+
|
|
22
|
+
[formatter]
|
|
23
|
+
# Spacing settings - enable proper spacing
|
|
24
|
+
space_around_assignment = true
|
|
25
|
+
space_before_colon = false
|
|
26
|
+
space_after_colon = true
|
|
27
|
+
|
|
28
|
+
# Line continuation settings
|
|
29
|
+
normalize_line_continuations = true
|
|
30
|
+
max_line_length = 120
|
|
31
|
+
|
|
32
|
+
# PHONY settings
|
|
33
|
+
group_phony_declarations = false
|
|
34
|
+
phony_at_top = true
|
|
35
|
+
auto_insert_phony_declarations = true
|
|
36
|
+
|
|
37
|
+
# General settings - enable proper formatting
|
|
38
|
+
remove_trailing_whitespace = true
|
|
39
|
+
ensure_final_newline = true
|
|
40
|
+
normalize_empty_lines = true
|
|
41
|
+
max_consecutive_empty_lines = 2
|
|
42
|
+
fix_missing_recipe_tabs = true
|
|
43
|
+
|
|
44
|
+
# Conditional formatting settings (Default disabled)
|
|
45
|
+
indent_nested_conditionals = false
|
|
46
|
+
# Indentation settings
|
|
47
|
+
tab_width = 2
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# topmark:header:start
|
|
2
|
+
#
|
|
3
|
+
# project : TopMark
|
|
4
|
+
# file : action.yml
|
|
5
|
+
# file_relpath : .github/actions/setup-python-nox/action.yml
|
|
6
|
+
# license : MIT
|
|
7
|
+
# copyright : (c) 2025 Olivier Biot
|
|
8
|
+
#
|
|
9
|
+
# topmark:header:end
|
|
10
|
+
|
|
11
|
+
name: Setup Python + nox
|
|
12
|
+
|
|
13
|
+
description: >-
|
|
14
|
+
Shared bootstrap for GitHub Actions jobs that need Python, uv caching, and the nox toolchain.
|
|
15
|
+
|
|
16
|
+
inputs:
|
|
17
|
+
python-version:
|
|
18
|
+
description: >-
|
|
19
|
+
Python version to install. Workflows should pass the resolved canonical Python version when
|
|
20
|
+
running project checks, or an explicit bootstrap version when resolving metadata.
|
|
21
|
+
required: false
|
|
22
|
+
default: "3.x"
|
|
23
|
+
|
|
24
|
+
runs:
|
|
25
|
+
using: composite
|
|
26
|
+
steps:
|
|
27
|
+
- id: setup-python
|
|
28
|
+
name: Set up Python
|
|
29
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
30
|
+
with:
|
|
31
|
+
python-version: ${{ inputs.python-version }}
|
|
32
|
+
|
|
33
|
+
- name: Set up uv
|
|
34
|
+
uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0
|
|
35
|
+
with:
|
|
36
|
+
version: "0.13.x"
|
|
37
|
+
python-version: ${{ steps.setup-python.outputs.python-version }}
|
|
38
|
+
enable-cache: false
|
|
39
|
+
|
|
40
|
+
- name: Cache uv
|
|
41
|
+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
42
|
+
with:
|
|
43
|
+
path: ~/.cache/uv
|
|
44
|
+
key: ${{ runner.os }}-py${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('.python-version', 'pyproject.toml', 'uv.lock', 'noxfile.py') }}
|
|
45
|
+
restore-keys: |
|
|
46
|
+
${{ runner.os }}-py${{ steps.setup-python.outputs.python-version }}-
|
|
47
|
+
|
|
48
|
+
- name: Bootstrap nox
|
|
49
|
+
shell: bash
|
|
50
|
+
run: |
|
|
51
|
+
set -euo pipefail
|
|
52
|
+
uv pip install --system nox nox-uv
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# topmark:header:start
|
|
2
|
+
#
|
|
3
|
+
# project : TopMark
|
|
4
|
+
# file : action-pin-audit.yml
|
|
5
|
+
# file_relpath : .github/workflows/action-pin-audit.yml
|
|
6
|
+
# license : MIT
|
|
7
|
+
# copyright : (c) 2025 Olivier Biot
|
|
8
|
+
#
|
|
9
|
+
# topmark:header:end
|
|
10
|
+
|
|
11
|
+
name: GitHub Actions Pin Audit
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
schedule:
|
|
15
|
+
- cron: "17 6 * * 1"
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
pull_request:
|
|
18
|
+
paths:
|
|
19
|
+
- ".github/workflows/**"
|
|
20
|
+
- ".github/actions/**"
|
|
21
|
+
- "tools/ci/audit_action_pins.py"
|
|
22
|
+
|
|
23
|
+
permissions:
|
|
24
|
+
contents: read
|
|
25
|
+
|
|
26
|
+
concurrency:
|
|
27
|
+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
28
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
audit-action-pins:
|
|
32
|
+
name: Audit action pin consistency
|
|
33
|
+
runs-on: ubuntu-26.04
|
|
34
|
+
timeout-minutes: 5
|
|
35
|
+
|
|
36
|
+
steps:
|
|
37
|
+
- name: Check out repository
|
|
38
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
39
|
+
|
|
40
|
+
- name: Audit GitHub Action pin consistency
|
|
41
|
+
shell: bash
|
|
42
|
+
run: |
|
|
43
|
+
set -euo pipefail
|
|
44
|
+
python tools/ci/audit_action_pins.py
|