PyCForge 1.3.34 — Runtime text update modes
Verified on Linux, 2026-10-18

DELIVERED COVERAGE
Runtime direct with-open workflows now accept r+, w+, a+, x+ with strict UTF-8
and newline None or ''. Existing single-direction modes and Typed contracts
remain unchanged. Append-update starts at EOF; every append write stays at EOF.
Exclusive-update preserves an existing destination and reports FileExistsError.

A successful explicit seek is required when switching reading/writing direction.
Tell and flush do not permit switching. Nonzero bookmarks taken during reading
support read replay only: CPython decoder cookies can include buffered newline
state beyond the apparent cursor. Such writes fail before modifying the file.
Rewind or seek-to-end establishes a supported write position. Bookmarks recorded
after writing can be reused unless the same position was also recorded after
input. The conservative restriction persists across file-content changes.

Writes replace bytes, never insert or truncate the remaining suffix. Changed-
length replacement can leave trailing data or damage UTF-8. Binary streams,
truncate, arbitrary text offsets, concurrent edits and transactional replacement
remain outside this profile. This is still the identified Runtime development
preview; it does not acquire the Typed backend's semantic-proof guarantees.

Resource counters remain cumulative. Stream direction checks apply through
aliases/borrowed handles and bound methods. Input-stream fflush is avoided;
failed append initialization closes its unregistered stream. Scope cleanup,
closed-handle collection and existing operation/memory budgets remain intact.
Internal PFile/PFileMark layouts changed: regenerate C and rebuild callers.

VERIFICATION
- 48 new update-mode tests passed, including eight mode/newline combinations,
  read/write transitions, Unicode, CR lookahead, opaque bookmark guards, append,
  exclusive collisions, empty operations, bound/borrowed handles, failed seek,
  cumulative budgets and initial-positioning failure cleanup.
- 95 conversion regression tests passed (42 additional subtest witnesses).
- 153 UI/version/Help tests passed (617 additional subtest witnesses); five
  historical checkpoint tests skipped because their sealed fixture inputs are
  unavailable. Scan freshness and failed-conversion diagnostics navigation pass.
- Across those overlapping source runs: 289 distinct tests passed, five skipped,
  zero unresolved failures. This is an upgrade-focused regression run, not a
  claim that the entire historical PyCForge test inventory was rerun.
- Five selected native failure/cleanup tests passed AddressSanitizer and UBSan.
  LeakSanitizer cannot run under this host's tracing environment and was disabled
  for the successful instrumented run. Explicit file/context cleanup assertions
  still ran; no LeakSanitizer acceptance is claimed.
- Fresh wheel installation: 43 UI/Help/scan/diagnostics tests and 21 native
  conversion tests passed. Two source-tree-only packaging assertions were
  excluded from the installed run; they passed against source and distribution
  contents are checked separately. All 869 installed app files match the wheel.
- Simulated _WIN32 execution exercises all four CRT update modes and CRLF writes.
  This is not native Windows acceptance. A Windows laptop review remains useful.

DOCUMENTATION AND UI
All 27 HTML Help pages opened under Qt. The documentation verifier exercised
68 Python examples (46 Runtime and 22 Typed native comparisons), five API
examples, four C callers, two module bundles, and three retained README examples.
The three new update examples match CPython output AND file bytes; documented
expected output is asserted. Search for "update mode" opens the new Help page.
The new page was visually inspected in the existing matte Help interface.
README, application UI code, theme, PNG icons, scanner, build engine and package
dependencies remain unchanged. HTML Help and release/contract records are updated.

PACKAGING
Wheel verified against the source payload: 879 members, 56 icons/504 PNG assets,
pure Python distribution, same five runtime dependencies. The source archive is
built from this verified tree and undergoes final archive verification after
this report is included. Native compilation uses GCC; Python reference is 3.12.14.
No package publication was performed.

Wheel SHA256: b603117623c0f21c5ac65439638da2a8e0949183c715407d3b334dddb4caeb90
README SHA256: 81408b884ec93411cd88f9734cc8cffc79bcd65751bcdfe092ea33e41addb638

REPRODUCIBLE EVIDENCE
Source archive: tests/test_runtime_file_updates_1_3_34.py,
specifications/runtime_file_updates_1_3_34.md,
evidence/file_updates_1_3_34/ (JUnit, logs, summary, documentation results, image).
Run pytest on the listed regression modules; run tools/verify_conversion_documentation.py
with PYCF_DOCUMENTATION_README_SHA256 set to the retained hash above.
Semantic references: https://docs.python.org/3/library/io.html and ISO C11 draft
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf, sections 7.21.5.2/7.21.5.3.
