PyCForge 1.3.43 — Immutable Typed record locals
Release preparation, 2026-10-19. Version remains 1.3.43 for the user's upload.
Conversion upgrades are based on the reviewed 1.3.42 source archive.

CONVERSION
Typed conversion accepts fresh local record aliases, initialized exact class
annotations, chained assignment and flat list/tuple-literal unpacking. Values
may come from parameters, preceding locals, constructors, factory results,
nested fields and fixed collection elements. Imported class aliases retain the
exact defining class identity. Chained right-hand expressions run once; literal
unpacking evaluates elements left to right before binding fresh targets.

Python aliases lower to independent immutable C struct values. Mutation through
any name or nested field, identity, whole-record equality, truth observations,
rebinding and nested-scope capture remain rejected. Collection aliases remain
unsupported. No allocation, cleanup, new dependency or record ABI layout is
introduced. Record locals remain direct function-body bindings. Quoted types,
declarations without values, redeclarations and incompatible annotations reject
before lowering. Scalar annotations cannot erase conflicting record declarations.

The new default profile is typed-record-locals-v1.6 / c-renderer-v1.6, with source
policy nominal-immutable-local-values-v5. Record proof replay verifies value-copy
origins, exact annotations, source identities and required lowering obligations.
Explicit historical profiles retain their prior limits. Three representative
v1.5 programs produce byte-identical C to the reviewed 1.3.42 build.

UI
The Classes & Functions title-bar Copy icon is on the left. The shared toolbar
API also directs action buttons to the left slot. Passive title information and
standard window controls retain their existing placement. Copy still preserves
complete source ranges, including decorators/comments/newlines, and both editor
views' cursor, selection, scrolling, folding and Undo state. Temporary feedback
does not move the controls. Qt offscreen visual review covered the navigator
and wide/narrow HTML Help.

DOCUMENTATION
The existing Structured records page contains a complete local-binding example,
Python-versus-C alias semantics, exact annotation requirements, chained assignment,
literal unpacking and rejected forms. Coverage, variables, record limits and
diagnostic guidance are synchronized. All 79 documented Python examples convert
(30 Typed, 49 Runtime). All 29 Help pages pass their loading, navigation and source
checks. No development-cycle status was added to HTML Help.

README.md retains its established section order, feature focus, code examples,
contact information, main banner and two accurately labeled 1.3.39 screenshots.
The heading now matches 1.3.43; Typed coverage includes constructor expressions,
nested records, fixed record collections and local record bindings. Both Help
counts now say 29. The navigator description identifies the left-side Copy icon.

The approved Crucible banner appears directly below the conversion bug tracker,
before a concise engine description and the unchanged contact line. Exactly four
external image URLs remain, with no navigation or mailto links. PyPI Markdown
rendering preserves the main banner's 320-pixel width and Crucible's 640-pixel
width. The public Crucible PNG returned HTTP 200 and matches the approved image.
The footer was visually checked using a local Qt rendering of the sanitized HTML.

The tracker now records the 1.3.42 private-field name-mangling correction,
definition-time import validation for nested record annotations, and the
async-only diagnostic correction. It also records the conflicting record
declaration defect found and fixed during development of the 1.3.43 feature;
this does not imply that defect was present in an earlier published release.

Final README SHA256:
dbbdab3fd648870e694b93d4056cc83769a8700dfebd8183f729017e3a7abf7f
The Runtime backend is byte-for-byte unchanged.

CONVERSION-UPGRADE VERIFICATION
- 37 new tests cover local values, imported annotations, invalid neighbors,
  historical rejection, proof tampering, deterministic exports, evaluation order
  and conflicting scalar redeclarations.
- 625 input pairs compare Python with combined C at -O0 and -O2, separate compiled
  C objects, and AddressSanitizer/UndefinedBehaviorSanitizer execution. Leak
  detection was disabled; no LeakSanitizer result is claimed. Link instrumentation
  observes chained construction once and literal unpacking in source order.
- Focused source regression: 361 tests and 564 subtests passed. This includes the
  previous record upgrades, cancellation, C IR const checks, scalar normalization,
  scope analysis, module exports, navigator behavior and HTML Help.
- Release-contract checks: 116 tests and 44 subtests passed after synchronizing
  current-version notes and the new annotation-rule manifest fingerprint. Five
  historical/environment checks were skipped. The final targeted follow-up
  passed all 14 release-validator tests.
- Installed wheel: 137 tests and 466 subtests passed, including the new records,
  structured-record regression, navigator and HTML Help. Tests imported the
  installed package explicitly. Counts overlap and are not a distinct-test total.
- The preceding review-build wheel and source archive passed strict twine checks
  and the public archive verifier with the then-frozen three-image README.
  Those review-build results remain historical evidence; the final README and
  rebuilt release files are checked separately below.

FINAL RELEASE PREPARATION
- Focused release regression: 133 tests and 482 subtests passed. This covers
  public distribution policy, presentation, release metadata, all HTML Help,
  structured records and local record bindings, including every new tracker row.
- The README's section sequence and fenced code examples match the prior
  review build exactly. The four-image order and banner placement pass both
  source checks and the actual PyPI Markdown renderer.
- All 884 application source files remain byte-identical to the preceding
  1.3.43 review build, including all 29 HTML Help pages. No development-cycle
  status was introduced into HTML Help.
- All 878 installed application files match the final wheel, source and prior
  review wheel. Only wheel METADATA and RECORD change, reflecting the README.
  Installed Typed record-local and Runtime conversions pass.
- Installed metadata, Qt application version, workspace titles, startup title
  and label, About badge, and every Help footer agree on 1.3.43.
- The final wheel and source archive pass strict twine validation and the public
  distribution verifier. Each contains exactly 504 required icon assets and
  no banner, screenshot or other nonessential image files. The README is embedded
  identically in the wheel metadata and source distribution.

Final preparation evidence is under evidence/release_readme_1_3_43/. Final
archive hashes are appended to the accompanying report after packaging.

Evidence is under evidence/record_locals_1_3_43/ in the source archive. This is a
focused verification result, not a claim that the entire repository suite ran.
Validation used Linux, Python 3.12, GCC and Qt offscreen. Native Windows UI and
compiler acceptance remain for the user's laptop review. No PyPI publication,
MISRA compliance claim or additional install dependency was made. Crucible is
the public engine name; package names, APIs and installed commands are unchanged.
