Skip to content

Latest commit

 

History

History
171 lines (143 loc) · 10.6 KB

File metadata and controls

171 lines (143 loc) · 10.6 KB

Python native-layer evidence

Local Linux CPython 3.10.19 and 3.14.2, LibCST 1.9.0, generated core 0.2.0. No package or repository changes have been pushed or published by this bootstrap.

scripts/check_artifacts.py builds a source distribution, extracts it into a fresh directory and builds the wheel there. The isolated consumer contains only the native-layer tests, not kernel test helpers. Nine installed tests pass: provider identity/probes, Rust-composed independent edits, conflicts, directional merge, analyze/diff and exact Unicode/BOM/CRLF/no-final-newline preservation, redacted syntax failure, unsupported layouts/encoding and extension opt-in. Eleven archive/cleanup tests pass, including rejected licenses, extra payload, binary-wheel metadata, changed dependencies and failed-environment cleanup. Facade archive checks also reject forced provider dependencies and missing extra declarations, while accepting equivalent single/double-quoted extra markers. Failure injection also verifies that an ENOSPC error while writing the report cannot skip environment cleanup, and that one failed removal does not skip the remaining environments. Removal failures surface the exact paths for recovery; forced process termination and filesystem permission failures cannot guarantee complete teardown. These tests simulate failures without consuming disk space.

Retained artifacts and report:

  • tmp/libcst-artifact-hi4pxv7u/report.json
  • tmp/libcst-artifact-hi4pxv7u/dist/structuredmerge_libcst-0.1.0-py3-none-any.whl
  • Provider wheel SHA-256: bfdeb8a42edad44a02cedfa4348050fb40087eca3537feb89a0a51952396957c
  • Source distribution SHA-256: 2c0ca3eb96c9fef3227330ced15777bf4b75d0b0a0009ca9eabedb658ff8f8c5
  • Core wheel SHA-256: 0a7a441b5ba2ea6784fe69769af2b65f5d788323ecf505266511cd08eb29927c

The structuredmerge 0.1.0 facade also builds from its self-contained sdist. Three installed core-only tests pass before either LibCST package is installed: installed module provenance, generated API/control identity and actionable missing-extra failure without registry mutation. That install uses --no-index. Installing the facade's libcst extra with the explicit local provider wheel then passes thirteen tests (nine provider, four facade). The facade tests cover side-effect-free import/reload, a Rust-owned merge, duplicate-registration rejection without replacing the host, and propagation of transitive import failures. Both install configurations pass pip check.

  • Facade wheel: tmp/libcst-artifact-hi4pxv7u/dist/structuredmerge-0.1.0-py3-none-any.whl
  • Facade wheel SHA-256: 8883aeed3a56a988e90def22daf0050e6840600b10eade5a59f8ee3a66f59263
  • Facade sdist SHA-256: 78bf7046e6cd4eafe8d557d1e091d18b7eca899ea6fcf11a5140a30fca6a6ff0
  • Logs: tmp/facade-artifacts-final.log, tmp/facade-packaging-tests.log.

Both license files match the repository originals byte-for-byte in the facade source and installed-artifact archive checks. Provider/core digests are unchanged; the earlier kernel boundary/generated-suite evidence below still applies to those exact artifacts. It is not a new full-kernel test run through the facade.

The kernel's check_core_python_artifact.py --provider-wheel gate passes all 55 boundary tests, 113 generated e2e tests and 114 generated test-app tests with this same installed provider wheel. Only test instrumentation comes from the kernel's copied helper; its conformance projector is not the callback provider. Evidence: kernel tmp/libcst-installed-provider.log and tmp/core-python-artifact-k0rz7qas/report.json. All 41 kernel tooling tests pass. The original conformance projector remains a separately selectable regression oracle; this package does not import it or the kernel source tree.

Updated core: cached-only registration

The latest local core wheel adds sm.core.register_cached_language_pack_parser without changing this facade/provider package API. The same artifact gate passes three core-only and thirteen native-enabled tests on CPython 3.14.2 with it.

  • Core wheel: kernel tmp/cached-binding-wheels/structuredmerge_core-0.2.0-cp310-abi3-manylinux_2_34_x86_64.whl.
  • Core SHA-256: c2983fc63d56aeea71c2e2d36df0b43d33ce3140aace2d149faeb558a509e0c5.
  • Report: tmp/libcst-artifact-ujjf745a/report.json; log: tmp/cached-core-facade.log.
  • Provider wheel SHA-256: 0959da7221df74e27a8b2118bef7dadf9e8591d1359fc2d0e9eb3e17b09babe7.
  • Provider sdist SHA-256: 486eb5d9feecff650a920c7af349a1c1e42c065ea0747c9d88cf3dafaba39e0d.
  • Facade wheel SHA-256: 7aef1c07fef3129a410b6923c013b92bd89fc7b7fd95f904246be0634362314b.
  • Facade sdist SHA-256: 7f01f6555376c0d2b70dd289a250d44e17fa7c88a22ce6d6cc34351bff074cc9.

The kernel's new-core gate separately passes 56 boundary / 113 e2e / 114 app tests using the provider wheel from libcst-artifact-d2035oej. See its contracts/CACHED_ONLY_PARSER_POLICY.md for those exact reports. Earlier core hashes and minimum-runtime results here are historical; the new core was not retested on 3.10 in this run. Do not infer that result from its ABI3 filename. The original core wheel and bootstrap 3.14 package artifacts are superseded; their reports remain. Retain the latest native artifacts and the 3.10 set used by the kernel gate, not duplicate environment/build trees.

Minimum-runtime verification

CPython 3.10.19 passes all eleven packaging tests and the sdist-to-wheel gate: three core-only tests, thirteen facade/provider tests, and both pip check runs. The interpreter was downloaded with uv python install 3.10 --no-bin --no-registry to a job-owned repository scratch directory; the reported exact version was 3.10.19. No default interpreter or shared runtime was changed.

The kernel gate separately passes all 55 boundary / 113 generated e2e / 114 test-app tests on that interpreter with the original core/provider wheel hashes listed above. Evidence: kernel tmp/python310-installed-provider.log and tmp/core-python-artifact-xptfulby/report.json. This directly exercises the ABI3 binding on its minimum supported CPython runtime, rather than inferring support from the wheel filename.

The first 3.10 native rebuild had identical wheel members and extracted file bytes to the 3.14 build, but differing compressed sizes and archive hashes. Cross-interpreter bit-reproducible archives are not established. After updating the package README runtime claims, the final 3.10 build/test run passed again:

  • Report: tmp/libcst-artifact-d2035oej/report.json
  • Logs: tmp/python310-artifacts-final.log, tmp/python310-packaging-tests.log
  • Provider wheel SHA-256: 097d9ed0679fbd2990a59ac0b75a4343cc6fc3436c10a0966d02af4898ea9d21
  • Provider sdist SHA-256: fe2f1b3c7940ae5f2060702688386ca32e3cdf26617c920d291ba8972f7a1156
  • Facade wheel SHA-256: 274d18a279e038cd4c52184d13e30d74de670f21d66b710c577bbcf54389c50e
  • Facade sdist SHA-256: 8df17d892cddb4e5f9577233f59633666dbf34bb079bc8774afae0dd2ec00f41

Retain that final artifact set plus the earlier 3.14 set used in the cross-runtime kernel gates. Remove intermediate duplicate archives and the temporary 88 MiB interpreter. The tests do not prove every intermediate CPython minor, free-threaded Python, alternative interpreters, Windows, macOS or other Linux/libc targets.

Registry-guard facade integration (2026-09-18)

The facade now directly aliases the generated guarded workflow execution and source-free selection-report APIs. Its installed tests observe a registry, execute analyze/diff2/merge2/merge3 with the independent LibCST host and assert Rust execution ownership. Retiring and re-registering the same parser descriptor invalidates the observation through its generation; rejection and cancellation make no native probe/parse callbacks. Explicit re-observation permits execution. These are registry-state checks, not authenticated preflight or asset leases.

Both Linux CPython 3.14.2 and 3.10.19 pass three core-only facade tests plus sixteen native-enabled tests, including the three new registry tests. Both packages build as sdists and then wheels from fresh extractions. The eleven packaging/cleanup tests also pass on the development interpreter. No Rust rebuild was needed. Core wheel SHA-256 for both runs: faccc73f37bad6b6f6b4c222421697dafc23590383444454069bc8aa74ceef53.

Runtime Report Facade wheel SHA-256
3.14.2 tmp/libcst-artifact-zvy88egq/report.json 4853205e967bdd0c533ca8af6b7779beb302f7279852a5922355bec098f35526
3.10.19 tmp/libcst-artifact-fsepwxwj/report.json 0d9fe76a8fbd0562328dc2a4c3af2e00717530f3160755ff83fd9e8758b969c3

Reports retain provider/sdist digests and interpreter versions. Provider hashes match the prior artifacts for each runtime; the facade bytes have changed. Logs: tmp/guarded-facade-artifacts.log, tmp/guarded-facade-python310.log. The kernel's current installed-provider gate separately passes 60 boundary, 113 generated and 114 app tests on 3.14.2 with the provider wheel from the first row. Kernel report: tmp/core-python-artifact-t2ofaeo6/report.json; log: tmp/guarded-independent-provider.log. That full kernel suite was not rerun on 3.10 in this refresh; do not conflate it with the native-layer facade tests.

All temporary source/build/install environments and the disposable 3.10 interpreter/cache were removed. The older ujjf745a and d2035oej artifact directories' superseded dist/ contents were removed, retaining their reports and the latest artifact set for each runtime. No push, publication or default authority change occurred.

Remaining gates

Hosted verification is now recorded in run 35316084817 at native-layer commit 0e2efac47c1744047beb1f88c2cb02dbe0175c42. Both Linux Python 3.10/3.14 jobs passed, including source-artifact builds, isolated facade/provider tests and full installed-kernel suites using the packaged provider. Both jobs checked out kernel f666a70a67d6d71fd5690a2c68b1ed295e0e26fc, confirmed in checkout logs. This advances the hosted pre-publication gate; it does not prove upstream-only regeneration, registry installation or the native layer's broader platform matrix.

Broader platform/runtime evidence, released-core compatibility testing, registry installation, release provenance and publication remain open. The structuredmerge facade is now implemented locally; the smorg-py executable is not implemented. No default provider or semantic-authority change is made. Projection remains limited to the existing native-declarations profile; unsupported syntax fails in Rust's profile checks rather than gaining unverified merge support.

Temporary build/consumer environments are removed after each run. Small reports and the verified native wheel/sdist remain. No kernel compilation was needed.