hilt-core 1.0.0rc1__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.
- hilt_core-1.0.0rc1/.githooks/commit-msg +5 -0
- hilt_core-1.0.0rc1/.githooks/pre-commit +12 -0
- hilt_core-1.0.0rc1/.gitignore +35 -0
- hilt_core-1.0.0rc1/.gitlab/merge_request_templates/Release.md +89 -0
- hilt_core-1.0.0rc1/.python-version +1 -0
- hilt_core-1.0.0rc1/CHANGELOG.md +766 -0
- hilt_core-1.0.0rc1/LICENSE +202 -0
- hilt_core-1.0.0rc1/Makefile +183 -0
- hilt_core-1.0.0rc1/NOTICE +16 -0
- hilt_core-1.0.0rc1/PKG-INFO +226 -0
- hilt_core-1.0.0rc1/README.md +190 -0
- hilt_core-1.0.0rc1/STANDARDS.md +213 -0
- hilt_core-1.0.0rc1/artifacts/.gitkeep +2 -0
- hilt_core-1.0.0rc1/bench/FRICTION.md +290 -0
- hilt_core-1.0.0rc1/bench/README.md +80 -0
- hilt_core-1.0.0rc1/bench/__init__.py +10 -0
- hilt_core-1.0.0rc1/bench/_common.py +64 -0
- hilt_core-1.0.0rc1/bench/can_pair.py +64 -0
- hilt_core-1.0.0rc1/bench/coap_server.py +140 -0
- hilt_core-1.0.0rc1/bench/gpio_sim.py +109 -0
- hilt_core-1.0.0rc1/bench/i2c_stub.py +52 -0
- hilt_core-1.0.0rc1/bench/pihole.py +188 -0
- hilt_core-1.0.0rc1/bench/qemu_ssh.py +276 -0
- hilt_core-1.0.0rc1/bench/root_setup.sh +42 -0
- hilt_core-1.0.0rc1/bench/serial_pair.py +217 -0
- hilt_core-1.0.0rc1/bench/suites/__init__.py +6 -0
- hilt_core-1.0.0rc1/bench/suites/coap_device.py +153 -0
- hilt_core-1.0.0rc1/bench/suites/gpio_lines.py +201 -0
- hilt_core-1.0.0rc1/bench/suites/guest_acceptance.py +273 -0
- hilt_core-1.0.0rc1/bench/suites/pihole_lab.py +12 -0
- hilt_core-1.0.0rc1/bench/suites/pihole_rack.py +342 -0
- hilt_core-1.0.0rc1/bench/suites/rack.py +36 -0
- hilt_core-1.0.0rc1/bench/suites/serial_console.py +172 -0
- hilt_core-1.0.0rc1/bench/suites/ssh_lab.py +12 -0
- hilt_core-1.0.0rc1/dist-rc/.gitignore +1 -0
- hilt_core-1.0.0rc1/docs/api-stability.md +223 -0
- hilt_core-1.0.0rc1/docs/api.md +47 -0
- hilt_core-1.0.0rc1/docs/contracts.md +374 -0
- hilt_core-1.0.0rc1/docs/floor-technician.md +226 -0
- hilt_core-1.0.0rc1/docs/getting-started.md +142 -0
- hilt_core-1.0.0rc1/docs/hil/can.md +339 -0
- hilt_core-1.0.0rc1/docs/hil/device-api.md +495 -0
- hilt_core-1.0.0rc1/docs/hil/gpio.md +239 -0
- hilt_core-1.0.0rc1/docs/hil/i2c-spi.md +331 -0
- hilt_core-1.0.0rc1/docs/hil/index.md +89 -0
- hilt_core-1.0.0rc1/docs/hil/pwm.md +237 -0
- hilt_core-1.0.0rc1/docs/hil/serial.md +320 -0
- hilt_core-1.0.0rc1/docs/hilt-check.md +125 -0
- hilt_core-1.0.0rc1/docs/hilt-new.md +57 -0
- hilt_core-1.0.0rc1/docs/hilt-run.md +102 -0
- hilt_core-1.0.0rc1/docs/idioms.md +845 -0
- hilt_core-1.0.0rc1/docs/index.md +23 -0
- hilt_core-1.0.0rc1/docs/inspector-json.md +254 -0
- hilt_core-1.0.0rc1/docs/inspector.md +536 -0
- hilt_core-1.0.0rc1/docs/junit-xml.md +79 -0
- hilt_core-1.0.0rc1/docs/measurements.md +455 -0
- hilt_core-1.0.0rc1/docs/overview.md +241 -0
- hilt_core-1.0.0rc1/docs/schema/artifact-v1.schema.json +37 -0
- hilt_core-1.0.0rc1/docs/schema/result-v1.schema.json +238 -0
- hilt_core-1.0.0rc1/docs/schema/timeline-v1.schema.json +62 -0
- hilt_core-1.0.0rc1/docs/utilities.md +110 -0
- hilt_core-1.0.0rc1/examples/__init__.py +1 -0
- hilt_core-1.0.0rc1/examples/hardware_device_lifecycle.py +233 -0
- hilt_core-1.0.0rc1/examples/hello_world.py +57 -0
- hilt_core-1.0.0rc1/examples/networked_device.py +231 -0
- hilt_core-1.0.0rc1/examples/pi_hole_server.py +351 -0
- hilt_core-1.0.0rc1/examples/remote_device_ssh.py +137 -0
- hilt_core-1.0.0rc1/examples/run_data_evidence.py +140 -0
- hilt_core-1.0.0rc1/examples/ssh_tunneling.py +151 -0
- hilt_core-1.0.0rc1/examples/test_composition.py +145 -0
- hilt_core-1.0.0rc1/examples/wait_for_patterns.py +225 -0
- hilt_core-1.0.0rc1/hero.png +0 -0
- hilt_core-1.0.0rc1/mkdocs.yml +79 -0
- hilt_core-1.0.0rc1/pyproject.toml +223 -0
- hilt_core-1.0.0rc1/src/hilt/__init__.py +113 -0
- hilt_core-1.0.0rc1/src/hilt/arp.py +276 -0
- hilt_core-1.0.0rc1/src/hilt/artifacts.py +55 -0
- hilt_core-1.0.0rc1/src/hilt/base.py +2156 -0
- hilt_core-1.0.0rc1/src/hilt/cli.py +534 -0
- hilt_core-1.0.0rc1/src/hilt/device_api.py +1164 -0
- hilt_core-1.0.0rc1/src/hilt/errors.py +836 -0
- hilt_core-1.0.0rc1/src/hilt/evidence.py +116 -0
- hilt_core-1.0.0rc1/src/hilt/executor.py +349 -0
- hilt_core-1.0.0rc1/src/hilt/hooks.py +140 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_app.py +654 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_artifact_navigation.py +141 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_artifact_view.py +261 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_artifacts.py +114 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_json.py +78 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_rerun.py +312 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_run.py +121 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_selection.py +109 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_timeline.py +149 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_timeline_view.py +143 -0
- hilt_core-1.0.0rc1/src/hilt/inspector_tree.py +186 -0
- hilt_core-1.0.0rc1/src/hilt/junit.py +149 -0
- hilt_core-1.0.0rc1/src/hilt/lifecycle.py +734 -0
- hilt_core-1.0.0rc1/src/hilt/measurement.py +273 -0
- hilt_core-1.0.0rc1/src/hilt/mock.py +113 -0
- hilt_core-1.0.0rc1/src/hilt/py.typed +0 -0
- hilt_core-1.0.0rc1/src/hilt/redaction.py +132 -0
- hilt_core-1.0.0rc1/src/hilt/remote.py +257 -0
- hilt_core-1.0.0rc1/src/hilt/results.py +189 -0
- hilt_core-1.0.0rc1/src/hilt/routing.py +698 -0
- hilt_core-1.0.0rc1/src/hilt/run_data.py +132 -0
- hilt_core-1.0.0rc1/src/hilt/scaffold.py +222 -0
- hilt_core-1.0.0rc1/src/hilt/serial.py +665 -0
- hilt_core-1.0.0rc1/src/hilt/ssh.py +431 -0
- hilt_core-1.0.0rc1/src/hilt/timeline.py +140 -0
- hilt_core-1.0.0rc1/src/hilt/utils.py +1701 -0
- hilt_core-1.0.0rc1/src/hilt/verdict.py +94 -0
- hilt_core-1.0.0rc1/tests/conftest.py +97 -0
- hilt_core-1.0.0rc1/tests/fake_console.py +332 -0
- hilt_core-1.0.0rc1/tests/fixtures/hilt_check/clean_suite.py +43 -0
- hilt_core-1.0.0rc1/tests/fixtures/hilt_check/seeded_seams.py +37 -0
- hilt_core-1.0.0rc1/tests/fixtures/hilt_check/seeded_suite.py +113 -0
- hilt_core-1.0.0rc1/tests/inspector_rack.py +197 -0
- hilt_core-1.0.0rc1/tests/loopback_sshd.py +243 -0
- hilt_core-1.0.0rc1/tests/mock_connector.py +46 -0
- hilt_core-1.0.0rc1/tests/test_abort_phase_matrix.py +407 -0
- hilt_core-1.0.0rc1/tests/test_arp.py +388 -0
- hilt_core-1.0.0rc1/tests/test_artifacts.py +152 -0
- hilt_core-1.0.0rc1/tests/test_attribution_check.py +181 -0
- hilt_core-1.0.0rc1/tests/test_author_error_messages.py +792 -0
- hilt_core-1.0.0rc1/tests/test_base.py +195 -0
- hilt_core-1.0.0rc1/tests/test_base_subtree.py +156 -0
- hilt_core-1.0.0rc1/tests/test_check_constructor_hooks.py +182 -0
- hilt_core-1.0.0rc1/tests/test_check_ctx_provenance.py +483 -0
- hilt_core-1.0.0rc1/tests/test_check_env_via_utils.py +128 -0
- hilt_core-1.0.0rc1/tests/test_check_evidence_fulfilled.py +207 -0
- hilt_core-1.0.0rc1/tests/test_check_evidence_shadows_ctx.py +308 -0
- hilt_core-1.0.0rc1/tests/test_check_gated_pass.py +182 -0
- hilt_core-1.0.0rc1/tests/test_check_immutable_self.py +189 -0
- hilt_core-1.0.0rc1/tests/test_check_logger_not_print.py +107 -0
- hilt_core-1.0.0rc1/tests/test_check_measurement_in_node.py +169 -0
- hilt_core-1.0.0rc1/tests/test_check_measurement_name_unique.py +184 -0
- hilt_core-1.0.0rc1/tests/test_check_method_reference.py +141 -0
- hilt_core-1.0.0rc1/tests/test_check_model_resolution_failure.py +215 -0
- hilt_core-1.0.0rc1/tests/test_check_no_input_fallback.py +286 -0
- hilt_core-1.0.0rc1/tests/test_check_no_swallowed_cancel.py +156 -0
- hilt_core-1.0.0rc1/tests/test_check_no_verdict_in_cleanup.py +136 -0
- hilt_core-1.0.0rc1/tests/test_check_pure_build_suite.py +213 -0
- hilt_core-1.0.0rc1/tests/test_check_raise_test_failure.py +161 -0
- hilt_core-1.0.0rc1/tests/test_check_retired_names.py +145 -0
- hilt_core-1.0.0rc1/tests/test_check_shell_in_configure.py +205 -0
- hilt_core-1.0.0rc1/tests/test_check_unannotated_interface.py +171 -0
- hilt_core-1.0.0rc1/tests/test_cli.py +595 -0
- hilt_core-1.0.0rc1/tests/test_cli_inspect.py +304 -0
- hilt_core-1.0.0rc1/tests/test_composition.py +301 -0
- hilt_core-1.0.0rc1/tests/test_composition_properties.py +354 -0
- hilt_core-1.0.0rc1/tests/test_context_locality.py +131 -0
- hilt_core-1.0.0rc1/tests/test_context_sufficiency.py +366 -0
- hilt_core-1.0.0rc1/tests/test_credential_containment.py +333 -0
- hilt_core-1.0.0rc1/tests/test_device_api.py +1258 -0
- hilt_core-1.0.0rc1/tests/test_docs_site.py +201 -0
- hilt_core-1.0.0rc1/tests/test_env.py +169 -0
- hilt_core-1.0.0rc1/tests/test_errors.py +220 -0
- hilt_core-1.0.0rc1/tests/test_evidence_containment.py +61 -0
- hilt_core-1.0.0rc1/tests/test_evidence_on_verdict.py +377 -0
- hilt_core-1.0.0rc1/tests/test_examples.py +981 -0
- hilt_core-1.0.0rc1/tests/test_executor.py +583 -0
- hilt_core-1.0.0rc1/tests/test_floor_technician_guide.py +58 -0
- hilt_core-1.0.0rc1/tests/test_hilt_check.py +230 -0
- hilt_core-1.0.0rc1/tests/test_hooks.py +650 -0
- hilt_core-1.0.0rc1/tests/test_import_cycles.py +177 -0
- hilt_core-1.0.0rc1/tests/test_in_flight_termination.py +217 -0
- hilt_core-1.0.0rc1/tests/test_inspector_app.py +726 -0
- hilt_core-1.0.0rc1/tests/test_inspector_artifact_navigation.py +232 -0
- hilt_core-1.0.0rc1/tests/test_inspector_artifact_view.py +340 -0
- hilt_core-1.0.0rc1/tests/test_inspector_artifacts.py +251 -0
- hilt_core-1.0.0rc1/tests/test_inspector_rerun.py +311 -0
- hilt_core-1.0.0rc1/tests/test_inspector_run.py +355 -0
- hilt_core-1.0.0rc1/tests/test_inspector_schema.py +353 -0
- hilt_core-1.0.0rc1/tests/test_inspector_selection.py +297 -0
- hilt_core-1.0.0rc1/tests/test_inspector_timeline.py +233 -0
- hilt_core-1.0.0rc1/tests/test_inspector_timeline_paths.py +204 -0
- hilt_core-1.0.0rc1/tests/test_inspector_timeline_view.py +260 -0
- hilt_core-1.0.0rc1/tests/test_inspector_tree.py +340 -0
- hilt_core-1.0.0rc1/tests/test_integration_hooks.py +633 -0
- hilt_core-1.0.0rc1/tests/test_junit.py +362 -0
- hilt_core-1.0.0rc1/tests/test_lifecycle.py +692 -0
- hilt_core-1.0.0rc1/tests/test_lifecycle_engine.py +298 -0
- hilt_core-1.0.0rc1/tests/test_lsp.py +102 -0
- hilt_core-1.0.0rc1/tests/test_lsp_actions.py +431 -0
- hilt_core-1.0.0rc1/tests/test_lsp_edges.py +448 -0
- hilt_core-1.0.0rc1/tests/test_measurements.py +690 -0
- hilt_core-1.0.0rc1/tests/test_mock.py +126 -0
- hilt_core-1.0.0rc1/tests/test_nightly_soak.py +331 -0
- hilt_core-1.0.0rc1/tests/test_operator_interrupt.py +437 -0
- hilt_core-1.0.0rc1/tests/test_parallel.py +158 -0
- hilt_core-1.0.0rc1/tests/test_parent_route.py +342 -0
- hilt_core-1.0.0rc1/tests/test_public_surface.py +212 -0
- hilt_core-1.0.0rc1/tests/test_pylsp_plugin.py +196 -0
- hilt_core-1.0.0rc1/tests/test_rack_scale.py +383 -0
- hilt_core-1.0.0rc1/tests/test_redact_ctx.py +536 -0
- hilt_core-1.0.0rc1/tests/test_remote.py +294 -0
- hilt_core-1.0.0rc1/tests/test_results.py +413 -0
- hilt_core-1.0.0rc1/tests/test_routing.py +715 -0
- hilt_core-1.0.0rc1/tests/test_run_data.py +195 -0
- hilt_core-1.0.0rc1/tests/test_scaffold.py +341 -0
- hilt_core-1.0.0rc1/tests/test_serial.py +644 -0
- hilt_core-1.0.0rc1/tests/test_shell_in_configure.py +213 -0
- hilt_core-1.0.0rc1/tests/test_smoke.py +13 -0
- hilt_core-1.0.0rc1/tests/test_ssh.py +1181 -0
- hilt_core-1.0.0rc1/tests/test_structural_contracts.py +259 -0
- hilt_core-1.0.0rc1/tests/test_three_way_race.py +222 -0
- hilt_core-1.0.0rc1/tests/test_time_budget.py +982 -0
- hilt_core-1.0.0rc1/tests/test_timeline.py +287 -0
- hilt_core-1.0.0rc1/tests/test_transport_contract.py +276 -0
- hilt_core-1.0.0rc1/tests/test_transport_faults.py +258 -0
- hilt_core-1.0.0rc1/tests/test_typed_ctx.py +132 -0
- hilt_core-1.0.0rc1/tests/test_utils.py +912 -0
- hilt_core-1.0.0rc1/tests/test_verdict.py +93 -0
- hilt_core-1.0.0rc1/tools/attribution_check.py +184 -0
- hilt_core-1.0.0rc1/tools/coverage_floor.py +97 -0
- hilt_core-1.0.0rc1/tools/dependency_update.py +163 -0
- hilt_core-1.0.0rc1/tools/hilt_check/__init__.py +29 -0
- hilt_core-1.0.0rc1/tools/hilt_check/__main__.py +5 -0
- hilt_core-1.0.0rc1/tools/hilt_check/checker.py +70 -0
- hilt_core-1.0.0rc1/tools/hilt_check/cli.py +125 -0
- hilt_core-1.0.0rc1/tools/hilt_check/fixes.py +350 -0
- hilt_core-1.0.0rc1/tools/hilt_check/lsp.py +338 -0
- hilt_core-1.0.0rc1/tools/hilt_check/model.py +203 -0
- hilt_core-1.0.0rc1/tools/hilt_check/py.typed +0 -0
- hilt_core-1.0.0rc1/tools/hilt_check/pylsp_plugin.py +137 -0
- hilt_core-1.0.0rc1/tools/hilt_check/registry.py +74 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/__init__.py +6 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/constructor_hooks.py +83 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/ctx_provenance.py +462 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/env_via_utils.py +82 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/evidence_fulfilled.py +171 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/evidence_shadows_ctx.py +131 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/gated_pass.py +79 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/immutable_self.py +121 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/logger_not_print.py +50 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/measurement_in_node.py +115 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/measurement_name_unique.py +93 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/method_reference.py +98 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/model_resolution_failure.py +144 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/no_input_fallback.py +277 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/no_swallowed_cancel.py +109 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/no_verdict_in_cleanup.py +91 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/pure_build_suite.py +124 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/raise_test_failure.py +144 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/retired_names.py +71 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/shell_in_configure.py +82 -0
- hilt_core-1.0.0rc1/tools/hilt_check/rules/unannotated_interface.py +177 -0
- hilt_core-1.0.0rc1/tools/import_cycles.py +254 -0
- hilt_core-1.0.0rc1/tools/nightly_soak.py +312 -0
- hilt_core-1.0.0rc1/uv.lock +1668 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Refuse a commit message that credits an assistant (#149): a Co-Authored-By naming one,
|
|
3
|
+
# a "Generated with" footer, a session link. The record names people; the repo is public.
|
|
4
|
+
# make check runs the same check over origin/main..HEAD for a clone without the hook.
|
|
5
|
+
exec uv run python tools/attribution_check.py --message "$1"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Auto-format and auto-fix staged Python files, re-staging the fixes.
|
|
3
|
+
# Unfixable lint errors still block the commit.
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
files=$(git diff --cached --name-only --diff-filter=ACMR -- '*.py')
|
|
7
|
+
[ -z "$files" ] && exit 0
|
|
8
|
+
|
|
9
|
+
uv run ruff format $files
|
|
10
|
+
uv run ruff check --fix $files || true
|
|
11
|
+
git add $files
|
|
12
|
+
uv run ruff check $files
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
.smoke/
|
|
7
|
+
build/
|
|
8
|
+
site/
|
|
9
|
+
|
|
10
|
+
# Environments
|
|
11
|
+
.venv/
|
|
12
|
+
|
|
13
|
+
# Tool caches
|
|
14
|
+
.pytest_cache/
|
|
15
|
+
.hypothesis/
|
|
16
|
+
.ruff_cache/
|
|
17
|
+
.coverage/
|
|
18
|
+
.audit/
|
|
19
|
+
.soak/
|
|
20
|
+
htmlcov/
|
|
21
|
+
.mutants/
|
|
22
|
+
|
|
23
|
+
# Editors
|
|
24
|
+
.idea/
|
|
25
|
+
.vscode/
|
|
26
|
+
|
|
27
|
+
# Secrets — GitLab project access tokens live in the working tree as *.gplat.
|
|
28
|
+
# This rule was present before the scaffold commit and was lost when that commit
|
|
29
|
+
# rewrote the file; restored here. Without it `git add -A` in a fresh clone
|
|
30
|
+
# commits a live credential.
|
|
31
|
+
*.gplat
|
|
32
|
+
|
|
33
|
+
# Evidence written by a run from the repo root. Keep the directory, never its contents.
|
|
34
|
+
artifacts/*
|
|
35
|
+
!artifacts/.gitkeep
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Release evidence
|
|
2
|
+
|
|
3
|
+
Version: <!-- MAJOR.MINOR.PATCH -->
|
|
4
|
+
Candidate commit: <!-- full SHA; refresh the evidence if the candidate changes -->
|
|
5
|
+
Previous release: <!-- tag, or "initial Python release" -->
|
|
6
|
+
Release issue: <!-- link -->
|
|
7
|
+
|
|
8
|
+
State what changed for the suite author and the Floor Technician. Link the dated
|
|
9
|
+
changelog section and name any upgrade action before requesting review.
|
|
10
|
+
|
|
11
|
+
## Before the release cut
|
|
12
|
+
|
|
13
|
+
- [ ] Read `docs/overview.md`, `docs/contracts.md`, and `docs/idioms.md` in full.
|
|
14
|
+
Verify the candidate preserves runtime hardware and verdict integrity.
|
|
15
|
+
- [ ] Confirm the release scope and go/no-go decision with Ty and Zavala. For the
|
|
16
|
+
initial release, record outstanding phase exit criteria and their disposition;
|
|
17
|
+
merged hardening tooling alone does not establish release readiness.
|
|
18
|
+
- [ ] Resolve the distribution name and availability under
|
|
19
|
+
[#9](https://gitlab.com/Tyler-Meador/HILT/-/issues/9). Do not infer a publish
|
|
20
|
+
target from the current `hilt` development metadata. The legacy repositories
|
|
21
|
+
remain untouched; the decision leaves the TypeScript repository alone.
|
|
22
|
+
- [ ] Verify [#103](https://gitlab.com/Tyler-Meador/HILT/-/issues/103) supplies
|
|
23
|
+
the approved name, README, classifiers, URLs, and other package metadata, and
|
|
24
|
+
[#102](https://gitlab.com/Tyler-Meador/HILT/-/issues/102) supplies the wheel
|
|
25
|
+
build and clean-install smoke test (`make smoke`, run by the gate). There is no
|
|
26
|
+
publish pipeline: `make build` and the upload are bench steps below (#138).
|
|
27
|
+
These are prerequisites, not capabilities supplied by this checklist.
|
|
28
|
+
- [ ] Review the version against `docs/api-stability.md`. If a promise changes, link
|
|
29
|
+
Ty's `needs-sign-off` decision and update the public surface, reference table,
|
|
30
|
+
documenting section, and changelog together. Apply the deprecation policy from 1.0.0.
|
|
31
|
+
|
|
32
|
+
## Candidate validation
|
|
33
|
+
|
|
34
|
+
- [ ] Run `uv sync --locked` and `make check` on the candidate at the bench (there is
|
|
35
|
+
no CI). State "green locally" on the MR and record the commit, test count, coverage
|
|
36
|
+
floors, strict docs build, and locked-dependency audit results. No checks or floors
|
|
37
|
+
are weakened.
|
|
38
|
+
- [ ] Run `make soak` on the candidate and link all eight successful full-suite runs.
|
|
39
|
+
For the initial release, one recorded bench soak on the candidate head is the
|
|
40
|
+
Phase 6 exit (Ty, 2026-09-11 on #138): `make nightly-record` green, rack repeats
|
|
41
|
+
included, posted to [#68](https://gitlab.com/Tyler-Meador/HILT/-/issues/68).
|
|
42
|
+
Link that note.
|
|
43
|
+
- [ ] Run `make build` at the bench (`uv build` into `dist/`). Inspect both wheel and
|
|
44
|
+
source distribution; verify the version, metadata, license, and packaged modules.
|
|
45
|
+
- [ ] Link the clean-environment wheel smoke test from #102: `hilt-check --list-rules`
|
|
46
|
+
and `hilt run examples/hello_world.py` succeed using the installed wheel and a
|
|
47
|
+
copied example outside the source checkout. Verify the expected PASS exit and
|
|
48
|
+
generated evidence, and that imports resolve to the installed distribution.
|
|
49
|
+
- [ ] Confirm `make docs` builds strictly. The site is not hosted: the release branch
|
|
50
|
+
cut below carries the build under `docs/site/`. Record the branch path readers
|
|
51
|
+
will be given.
|
|
52
|
+
|
|
53
|
+
## Changelog cut and review
|
|
54
|
+
|
|
55
|
+
- [ ] Reconcile every notable merged change since the previous release with
|
|
56
|
+
`CHANGELOG.md`. For the initial Python release, retain the six-phase migration
|
|
57
|
+
history and the subsequent hardening/refinement entries; do not assign invented
|
|
58
|
+
versions or release dates to those phases.
|
|
59
|
+
- [ ] Move the selected Unreleased entries to `## [VERSION] - YYYY-MM-DD`, using the
|
|
60
|
+
actual release version and date. Leave a fresh Unreleased section for later MRs;
|
|
61
|
+
refresh its historical cutoff text and any release comparison links.
|
|
62
|
+
- [ ] Set the matching distribution version in `pyproject.toml`, refresh `uv.lock`
|
|
63
|
+
with uv, and rerun validation on the final candidate. `hilt.__version__` must
|
|
64
|
+
report the installed version.
|
|
65
|
+
- [ ] Request Commander Zavala's review with the evidence above. Leave the MR open
|
|
66
|
+
for him: only Zavala merges to `main`; never push the release commit there directly.
|
|
67
|
+
|
|
68
|
+
## After Zavala's merge and release authorization
|
|
69
|
+
|
|
70
|
+
- [ ] Record the merged commit and run `make check` on it again. If merge resolution
|
|
71
|
+
changed the validated candidate, refresh the affected validation before the cut.
|
|
72
|
+
- [ ] The authorized releaser cuts `release/MAJOR.MINOR.PATCH` from that commit, runs
|
|
73
|
+
`make docs-release`, and commits `docs/site/` on that branch only; `main` never
|
|
74
|
+
carries the build. A new release branch is a new docs build. The branch is pushed
|
|
75
|
+
and never rebased.
|
|
76
|
+
- [ ] The authorized releaser creates the approved version tag at the release branch
|
|
77
|
+
head, then from the bench runs `make build` and uploads `dist/` to the approved
|
|
78
|
+
package index (#9) with `uv publish`. Record the tag, the branch, and the upload
|
|
79
|
+
output; a failed upload is not a released package, and an existing release tag is
|
|
80
|
+
never moved.
|
|
81
|
+
- [ ] Install the published version in a fresh environment, rerun the CLI smoke test,
|
|
82
|
+
and verify `hilt.__version__`. Confirm the public package page and the release
|
|
83
|
+
branch's `docs/site/index.html` open; record their URLs and the installation result.
|
|
84
|
+
- [ ] Attach the dated changelog and upgrade instructions to the release record so
|
|
85
|
+
station notes can cite the version and the behavior it establishes.
|
|
86
|
+
|
|
87
|
+
Evidence and remaining blockers:
|
|
88
|
+
|
|
89
|
+
<!-- Link each result. An unchecked prerequisite remains a blocker, not an assumption. -->
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.14
|