pycforge 1.1.3__tar.gz → 1.3.3__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.
Files changed (2093) hide show
  1. pycforge-1.3.3/CHANGELOG.md +1238 -0
  2. pycforge-1.3.3/CONVERSION_ROADMAP.md +370 -0
  3. pycforge-1.3.3/CURRENT_STATE.md +765 -0
  4. pycforge-1.3.3/HELP.md +218 -0
  5. pycforge-1.3.3/MANIFEST.in +39 -0
  6. pycforge-1.3.3/PKG-INFO +210 -0
  7. pycforge-1.3.3/PYPI_RELEASE.md +435 -0
  8. pycforge-1.3.3/PyCForge-1.3.0-Release-Verification.txt +39 -0
  9. pycforge-1.3.3/PyCForge-1.3.0-Resource-Audit.txt +173 -0
  10. pycforge-1.3.3/PyCForge-1.3.0-Version-Reconciliation.txt +754 -0
  11. pycforge-1.3.3/PyCForge-1.3.0-Windows-Checklist.txt +69 -0
  12. pycforge-1.3.3/PyCForge-1.3.1-Reliability-Audit.txt +420 -0
  13. pycforge-1.3.3/PyCForge-1.3.1-UI-Corrections.txt +35 -0
  14. pycforge-1.3.3/PyCForge-1.3.1-Windows-and-Laptop-Checks.txt +42 -0
  15. pycforge-1.3.3/PyCForge-1.3.3-Editor-Integration-Review.txt +170 -0
  16. pycforge-1.3.3/README.md +180 -0
  17. pycforge-1.3.3/RELEASE_NOTES.md +406 -0
  18. pycforge-1.3.3/THIRD_PARTY_NOTICES.md +47 -0
  19. pycforge-1.3.3/docs/PyCForge-v1.1.7-Engineering-Review.txt +282 -0
  20. pycforge-1.3.3/docs/Windows-Editor-Acceptance-1.1.7.txt +67 -0
  21. pycforge-1.3.3/evidence/consolidation/contracts.log +22 -0
  22. pycforge-1.3.3/evidence/consolidation/contracts.xml +15 -0
  23. pycforge-1.3.3/evidence/consolidation/conversion-memory.json +70 -0
  24. pycforge-1.3.3/evidence/consolidation/conversion-memory.log +70 -0
  25. pycforge-1.3.3/evidence/consolidation/final-contracts.log +5 -0
  26. pycforge-1.3.3/evidence/consolidation/final-contracts.xml +1 -0
  27. pycforge-1.3.3/evidence/consolidation/final-distribution-build.log +3752 -0
  28. pycforge-1.3.3/evidence/consolidation/final-full-suite.log +118 -0
  29. pycforge-1.3.3/evidence/consolidation/final-full-suite.xml +55 -0
  30. pycforge-1.3.3/evidence/consolidation/final-installed-editor.log +72 -0
  31. pycforge-1.3.3/evidence/consolidation/final-installed-regressions.log +2 -0
  32. pycforge-1.3.3/evidence/consolidation/final-installed-regressions.xml +1 -0
  33. pycforge-1.3.3/evidence/consolidation/final-package-verification.json +23 -0
  34. pycforge-1.3.3/evidence/consolidation/final-wheel-install.log +10 -0
  35. pycforge-1.3.3/evidence/consolidation/full-suite.log +306 -0
  36. pycforge-1.3.3/evidence/consolidation/full-suite.xml +223 -0
  37. pycforge-1.3.3/evidence/consolidation/history/README.txt +3 -0
  38. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/PACKAGE-SHA256SUMS.txt +4 -0
  39. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/PyCForge-Editor-Fixes-Validation.txt +83 -0
  40. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/PyCForge-Editor-Fixes-Windows-Checklist.txt +55 -0
  41. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/distribution.json +24 -0
  42. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/install-editor-1.2.1.log +7 -0
  43. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/installed-dialog.log +2 -0
  44. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/installed-dialog.xml +1 -0
  45. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/installed-editor-1.2.1.log +2 -0
  46. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/installed-editor-1.2.1.xml +1 -0
  47. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/preserved-prior-files.json +1 -0
  48. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/traceback-baseline-1.2.0.log +52 -0
  49. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/traceback-baseline-1.2.0.xml +40 -0
  50. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/editor_lifecycle_fixes/wheel-verify-1.2.1.json +12 -0
  51. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/pcfc11_1_2/full-tests.log +23 -0
  52. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/pcfc11_1_2/installed-acceptance.json +440 -0
  53. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/pcfc11_1_2/installed-cli.json +20 -0
  54. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/pcfc11_1_2/source-acceptance.json +440 -0
  55. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/pcfc11_1_2/validation.json +52 -0
  56. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/baseline-first-failure.log +274 -0
  57. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/baseline-regressions.log +652 -0
  58. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/baseline-regressions.xml +560 -0
  59. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/baseline-tests.log +20 -0
  60. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/baseline-tests.xml +22 -0
  61. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/profile-before.json +436 -0
  62. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/evidence/resource_audit/profile-before.log +3 -0
  63. pycforge-1.3.3/evidence/consolidation/history/uploaded-1.2.1/tools/verify_installed_editor_1_2_1.py +69 -0
  64. pycforge-1.3.3/evidence/consolidation/initial.xml +1 -0
  65. pycforge-1.3.3/evidence/consolidation/installed-editor.log +72 -0
  66. pycforge-1.3.3/evidence/consolidation/installed-files.log +13 -0
  67. pycforge-1.3.3/evidence/consolidation/native-pcfc11.log +104 -0
  68. pycforge-1.3.3/evidence/consolidation/native-pcfc11.xml +93 -0
  69. pycforge-1.3.3/evidence/consolidation/release-suite.log +36 -0
  70. pycforge-1.3.3/evidence/consolidation/release-suite.xml +1 -0
  71. pycforge-1.3.3/evidence/consolidation/resource-profile.json +236 -0
  72. pycforge-1.3.3/evidence/consolidation/resource-profile.log +3 -0
  73. pycforge-1.3.3/evidence/consolidation/runtime-build.log +2 -0
  74. pycforge-1.3.3/evidence/consolidation/runtime-build.xml +1 -0
  75. pycforge-1.3.3/evidence/consolidation/source-preservation.json +644 -0
  76. pycforge-1.3.3/evidence/consolidation/startup-shortcuts.log +3 -0
  77. pycforge-1.3.3/evidence/consolidation/startup-shortcuts.xml +1 -0
  78. pycforge-1.3.3/evidence/consolidation/ui-recheck.log +2 -0
  79. pycforge-1.3.3/evidence/consolidation/ui-recheck.xml +1 -0
  80. pycforge-1.3.3/evidence/consolidation/version-file-inventory.csv +1786 -0
  81. pycforge-1.3.3/evidence/consolidation/version-reconciliation.json +655 -0
  82. pycforge-1.3.3/evidence/consolidation/wheel-build.log +1775 -0
  83. pycforge-1.3.3/evidence/consolidation/wheel-install.log +10 -0
  84. pycforge-1.3.3/evidence/consolidation/windows-assembly.log +2 -0
  85. pycforge-1.3.3/evidence/dictionaries_1_1_4/documentation-validation.json +433 -0
  86. pycforge-1.3.3/evidence/dictionaries_1_1_4/documentation.log +1 -0
  87. pycforge-1.3.3/evidence/dictionaries_1_1_4/initial-full-suite-final.log +366 -0
  88. pycforge-1.3.3/evidence/dictionaries_1_1_4/initial-sanitizers.log +886 -0
  89. pycforge-1.3.3/evidence/dictionaries_1_1_4/installed-desktop.json +57 -0
  90. pycforge-1.3.3/evidence/dictionaries_1_1_4/release-suite.log +44 -0
  91. pycforge-1.3.3/evidence/dictionaries_1_1_4/release-suite.xml +1 -0
  92. pycforge-1.3.3/evidence/dictionaries_1_1_4/sanitizers-final.log +3 -0
  93. pycforge-1.3.3/evidence/dictionaries_1_1_4/sanitizers-final.xml +1 -0
  94. pycforge-1.3.3/evidence/dictionaries_1_1_4/source-changes.json +247 -0
  95. pycforge-1.3.3/evidence/dictionaries_1_1_4/validation_report.json +192 -0
  96. pycforge-1.3.3/evidence/editor_1_1_6/automated-tests.txt +24 -0
  97. pycforge-1.3.3/evidence/editor_1_1_6/automated-tests.xml +1 -0
  98. pycforge-1.3.3/evidence/editor_1_1_6/validation_report.json +66 -0
  99. pycforge-1.3.3/evidence/editor_1_1_7/automated-tests.txt +23 -0
  100. pycforge-1.3.3/evidence/editor_1_1_7/automated-tests.xml +1 -0
  101. pycforge-1.3.3/evidence/editor_1_1_7/baseline-1.1.6-responsiveness-structure.json +136 -0
  102. pycforge-1.3.3/evidence/editor_1_1_7/baseline-1.1.6-responsiveness-typing.json +204 -0
  103. pycforge-1.3.3/evidence/editor_1_1_7/change-inventory.json +71 -0
  104. pycforge-1.3.3/evidence/editor_1_1_7/documentation-validation.json +433 -0
  105. pycforge-1.3.3/evidence/editor_1_1_7/environment.json +8 -0
  106. pycforge-1.3.3/evidence/editor_1_1_7/installed-desktop.json +68 -0
  107. pycforge-1.3.3/evidence/editor_1_1_7/performance-gates.json +5 -0
  108. pycforge-1.3.3/evidence/editor_1_1_7/readme-rendering.json +16 -0
  109. pycforge-1.3.3/evidence/editor_1_1_7/responsiveness-structure.json +136 -0
  110. pycforge-1.3.3/evidence/editor_1_1_7/responsiveness-typing.json +204 -0
  111. pycforge-1.3.3/evidence/editor_1_1_7/symlink-save-check.json +8 -0
  112. pycforge-1.3.3/evidence/editor_1_1_7/validation_report.json +24 -0
  113. pycforge-1.3.3/evidence/editor_1_1_7/wheel-verification.json +18 -0
  114. pycforge-1.3.3/evidence/editor_1_1_7/workspace-typing.json +72 -0
  115. pycforge-1.3.3/evidence/editor_integration_1_3_3/before-fixes.log +61 -0
  116. pycforge-1.3.3/evidence/editor_integration_1_3_3/delayed-before-fixes.log +34 -0
  117. pycforge-1.3.3/evidence/editor_integration_1_3_3/environment.json +11 -0
  118. pycforge-1.3.3/evidence/editor_integration_1_3_3/final-checks.log +4 -0
  119. pycforge-1.3.3/evidence/editor_integration_1_3_3/final-checks.xml +1 -0
  120. pycforge-1.3.3/evidence/editor_integration_1_3_3/first-corrections.log +3 -0
  121. pycforge-1.3.3/evidence/editor_integration_1_3_3/focused-corrections.log +2 -0
  122. pycforge-1.3.3/evidence/editor_integration_1_3_3/navigation-before-fix.log +31 -0
  123. pycforge-1.3.3/evidence/editor_integration_1_3_3/operation-probes.json +340 -0
  124. pycforge-1.3.3/evidence/editor_integration_1_3_3/version-updates.json +29 -0
  125. pycforge-1.3.3/evidence/editor_integration_1_3_3/worker-resources.json +295 -0
  126. pycforge-1.3.3/evidence/editor_lifecycle_fixes/CHANGES.patch +844 -0
  127. pycforge-1.3.3/evidence/editor_lifecycle_fixes/PyCForge-Editor-Fixes-Validation.txt +83 -0
  128. pycforge-1.3.3/evidence/editor_lifecycle_fixes/PyCForge-Editor-Fixes-Windows-Checklist.txt +55 -0
  129. pycforge-1.3.3/evidence/editor_lifecycle_fixes/change-inventory.json +150 -0
  130. pycforge-1.3.3/evidence/editor_lifecycle_fixes/dialog-final.log +3 -0
  131. pycforge-1.3.3/evidence/editor_lifecycle_fixes/dialog-final.xml +1 -0
  132. pycforge-1.3.3/evidence/editor_lifecycle_fixes/editor-final.log +3 -0
  133. pycforge-1.3.3/evidence/editor_lifecycle_fixes/editor-final.xml +1 -0
  134. pycforge-1.3.3/evidence/editor_lifecycle_fixes/editor-regression-selection.json +38 -0
  135. pycforge-1.3.3/evidence/editor_lifecycle_fixes/editor-regression.log +84 -0
  136. pycforge-1.3.3/evidence/editor_lifecycle_fixes/editor-regression.xml +65 -0
  137. pycforge-1.3.3/evidence/editor_lifecycle_fixes/install-editor-1.1.11.log +7 -0
  138. pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-desktop.json +72 -0
  139. pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-editor-1.1.11.log +2 -0
  140. pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-editor-1.1.11.xml +1 -0
  141. pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-native.json +13 -0
  142. pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-version.json +15 -0
  143. pycforge-1.3.3/evidence/editor_lifecycle_fixes/traceback-baseline-1.1.10.log +52 -0
  144. pycforge-1.3.3/evidence/editor_lifecycle_fixes/traceback-baseline-1.1.10.xml +40 -0
  145. pycforge-1.3.3/evidence/editor_lifecycle_fixes/validation.json +134 -0
  146. pycforge-1.3.3/evidence/editor_lifecycle_fixes/wheel-verify-1.1.11.json +18 -0
  147. pycforge-1.3.3/evidence/everyday_1_1_8/CHANGES.patch +2899 -0
  148. pycforge-1.3.3/evidence/everyday_1_1_8/Windows-acceptance.txt +49 -0
  149. pycforge-1.3.3/evidence/everyday_1_1_8/address-undefined-sanitizers.log +31 -0
  150. pycforge-1.3.3/evidence/everyday_1_1_8/allocation.log +2 -0
  151. pycforge-1.3.3/evidence/everyday_1_1_8/baseline.log +2 -0
  152. pycforge-1.3.3/evidence/everyday_1_1_8/change-inventory.json +272 -0
  153. pycforge-1.3.3/evidence/everyday_1_1_8/diagnostic-followup.log +2 -0
  154. pycforge-1.3.3/evidence/everyday_1_1_8/distribution-first.json +1 -0
  155. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/documentation-validation.json +744 -0
  156. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/calls-modules.png +0 -0
  157. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/cli-api.png +0 -0
  158. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/containers-records.png +0 -0
  159. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/contracts-narrow.png +0 -0
  160. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/contracts.png +0 -0
  161. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/control-flow.png +0 -0
  162. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/diagnostics.png +0 -0
  163. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/file-io-read-caller.png +0 -0
  164. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/file-io.png +0 -0
  165. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/help-authoring-typed-caller.png +0 -0
  166. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/help-authoring.png +0 -0
  167. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-classes.png +0 -0
  168. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-comprehensions.png +0 -0
  169. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-containers.png +0 -0
  170. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-functions.png +0 -0
  171. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-strings.png +0 -0
  172. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-values-caller-example.png +0 -0
  173. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/runtime-values.png +0 -0
  174. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/safety-limits.png +0 -0
  175. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/shortcuts-narrow.png +0 -0
  176. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/shortcuts.png +0 -0
  177. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/start.png +0 -0
  178. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/ting-agents.png +0 -0
  179. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/types-expressions.png +0 -0
  180. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/workspace-find-replace.png +0 -0
  181. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/workspace-narrow.png +0 -0
  182. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/workspace-symbol-navigator.png +0 -0
  183. pycforge-1.3.3/evidence/everyday_1_1_8/documentation/visuals/workspace.png +0 -0
  184. pycforge-1.3.3/evidence/everyday_1_1_8/documentation.log +1 -0
  185. pycforge-1.3.3/evidence/everyday_1_1_8/environment.json +9 -0
  186. pycforge-1.3.3/evidence/everyday_1_1_8/focused.log +2 -0
  187. pycforge-1.3.3/evidence/everyday_1_1_8/format-matrix.log +2 -0
  188. pycforge-1.3.3/evidence/everyday_1_1_8/full-suite.log +61 -0
  189. pycforge-1.3.3/evidence/everyday_1_1_8/full-suite.xml +13 -0
  190. pycforge-1.3.3/evidence/everyday_1_1_8/installed-desktop.json +70 -0
  191. pycforge-1.3.3/evidence/everyday_1_1_8/installed-native.json +7 -0
  192. pycforge-1.3.3/evidence/everyday_1_1_8/readme.json +16 -0
  193. pycforge-1.3.3/evidence/everyday_1_1_8/release-followup.log +4 -0
  194. pycforge-1.3.3/evidence/everyday_1_1_8/release-followup.xml +1 -0
  195. pycforge-1.3.3/evidence/everyday_1_1_8/representation-followup.log +2 -0
  196. pycforge-1.3.3/evidence/everyday_1_1_8/sanitizer-followup.log +2 -0
  197. pycforge-1.3.3/evidence/everyday_1_1_8/sanitizers.log +122 -0
  198. pycforge-1.3.3/evidence/everyday_1_1_8/sort-followup.log +2 -0
  199. pycforge-1.3.3/evidence/everyday_1_1_8/twine-first.log +1 -0
  200. pycforge-1.3.3/evidence/everyday_1_1_8/validation.json +71 -0
  201. pycforge-1.3.3/evidence/files_1_1_10/CHANGES.patch +2366 -0
  202. pycforge-1.3.3/evidence/files_1_1_10/Windows-acceptance.txt +62 -0
  203. pycforge-1.3.3/evidence/files_1_1_10/change-inventory.json +327 -0
  204. pycforge-1.3.3/evidence/files_1_1_10/check-windows-file-branch.py +33 -0
  205. pycforge-1.3.3/evidence/files_1_1_10/documentation/documentation-validation.json +805 -0
  206. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/calls-modules.png +0 -0
  207. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/cli-api.png +0 -0
  208. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/containers-records.png +0 -0
  209. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/contracts-narrow.png +0 -0
  210. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/contracts.png +0 -0
  211. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/control-flow.png +0 -0
  212. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/diagnostics.png +0 -0
  213. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/file-io-read-caller.png +0 -0
  214. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/file-io.png +0 -0
  215. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/help-authoring-typed-caller.png +0 -0
  216. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/help-authoring.png +0 -0
  217. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-classes.png +0 -0
  218. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-comprehensions.png +0 -0
  219. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-containers.png +0 -0
  220. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-files-limits.png +0 -0
  221. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-files-methods.png +0 -0
  222. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-files-modules.png +0 -0
  223. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-files-narrow.png +0 -0
  224. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-files.png +0 -0
  225. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-functions.png +0 -0
  226. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-strings.png +0 -0
  227. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-values-caller-example.png +0 -0
  228. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/runtime-values.png +0 -0
  229. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/safety-limits.png +0 -0
  230. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/shortcuts-narrow.png +0 -0
  231. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/shortcuts.png +0 -0
  232. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/start.png +0 -0
  233. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/ting-agents.png +0 -0
  234. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/types-expressions.png +0 -0
  235. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/workspace-find-replace.png +0 -0
  236. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/workspace-narrow.png +0 -0
  237. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/workspace-symbol-navigator.png +0 -0
  238. pycforge-1.3.3/evidence/files_1_1_10/documentation/visuals/workspace.png +0 -0
  239. pycforge-1.3.3/evidence/files_1_1_10/documentation-final.log +1 -0
  240. pycforge-1.3.3/evidence/files_1_1_10/documentation.log +1 -0
  241. pycforge-1.3.3/evidence/files_1_1_10/environment.json +16 -0
  242. pycforge-1.3.3/evidence/files_1_1_10/files-followup.log +2 -0
  243. pycforge-1.3.3/evidence/files_1_1_10/files-followup.xml +1 -0
  244. pycforge-1.3.3/evidence/files_1_1_10/files.log +46 -0
  245. pycforge-1.3.3/evidence/files_1_1_10/files.xml +39 -0
  246. pycforge-1.3.3/evidence/files_1_1_10/fingerprint-followup.log +3 -0
  247. pycforge-1.3.3/evidence/files_1_1_10/fingerprint-followup.xml +1 -0
  248. pycforge-1.3.3/evidence/files_1_1_10/full-suite.log +29 -0
  249. pycforge-1.3.3/evidence/files_1_1_10/full-suite.xml +1 -0
  250. pycforge-1.3.3/evidence/files_1_1_10/help.log +2 -0
  251. pycforge-1.3.3/evidence/files_1_1_10/help.xml +1 -0
  252. pycforge-1.3.3/evidence/files_1_1_10/installed-desktop.json +72 -0
  253. pycforge-1.3.3/evidence/files_1_1_10/installed-desktop.stderr +0 -0
  254. pycforge-1.3.3/evidence/files_1_1_10/installed-native.json +13 -0
  255. pycforge-1.3.3/evidence/files_1_1_10/installed-native.stderr +0 -0
  256. pycforge-1.3.3/evidence/files_1_1_10/readme.json +16 -0
  257. pycforge-1.3.3/evidence/files_1_1_10/sanitizers-followup.log +2 -0
  258. pycforge-1.3.3/evidence/files_1_1_10/sanitizers-followup.xml +1 -0
  259. pycforge-1.3.3/evidence/files_1_1_10/sanitizers.log +2 -0
  260. pycforge-1.3.3/evidence/files_1_1_10/sanitizers.xml +1 -0
  261. pycforge-1.3.3/evidence/files_1_1_10/validation.json +189 -0
  262. pycforge-1.3.3/evidence/files_1_1_10/windows-branch.json +7 -0
  263. pycforge-1.3.3/evidence/files_1_1_10/windows-branch.stderr +0 -0
  264. pycforge-1.3.3/evidence/modules_1_1_9/CHANGES.patch +2306 -0
  265. pycforge-1.3.3/evidence/modules_1_1_9/Windows-acceptance.txt +47 -0
  266. pycforge-1.3.3/evidence/modules_1_1_9/allocation.log +2 -0
  267. pycforge-1.3.3/evidence/modules_1_1_9/change-inventory.json +292 -0
  268. pycforge-1.3.3/evidence/modules_1_1_9/definition-order-followup.log +2 -0
  269. pycforge-1.3.3/evidence/modules_1_1_9/documentation/documentation-validation.json +758 -0
  270. pycforge-1.3.3/evidence/modules_1_1_9/documentation/help-check.ini +0 -0
  271. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/calls-modules.png +0 -0
  272. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/cli-api.png +0 -0
  273. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/containers-records.png +0 -0
  274. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/contracts-narrow.png +0 -0
  275. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/contracts.png +0 -0
  276. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/control-flow.png +0 -0
  277. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/diagnostics.png +0 -0
  278. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/file-io-read-caller.png +0 -0
  279. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/file-io.png +0 -0
  280. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/help-authoring-typed-caller.png +0 -0
  281. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/help-authoring.png +0 -0
  282. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-classes.png +0 -0
  283. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-comprehensions.png +0 -0
  284. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-containers.png +0 -0
  285. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-functions.png +0 -0
  286. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-modules-narrow.png +0 -0
  287. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-modules-wide.png +0 -0
  288. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-strings.png +0 -0
  289. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-values-caller-example.png +0 -0
  290. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/runtime-values.png +0 -0
  291. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/safety-limits.png +0 -0
  292. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/shortcuts-narrow.png +0 -0
  293. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/shortcuts.png +0 -0
  294. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/start.png +0 -0
  295. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/ting-agents.png +0 -0
  296. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/types-expressions.png +0 -0
  297. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/workspace-find-replace.png +0 -0
  298. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/workspace-narrow.png +0 -0
  299. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/workspace-symbol-navigator.png +0 -0
  300. pycforge-1.3.3/evidence/modules_1_1_9/documentation/visuals/workspace.png +0 -0
  301. pycforge-1.3.3/evidence/modules_1_1_9/documentation-final.log +1 -0
  302. pycforge-1.3.3/evidence/modules_1_1_9/documentation.log +1 -0
  303. pycforge-1.3.3/evidence/modules_1_1_9/environment.json +16 -0
  304. pycforge-1.3.3/evidence/modules_1_1_9/full-suite.log +195 -0
  305. pycforge-1.3.3/evidence/modules_1_1_9/full-suite.xml +163 -0
  306. pycforge-1.3.3/evidence/modules_1_1_9/initial-regression.log +2 -0
  307. pycforge-1.3.3/evidence/modules_1_1_9/installed-desktop.json +71 -0
  308. pycforge-1.3.3/evidence/modules_1_1_9/installed-desktop.stderr +0 -0
  309. pycforge-1.3.3/evidence/modules_1_1_9/installed-native.json +9 -0
  310. pycforge-1.3.3/evidence/modules_1_1_9/installed-native.stderr +0 -0
  311. pycforge-1.3.3/evidence/modules_1_1_9/inventory-final.log +2 -0
  312. pycforge-1.3.3/evidence/modules_1_1_9/inventory-final.xml +1 -0
  313. pycforge-1.3.3/evidence/modules_1_1_9/module-followup.log +2 -0
  314. pycforge-1.3.3/evidence/modules_1_1_9/module-tests.log +41 -0
  315. pycforge-1.3.3/evidence/modules_1_1_9/readme.json +16 -0
  316. pycforge-1.3.3/evidence/modules_1_1_9/readme.stderr +0 -0
  317. pycforge-1.3.3/evidence/modules_1_1_9/release-followup.log +18 -0
  318. pycforge-1.3.3/evidence/modules_1_1_9/release-followup.xml +11 -0
  319. pycforge-1.3.3/evidence/modules_1_1_9/sanitizers.log +2 -0
  320. pycforge-1.3.3/evidence/modules_1_1_9/validation.json +182 -0
  321. pycforge-1.3.3/evidence/reliability-allocations-before.log +1 -0
  322. pycforge-1.3.3/evidence/reliability-before.log +106 -0
  323. pycforge-1.3.3/evidence/reliability_1_3/address-undefined-sanitizers.log +2 -0
  324. pycforge-1.3.3/evidence/reliability_1_3/address-undefined-sanitizers.xml +1 -0
  325. pycforge-1.3.3/evidence/reliability_1_3/allocations-after.json +104 -0
  326. pycforge-1.3.3/evidence/reliability_1_3/allocations-after.log +1 -0
  327. pycforge-1.3.3/evidence/reliability_1_3/allocations-before.json +104 -0
  328. pycforge-1.3.3/evidence/reliability_1_3/before-fixes.xml +91 -0
  329. pycforge-1.3.3/evidence/reliability_1_3/conversion-memory-after.json +70 -0
  330. pycforge-1.3.3/evidence/reliability_1_3/conversion-memory-after.log +70 -0
  331. pycforge-1.3.3/evidence/reliability_1_3/conversion-preservation-baseline.json +92 -0
  332. pycforge-1.3.3/evidence/reliability_1_3/earlier-failures-exact.json +80 -0
  333. pycforge-1.3.3/evidence/reliability_1_3/full-suite-first.log +137 -0
  334. pycforge-1.3.3/evidence/reliability_1_3/full-suite-first.xml +92 -0
  335. pycforge-1.3.3/evidence/reliability_1_3/full-suite.log +24 -0
  336. pycforge-1.3.3/evidence/reliability_1_3/full-suite.xml +1 -0
  337. pycforge-1.3.3/evidence/reliability_1_3/implementation-changes-preversion.json +92 -0
  338. pycforge-1.3.3/evidence/reliability_1_3/installed-editor.log +72 -0
  339. pycforge-1.3.3/evidence/reliability_1_3/installed-files.log +13 -0
  340. pycforge-1.3.3/evidence/reliability_1_3/installed-regressions.log +2 -0
  341. pycforge-1.3.3/evidence/reliability_1_3/installed-regressions.xml +1 -0
  342. pycforge-1.3.3/evidence/reliability_1_3/installed-wheel.log +10 -0
  343. pycforge-1.3.3/evidence/reliability_1_3/native-sanitizers.log +316 -0
  344. pycforge-1.3.3/evidence/reliability_1_3/native-sanitizers.xml +277 -0
  345. pycforge-1.3.3/evidence/reliability_1_3/outline-start-before.log +37 -0
  346. pycforge-1.3.3/evidence/reliability_1_3/outline-start-before.xml +30 -0
  347. pycforge-1.3.3/evidence/reliability_1_3/ownership-before.log +117 -0
  348. pycforge-1.3.3/evidence/reliability_1_3/ownership-before.xml +110 -0
  349. pycforge-1.3.3/evidence/reliability_1_3/ownership-cancellation.log +2 -0
  350. pycforge-1.3.3/evidence/reliability_1_3/ownership-cancellation.xml +1 -0
  351. pycforge-1.3.3/evidence/reliability_1_3/qt-preview-fixes.log +2 -0
  352. pycforge-1.3.3/evidence/reliability_1_3/qt-preview-fixes.xml +1 -0
  353. pycforge-1.3.3/evidence/reliability_1_3/resource-soak-100.json +316 -0
  354. pycforge-1.3.3/evidence/reliability_1_3/resource-soak-100.log +3 -0
  355. pycforge-1.3.3/evidence/reliability_1_3/skipped-checks.json +78 -0
  356. pycforge-1.3.3/evidence/reliability_1_3/source-preservation.json +5021 -0
  357. pycforge-1.3.3/evidence/reliability_1_3/source-publication.log +2 -0
  358. pycforge-1.3.3/evidence/reliability_1_3/source-publication.xml +1 -0
  359. pycforge-1.3.3/evidence/reliability_1_3/token-budget-after.log +2 -0
  360. pycforge-1.3.3/evidence/reliability_1_3/token-budget-after.xml +1 -0
  361. pycforge-1.3.3/evidence/reliability_1_3/token-budget-before.log +64 -0
  362. pycforge-1.3.3/evidence/reliability_1_3/token-budget-before.xml +53 -0
  363. pycforge-1.3.3/evidence/reliability_1_3/wheel-build.log +1786 -0
  364. pycforge-1.3.3/evidence/reliability_1_3/wheel-source-verification.json +13 -0
  365. pycforge-1.3.3/evidence/resource_audit/CHANGES.patch +1159 -0
  366. pycforge-1.3.3/evidence/resource_audit/PyCForge-Resource-Audit.txt +225 -0
  367. pycforge-1.3.3/evidence/resource_audit/PyCForge-Resource-Windows-Checklist.txt +64 -0
  368. pycforge-1.3.3/evidence/resource_audit/REPRODUCE.txt +16 -0
  369. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.1.11.json +171 -0
  370. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.1.11.log +5 -0
  371. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.1.11.stderr +0 -0
  372. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.2.1.json +203 -0
  373. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.2.1.log +6 -0
  374. pycforge-1.3.3/evidence/resource_audit/baseline-desktop-1.2.1.stderr +2 -0
  375. pycforge-1.3.3/evidence/resource_audit/baseline-ipc-1.2.1.json +26 -0
  376. pycforge-1.3.3/evidence/resource_audit/baseline-ipc-1.2.1.log +26 -0
  377. pycforge-1.3.3/evidence/resource_audit/baseline-ipc-1.2.1.stderr +0 -0
  378. pycforge-1.3.3/evidence/resource_audit/baseline-worker-regressions.log +145 -0
  379. pycforge-1.3.3/evidence/resource_audit/baseline-worker-regressions.xml +110 -0
  380. pycforge-1.3.3/evidence/resource_audit/build-wheel-1.1.12.log +2539 -0
  381. pycforge-1.3.3/evidence/resource_audit/build-wheel-1.2.2.log +2383 -0
  382. pycforge-1.3.3/evidence/resource_audit/change-inventory.json +186 -0
  383. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.1.12.json +159 -0
  384. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.1.12.log +5 -0
  385. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.1.12.stderr +0 -0
  386. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.2.2.json +186 -0
  387. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.2.2.log +6 -0
  388. pycforge-1.3.3/evidence/resource_audit/fixed-desktop-1.2.2.stderr +2 -0
  389. pycforge-1.3.3/evidence/resource_audit/fixed-ipc-1.2.2.json +22 -0
  390. pycforge-1.3.3/evidence/resource_audit/fixed-ipc-1.2.2.log +22 -0
  391. pycforge-1.3.3/evidence/resource_audit/fixed-ipc-1.2.2.stderr +0 -0
  392. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.1.12.json +142 -0
  393. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.1.12.log +4 -0
  394. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.1.12.stderr +0 -0
  395. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.2.2.json +125 -0
  396. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.2.2.log +4 -0
  397. pycforge-1.3.3/evidence/resource_audit/fixed-workspace-1.2.2.stderr +0 -0
  398. pycforge-1.3.3/evidence/resource_audit/install-1.1.12.log +6 -0
  399. pycforge-1.3.3/evidence/resource_audit/install-1.2.2.log +3 -0
  400. pycforge-1.3.3/evidence/resource_audit/installed-harness-import-error-1.2.2.log +79 -0
  401. pycforge-1.3.3/evidence/resource_audit/installed-harness-import-error-1.2.2.stderr +0 -0
  402. pycforge-1.3.3/evidence/resource_audit/installed-harness-import-error-1.2.2.xml +34 -0
  403. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.1.12.log +2 -0
  404. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.1.12.stderr +0 -0
  405. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.1.12.xml +1 -0
  406. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.2.2.log +2 -0
  407. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.2.2.stderr +0 -0
  408. pycforge-1.3.3/evidence/resource_audit/installed-regressions-1.2.2.xml +1 -0
  409. pycforge-1.3.3/evidence/resource_audit/installed-version-1.1.12.log +15 -0
  410. pycforge-1.3.3/evidence/resource_audit/installed-version-1.1.12.stderr +0 -0
  411. pycforge-1.3.3/evidence/resource_audit/installed-version-1.2.2.log +18 -0
  412. pycforge-1.3.3/evidence/resource_audit/installed-version-1.2.2.stderr +1 -0
  413. pycforge-1.3.3/evidence/resource_audit/native-arena-arena.c +7633 -0
  414. pycforge-1.3.3/evidence/resource_audit/native-arena-leaksan-environment-error.json +20 -0
  415. pycforge-1.3.3/evidence/resource_audit/native-arena-result.json +20 -0
  416. pycforge-1.3.3/evidence/resource_audit/native-arena.log +20 -0
  417. pycforge-1.3.3/evidence/resource_audit/probe_desktop_resources.py +97 -0
  418. pycforge-1.3.3/evidence/resource_audit/probe_runtime_arena.py +63 -0
  419. pycforge-1.3.3/evidence/resource_audit/probe_supervisor_stalls.py +38 -0
  420. pycforge-1.3.3/evidence/resource_audit/probe_workspace_cycles.py +72 -0
  421. pycforge-1.3.3/evidence/resource_audit/resource-final-gates.log +4 -0
  422. pycforge-1.3.3/evidence/resource_audit/resource-final-gates.xml +1 -0
  423. pycforge-1.3.3/evidence/resource_audit/resource-lifecycle.log +3 -0
  424. pycforge-1.3.3/evidence/resource_audit/resource-lifecycle.xml +1 -0
  425. pycforge-1.3.3/evidence/resource_audit/resource-services.log +3 -0
  426. pycforge-1.3.3/evidence/resource_audit/resource-services.xml +1 -0
  427. pycforge-1.3.3/evidence/resource_audit/test_resource_ownership.py +86 -0
  428. pycforge-1.3.3/evidence/resource_audit/test_resource_supervisor.py +63 -0
  429. pycforge-1.3.3/evidence/resource_audit/unchanged-1.1.12.json +6 -0
  430. pycforge-1.3.3/evidence/resource_audit/unchanged-1.2.2.json +6 -0
  431. pycforge-1.3.3/evidence/split_view_1_3_1/additional-before-fix.log +39 -0
  432. pycforge-1.3.3/evidence/split_view_1_3_1/before-fix.log +14 -0
  433. pycforge-1.3.3/evidence/split_view_1_3_1/controls-before-gradient-fix.log +39 -0
  434. pycforge-1.3.3/evidence/split_view_1_3_1/controls-focused.log +2 -0
  435. pycforge-1.3.3/evidence/split_view_1_3_1/focused.log +2 -0
  436. pycforge-1.3.3/evidence/split_view_1_3_1/focused.xml +1 -0
  437. pycforge-1.3.3/evidence/split_view_1_3_1/folds-before-fix.log +15 -0
  438. pycforge-1.3.3/evidence/split_view_1_3_1/folds-focused.log +2 -0
  439. pycforge-1.3.3/evidence/split_view_1_3_1/ui-final.log +2 -0
  440. pycforge-1.3.3/evidence/split_view_1_3_1/ui-final.xml +1 -0
  441. pycforge-1.3.3/evidence/split_view_1_3_1/ui-focused.log +2 -0
  442. pycforge-1.3.3/evidence/split_view_1_3_1/ui-focused.xml +1 -0
  443. pycforge-1.3.3/evidence/startup_fix_1_3_1/current-deps-focused.log +24 -0
  444. pycforge-1.3.3/evidence/startup_fix_1_3_1/current-final-focused.log +3 -0
  445. pycforge-1.3.3/evidence/startup_fix_1_3_1/current-rename.log +2 -0
  446. pycforge-1.3.3/evidence/startup_fix_1_3_1/dependency-installation.json +322 -0
  447. pycforge-1.3.3/evidence/startup_fix_1_3_1/final-scale-1.25.log +2 -0
  448. pycforge-1.3.3/evidence/startup_fix_1_3_1/final-scale-1.5.log +2 -0
  449. pycforge-1.3.3/evidence/startup_fix_1_3_1/final-scale-2.log +2 -0
  450. pycforge-1.3.3/evidence/startup_fix_1_3_1/focused.log +2 -0
  451. pycforge-1.3.3/evidence/startup_fix_1_3_1/focused.xml +1 -0
  452. pycforge-1.3.3/evidence/startup_fix_1_3_1/fresh-install-file-integrity.json +23 -0
  453. pycforge-1.3.3/evidence/startup_fix_1_3_1/fresh-installed-editor.log +72 -0
  454. pycforge-1.3.3/evidence/startup_fix_1_3_1/full-current-display-fixture-crash.log +85 -0
  455. pycforge-1.3.3/evidence/startup_fix_1_3_1/full-current.log +22 -0
  456. pycforge-1.3.3/evidence/startup_fix_1_3_1/full-current.xml +1 -0
  457. pycforge-1.3.3/evidence/startup_fix_1_3_1/installed-editor.log +72 -0
  458. pycforge-1.3.3/evidence/startup_fix_1_3_1/installed-regressions.log +2 -0
  459. pycforge-1.3.3/evidence/startup_fix_1_3_1/installed-regressions.xml +1 -0
  460. pycforge-1.3.3/evidence/startup_fix_1_3_1/native-pcfc11.log +2 -0
  461. pycforge-1.3.3/evidence/startup_fix_1_3_1/native-pcfc11.xml +1 -0
  462. pycforge-1.3.3/evidence/startup_fix_1_3_1/older-dependencies.log +2 -0
  463. pycforge-1.3.3/evidence/startup_fix_1_3_1/package-preservation.json +17 -0
  464. pycforge-1.3.3/evidence/startup_fix_1_3_1/scale-1.25.log +2 -0
  465. pycforge-1.3.3/evidence/startup_fix_1_3_1/scale-1.5.log +2 -0
  466. pycforge-1.3.3/evidence/startup_fix_1_3_1/scale-2.log +2 -0
  467. pycforge-1.3.3/evidence/startup_fix_1_3_1/skipped-checks.json +116 -0
  468. pycforge-1.3.3/evidence/startup_fix_1_3_1/wheel-installation-verification.json +5 -0
  469. pycforge-1.3.3/evidence/ui_1_1_5/documentation-checks.json +11 -0
  470. pycforge-1.3.3/evidence/ui_1_1_5/installed-desktop.json +59 -0
  471. pycforge-1.3.3/evidence/ui_1_1_5/pytest.log +45 -0
  472. pycforge-1.3.3/evidence/ui_1_1_5/pytest.xml +1 -0
  473. pycforge-1.3.3/evidence/ui_1_1_5/validation_report.json +98 -0
  474. pycforge-1.3.3/fixtures/runtime_dictionaries_1_1_4/grouping.py +12 -0
  475. pycforge-1.3.3/fixtures/runtime_dictionaries_1_1_4/word_count.py +12 -0
  476. pycforge-1.3.3/fixtures/runtime_everyday_1_1_8/everyday.py +25 -0
  477. pycforge-1.3.3/fixtures/runtime_files_1_1_10/expected-report.txt +5 -0
  478. pycforge-1.3.3/fixtures/runtime_files_1_1_10/main.py +9 -0
  479. pycforge-1.3.3/fixtures/runtime_files_1_1_10/prices.txt +3 -0
  480. pycforge-1.3.3/fixtures/runtime_files_1_1_10/pricing.py +9 -0
  481. pycforge-1.3.3/fixtures/runtime_files_1_1_10/text_files.py +7 -0
  482. pycforge-1.3.3/fixtures/runtime_modules_1_1_9/invoice.py +8 -0
  483. pycforge-1.3.3/fixtures/runtime_modules_1_1_9/main.py +11 -0
  484. pycforge-1.3.3/fixtures/runtime_modules_1_1_9/models.py +7 -0
  485. pycforge-1.3.3/fixtures/runtime_modules_1_1_9/settings.py +3 -0
  486. pycforge-1.3.3/pycforge/_vendor/ting_reasoner/numeric.py +181 -0
  487. pycforge-1.3.3/pycforge/_vendor/ting_reasoner_provenance.json +46 -0
  488. pycforge-1.3.3/pycforge/_version.py +1 -0
  489. pycforge-1.3.3/pycforge/build/__init__.py +4 -0
  490. pycforge-1.3.3/pycforge/build/__main__.py +71 -0
  491. pycforge-1.3.3/pycforge/build/_launcher.py +12 -0
  492. pycforge-1.3.3/pycforge/build/_winjob.py +61 -0
  493. pycforge-1.3.3/pycforge/build/runtime_entry.py +26 -0
  494. pycforge-1.3.3/pycforge/build/service.py +296 -0
  495. pycforge-1.3.3/pycforge/build/windows_include/assert.h +9 -0
  496. pycforge-1.3.3/pycforge/build/windows_include/fenv.h +5 -0
  497. pycforge-1.3.3/pycforge/build/windows_include/inttypes.h +6 -0
  498. pycforge-1.3.3/pycforge/build/windows_include/locale.h +16 -0
  499. pycforge-1.3.3/pycforge/build/windows_include/math.h +20 -0
  500. pycforge-1.3.3/pycforge/build/windows_include/stdio.h +11 -0
  501. pycforge-1.3.3/pycforge/build/windows_include/wchar.h +6 -0
  502. pycforge-1.3.3/pycforge/converter/__init__.py +0 -0
  503. pycforge-1.3.3/pycforge/converter/c_output/renderer.py +239 -0
  504. pycforge-1.3.3/pycforge/converter/contracts/__init__.py +0 -0
  505. pycforge-1.3.3/pycforge/converter/contracts/configuration.py +244 -0
  506. pycforge-1.3.3/pycforge/converter/core/__init__.py +0 -0
  507. pycforge-1.3.3/pycforge/converter/core/canonicalization.py +271 -0
  508. pycforge-1.3.3/pycforge/converter/decision_trace/__init__.py +0 -0
  509. pycforge-1.3.3/pycforge/converter/frontend/parser.py +51 -0
  510. pycforge-1.3.3/pycforge/converter/frontend/source_document.py +112 -0
  511. pycforge-1.3.3/pycforge/converter/frontend/stages.py +547 -0
  512. pycforge-1.3.3/pycforge/converter/io/__init__.py +0 -0
  513. pycforge-1.3.3/pycforge/converter/runtime_values/__init__.py +4 -0
  514. pycforge-1.3.3/pycforge/converter/runtime_values/compiler.py +766 -0
  515. pycforge-1.3.3/pycforge/converter/runtime_values/dict_ops.h +276 -0
  516. pycforge-1.3.3/pycforge/converter/runtime_values/everyday_ops.h +255 -0
  517. pycforge-1.3.3/pycforge/converter/runtime_values/file_ops.h +182 -0
  518. pycforge-1.3.3/pycforge/converter/runtime_values/format_ops.h +307 -0
  519. pycforge-1.3.3/pycforge/converter/runtime_values/module_ops.h +58 -0
  520. pycforge-1.3.3/pycforge/converter/runtime_values/modules.py +139 -0
  521. pycforge-1.3.3/pycforge/converter/runtime_values/runtime.h +515 -0
  522. pycforge-1.3.3/pycforge/converter/runtime_values/service.py +75 -0
  523. pycforge-1.3.3/pycforge/converter/runtime_values/unicode_data.h +4322 -0
  524. pycforge-1.3.3/pycforge/converter/telemetry/__init__.py +0 -0
  525. pycforge-1.3.3/pycforge/ide/action_contract.py +526 -0
  526. pycforge-1.3.3/pycforge/ide/analysis_cache.py +74 -0
  527. pycforge-1.3.3/pycforge/ide/controller.py +998 -0
  528. pycforge-1.3.3/pycforge/ide/controller_conversion.py +570 -0
  529. pycforge-1.3.3/pycforge/ide/controller_edits.py +23 -0
  530. pycforge-1.3.3/pycforge/ide/controller_io.py +211 -0
  531. pycforge-1.3.3/pycforge/ide/conversion_profiles.py +85 -0
  532. pycforge-1.3.3/pycforge/ide/editing_operations.py +314 -0
  533. pycforge-1.3.3/pycforge/ide/editing_worker.py +70 -0
  534. pycforge-1.3.3/pycforge/ide/editor.py +970 -0
  535. pycforge-1.3.3/pycforge/ide/editor_commands_qt.py +638 -0
  536. pycforge-1.3.3/pycforge/ide/editor_offsets.py +20 -0
  537. pycforge-1.3.3/pycforge/ide/editor_productivity.py +430 -0
  538. pycforge-1.3.3/pycforge/ide/editor_sidebars.py +258 -0
  539. pycforge-1.3.3/pycforge/ide/find_advanced.py +154 -0
  540. pycforge-1.3.3/pycforge/ide/find_replace.py +653 -0
  541. pycforge-1.3.3/pycforge/ide/io_service.py +233 -0
  542. pycforge-1.3.3/pycforge/ide/model.py +165 -0
  543. pycforge-1.3.3/pycforge/ide/outline_parser.py +56 -0
  544. pycforge-1.3.3/pycforge/ide/outline_process.py +124 -0
  545. pycforge-1.3.3/pycforge/ide/outline_protocol.py +70 -0
  546. pycforge-1.3.3/pycforge/ide/positions.py +253 -0
  547. pycforge-1.3.3/pycforge/ide/qt.py +297 -0
  548. pycforge-1.3.3/pycforge/ide/qt_about.py +327 -0
  549. pycforge-1.3.3/pycforge/ide/qt_actions.py +501 -0
  550. pycforge-1.3.3/pycforge/ide/qt_build.py +365 -0
  551. pycforge-1.3.3/pycforge/ide/qt_build_files.py +31 -0
  552. pycforge-1.3.3/pycforge/ide/qt_close.py +238 -0
  553. pycforge-1.3.3/pycforge/ide/qt_command_palette.py +374 -0
  554. pycforge-1.3.3/pycforge/ide/qt_dialog_chrome.py +311 -0
  555. pycforge-1.3.3/pycforge/ide/qt_documents.py +551 -0
  556. pycforge-1.3.3/pycforge/ide/qt_edit_preview.py +171 -0
  557. pycforge-1.3.3/pycforge/ide/qt_editing_helpers.py +66 -0
  558. pycforge-1.3.3/pycforge/ide/qt_editing_service.py +196 -0
  559. pycforge-1.3.3/pycforge/ide/qt_editor_buffers.py +144 -0
  560. pycforge-1.3.3/pycforge/ide/qt_editor_settings.py +242 -0
  561. pycforge-1.3.3/pycforge/ide/qt_editor_surfaces.py +139 -0
  562. pycforge-1.3.3/pycforge/ide/qt_editor_tools.py +429 -0
  563. pycforge-1.3.3/pycforge/ide/qt_file_dialogs.py +969 -0
  564. pycforge-1.3.3/pycforge/ide/qt_menus.py +402 -0
  565. pycforge-1.3.3/pycforge/ide/qt_preview_service.py +52 -0
  566. pycforge-1.3.3/pycforge/ide/qt_projection.py +598 -0
  567. pycforge-1.3.3/pycforge/ide/qt_session_state.py +164 -0
  568. pycforge-1.3.3/pycforge/ide/qt_shell.py +519 -0
  569. pycforge-1.3.3/pycforge/ide/qt_shell_interactions.py +417 -0
  570. pycforge-1.3.3/pycforge/ide/qt_startup.py +450 -0
  571. pycforge-1.3.3/pycforge/ide/qt_state.py +457 -0
  572. pycforge-1.3.3/pycforge/ide/qt_symbol_icons.py +45 -0
  573. pycforge-1.3.3/pycforge/ide/qt_symbol_navigator.py +309 -0
  574. pycforge-1.3.3/pycforge/ide/qt_ting_actions.py +103 -0
  575. pycforge-1.3.3/pycforge/ide/qt_window_chrome.py +595 -0
  576. pycforge-1.3.3/pycforge/ide/qt_workspace_features.py +583 -0
  577. pycforge-1.3.3/pycforge/ide/qt_workspace_navigation.py +310 -0
  578. pycforge-1.3.3/pycforge/ide/qt_workspace_observers.py +201 -0
  579. pycforge-1.3.3/pycforge/ide/rename_safety.py +94 -0
  580. pycforge-1.3.3/pycforge/ide/resources/help/calls-modules.html +104 -0
  581. pycforge-1.3.3/pycforge/ide/resources/help/catalog.json +394 -0
  582. pycforge-1.3.3/pycforge/ide/resources/help/cli-api.html +130 -0
  583. pycforge-1.3.3/pycforge/ide/resources/help/containers-records.html +59 -0
  584. pycforge-1.3.3/pycforge/ide/resources/help/contracts.html +44 -0
  585. pycforge-1.3.3/pycforge/ide/resources/help/control-flow.html +75 -0
  586. pycforge-1.3.3/pycforge/ide/resources/help/diagnostics.html +98 -0
  587. pycforge-1.3.3/pycforge/ide/resources/help/file-io.html +102 -0
  588. pycforge-1.3.3/pycforge/ide/resources/help/help-authoring.html +63 -0
  589. pycforge-1.3.3/pycforge/ide/resources/help/help.css +145 -0
  590. pycforge-1.3.3/pycforge/ide/resources/help/runtime-classes.html +57 -0
  591. pycforge-1.3.3/pycforge/ide/resources/help/runtime-comprehensions.html +49 -0
  592. pycforge-1.3.3/pycforge/ide/resources/help/runtime-containers.html +120 -0
  593. pycforge-1.3.3/pycforge/ide/resources/help/runtime-files.html +133 -0
  594. pycforge-1.3.3/pycforge/ide/resources/help/runtime-functions.html +108 -0
  595. pycforge-1.3.3/pycforge/ide/resources/help/runtime-strings.html +88 -0
  596. pycforge-1.3.3/pycforge/ide/resources/help/runtime-values.html +123 -0
  597. pycforge-1.3.3/pycforge/ide/resources/help/safety-limits.html +48 -0
  598. pycforge-1.3.3/pycforge/ide/resources/help/shortcuts.html +102 -0
  599. pycforge-1.3.3/pycforge/ide/resources/help/start.html +74 -0
  600. pycforge-1.3.3/pycforge/ide/resources/help/ting-agents.html +42 -0
  601. pycforge-1.3.3/pycforge/ide/resources/help/types-expressions.html +107 -0
  602. pycforge-1.3.3/pycforge/ide/resources/help/workspace.html +121 -0
  603. pycforge-1.3.3/pycforge/ide/revisions.py +475 -0
  604. pycforge-1.3.3/pycforge/ide/search_service.py +281 -0
  605. pycforge-1.3.3/pycforge/ide/source_preview.py +249 -0
  606. pycforge-1.3.3/pycforge/ide/source_structure.py +514 -0
  607. pycforge-1.3.3/pycforge/ide/source_structure_async.py +233 -0
  608. pycforge-1.3.3/pycforge/ide/supervisor.py +553 -0
  609. pycforge-1.3.3/pycforge/ide/supervisor_transport.py +67 -0
  610. pycforge-1.3.3/pycforge/ide/symbol_navigation.py +73 -0
  611. pycforge-1.3.3/pycforge/ide/text_changes.py +26 -0
  612. pycforge-1.3.3/pycforge/ide/theme_steel_stylesheet.py +835 -0
  613. pycforge-1.3.3/pycforge/ide/work_budget.py +63 -0
  614. pycforge-1.3.3/pycforge/ide/workspace_search.py +463 -0
  615. pycforge-1.3.3/pycforge/laboratory/cli.py +133 -0
  616. pycforge-1.3.3/pycforge.egg-info/PKG-INFO +210 -0
  617. pycforge-1.3.3/pycforge.egg-info/SOURCES.txt +1949 -0
  618. pycforge-1.3.3/pycforge.egg-info/requires.txt +5 -0
  619. pycforge-1.3.3/pyproject.toml +58 -0
  620. pycforge-1.3.3/specifications/editor_responsiveness_1_1_7.md +130 -0
  621. pycforge-1.3.3/specifications/runtime_files_1_1_10.md +141 -0
  622. pycforge-1.3.3/specifications/runtime_modules_1_1_9.md +128 -0
  623. pycforge-1.3.3/specifications/runtime_values_1_1_4.md +113 -0
  624. pycforge-1.3.3/specifications/runtime_values_1_1_8.md +118 -0
  625. pycforge-1.3.3/tests/test_about_and_window_chrome_review.py +252 -0
  626. pycforge-1.3.3/tests/test_build_resource_lifecycle.py +68 -0
  627. pycforge-1.3.3/tests/test_checkpoint_e_versioning.py +154 -0
  628. pycforge-1.3.3/tests/test_consolidated_build.py +110 -0
  629. pycforge-1.3.3/tests/test_conversion_correctness_1_1_2.py +276 -0
  630. pycforge-1.3.3/tests/test_conversion_coverage_1_1_3.py +194 -0
  631. pycforge-1.3.3/tests/test_conversion_mode_ui_1_1_5.py +186 -0
  632. pycforge-1.3.3/tests/test_dialog_control_focus_1_0_5.py +149 -0
  633. pycforge-1.3.3/tests/test_editor_behavior_qt.py +174 -0
  634. pycforge-1.3.3/tests/test_editor_integration_audit.py +201 -0
  635. pycforge-1.3.3/tests/test_editor_lifecycle_regressions.py +458 -0
  636. pycforge-1.3.3/tests/test_editor_productivity_1_1_6.py +411 -0
  637. pycforge-1.3.3/tests/test_editor_regressions_1_1_7.py +430 -0
  638. pycforge-1.3.3/tests/test_editor_responsiveness_1_1_7.py +393 -0
  639. pycforge-1.3.3/tests/test_everyday_runtime_1_1_8.py +277 -0
  640. pycforge-1.3.3/tests/test_find_paste_1_1_7.py +292 -0
  641. pycforge-1.3.3/tests/test_folding_assistance_1_1_7.py +222 -0
  642. pycforge-1.3.3/tests/test_help_documentation_0_16_3.py +273 -0
  643. pycforge-1.3.3/tests/test_numeric_dependency_compatibility.py +61 -0
  644. pycforge-1.3.3/tests/test_pcfc11_build.py +155 -0
  645. pycforge-1.3.3/tests/test_pcfc11_build_qt.py +98 -0
  646. pycforge-1.3.3/tests/test_pcfc11_dialog_paths.py +174 -0
  647. pycforge-1.3.3/tests/test_phase0.py +50 -0
  648. pycforge-1.3.3/tests/test_phase10_opening.py +137 -0
  649. pycforge-1.3.3/tests/test_phase12_1_editor.py +126 -0
  650. pycforge-1.3.3/tests/test_phase12_2_metadata.py +252 -0
  651. pycforge-1.3.3/tests/test_phase12_2_qt.py +294 -0
  652. pycforge-1.3.3/tests/test_phase13_contracts.py +210 -0
  653. pycforge-1.3.3/tests/test_phase14_numeric_contracts.py +159 -0
  654. pycforge-1.3.3/tests/test_phase14b_conditional_contracts.py +235 -0
  655. pycforge-1.3.3/tests/test_phase14c_keyword_contracts.py +253 -0
  656. pycforge-1.3.3/tests/test_phase14d_keyword_only_contracts.py +486 -0
  657. pycforge-1.3.3/tests/test_phase15a_metadata.py +253 -0
  658. pycforge-1.3.3/tests/test_phase15a_qt_decomposition.py +95 -0
  659. pycforge-1.3.3/tests/test_phase15a_release_packaging.py +159 -0
  660. pycforge-1.3.3/tests/test_phase15b_action_foundation.py +224 -0
  661. pycforge-1.3.3/tests/test_phase15b_action_integration.py +206 -0
  662. pycforge-1.3.3/tests/test_phase15b_release_packaging.py +1018 -0
  663. pycforge-1.3.3/tests/test_phase15c_action_contract.py +435 -0
  664. pycforge-1.3.3/tests/test_phase15c_qt_workspace_integration.py +902 -0
  665. pycforge-1.3.3/tests/test_phase15c_release_packaging.py +1049 -0
  666. pycforge-1.3.3/tests/test_phase15c_source_structure.py +378 -0
  667. pycforge-1.3.3/tests/test_phase8.py +56 -0
  668. pycforge-1.3.3/tests/test_public_distribution.py +176 -0
  669. pycforge-1.3.3/tests/test_release_contract_0_16_3.py +284 -0
  670. pycforge-1.3.3/tests/test_reliability_audit.py +134 -0
  671. pycforge-1.3.3/tests/test_resource_dialogs.py +77 -0
  672. pycforge-1.3.3/tests/test_resource_lifecycle.py +242 -0
  673. pycforge-1.3.3/tests/test_resource_lifecycle_qt.py +173 -0
  674. pycforge-1.3.3/tests/test_resource_ownership.py +86 -0
  675. pycforge-1.3.3/tests/test_resource_supervisor.py +79 -0
  676. pycforge-1.3.3/tests/test_runtime_arena_cleanup.py +100 -0
  677. pycforge-1.3.3/tests/test_runtime_dictionaries_1_1_4.py +339 -0
  678. pycforge-1.3.3/tests/test_runtime_files_1_1_10.py +389 -0
  679. pycforge-1.3.3/tests/test_runtime_modules_1_1_9.py +351 -0
  680. pycforge-1.3.3/tests/test_runtime_values_integration.py +160 -0
  681. pycforge-1.3.3/tests/test_runtime_values_preview.py +410 -0
  682. pycforge-1.3.3/tests/test_set_conversion_1_0_1.py +249 -0
  683. pycforge-1.3.3/tests/test_source_publication_memory.py +45 -0
  684. pycforge-1.3.3/tests/test_startup_layout_1_3_1.py +166 -0
  685. pycforge-1.3.3/tests/test_startup_progress_0_16_3.py +134 -0
  686. pycforge-1.3.3/tests/test_symbol_navigator_1_1_7.py +349 -0
  687. pycforge-1.3.3/tests/test_ui_review_corrections_1_0_1.py +324 -0
  688. pycforge-1.3.3/tests/test_validate_checkpoint_e.py +319 -0
  689. pycforge-1.3.3/tests/test_validate_phase15a.py +482 -0
  690. pycforge-1.3.3/tests/test_validate_phase15b.py +482 -0
  691. pycforge-1.3.3/tests/test_validate_phase15c.py +530 -0
  692. pycforge-1.3.3/tests/test_validate_phase16.py +349 -0
  693. pycforge-1.3.3/tests/test_validate_pycforge_workspace_0_12_2.py +179 -0
  694. pycforge-1.3.3/tests/test_validate_workspace_usability_0_15_3.py +164 -0
  695. pycforge-1.3.3/tools/_phase15a_runtime_validation.py +467 -0
  696. pycforge-1.3.3/tools/benchmark_editor_responsiveness.py +139 -0
  697. pycforge-1.3.3/tools/benchmark_workspace_typing.py +66 -0
  698. pycforge-1.3.3/tools/check_editor_responsiveness.py +45 -0
  699. pycforge-1.3.3/tools/generate_runtime_printable.py +23 -0
  700. pycforge-1.3.3/tools/profile_conversion_allocations.py +44 -0
  701. pycforge-1.3.3/tools/profile_conversion_memory.py +99 -0
  702. pycforge-1.3.3/tools/profile_resources.py +208 -0
  703. pycforge-1.3.3/tools/reconcile_release.py +89 -0
  704. pycforge-1.3.3/tools/runtime_preview_smoke.py +69 -0
  705. pycforge-1.3.3/tools/validate_phase16.py +1375 -0
  706. pycforge-1.3.3/tools/validate_workspace_usability_0_15_3.py +460 -0
  707. pycforge-1.3.3/tools/verify_conversion_documentation.py +367 -0
  708. pycforge-1.3.3/tools/verify_installed_editor_1_1_7.py +196 -0
  709. pycforge-1.3.3/tools/verify_installed_everyday_1_1_8.py +33 -0
  710. pycforge-1.3.3/tools/verify_installed_files_1_1_10.py +64 -0
  711. pycforge-1.3.3/tools/verify_installed_modules_1_1_9.py +50 -0
  712. pycforge-1.3.3/tools/verify_installed_version_surfaces.py +82 -0
  713. pycforge-1.3.3/tools/verify_public_distribution.py +614 -0
  714. pycforge-1.1.3/CHANGELOG.md +0 -957
  715. pycforge-1.1.3/CONVERSION_ROADMAP.md +0 -260
  716. pycforge-1.1.3/CURRENT_STATE.md +0 -489
  717. pycforge-1.1.3/HELP.md +0 -39
  718. pycforge-1.1.3/MANIFEST.in +0 -34
  719. pycforge-1.1.3/PKG-INFO +0 -197
  720. pycforge-1.1.3/PYPI_RELEASE.md +0 -281
  721. pycforge-1.1.3/README.md +0 -169
  722. pycforge-1.1.3/RELEASE_NOTES.md +0 -86
  723. pycforge-1.1.3/THIRD_PARTY_NOTICES.md +0 -39
  724. pycforge-1.1.3/pycforge/_vendor/ting_reasoner/numeric.py +0 -188
  725. pycforge-1.1.3/pycforge/_vendor/ting_reasoner_provenance.json +0 -45
  726. pycforge-1.1.3/pycforge/_version.py +0 -1
  727. pycforge-1.1.3/pycforge/converter/c_output/renderer.py +0 -237
  728. pycforge-1.1.3/pycforge/converter/contracts/configuration.py +0 -238
  729. pycforge-1.1.3/pycforge/converter/core/canonicalization.py +0 -270
  730. pycforge-1.1.3/pycforge/converter/frontend/parser.py +0 -46
  731. pycforge-1.1.3/pycforge/converter/frontend/source_document.py +0 -103
  732. pycforge-1.1.3/pycforge/converter/frontend/stages.py +0 -533
  733. pycforge-1.1.3/pycforge/converter/runtime_values/__init__.py +0 -4
  734. pycforge-1.1.3/pycforge/converter/runtime_values/compiler.py +0 -595
  735. pycforge-1.1.3/pycforge/converter/runtime_values/runtime.h +0 -436
  736. pycforge-1.1.3/pycforge/converter/runtime_values/service.py +0 -67
  737. pycforge-1.1.3/pycforge/converter/runtime_values/unicode_data.h +0 -3607
  738. pycforge-1.1.3/pycforge/ide/action_contract.py +0 -498
  739. pycforge-1.1.3/pycforge/ide/controller.py +0 -999
  740. pycforge-1.1.3/pycforge/ide/controller_conversion.py +0 -599
  741. pycforge-1.1.3/pycforge/ide/controller_io.py +0 -205
  742. pycforge-1.1.3/pycforge/ide/conversion_profiles.py +0 -22
  743. pycforge-1.1.3/pycforge/ide/editor.py +0 -941
  744. pycforge-1.1.3/pycforge/ide/editor_commands_qt.py +0 -599
  745. pycforge-1.1.3/pycforge/ide/editor_sidebars.py +0 -245
  746. pycforge-1.1.3/pycforge/ide/find_replace.py +0 -547
  747. pycforge-1.1.3/pycforge/ide/io_service.py +0 -196
  748. pycforge-1.1.3/pycforge/ide/model.py +0 -164
  749. pycforge-1.1.3/pycforge/ide/positions.py +0 -252
  750. pycforge-1.1.3/pycforge/ide/qt.py +0 -287
  751. pycforge-1.1.3/pycforge/ide/qt_about.py +0 -323
  752. pycforge-1.1.3/pycforge/ide/qt_actions.py +0 -488
  753. pycforge-1.1.3/pycforge/ide/qt_close.py +0 -223
  754. pycforge-1.1.3/pycforge/ide/qt_command_palette.py +0 -368
  755. pycforge-1.1.3/pycforge/ide/qt_dialog_chrome.py +0 -307
  756. pycforge-1.1.3/pycforge/ide/qt_documents.py +0 -528
  757. pycforge-1.1.3/pycforge/ide/qt_editor_buffers.py +0 -125
  758. pycforge-1.1.3/pycforge/ide/qt_editor_settings.py +0 -236
  759. pycforge-1.1.3/pycforge/ide/qt_editor_surfaces.py +0 -139
  760. pycforge-1.1.3/pycforge/ide/qt_file_dialogs.py +0 -946
  761. pycforge-1.1.3/pycforge/ide/qt_menus.py +0 -329
  762. pycforge-1.1.3/pycforge/ide/qt_projection.py +0 -595
  763. pycforge-1.1.3/pycforge/ide/qt_session_state.py +0 -157
  764. pycforge-1.1.3/pycforge/ide/qt_shell.py +0 -511
  765. pycforge-1.1.3/pycforge/ide/qt_shell_interactions.py +0 -402
  766. pycforge-1.1.3/pycforge/ide/qt_startup.py +0 -397
  767. pycforge-1.1.3/pycforge/ide/qt_state.py +0 -449
  768. pycforge-1.1.3/pycforge/ide/qt_ting_actions.py +0 -96
  769. pycforge-1.1.3/pycforge/ide/qt_window_chrome.py +0 -585
  770. pycforge-1.1.3/pycforge/ide/qt_workspace_features.py +0 -530
  771. pycforge-1.1.3/pycforge/ide/qt_workspace_navigation.py +0 -310
  772. pycforge-1.1.3/pycforge/ide/qt_workspace_observers.py +0 -201
  773. pycforge-1.1.3/pycforge/ide/resources/help/calls-modules.html +0 -63
  774. pycforge-1.1.3/pycforge/ide/resources/help/catalog.json +0 -336
  775. pycforge-1.1.3/pycforge/ide/resources/help/cli-api.html +0 -86
  776. pycforge-1.1.3/pycforge/ide/resources/help/containers-records.html +0 -55
  777. pycforge-1.1.3/pycforge/ide/resources/help/contracts.html +0 -42
  778. pycforge-1.1.3/pycforge/ide/resources/help/control-flow.html +0 -71
  779. pycforge-1.1.3/pycforge/ide/resources/help/diagnostics.html +0 -86
  780. pycforge-1.1.3/pycforge/ide/resources/help/file-io.html +0 -80
  781. pycforge-1.1.3/pycforge/ide/resources/help/help-authoring.html +0 -49
  782. pycforge-1.1.3/pycforge/ide/resources/help/help.css +0 -144
  783. pycforge-1.1.3/pycforge/ide/resources/help/runtime-classes.html +0 -57
  784. pycforge-1.1.3/pycforge/ide/resources/help/runtime-comprehensions.html +0 -45
  785. pycforge-1.1.3/pycforge/ide/resources/help/runtime-containers.html +0 -61
  786. pycforge-1.1.3/pycforge/ide/resources/help/runtime-functions.html +0 -95
  787. pycforge-1.1.3/pycforge/ide/resources/help/runtime-strings.html +0 -74
  788. pycforge-1.1.3/pycforge/ide/resources/help/runtime-values.html +0 -67
  789. pycforge-1.1.3/pycforge/ide/resources/help/safety-limits.html +0 -47
  790. pycforge-1.1.3/pycforge/ide/resources/help/shortcuts.html +0 -69
  791. pycforge-1.1.3/pycforge/ide/resources/help/start.html +0 -63
  792. pycforge-1.1.3/pycforge/ide/resources/help/ting-agents.html +0 -41
  793. pycforge-1.1.3/pycforge/ide/resources/help/types-expressions.html +0 -102
  794. pycforge-1.1.3/pycforge/ide/resources/help/workspace.html +0 -59
  795. pycforge-1.1.3/pycforge/ide/revisions.py +0 -401
  796. pycforge-1.1.3/pycforge/ide/search_service.py +0 -280
  797. pycforge-1.1.3/pycforge/ide/source_preview.py +0 -236
  798. pycforge-1.1.3/pycforge/ide/source_structure.py +0 -561
  799. pycforge-1.1.3/pycforge/ide/source_structure_async.py +0 -191
  800. pycforge-1.1.3/pycforge/ide/supervisor.py +0 -503
  801. pycforge-1.1.3/pycforge/ide/theme_steel_stylesheet.py +0 -820
  802. pycforge-1.1.3/pycforge/ide/workspace_search.py +0 -462
  803. pycforge-1.1.3/pycforge/laboratory/cli.py +0 -122
  804. pycforge-1.1.3/pycforge.egg-info/PKG-INFO +0 -197
  805. pycforge-1.1.3/pycforge.egg-info/SOURCES.txt +0 -1379
  806. pycforge-1.1.3/pycforge.egg-info/requires.txt +0 -3
  807. pycforge-1.1.3/pyproject.toml +0 -56
  808. pycforge-1.1.3/tests/test_about_and_window_chrome_review.py +0 -231
  809. pycforge-1.1.3/tests/test_checkpoint_e_versioning.py +0 -154
  810. pycforge-1.1.3/tests/test_conversion_correctness_1_1_2.py +0 -276
  811. pycforge-1.1.3/tests/test_conversion_coverage_1_1_3.py +0 -197
  812. pycforge-1.1.3/tests/test_dialog_control_focus_1_0_5.py +0 -149
  813. pycforge-1.1.3/tests/test_editor_behavior_qt.py +0 -172
  814. pycforge-1.1.3/tests/test_help_documentation_0_16_3.py +0 -273
  815. pycforge-1.1.3/tests/test_phase0.py +0 -50
  816. pycforge-1.1.3/tests/test_phase10_opening.py +0 -137
  817. pycforge-1.1.3/tests/test_phase12_1_editor.py +0 -125
  818. pycforge-1.1.3/tests/test_phase12_2_metadata.py +0 -252
  819. pycforge-1.1.3/tests/test_phase12_2_qt.py +0 -290
  820. pycforge-1.1.3/tests/test_phase13_contracts.py +0 -210
  821. pycforge-1.1.3/tests/test_phase14_numeric_contracts.py +0 -159
  822. pycforge-1.1.3/tests/test_phase14b_conditional_contracts.py +0 -235
  823. pycforge-1.1.3/tests/test_phase14c_keyword_contracts.py +0 -253
  824. pycforge-1.1.3/tests/test_phase14d_keyword_only_contracts.py +0 -486
  825. pycforge-1.1.3/tests/test_phase15a_metadata.py +0 -253
  826. pycforge-1.1.3/tests/test_phase15a_qt_decomposition.py +0 -94
  827. pycforge-1.1.3/tests/test_phase15a_release_packaging.py +0 -159
  828. pycforge-1.1.3/tests/test_phase15b_action_foundation.py +0 -224
  829. pycforge-1.1.3/tests/test_phase15b_action_integration.py +0 -202
  830. pycforge-1.1.3/tests/test_phase15b_release_packaging.py +0 -1018
  831. pycforge-1.1.3/tests/test_phase15c_action_contract.py +0 -430
  832. pycforge-1.1.3/tests/test_phase15c_qt_workspace_integration.py +0 -898
  833. pycforge-1.1.3/tests/test_phase15c_release_packaging.py +0 -1049
  834. pycforge-1.1.3/tests/test_phase15c_source_structure.py +0 -378
  835. pycforge-1.1.3/tests/test_phase8.py +0 -56
  836. pycforge-1.1.3/tests/test_public_distribution.py +0 -177
  837. pycforge-1.1.3/tests/test_release_contract_0_16_3.py +0 -284
  838. pycforge-1.1.3/tests/test_runtime_arena_cleanup.py +0 -82
  839. pycforge-1.1.3/tests/test_runtime_values_integration.py +0 -159
  840. pycforge-1.1.3/tests/test_runtime_values_preview.py +0 -410
  841. pycforge-1.1.3/tests/test_set_conversion_1_0_1.py +0 -249
  842. pycforge-1.1.3/tests/test_startup_progress_0_16_3.py +0 -134
  843. pycforge-1.1.3/tests/test_ui_review_corrections_1_0_1.py +0 -324
  844. pycforge-1.1.3/tests/test_validate_checkpoint_e.py +0 -319
  845. pycforge-1.1.3/tests/test_validate_phase15a.py +0 -482
  846. pycforge-1.1.3/tests/test_validate_phase15b.py +0 -482
  847. pycforge-1.1.3/tests/test_validate_phase15c.py +0 -530
  848. pycforge-1.1.3/tests/test_validate_phase16.py +0 -349
  849. pycforge-1.1.3/tests/test_validate_pycforge_workspace_0_12_2.py +0 -179
  850. pycforge-1.1.3/tests/test_validate_workspace_usability_0_15_3.py +0 -164
  851. pycforge-1.1.3/tools/_phase15a_runtime_validation.py +0 -467
  852. pycforge-1.1.3/tools/runtime_preview_smoke.py +0 -69
  853. pycforge-1.1.3/tools/validate_phase16.py +0 -1375
  854. pycforge-1.1.3/tools/validate_workspace_usability_0_15_3.py +0 -458
  855. pycforge-1.1.3/tools/verify_conversion_documentation.py +0 -154
  856. pycforge-1.1.3/tools/verify_public_distribution.py +0 -615
  857. {pycforge-1.1.3 → pycforge-1.3.3}/EXPERT_REVIEW_1.0.1.md +0 -0
  858. {pycforge-1.1.3 → pycforge-1.3.3}/LICENSE +0 -0
  859. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Checkpoint_E_v0_14_4_Project_Handoff.txt +0 -0
  860. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_10_v0_10_0_Project_Handoff.txt +0 -0
  861. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_11_v0_11_0_Project_Handoff.txt +0 -0
  862. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_12_v0_12_0_Project_Handoff.txt +0 -0
  863. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_13_v0_13_0_Project_Handoff.txt +0 -0
  864. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_14A_v0_14_0_Project_Handoff.txt +0 -0
  865. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_14B_v0_14_1_Project_Handoff.txt +0 -0
  866. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_14C_v0_14_2_Project_Handoff.txt +0 -0
  867. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_14D_v0_14_3_Project_Handoff.txt +0 -0
  868. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_15A_v0_15_0_Project_Handoff.txt +0 -0
  869. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_15B_v0_15_1_Project_Handoff.txt +0 -0
  870. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_15C_v0_15_2_Project_Handoff.txt +0 -0
  871. {pycforge-1.1.3 → pycforge-1.3.3}/PyCForge_Phase_9_v0_9_0_Project_Handoff.txt +0 -0
  872. {pycforge-1.1.3 → pycforge-1.3.3}/ROADMAP.md +0 -0
  873. {pycforge-1.1.3 → pycforge-1.3.3}/TING_INTEGRATION_REVIEW.md +0 -0
  874. {pycforge-1.1.3 → pycforge-1.3.3}/docs/CONVERSION_AUDIT_1_1_2.txt +0 -0
  875. {pycforge-1.1.3 → pycforge-1.3.3}/docs/HELP_AUTHORING.md +0 -0
  876. {pycforge-1.1.3 → pycforge-1.3.3}/docs/PyCForge_v0_15_2_Conversion_Examples_Reference_Edition.pdf +0 -0
  877. {pycforge-1.1.3 → pycforge-1.3.3}/docs/PyCForge_v0_16_0_Programmers_Conversion_Guide.pdf +0 -0
  878. {pycforge-1.1.3 → pycforge-1.3.3}/docs/RUNTIME_PREVIEW_REVIEW.txt +0 -0
  879. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-help-0.16.3.png +0 -0
  880. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-ting-agents-1.0.2.png +0 -0
  881. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-workspace-0.15.2.png +0 -0
  882. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-workspace-0.16.1.png +0 -0
  883. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-workspace-0.16.3.png +0 -0
  884. {pycforge-1.1.3 → pycforge-1.3.3}/docs/images/pycforge-workspace-1.0.2.png +0 -0
  885. {pycforge-1.1.3 → pycforge-1.3.3}/docs/pycforge_workspace_quality_addendum.md +0 -0
  886. {pycforge-1.1.3 → pycforge-1.3.3}/docs/python_to_c_converter_architecture_revision_3_1.txt +0 -0
  887. {pycforge-1.1.3 → pycforge-1.3.3}/docs/python_to_c_converter_architecture_revision_3_2_addendum.md +0 -0
  888. {pycforge-1.1.3 → pycforge-1.3.3}/docs/python_to_c_converter_architecture_revision_3_3_workspace_addendum.md +0 -0
  889. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/checkpoint_e/debt_delta.json +0 -0
  890. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/checkpoint_e/entry_report.json +0 -0
  891. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/checkpoint_e/full_subset_validation.json +0 -0
  892. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/checkpoint_e/release_report.json +0 -0
  893. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/checkpoint_e/workspace_debt.json +0 -0
  894. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/full-suite.log +0 -0
  895. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/initial-missing-dependency.log +0 -0
  896. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/installed-desktop.json +0 -0
  897. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/run-with-evidence-write-race.log +0 -0
  898. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/sanitizers.log +0 -0
  899. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/suite-before-breadcrumb-fix.log +0 -0
  900. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/suite-before-span-fixes.log +0 -0
  901. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/correctness_1_1_2/validation_report.json +0 -0
  902. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/documentation-validation.json +0 -0
  903. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/final-focused.log +0 -0
  904. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/full-suite-final.log +0 -0
  905. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/gate-corrections.log +0 -0
  906. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/generate_ryu.py +0 -0
  907. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/generate_unicode.py +0 -0
  908. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/installed-desktop.json +0 -0
  909. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/package-tests.log +0 -0
  910. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/readme-verification.json +0 -0
  911. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/LICENSE-Apache2 +0 -0
  912. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/LICENSE-Boost +0 -0
  913. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/common.h +0 -0
  914. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/d2s.c +0 -0
  915. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/d2s_full_table.h +0 -0
  916. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/d2s_intrinsics.h +0 -0
  917. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/digit_table.h +0 -0
  918. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/provenance.txt +0 -0
  919. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/ryu_upstream/ryu.h +0 -0
  920. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/sanitizers-final.log +0 -0
  921. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/unicode_provenance.txt +0 -0
  922. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/coverage_1_1_3/validation_report.json +0 -0
  923. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/documentation_1_1_2/full-suite.log +0 -0
  924. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/documentation_1_1_2/help-and-startup-tests.log +0 -0
  925. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/documentation_1_1_2/readme-regression-tests.log +0 -0
  926. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/documentation_1_1_2/validation_report.json +0 -0
  927. /pycforge-1.1.3/pycforge/converter/__init__.py → /pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-desktop.stderr +0 -0
  928. /pycforge-1.1.3/pycforge/converter/contracts/__init__.py → /pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-native.stderr +0 -0
  929. /pycforge-1.1.3/pycforge/converter/core/__init__.py → /pycforge-1.3.3/evidence/editor_lifecycle_fixes/installed-version.stderr +0 -0
  930. /pycforge-1.1.3/pycforge/converter/decision_trace/__init__.py → /pycforge-1.3.3/evidence/everyday_1_1_8/documentation/help-check.ini +0 -0
  931. /pycforge-1.1.3/pycforge/converter/io/__init__.py → /pycforge-1.3.3/evidence/everyday_1_1_8/installed-desktop.stderr +0 -0
  932. /pycforge-1.1.3/pycforge/converter/telemetry/__init__.py → /pycforge-1.3.3/evidence/files_1_1_10/documentation/help-check.ini +0 -0
  933. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/architecture_report.json +0 -0
  934. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/artifact_manifest.json +0 -0
  935. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/debt_delta.json +0 -0
  936. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/decision_trace_sample.json +0 -0
  937. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/determinism_report.json +0 -0
  938. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/golden_manifest.json +0 -0
  939. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/resource_report.json +0 -0
  940. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/rule_manifest.json +0 -0
  941. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/semantics_report.json +0 -0
  942. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/test_summary.json +0 -0
  943. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_02/transition_packet.json +0 -0
  944. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_04/golden_manifest.json +0 -0
  945. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/architecture_report.json +0 -0
  946. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/conversion_debt.json +0 -0
  947. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/decision_trace_sample.json +0 -0
  948. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/determinism_report.json +0 -0
  949. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/first_slice_report.json +0 -0
  950. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/golden_manifest.json +0 -0
  951. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/rule_report.json +0 -0
  952. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/test_summary.json +0 -0
  953. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_06/transition_report.json +0 -0
  954. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_07/architecture_report.json +0 -0
  955. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_07/determinism_report.json +0 -0
  956. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_07/rule_report.json +0 -0
  957. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_07/transition_report.json +0 -0
  958. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/architecture_report.json +0 -0
  959. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/checkpoint_c.json +0 -0
  960. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/determinism_report.json +0 -0
  961. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/observer_cancellation_report.json +0 -0
  962. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/rule_report.json +0 -0
  963. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/test_summary.json +0 -0
  964. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_08/transition_report.json +0 -0
  965. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/architecture_report.json +0 -0
  966. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/conversion_debt.json +0 -0
  967. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/determinism_report.json +0 -0
  968. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/mapping_report.json +0 -0
  969. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/observer_cancellation_resource_report.json +0 -0
  970. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/phase9_report.json +0 -0
  971. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/python_package_report.json +0 -0
  972. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/review_report.json +0 -0
  973. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/rule_report.json +0 -0
  974. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/semantic_gate_report.json +0 -0
  975. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/test_summary.json +0 -0
  976. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_09/transition_report.json +0 -0
  977. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/architecture_report.json +0 -0
  978. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/determinism_report.json +0 -0
  979. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/helper_registry_report.json +0 -0
  980. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/opening_checkpoint_report.json +0 -0
  981. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/opening_package_report.json +0 -0
  982. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/opening_test_summary.json +0 -0
  983. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/package_report.json +0 -0
  984. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/phase10_report.json +0 -0
  985. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/progress_observer_report.json +0 -0
  986. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/qt_widget_smoke_report.json +0 -0
  987. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/rule_report.json +0 -0
  988. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/semantic_preservation_report.json +0 -0
  989. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/test_summary.json +0 -0
  990. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_10/transition_report.json +0 -0
  991. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/architecture_report.json +0 -0
  992. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/container_report.json +0 -0
  993. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/determinism_report.json +0 -0
  994. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/helper_registry_report.json +0 -0
  995. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/package_report.json +0 -0
  996. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/phase11_report.json +0 -0
  997. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/rule_report.json +0 -0
  998. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/schema_report.json +0 -0
  999. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/semantic_preservation_report.json +0 -0
  1000. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/test_summary.json +0 -0
  1001. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_11/transition_report.json +0 -0
  1002. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/architecture_report.json +0 -0
  1003. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/container_report.json +0 -0
  1004. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/determinism_report.json +0 -0
  1005. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/helper_registry_report.json +0 -0
  1006. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/module_report.json +0 -0
  1007. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/package_report.json +0 -0
  1008. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/phase12_report.json +0 -0
  1009. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/rule_report.json +0 -0
  1010. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/schema_report.json +0 -0
  1011. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/semantic_preservation_report.json +0 -0
  1012. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/source_boundary_report.json +0 -0
  1013. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/test_summary.json +0 -0
  1014. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_12/transition_report.json +0 -0
  1015. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_13/release_report.json +0 -0
  1016. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14/conversion_debt.json +0 -0
  1017. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14/entry_report.json +0 -0
  1018. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14/release_report.json +0 -0
  1019. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14b/conversion_debt.json +0 -0
  1020. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14b/entry_report.json +0 -0
  1021. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14b/release_report.json +0 -0
  1022. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14c/conversion_debt.json +0 -0
  1023. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14c/entry_report.json +0 -0
  1024. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14c/release_report.json +0 -0
  1025. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14d/conversion_debt.json +0 -0
  1026. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14d/entry_report.json +0 -0
  1027. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_14d/release_report.json +0 -0
  1028. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15a/performance_evidence.json +0 -0
  1029. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15a/release_report.json +0 -0
  1030. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15a/validation_report.json +0 -0
  1031. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15b/action_registry_evidence.json +0 -0
  1032. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15b/validation_report.json +0 -0
  1033. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15b/visual_system_evidence.json +0 -0
  1034. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15c/action_registry_evidence.json +0 -0
  1035. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15c/feature_evidence.json +0 -0
  1036. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15c/performance_evidence.json +0 -0
  1037. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/phase_15c/validation_report.json +0 -0
  1038. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_1/gate_evidence.md +0 -0
  1039. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_1/release_report.json +0 -0
  1040. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/manual_review.md +0 -0
  1041. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/qt_widget_smoke_scale_1.json +0 -0
  1042. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/qt_widget_smoke_scale_1.png +0 -0
  1043. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/qt_widget_smoke_scale_2.json +0 -0
  1044. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/qt_widget_smoke_scale_2.png +0 -0
  1045. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/pycforge_workspace_0_12_2/release_report.json +0 -0
  1046. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/runtime_values_1_1_2a1/desktop_action.log +0 -0
  1047. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/runtime_values_1_1_2a1/full_regression.log +0 -0
  1048. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/runtime_values_1_1_2a1/integration_and_allocation_cleanup.log +0 -0
  1049. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/runtime_values_1_1_2a1/sanitizers.log +0 -0
  1050. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/runtime_values_1_1_2a1/validation_report.json +0 -0
  1051. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/scalar_1_1/help-examples.json +0 -0
  1052. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/scalar_1_1/readme-preservation.json +0 -0
  1053. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/scalar_1_1/ting-reproduction.json +0 -0
  1054. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/scalar_1_1/validation_report.json +0 -0
  1055. {pycforge-1.1.3 → pycforge-1.3.3}/evidence/ting_agents/compiler_custody_attestation.json +0 -0
  1056. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/c_ir/essential_golden.c +0 -0
  1057. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/first_milestone/add.py +0 -0
  1058. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/first_milestone/expected.c +0 -0
  1059. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/first_milestone/expected_ruleplans.json +0 -0
  1060. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/runtime_values/coverage_demo.py +0 -0
  1061. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/support_templates/pycf_i64_floor_div_v1.c +0 -0
  1062. {pycforge-1.1.3 → pycforge-1.3.3}/fixtures/support_templates/pycf_i64_floor_mod_v1.c +0 -0
  1063. {pycforge-1.1.3 → pycforge-1.3.3}/licenses/Python.txt +0 -0
  1064. {pycforge-1.1.3 → pycforge-1.3.3}/licenses/Ryu-Boost-1.0.txt +0 -0
  1065. {pycforge-1.1.3 → pycforge-1.3.3}/licenses/TING_REASONER.txt +0 -0
  1066. {pycforge-1.1.3 → pycforge-1.3.3}/licenses/Unicode.txt +0 -0
  1067. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/__init__.py +0 -0
  1068. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/__main__.py +0 -0
  1069. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/__init__.py +0 -0
  1070. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/__init__.py +0 -0
  1071. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/_matching.py +0 -0
  1072. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/_numeric_kernels.py +0 -0
  1073. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/_universal.py +0 -0
  1074. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/classification.py +0 -0
  1075. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/decision_model.py +0 -0
  1076. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/engine.py +0 -0
  1077. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/entities.py +0 -0
  1078. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/errors.py +0 -0
  1079. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/indexes.py +0 -0
  1080. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/ir.py +0 -0
  1081. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/link_model.py +0 -0
  1082. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/maintenance.py +0 -0
  1083. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/memory.py +0 -0
  1084. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/model.py +0 -0
  1085. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/nd.py +0 -0
  1086. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/optimization.py +0 -0
  1087. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/py.typed +0 -0
  1088. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/results.py +0 -0
  1089. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/sharing.py +0 -0
  1090. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/store.py +0 -0
  1091. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/_vendor/ting_reasoner/transactions.py +0 -0
  1092. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/__init__.py +0 -0
  1093. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/functions.py +0 -0
  1094. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/model.py +0 -0
  1095. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/planning.py +0 -0
  1096. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/stage.py +0 -0
  1097. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/symbols.py +0 -0
  1098. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/analysis/validation.py +0 -0
  1099. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/c_output/__init__.py +0 -0
  1100. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/c_output/conformance.py +0 -0
  1101. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/conditional_regions/__init__.py +0 -0
  1102. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/conditional_regions/analysis.py +0 -0
  1103. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/conditional_regions/lowering.py +0 -0
  1104. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/conditional_regions/model.py +0 -0
  1105. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/conditional_regions/validation.py +0 -0
  1106. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/containers/__init__.py +0 -0
  1107. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/containers/analysis.py +0 -0
  1108. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/containers/lowering.py +0 -0
  1109. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/containers/model.py +0 -0
  1110. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/contracts/identifiers.py +0 -0
  1111. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/contracts/versions.py +0 -0
  1112. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/artifact_io.py +0 -0
  1113. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/cancellation.py +0 -0
  1114. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/context.py +0 -0
  1115. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/diagnostics.py +0 -0
  1116. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/enums.py +0 -0
  1117. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/fingerprint.py +0 -0
  1118. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/pipeline.py +0 -0
  1119. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/progress.py +0 -0
  1120. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/request.py +0 -0
  1121. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/resource_policy.py +0 -0
  1122. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/result.py +0 -0
  1123. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/serialization.py +0 -0
  1124. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/stage.py +0 -0
  1125. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/stage_artifact.py +0 -0
  1126. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/core/stage_outcome.py +0 -0
  1127. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/decision_trace/recorder.py +0 -0
  1128. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/facade.py +0 -0
  1129. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/__init__.py +0 -0
  1130. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/analysis.py +0 -0
  1131. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/conformance.py +0 -0
  1132. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/model.py +0 -0
  1133. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/runtime.py +0 -0
  1134. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/file_io/validation.py +0 -0
  1135. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/frontend/__init__.py +0 -0
  1136. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/frontend/normalizer.py +0 -0
  1137. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/frontend/validation.py +0 -0
  1138. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/io/atomic_writer.py +0 -0
  1139. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/__init__.py +0 -0
  1140. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/c_ir/__init__.py +0 -0
  1141. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/c_ir/builder.py +0 -0
  1142. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/c_ir/model.py +0 -0
  1143. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/c_ir/serialization.py +0 -0
  1144. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/c_ir/validation.py +0 -0
  1145. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/python_ir/__init__.py +0 -0
  1146. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/ir/python_ir/nodes.py +0 -0
  1147. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_calls/__init__.py +0 -0
  1148. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_calls/analysis.py +0 -0
  1149. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_calls/lowering.py +0 -0
  1150. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_calls/model.py +0 -0
  1151. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_calls/validation.py +0 -0
  1152. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_only_calls/__init__.py +0 -0
  1153. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_only_calls/analysis.py +0 -0
  1154. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_only_calls/lowering.py +0 -0
  1155. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_only_calls/model.py +0 -0
  1156. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/keyword_only_calls/validation.py +0 -0
  1157. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/loop_completion/__init__.py +0 -0
  1158. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/loop_completion/analysis.py +0 -0
  1159. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/loop_completion/lowering.py +0 -0
  1160. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/loop_completion/model.py +0 -0
  1161. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/loop_completion/validation.py +0 -0
  1162. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/lowering.py +0 -0
  1163. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/modules/__init__.py +0 -0
  1164. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/modules/analysis.py +0 -0
  1165. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/modules/lowering.py +0 -0
  1166. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/modules/model.py +0 -0
  1167. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/modules/stage.py +0 -0
  1168. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/numeric_semantics/__init__.py +0 -0
  1169. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/numeric_semantics/analysis.py +0 -0
  1170. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/numeric_semantics/lowering.py +0 -0
  1171. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/numeric_semantics/model.py +0 -0
  1172. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/records/__init__.py +0 -0
  1173. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/records/analysis.py +0 -0
  1174. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/records/lowering.py +0 -0
  1175. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/records/model.py +0 -0
  1176. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/rules/__init__.py +0 -0
  1177. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/runtime_values/ryu_data.h +0 -0
  1178. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/runtime_values/ryu_provenance.json +0 -0
  1179. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/runtime_values/text_ops.h +0 -0
  1180. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scalars/__init__.py +0 -0
  1181. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scalars/expansion.py +0 -0
  1182. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scalars/lowering.py +0 -0
  1183. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scalars/runtime.py +0 -0
  1184. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scalars/validation.py +0 -0
  1185. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scope_lifetimes/__init__.py +0 -0
  1186. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scope_lifetimes/analysis.py +0 -0
  1187. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scope_lifetimes/model.py +0 -0
  1188. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/scope_lifetimes/validation.py +0 -0
  1189. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/support_templates/__init__.py +0 -0
  1190. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/support_templates/assembly.py +0 -0
  1191. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/support_templates/factories.py +0 -0
  1192. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/support_templates/model.py +0 -0
  1193. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/support_templates/registry.py +0 -0
  1194. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/converter/telemetry/sink.py +0 -0
  1195. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/__init__.py +0 -0
  1196. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/__main__.py +0 -0
  1197. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_forgelens_builder.py +0 -0
  1198. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_forgelens_model.py +0 -0
  1199. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_event_codec.py +0 -0
  1200. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_protocol_json.py +0 -0
  1201. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_protocol_types.py +0 -0
  1202. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_request_codec.py +0 -0
  1203. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_request_data.py +0 -0
  1204. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/_worker_result_data.py +0 -0
  1205. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/action_validation.py +0 -0
  1206. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/command_palette.py +0 -0
  1207. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/editor_lexical.py +0 -0
  1208. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/editor_markers.py +0 -0
  1209. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/editor_syntax.py +0 -0
  1210. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/forgelens.py +0 -0
  1211. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/icons.py +0 -0
  1212. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/panels.py +0 -0
  1213. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/process_worker.py +0 -0
  1214. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_contract.py +0 -0
  1215. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_forgelens.py +0 -0
  1216. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_help.py +0 -0
  1217. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_icons.py +0 -0
  1218. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_open_queue.py +0 -0
  1219. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_screen_geometry.py +0 -0
  1220. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_session.py +0 -0
  1221. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_source_preview.py +0 -0
  1222. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_text_settings.py +0 -0
  1223. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_ting_feedback.py +0 -0
  1224. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_ting_flow.py +0 -0
  1225. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_toast.py +0 -0
  1226. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_window_resize.py +0 -0
  1227. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_workspace_panels.py +0 -0
  1228. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/qt_workspace_widgets.py +0 -0
  1229. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/add-document.png +0 -0
  1230. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/brand-mark.png +0 -0
  1231. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/bundle-search.png +0 -0
  1232. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/cancel.png +0 -0
  1233. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/check.png +0 -0
  1234. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/chevron-right.png +0 -0
  1235. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/close.png +0 -0
  1236. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/collapse-all.png +0 -0
  1237. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/command-palette.png +0 -0
  1238. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/convert.png +0 -0
  1239. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/copy.png +0 -0
  1240. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/cut.png +0 -0
  1241. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/decision-trace.png +0 -0
  1242. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/details.png +0 -0
  1243. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/diagnostics.png +0 -0
  1244. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/duplicate-line.png +0 -0
  1245. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/exit.png +0 -0
  1246. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/expand-all.png +0 -0
  1247. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/export.png +0 -0
  1248. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/find.png +0 -0
  1249. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/go-to-line.png +0 -0
  1250. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/go-to-output.png +0 -0
  1251. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/go-to-source.png +0 -0
  1252. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/help.png +0 -0
  1253. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/history.png +0 -0
  1254. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/indent.png +0 -0
  1255. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/link-c.png +0 -0
  1256. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/mappings.png +0 -0
  1257. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/module.png +0 -0
  1258. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/move-down.png +0 -0
  1259. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/move-line-down.png +0 -0
  1260. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/move-line-up.png +0 -0
  1261. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/move-up.png +0 -0
  1262. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/next.png +0 -0
  1263. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/open.png +0 -0
  1264. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/outdent.png +0 -0
  1265. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/outline.png +0 -0
  1266. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/paste.png +0 -0
  1267. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/previous.png +0 -0
  1268. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/primary-module.png +0 -0
  1269. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/redo.png +0 -0
  1270. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/remove-document.png +0 -0
  1271. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/replace.png +0 -0
  1272. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/save-as.png +0 -0
  1273. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/save.png +0 -0
  1274. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/select-all.png +0 -0
  1275. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/settings.png +0 -0
  1276. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/show-c.png +0 -0
  1277. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/split-view.png +0 -0
  1278. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/summary.png +0 -0
  1279. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/telemetry.png +0 -0
  1280. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/toggle-comment.png +0 -0
  1281. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/toggle-fold.png +0 -0
  1282. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/undo.png +0 -0
  1283. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/128/whitespace.png +0 -0
  1284. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/add-document.png +0 -0
  1285. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/brand-mark.png +0 -0
  1286. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/bundle-search.png +0 -0
  1287. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/cancel.png +0 -0
  1288. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/check.png +0 -0
  1289. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/chevron-right.png +0 -0
  1290. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/close.png +0 -0
  1291. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/collapse-all.png +0 -0
  1292. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/command-palette.png +0 -0
  1293. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/convert.png +0 -0
  1294. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/copy.png +0 -0
  1295. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/cut.png +0 -0
  1296. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/decision-trace.png +0 -0
  1297. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/details.png +0 -0
  1298. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/diagnostics.png +0 -0
  1299. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/duplicate-line.png +0 -0
  1300. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/exit.png +0 -0
  1301. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/expand-all.png +0 -0
  1302. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/export.png +0 -0
  1303. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/find.png +0 -0
  1304. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/go-to-line.png +0 -0
  1305. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/go-to-output.png +0 -0
  1306. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/go-to-source.png +0 -0
  1307. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/help.png +0 -0
  1308. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/history.png +0 -0
  1309. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/indent.png +0 -0
  1310. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/link-c.png +0 -0
  1311. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/mappings.png +0 -0
  1312. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/module.png +0 -0
  1313. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/move-down.png +0 -0
  1314. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/move-line-down.png +0 -0
  1315. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/move-line-up.png +0 -0
  1316. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/move-up.png +0 -0
  1317. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/next.png +0 -0
  1318. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/open.png +0 -0
  1319. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/outdent.png +0 -0
  1320. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/outline.png +0 -0
  1321. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/paste.png +0 -0
  1322. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/previous.png +0 -0
  1323. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/primary-module.png +0 -0
  1324. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/redo.png +0 -0
  1325. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/remove-document.png +0 -0
  1326. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/replace.png +0 -0
  1327. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/save-as.png +0 -0
  1328. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/save.png +0 -0
  1329. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/select-all.png +0 -0
  1330. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/settings.png +0 -0
  1331. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/show-c.png +0 -0
  1332. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/split-view.png +0 -0
  1333. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/summary.png +0 -0
  1334. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/telemetry.png +0 -0
  1335. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/toggle-comment.png +0 -0
  1336. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/toggle-fold.png +0 -0
  1337. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/undo.png +0 -0
  1338. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/16/whitespace.png +0 -0
  1339. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/add-document.png +0 -0
  1340. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/brand-mark.png +0 -0
  1341. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/bundle-search.png +0 -0
  1342. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/cancel.png +0 -0
  1343. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/check.png +0 -0
  1344. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/chevron-right.png +0 -0
  1345. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/close.png +0 -0
  1346. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/collapse-all.png +0 -0
  1347. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/command-palette.png +0 -0
  1348. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/convert.png +0 -0
  1349. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/copy.png +0 -0
  1350. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/cut.png +0 -0
  1351. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/decision-trace.png +0 -0
  1352. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/details.png +0 -0
  1353. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/diagnostics.png +0 -0
  1354. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/duplicate-line.png +0 -0
  1355. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/exit.png +0 -0
  1356. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/expand-all.png +0 -0
  1357. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/export.png +0 -0
  1358. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/find.png +0 -0
  1359. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/go-to-line.png +0 -0
  1360. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/go-to-output.png +0 -0
  1361. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/go-to-source.png +0 -0
  1362. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/help.png +0 -0
  1363. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/history.png +0 -0
  1364. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/indent.png +0 -0
  1365. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/link-c.png +0 -0
  1366. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/mappings.png +0 -0
  1367. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/module.png +0 -0
  1368. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/move-down.png +0 -0
  1369. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/move-line-down.png +0 -0
  1370. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/move-line-up.png +0 -0
  1371. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/move-up.png +0 -0
  1372. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/next.png +0 -0
  1373. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/open.png +0 -0
  1374. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/outdent.png +0 -0
  1375. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/outline.png +0 -0
  1376. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/paste.png +0 -0
  1377. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/previous.png +0 -0
  1378. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/primary-module.png +0 -0
  1379. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/redo.png +0 -0
  1380. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/remove-document.png +0 -0
  1381. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/replace.png +0 -0
  1382. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/save-as.png +0 -0
  1383. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/save.png +0 -0
  1384. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/select-all.png +0 -0
  1385. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/settings.png +0 -0
  1386. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/show-c.png +0 -0
  1387. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/split-view.png +0 -0
  1388. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/summary.png +0 -0
  1389. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/telemetry.png +0 -0
  1390. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/toggle-comment.png +0 -0
  1391. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/toggle-fold.png +0 -0
  1392. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/undo.png +0 -0
  1393. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/20/whitespace.png +0 -0
  1394. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/add-document.png +0 -0
  1395. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/brand-mark.png +0 -0
  1396. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/bundle-search.png +0 -0
  1397. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/cancel.png +0 -0
  1398. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/check.png +0 -0
  1399. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/chevron-right.png +0 -0
  1400. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/close.png +0 -0
  1401. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/collapse-all.png +0 -0
  1402. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/command-palette.png +0 -0
  1403. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/convert.png +0 -0
  1404. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/copy.png +0 -0
  1405. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/cut.png +0 -0
  1406. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/decision-trace.png +0 -0
  1407. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/details.png +0 -0
  1408. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/diagnostics.png +0 -0
  1409. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/duplicate-line.png +0 -0
  1410. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/exit.png +0 -0
  1411. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/expand-all.png +0 -0
  1412. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/export.png +0 -0
  1413. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/find.png +0 -0
  1414. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/go-to-line.png +0 -0
  1415. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/go-to-output.png +0 -0
  1416. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/go-to-source.png +0 -0
  1417. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/help.png +0 -0
  1418. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/history.png +0 -0
  1419. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/indent.png +0 -0
  1420. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/link-c.png +0 -0
  1421. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/mappings.png +0 -0
  1422. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/module.png +0 -0
  1423. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/move-down.png +0 -0
  1424. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/move-line-down.png +0 -0
  1425. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/move-line-up.png +0 -0
  1426. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/move-up.png +0 -0
  1427. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/next.png +0 -0
  1428. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/open.png +0 -0
  1429. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/outdent.png +0 -0
  1430. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/outline.png +0 -0
  1431. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/paste.png +0 -0
  1432. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/previous.png +0 -0
  1433. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/primary-module.png +0 -0
  1434. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/redo.png +0 -0
  1435. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/remove-document.png +0 -0
  1436. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/replace.png +0 -0
  1437. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/save-as.png +0 -0
  1438. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/save.png +0 -0
  1439. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/select-all.png +0 -0
  1440. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/settings.png +0 -0
  1441. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/show-c.png +0 -0
  1442. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/split-view.png +0 -0
  1443. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/summary.png +0 -0
  1444. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/telemetry.png +0 -0
  1445. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/toggle-comment.png +0 -0
  1446. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/toggle-fold.png +0 -0
  1447. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/undo.png +0 -0
  1448. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/24/whitespace.png +0 -0
  1449. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/add-document.png +0 -0
  1450. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/brand-mark.png +0 -0
  1451. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/bundle-search.png +0 -0
  1452. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/cancel.png +0 -0
  1453. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/check.png +0 -0
  1454. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/chevron-right.png +0 -0
  1455. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/close.png +0 -0
  1456. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/collapse-all.png +0 -0
  1457. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/command-palette.png +0 -0
  1458. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/convert.png +0 -0
  1459. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/copy.png +0 -0
  1460. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/cut.png +0 -0
  1461. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/decision-trace.png +0 -0
  1462. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/details.png +0 -0
  1463. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/diagnostics.png +0 -0
  1464. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/duplicate-line.png +0 -0
  1465. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/exit.png +0 -0
  1466. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/expand-all.png +0 -0
  1467. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/export.png +0 -0
  1468. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/find.png +0 -0
  1469. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/go-to-line.png +0 -0
  1470. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/go-to-output.png +0 -0
  1471. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/go-to-source.png +0 -0
  1472. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/help.png +0 -0
  1473. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/history.png +0 -0
  1474. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/indent.png +0 -0
  1475. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/link-c.png +0 -0
  1476. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/mappings.png +0 -0
  1477. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/module.png +0 -0
  1478. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/move-down.png +0 -0
  1479. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/move-line-down.png +0 -0
  1480. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/move-line-up.png +0 -0
  1481. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/move-up.png +0 -0
  1482. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/next.png +0 -0
  1483. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/open.png +0 -0
  1484. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/outdent.png +0 -0
  1485. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/outline.png +0 -0
  1486. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/paste.png +0 -0
  1487. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/previous.png +0 -0
  1488. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/primary-module.png +0 -0
  1489. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/redo.png +0 -0
  1490. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/remove-document.png +0 -0
  1491. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/replace.png +0 -0
  1492. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/save-as.png +0 -0
  1493. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/save.png +0 -0
  1494. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/select-all.png +0 -0
  1495. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/settings.png +0 -0
  1496. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/show-c.png +0 -0
  1497. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/split-view.png +0 -0
  1498. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/summary.png +0 -0
  1499. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/telemetry.png +0 -0
  1500. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/toggle-comment.png +0 -0
  1501. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/toggle-fold.png +0 -0
  1502. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/undo.png +0 -0
  1503. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/256/whitespace.png +0 -0
  1504. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/add-document.png +0 -0
  1505. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/brand-mark.png +0 -0
  1506. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/bundle-search.png +0 -0
  1507. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/cancel.png +0 -0
  1508. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/check.png +0 -0
  1509. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/chevron-right.png +0 -0
  1510. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/close.png +0 -0
  1511. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/collapse-all.png +0 -0
  1512. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/command-palette.png +0 -0
  1513. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/convert.png +0 -0
  1514. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/copy.png +0 -0
  1515. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/cut.png +0 -0
  1516. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/decision-trace.png +0 -0
  1517. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/details.png +0 -0
  1518. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/diagnostics.png +0 -0
  1519. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/duplicate-line.png +0 -0
  1520. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/exit.png +0 -0
  1521. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/expand-all.png +0 -0
  1522. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/export.png +0 -0
  1523. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/find.png +0 -0
  1524. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/go-to-line.png +0 -0
  1525. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/go-to-output.png +0 -0
  1526. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/go-to-source.png +0 -0
  1527. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/help.png +0 -0
  1528. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/history.png +0 -0
  1529. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/indent.png +0 -0
  1530. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/link-c.png +0 -0
  1531. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/mappings.png +0 -0
  1532. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/module.png +0 -0
  1533. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/move-down.png +0 -0
  1534. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/move-line-down.png +0 -0
  1535. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/move-line-up.png +0 -0
  1536. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/move-up.png +0 -0
  1537. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/next.png +0 -0
  1538. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/open.png +0 -0
  1539. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/outdent.png +0 -0
  1540. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/outline.png +0 -0
  1541. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/paste.png +0 -0
  1542. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/previous.png +0 -0
  1543. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/primary-module.png +0 -0
  1544. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/redo.png +0 -0
  1545. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/remove-document.png +0 -0
  1546. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/replace.png +0 -0
  1547. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/save-as.png +0 -0
  1548. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/save.png +0 -0
  1549. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/select-all.png +0 -0
  1550. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/settings.png +0 -0
  1551. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/show-c.png +0 -0
  1552. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/split-view.png +0 -0
  1553. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/summary.png +0 -0
  1554. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/telemetry.png +0 -0
  1555. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/toggle-comment.png +0 -0
  1556. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/toggle-fold.png +0 -0
  1557. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/undo.png +0 -0
  1558. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/32/whitespace.png +0 -0
  1559. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/add-document.png +0 -0
  1560. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/brand-mark.png +0 -0
  1561. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/bundle-search.png +0 -0
  1562. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/cancel.png +0 -0
  1563. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/check.png +0 -0
  1564. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/chevron-right.png +0 -0
  1565. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/close.png +0 -0
  1566. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/collapse-all.png +0 -0
  1567. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/command-palette.png +0 -0
  1568. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/convert.png +0 -0
  1569. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/copy.png +0 -0
  1570. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/cut.png +0 -0
  1571. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/decision-trace.png +0 -0
  1572. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/details.png +0 -0
  1573. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/diagnostics.png +0 -0
  1574. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/duplicate-line.png +0 -0
  1575. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/exit.png +0 -0
  1576. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/expand-all.png +0 -0
  1577. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/export.png +0 -0
  1578. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/find.png +0 -0
  1579. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/go-to-line.png +0 -0
  1580. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/go-to-output.png +0 -0
  1581. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/go-to-source.png +0 -0
  1582. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/help.png +0 -0
  1583. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/history.png +0 -0
  1584. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/indent.png +0 -0
  1585. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/link-c.png +0 -0
  1586. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/mappings.png +0 -0
  1587. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/module.png +0 -0
  1588. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/move-down.png +0 -0
  1589. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/move-line-down.png +0 -0
  1590. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/move-line-up.png +0 -0
  1591. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/move-up.png +0 -0
  1592. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/next.png +0 -0
  1593. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/open.png +0 -0
  1594. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/outdent.png +0 -0
  1595. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/outline.png +0 -0
  1596. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/paste.png +0 -0
  1597. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/previous.png +0 -0
  1598. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/primary-module.png +0 -0
  1599. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/redo.png +0 -0
  1600. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/remove-document.png +0 -0
  1601. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/replace.png +0 -0
  1602. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/save-as.png +0 -0
  1603. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/save.png +0 -0
  1604. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/select-all.png +0 -0
  1605. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/settings.png +0 -0
  1606. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/show-c.png +0 -0
  1607. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/split-view.png +0 -0
  1608. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/summary.png +0 -0
  1609. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/telemetry.png +0 -0
  1610. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/toggle-comment.png +0 -0
  1611. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/toggle-fold.png +0 -0
  1612. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/undo.png +0 -0
  1613. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/48/whitespace.png +0 -0
  1614. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/add-document.png +0 -0
  1615. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/brand-mark.png +0 -0
  1616. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/bundle-search.png +0 -0
  1617. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/cancel.png +0 -0
  1618. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/check.png +0 -0
  1619. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/chevron-right.png +0 -0
  1620. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/close.png +0 -0
  1621. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/collapse-all.png +0 -0
  1622. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/command-palette.png +0 -0
  1623. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/convert.png +0 -0
  1624. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/copy.png +0 -0
  1625. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/cut.png +0 -0
  1626. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/decision-trace.png +0 -0
  1627. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/details.png +0 -0
  1628. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/diagnostics.png +0 -0
  1629. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/duplicate-line.png +0 -0
  1630. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/exit.png +0 -0
  1631. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/expand-all.png +0 -0
  1632. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/export.png +0 -0
  1633. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/find.png +0 -0
  1634. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/go-to-line.png +0 -0
  1635. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/go-to-output.png +0 -0
  1636. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/go-to-source.png +0 -0
  1637. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/help.png +0 -0
  1638. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/history.png +0 -0
  1639. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/indent.png +0 -0
  1640. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/link-c.png +0 -0
  1641. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/mappings.png +0 -0
  1642. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/module.png +0 -0
  1643. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/move-down.png +0 -0
  1644. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/move-line-down.png +0 -0
  1645. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/move-line-up.png +0 -0
  1646. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/move-up.png +0 -0
  1647. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/next.png +0 -0
  1648. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/open.png +0 -0
  1649. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/outdent.png +0 -0
  1650. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/outline.png +0 -0
  1651. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/paste.png +0 -0
  1652. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/previous.png +0 -0
  1653. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/primary-module.png +0 -0
  1654. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/redo.png +0 -0
  1655. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/remove-document.png +0 -0
  1656. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/replace.png +0 -0
  1657. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/save-as.png +0 -0
  1658. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/save.png +0 -0
  1659. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/select-all.png +0 -0
  1660. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/settings.png +0 -0
  1661. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/show-c.png +0 -0
  1662. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/split-view.png +0 -0
  1663. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/summary.png +0 -0
  1664. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/telemetry.png +0 -0
  1665. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/toggle-comment.png +0 -0
  1666. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/toggle-fold.png +0 -0
  1667. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/undo.png +0 -0
  1668. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/64/whitespace.png +0 -0
  1669. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/add-document.png +0 -0
  1670. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/brand-mark.png +0 -0
  1671. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/bundle-search.png +0 -0
  1672. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/cancel.png +0 -0
  1673. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/check.png +0 -0
  1674. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/chevron-right.png +0 -0
  1675. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/close.png +0 -0
  1676. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/collapse-all.png +0 -0
  1677. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/command-palette.png +0 -0
  1678. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/convert.png +0 -0
  1679. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/copy.png +0 -0
  1680. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/cut.png +0 -0
  1681. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/decision-trace.png +0 -0
  1682. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/details.png +0 -0
  1683. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/diagnostics.png +0 -0
  1684. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/duplicate-line.png +0 -0
  1685. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/exit.png +0 -0
  1686. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/expand-all.png +0 -0
  1687. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/export.png +0 -0
  1688. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/find.png +0 -0
  1689. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/go-to-line.png +0 -0
  1690. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/go-to-output.png +0 -0
  1691. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/go-to-source.png +0 -0
  1692. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/help.png +0 -0
  1693. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/history.png +0 -0
  1694. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/indent.png +0 -0
  1695. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/link-c.png +0 -0
  1696. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/mappings.png +0 -0
  1697. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/module.png +0 -0
  1698. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/move-down.png +0 -0
  1699. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/move-line-down.png +0 -0
  1700. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/move-line-up.png +0 -0
  1701. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/move-up.png +0 -0
  1702. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/next.png +0 -0
  1703. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/open.png +0 -0
  1704. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/outdent.png +0 -0
  1705. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/outline.png +0 -0
  1706. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/paste.png +0 -0
  1707. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/previous.png +0 -0
  1708. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/primary-module.png +0 -0
  1709. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/redo.png +0 -0
  1710. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/remove-document.png +0 -0
  1711. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/replace.png +0 -0
  1712. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/save-as.png +0 -0
  1713. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/save.png +0 -0
  1714. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/select-all.png +0 -0
  1715. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/settings.png +0 -0
  1716. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/show-c.png +0 -0
  1717. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/split-view.png +0 -0
  1718. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/summary.png +0 -0
  1719. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/telemetry.png +0 -0
  1720. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/toggle-comment.png +0 -0
  1721. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/toggle-fold.png +0 -0
  1722. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/undo.png +0 -0
  1723. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/resources/icons/96/whitespace.png +0 -0
  1724. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/session_history.py +0 -0
  1725. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/source_editing.py +0 -0
  1726. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/theme.py +0 -0
  1727. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/theme_stylesheet.py +0 -0
  1728. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/theme_workspace_stylesheet.py +0 -0
  1729. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/ting_feedback.py +0 -0
  1730. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/visual_tokens.py +0 -0
  1731. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/worker_protocol.py +0 -0
  1732. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ide/workspace_session.py +0 -0
  1733. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/__init__.py +0 -0
  1734. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/audits.py +0 -0
  1735. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/checkpoint_e.py +0 -0
  1736. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/exit_codes.py +0 -0
  1737. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/keyword_audit.py +0 -0
  1738. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/laboratory/keyword_only_audit.py +0 -0
  1739. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/__init__.py +0 -0
  1740. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/coordinator.py +0 -0
  1741. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/errors.py +0 -0
  1742. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/model.py +0 -0
  1743. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/registry.py +0 -0
  1744. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/capability.ting +0 -0
  1745. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/capability.tingspec.json +0 -0
  1746. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/lowering.ting +0 -0
  1747. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/lowering.tingspec.json +0 -0
  1748. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/ownership.ting +0 -0
  1749. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/ownership.tingspec.json +0 -0
  1750. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/registry.json +0 -0
  1751. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/semantics.ting +0 -0
  1752. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/semantics.tingspec.json +0 -0
  1753. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/syntax.ting +0 -0
  1754. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/syntax.tingspec.json +0 -0
  1755. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/verification.ting +0 -0
  1756. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/rulesets/verification.tingspec.json +0 -0
  1757. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge/ting_agents/startup.py +0 -0
  1758. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge.egg-info/dependency_links.txt +0 -0
  1759. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge.egg-info/entry_points.txt +0 -0
  1760. {pycforge-1.1.3 → pycforge-1.3.3}/pycforge.egg-info/top_level.txt +0 -0
  1761. {pycforge-1.1.3 → pycforge-1.3.3}/schemas/decision_trace.schema.json +0 -0
  1762. {pycforge-1.1.3 → pycforge-1.3.3}/schemas/telemetry.schema.json +0 -0
  1763. {pycforge-1.1.3 → pycforge-1.3.3}/setup.cfg +0 -0
  1764. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/analysis_and_planning.md +0 -0
  1765. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/approximation_policy.md +0 -0
  1766. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/bounded_containers.md +0 -0
  1767. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/c_ir_schema.md +0 -0
  1768. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/c_output_style.md +0 -0
  1769. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/c_renderer_contract.md +0 -0
  1770. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/configuration.md +0 -0
  1771. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/conversion_semantics.md +0 -0
  1772. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/diagnostics.md +0 -0
  1773. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/fact_table_schema.md +0 -0
  1774. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/feature_matrix.json +0 -0
  1775. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/generated_c_conformance.md +0 -0
  1776. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/module_bundles.md +0 -0
  1777. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase14a_bounded_integer_divmod.md +0 -0
  1778. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase14b_conditional_temporary_regions.md +0 -0
  1779. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase14c_direct_keyword_calls.md +0 -0
  1780. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase14d_required_keyword_only_calls.md +0 -0
  1781. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase6_first_complete_slice.md +0 -0
  1782. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase7_workspace.md +0 -0
  1783. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase8_control_flow.md +0 -0
  1784. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/phase9_functions_calls.md +0 -0
  1785. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/product_boundary.md +0 -0
  1786. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/pycforge_workspace.md +0 -0
  1787. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/pycforge_workspace_legacy_0_1.md +0 -0
  1788. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/python_ir_schema.md +0 -0
  1789. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/representation_ownership_lifetime.md +0 -0
  1790. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/resource_cancellation_save.md +0 -0
  1791. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/result_and_fingerprints.md +0 -0
  1792. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/rule_plan_schema.md +0 -0
  1793. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/runtime_values_1_1_2.md +0 -0
  1794. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/runtime_values_1_1_3.md +0 -0
  1795. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/scalar_strings_1_1.md +0 -0
  1796. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/source_bundle.md +0 -0
  1797. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/source_frontend.md +0 -0
  1798. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/static_records.md +0 -0
  1799. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/support_templates.md +0 -0
  1800. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/supported_python.md +0 -0
  1801. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/target_c_source_contract.md +0 -0
  1802. {pycforge-1.1.3 → pycforge-1.3.3}/specifications/ting_agent_architecture.md +0 -0
  1803. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_checkpoint_e_audits.py +0 -0
  1804. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_checkpoint_e_feature_matrix.py +0 -0
  1805. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_checkpoint_e_predecessor_equivalence.py +0 -0
  1806. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_checkpoint_e_release_packaging.py +0 -0
  1807. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_editor_settings_qt.py +0 -0
  1808. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_final_windows_acceptance_1_0_1.py +0 -0
  1809. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_forgelens.py +0 -0
  1810. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_forgelens_controller.py +0 -0
  1811. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_frontend_eof_boundaries.py +0 -0
  1812. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase1.py +0 -0
  1813. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase10.py +0 -0
  1814. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase11.py +0 -0
  1815. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase12.py +0 -0
  1816. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase12_1_pycforge_theme.py +0 -0
  1817. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase12_2_components.py +0 -0
  1818. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase12_2_controller.py +0 -0
  1819. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_audits.py +0 -0
  1820. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_c_ir.py +0 -0
  1821. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_end_to_end.py +0 -0
  1822. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_record_analysis.py +0 -0
  1823. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_record_lowering.py +0 -0
  1824. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase13_record_validation.py +0 -0
  1825. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14_numeric_end_to_end.py +0 -0
  1826. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14_numeric_hardening.py +0 -0
  1827. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14b_audits.py +0 -0
  1828. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14b_conditional_analysis.py +0 -0
  1829. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14b_conditional_hardening.py +0 -0
  1830. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14b_conditional_lowering.py +0 -0
  1831. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14c_cumulative_eligibility.py +0 -0
  1832. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14c_keyword_analysis.py +0 -0
  1833. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14c_keyword_audits.py +0 -0
  1834. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14c_keyword_hardening.py +0 -0
  1835. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14c_keyword_lowering.py +0 -0
  1836. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14d_cumulative_eligibility.py +0 -0
  1837. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14d_keyword_only_analysis.py +0 -0
  1838. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14d_keyword_only_hardening.py +0 -0
  1839. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase14d_keyword_only_lowering.py +0 -0
  1840. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_async_search.py +0 -0
  1841. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_controller.py +0 -0
  1842. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_editor_decomposition.py +0 -0
  1843. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_editor_large_file.py +0 -0
  1844. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_io_service.py +0 -0
  1845. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_position_indexes.py +0 -0
  1846. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_revisions.py +0 -0
  1847. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_stress.py +0 -0
  1848. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_supervisor.py +0 -0
  1849. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15a_worker_protocol.py +0 -0
  1850. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15b_release_contract.py +0 -0
  1851. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15b_visual_foundation.py +0 -0
  1852. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15b_visual_integration.py +0 -0
  1853. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_command_palette.py +0 -0
  1854. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_qt_command_contract.py +0 -0
  1855. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_qt_panels_contract.py +0 -0
  1856. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_qt_position_reverse.py +0 -0
  1857. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_release_contract.py +0 -0
  1858. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_session_history.py +0 -0
  1859. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_source_editing.py +0 -0
  1860. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_visual_system.py +0 -0
  1861. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_workspace_search.py +0 -0
  1862. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase15c_workspace_session.py +0 -0
  1863. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_c_ir_validation_hardening.py +0 -0
  1864. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_analysis.py +0 -0
  1865. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_end_to_end.py +0 -0
  1866. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_payload_validation.py +0 -0
  1867. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_registry.py +0 -0
  1868. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_rejections.py +0 -0
  1869. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_runtime.py +0 -0
  1870. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_file_io_validation.py +0 -0
  1871. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_analysis.py +0 -0
  1872. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_end_to_end.py +0 -0
  1873. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_lowering.py +0 -0
  1874. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_payload_validation.py +0 -0
  1875. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_resources.py +0 -0
  1876. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_loop_validation.py +0 -0
  1877. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_scope_analysis.py +0 -0
  1878. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_scope_boundaries.py +0 -0
  1879. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_scope_payload_validation.py +0 -0
  1880. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase16_scope_validation.py +0 -0
  1881. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase2.py +0 -0
  1882. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase3.py +0 -0
  1883. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase4.py +0 -0
  1884. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase5.py +0 -0
  1885. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase6.py +0 -0
  1886. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase7.py +0 -0
  1887. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_phase9.py +0 -0
  1888. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_programmers_guide.py +0 -0
  1889. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_pycforge_qt_integration.py +0 -0
  1890. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_pycforge_workspace.py +0 -0
  1891. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_qt_file_dialogs.py +0 -0
  1892. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_qt_forgelens.py +0 -0
  1893. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_qt_open_queue.py +0 -0
  1894. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_release_1_0_2_presentation.py +0 -0
  1895. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_review_hardening.py +0 -0
  1896. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_scalar_strings_1_1.py +0 -0
  1897. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_smoke_pycforge_workspace_0_12_2.py +0 -0
  1898. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_source_preview.py +0 -0
  1899. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_steel_theme.py +0 -0
  1900. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_ting_agents.py +0 -0
  1901. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_typing_ui_stability_qt.py +0 -0
  1902. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_ui_continuity_1_0_1.py +0 -0
  1903. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_ui_lifecycle_0_16_3.py +0 -0
  1904. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_validate_phase13.py +0 -0
  1905. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_validate_phase14.py +0 -0
  1906. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_validate_phase14b.py +0 -0
  1907. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_validate_phase14c.py +0 -0
  1908. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_validate_phase14d.py +0 -0
  1909. {pycforge-1.1.3 → pycforge-1.3.3}/tests/test_windows_ui_scale_and_identity_1_0_1.py +0 -0
  1910. {pycforge-1.1.3 → pycforge-1.3.3}/tools/_phase15b_release_contract.py +0 -0
  1911. {pycforge-1.1.3 → pycforge-1.3.3}/tools/_phase15c_release_contract.py +0 -0
  1912. {pycforge-1.1.3 → pycforge-1.3.3}/tools/build_checkpoint_e_release.py +0 -0
  1913. {pycforge-1.1.3 → pycforge-1.3.3}/tools/build_phase15a_release.py +0 -0
  1914. {pycforge-1.1.3 → pycforge-1.3.3}/tools/build_phase15b_release.py +0 -0
  1915. {pycforge-1.1.3 → pycforge-1.3.3}/tools/build_phase15c_release.py +0 -0
  1916. {pycforge-1.1.3 → pycforge-1.3.3}/tools/build_programmers_guide.py +0 -0
  1917. {pycforge-1.1.3 → pycforge-1.3.3}/tools/checkpoint_e_predecessor_equivalence.py +0 -0
  1918. {pycforge-1.1.3 → pycforge-1.3.3}/tools/collect_phase11_evidence.py +0 -0
  1919. {pycforge-1.1.3 → pycforge-1.3.3}/tools/collect_phase12_evidence.py +0 -0
  1920. {pycforge-1.1.3 → pycforge-1.3.3}/tools/normalize_sdist.py +0 -0
  1921. {pycforge-1.1.3 → pycforge-1.3.3}/tools/smoke_phase10_qt.py +0 -0
  1922. {pycforge-1.1.3 → pycforge-1.3.3}/tools/smoke_phase11_qt.py +0 -0
  1923. {pycforge-1.1.3 → pycforge-1.3.3}/tools/smoke_pycforge_workspace_0_12_2.py +0 -0
  1924. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_checkpoint_e.py +0 -0
  1925. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase0.py +0 -0
  1926. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase1.py +0 -0
  1927. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase10.py +0 -0
  1928. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase10_opening.py +0 -0
  1929. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase11.py +0 -0
  1930. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase12.py +0 -0
  1931. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase13.py +0 -0
  1932. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase14.py +0 -0
  1933. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase14b.py +0 -0
  1934. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase14c.py +0 -0
  1935. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase14d.py +0 -0
  1936. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase15a.py +0 -0
  1937. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase15b.py +0 -0
  1938. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase15c.py +0 -0
  1939. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase2.py +0 -0
  1940. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase3.py +0 -0
  1941. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase4.py +0 -0
  1942. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase5.py +0 -0
  1943. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase6.py +0 -0
  1944. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase7.py +0 -0
  1945. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase8.py +0 -0
  1946. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_phase9.py +0 -0
  1947. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_pycforge_workspace_0_12_1.py +0 -0
  1948. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_pycforge_workspace_0_12_2.py +0 -0
  1949. {pycforge-1.1.3 → pycforge-1.3.3}/tools/validate_ting_agents.py +0 -0
  1950. {pycforge-1.1.3 → pycforge-1.3.3}/tools/verify_pypi_readme.py +0 -0
  1951. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/architecture_and_workspace_decision.md +0 -0
  1952. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/breadth_and_change_budgets.md +0 -0
  1953. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/entry_criteria.md +0 -0
  1954. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/feature_boundaries.md +0 -0
  1955. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/feature_matrix_reconciliation.md +0 -0
  1956. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/gate_evidence.md +0 -0
  1957. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/manifest.json +0 -0
  1958. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/opening_evidence.md +0 -0
  1959. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/performance_budgets.md +0 -0
  1960. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/release_fingerprint.json +0 -0
  1961. {pycforge-1.1.3 → pycforge-1.3.3}/transition/checkpoint_e/rollback_conditions.md +0 -0
  1962. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_0/baseline_fingerprint.json +0 -0
  1963. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_0/first_milestone_contract.md +0 -0
  1964. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_0/manifest.json +0 -0
  1965. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_0/non_goals_by_phase.md +0 -0
  1966. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_1/baseline_fingerprint.json +0 -0
  1967. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_1/empty_pipeline_invariants.md +0 -0
  1968. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_1/facade_contract.md +0 -0
  1969. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_1/manifest.json +0 -0
  1970. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/baseline_fingerprint.json +0 -0
  1971. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/entry_criteria.md +0 -0
  1972. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/entry_gate.md +0 -0
  1973. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/gate_evidence.md +0 -0
  1974. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/helper_feasibility_decisions.md +0 -0
  1975. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/manifest.json +0 -0
  1976. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/opening_checkpoint_fingerprint.json +0 -0
  1977. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/opening_checkpoint_manifest.json +0 -0
  1978. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_10/rollback_conditions.md +0 -0
  1979. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/baseline_fingerprint.json +0 -0
  1980. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/container_representation_decisions.md +0 -0
  1981. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/entry_criteria.md +0 -0
  1982. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/gate_evidence.md +0 -0
  1983. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/manifest.json +0 -0
  1984. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_11/rollback_conditions.md +0 -0
  1985. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/baseline_fingerprint.json +0 -0
  1986. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/entry_criteria.md +0 -0
  1987. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/gate_evidence.md +0 -0
  1988. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/manifest.json +0 -0
  1989. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/module_bundle_decisions.md +0 -0
  1990. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_12/rollback_conditions.md +0 -0
  1991. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/baseline_fingerprint.json +0 -0
  1992. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/candidate_reseed.md +0 -0
  1993. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/entry_criteria.md +0 -0
  1994. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/gate_evidence.md +0 -0
  1995. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/manifest.json +0 -0
  1996. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/record_representation_decisions.md +0 -0
  1997. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/release_fingerprint.json +0 -0
  1998. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_13/rollback_conditions.md +0 -0
  1999. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/baseline_fingerprint.json +0 -0
  2000. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/breadth_and_change_budgets.md +0 -0
  2001. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/entry_criteria.md +0 -0
  2002. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/gate_evidence.md +0 -0
  2003. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/integer_divmod_decision.md +0 -0
  2004. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/manifest.json +0 -0
  2005. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/opening_evidence.md +0 -0
  2006. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/release_fingerprint.json +0 -0
  2007. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14/rollback_conditions.md +0 -0
  2008. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/baseline_fingerprint.json +0 -0
  2009. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/breadth_and_change_budgets.md +0 -0
  2010. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/conditional_temporary_regions_decision.md +0 -0
  2011. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/entry_criteria.md +0 -0
  2012. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/gate_evidence.md +0 -0
  2013. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/manifest.json +0 -0
  2014. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/opening_evidence.md +0 -0
  2015. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/release_fingerprint.json +0 -0
  2016. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14b/rollback_conditions.md +0 -0
  2017. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/baseline_fingerprint.json +0 -0
  2018. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/breadth_and_change_budgets.md +0 -0
  2019. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/direct_keyword_calls_decision.md +0 -0
  2020. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/entry_criteria.md +0 -0
  2021. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/gate_evidence.md +0 -0
  2022. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/manifest.json +0 -0
  2023. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/opening_evidence.md +0 -0
  2024. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/release_fingerprint.json +0 -0
  2025. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14c/rollback_conditions.md +0 -0
  2026. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/baseline_fingerprint.json +0 -0
  2027. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/breadth_and_change_budgets.md +0 -0
  2028. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/entry_criteria.md +0 -0
  2029. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/gate_evidence.md +0 -0
  2030. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/manifest.json +0 -0
  2031. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/opening_evidence.md +0 -0
  2032. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/release_fingerprint.json +0 -0
  2033. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/required_keyword_only_calls_decision.md +0 -0
  2034. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_14d/rollback_conditions.md +0 -0
  2035. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/entry_criteria.md +0 -0
  2036. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/gate_evidence.md +0 -0
  2037. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/manifest.json +0 -0
  2038. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/release_fingerprint.json +0 -0
  2039. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/responsiveness_and_isolation_decision.md +0 -0
  2040. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15a/rollback_conditions.md +0 -0
  2041. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/application_shell_decision.md +0 -0
  2042. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/entry_criteria.md +0 -0
  2043. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/gate_evidence.md +0 -0
  2044. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/manifest.json +0 -0
  2045. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/release_fingerprint.json +0 -0
  2046. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15b/rollback_conditions.md +0 -0
  2047. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/entry_criteria.md +0 -0
  2048. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/gate_evidence.md +0 -0
  2049. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/manifest.json +0 -0
  2050. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/release_fingerprint.json +0 -0
  2051. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/rollback_conditions.md +0 -0
  2052. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_15c/workspace_completeness_decision.md +0 -0
  2053. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_2/baseline_fingerprint.json +0 -0
  2054. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_2/checkpoint_a.md +0 -0
  2055. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_2/laboratory_contract.md +0 -0
  2056. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_2/manifest.json +0 -0
  2057. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_3/baseline_fingerprint.json +0 -0
  2058. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_3/gate_evidence.md +0 -0
  2059. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_3/manifest.json +0 -0
  2060. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_4/baseline_fingerprint.json +0 -0
  2061. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_4/gate_evidence.md +0 -0
  2062. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_4/manifest.json +0 -0
  2063. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_5/baseline_fingerprint.json +0 -0
  2064. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_5/entry_criteria.md +0 -0
  2065. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_5/gate_evidence.md +0 -0
  2066. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_5/manifest.json +0 -0
  2067. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_6/baseline_fingerprint.json +0 -0
  2068. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_6/checkpoint_b.md +0 -0
  2069. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_6/entry_criteria.md +0 -0
  2070. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_6/gate_evidence.md +0 -0
  2071. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_6/manifest.json +0 -0
  2072. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_7/baseline_fingerprint.json +0 -0
  2073. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_7/entry_criteria.md +0 -0
  2074. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_7/gate_evidence.md +0 -0
  2075. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_7/manifest.json +0 -0
  2076. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_7/rollback_conditions.md +0 -0
  2077. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_8/baseline_fingerprint.json +0 -0
  2078. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_8/entry_criteria.md +0 -0
  2079. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_8/gate_evidence.md +0 -0
  2080. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_8/manifest.json +0 -0
  2081. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_8/rollback_conditions.md +0 -0
  2082. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_9/baseline_fingerprint.json +0 -0
  2083. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_9/entry_criteria.md +0 -0
  2084. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_9/gate_evidence.md +0 -0
  2085. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_9/manifest.json +0 -0
  2086. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_9/rollback_conditions.md +0 -0
  2087. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_minus_1/feasibility_decisions.md +0 -0
  2088. {pycforge-1.1.3 → pycforge-1.3.3}/transition/phase_minus_1/risk_register.json +0 -0
  2089. {pycforge-1.1.3 → pycforge-1.3.3}/transition/workspace_hardening_0_12_1/README.md +0 -0
  2090. {pycforge-1.1.3 → pycforge-1.3.3}/transition/workspace_hardening_0_12_1/manifest.json +0 -0
  2091. {pycforge-1.1.3 → pycforge-1.3.3}/transition/workspace_hardening_0_12_2/README.md +0 -0
  2092. {pycforge-1.1.3 → pycforge-1.3.3}/transition/workspace_hardening_0_12_2/gate_evidence.md +0 -0
  2093. {pycforge-1.1.3 → pycforge-1.3.3}/transition/workspace_hardening_0_12_2/manifest.json +0 -0
@@ -0,0 +1,1238 @@
1
+ # PyCForge 1.3.3 — editor integration corrections
2
+
3
+ - Completion preserves selected prefixes and rejects results after Escape, selection changes, or leaving the editor.
4
+ - Delayed Go to Definition results retire when the caret, focus, or user intent changes.
5
+ - Lambda parameter rename retains unrelated bindings and explicit keyword callers.
6
+ - Document formatting accepts line movement around type-ignore directives while checking that each directive still covers the same statements.
7
+ - Selection formatting handles repetitive source without false boundary errors and preserves unselected text.
8
+ - Includes the split-view close, Find toggle, window-control hover, Generated C hover, and steady fold-arrow corrections.
9
+ - Keeps all existing conversion coverage and unpinned application dependencies.
10
+
11
+ # PyCForge 1.3.1 — reliability update
12
+
13
+ This is one cumulative update to the complete PyCForge application.
14
+
15
+ Installation/splash correction, keeping version 1.3.1:
16
+ - Declare PySide6, NumPy, Numba, Jedi and autopep8 by name without dependency version pins.
17
+ - Check numeric dependency presence without comparing version numbers; retain real import/kernel readiness checks.
18
+ - Fit the complete splash icon, subtitle descenders and wrapped failure details using layout size hints.
19
+ - Give Cancel/Close initial keyboard focus so the title-bar X does not appear stuck highlighted.
20
+ - Resolve parameter rename references safely with both tested Jedi generations, preserving unrelated same-named globals.
21
+
22
+ - Bind deferred Qt callbacks to their owner and release pending generated-C projection on shutdown.
23
+ - Reject non-regular preview inputs without blocking on POSIX named pipes; retain UTF-8 and size checks.
24
+ - Reap an outline child and close its handles if process startup raises after creating it.
25
+ - Publish immutable source-token records incrementally to avoid holding two complete dictionary trees.
26
+ - Enforce Typed token budgets during tokenization, preserving supported conversion output and diagnostic codes.
27
+ - Preserve all Typed/Runtime, module/file, editor, Jedi/autopep8, tooltip, gutter and PCFC11 features.
28
+
29
+ See PyCForge-1.3.1-Reliability-Audit.txt for exact findings, measurements, validation and remaining native-platform checks.
30
+
31
+ # PyCForge 1.3.0 — complete consolidated release
32
+
33
+ One installation now contains the complete 1.1.12 advanced conversion/editor
34
+ line plus the 1.2.2 PCFC11 integration and additional resource-lifecycle fixes.
35
+ There is no choice between conversion coverage and compilation support.
36
+
37
+ - Both Typed and Runtime modes; runtime strings, lists, dictionaries, classes,
38
+ closures, comprehensions, everyday builtins/formatting, supplied modules and
39
+ connected UTF-8 file workflows are retained.
40
+ - Current editor tools, shared work admission, bounded caches, Open/New Module
41
+ recovery and fold-marker fixes are retained.
42
+ - PCFC11 dialog focus and custom compiler/output chooser fixes are included.
43
+ Object and executable builds accept both conversion ABIs. Runtime executable
44
+ adapters handle errors and destroy their value context before returning.
45
+ Windows UCRT compatibility headers supply runtime declarations missing
46
+ from PCFC11 0.1.1; Windows assembly generation is checked at O0 and O1.
47
+ - Cancelled application startup now finishes and releases its modal dialog,
48
+ preventing it from blocking subsequent windows and keyboard shortcuts.
49
+ - Conversion cancellation is retained throughout request encoding/spawning; idle
50
+ service frames release payloads. Modal children are destroyed; hidden timers
51
+ stop. Slow file previews cannot keep the interpreter alive through Qt's pool.
52
+ Regular workspace file reads are bounded to 16 MiB and reject special files.
53
+ - The README and 21 offline Help pages describe the combined application.
54
+ Existing screenshot links and advanced runtime implementation are preserved.
55
+
56
+ PCFC11 remains a separately installed compiler with a system assembler/linker.
57
+ The package adds no dependency beyond those already required by 1.1.12.
58
+ Native Linux validation is recorded in evidence/consolidation. Native Windows
59
+ acceptance and actual laptop energy measurements remain outstanding. Runtime
60
+ values retain their documented arena lifetime; whole-process memory is not
61
+ bounded by the arena budget. No PyPI publication was performed.
62
+
63
+ The evidence/consolidation directory records this release's checks. Historical
64
+ release notes and evidence below describe their original versions only.
65
+
66
+ ---
67
+
68
+ # PyCForge 1.1.12 — resource ownership and process reliability
69
+
70
+ This patch updates 1.1.11. Closed temporary dialogs and their filesystem models
71
+ are destroyed after use; About clocks run only while visible. Idle conversion
72
+ supervisors wait for work, and idle service threads release completed payloads.
73
+ Conversion pipe transfers cannot block cancellation or shutdown. Malformed
74
+ worker envelopes trigger process reclamation, and reaped process handles close.
75
+
76
+ The app, package metadata, About, startup, Help and reports use the same product
77
+ version. Converter source, semantic contracts, dependencies, and HTML Help
78
+ content are unchanged. Earlier editor lifecycle and About improvements remain.
79
+
80
+ Measured evidence, reproduced baseline failures, scope and native Windows
81
+ acceptance steps are in evidence/resource_audit. These checks do not certify
82
+ battery life or the absence of every possible resource leak.
83
+
84
+ # PyCForge 1.1.11
85
+
86
+ The About dialog omits the Ting Shadow / Advisory badge. Application version
87
+ metadata, window titles, startup, About, Help and package metadata use 1.1.11.
88
+
89
+ - Fix the empty-workspace marker refresh after closing the last Python tab with generated C visible.
90
+ - Recover stale Source Bundle selections so Open Python and New Module remain usable.
91
+ - Restore fold markers on module changes and syntax highlighting without parsing large source on the GUI thread.
92
+ - Cover rejected transpilation, late callbacks, pending edits, shared gutters, and repeated close/reopen cycles.
93
+
94
+ # PyCForge 1.1.10 — connected UTF-8 file workflows
95
+
96
+ Runtime functions can now read text, process it through local or imported
97
+ helpers, and write or append results. Scoped open calls support character-sized
98
+ reads, line iteration/readlines, write/writelines, flush, and early close.
99
+ UTF-8 contents support embedded NUL; paths support Unicode and reject NUL.
100
+ Newline=None and newline="" have distinct documented translation behavior.
101
+
102
+ Cleanup covers normal exits, return, break, continue, failed later opens, and
103
+ runtime errors. Handles passed to helpers share their cursor; returned text
104
+ outlives its handle. Per-context limits bound open handles, operations, retained
105
+ read buffers, and per-handle input consumption. Obsolete transient read buffers
106
+ are reclaimed while public values retain the established arena lifetime.
107
+
108
+ The 21-page HTML Help is a user manual with no development-cycle status. It
109
+ adds complete read/process/write examples, a three-module report, input and
110
+ expected output files, operation tables, newline rules, and error guidance.
111
+ Stale module-limit and install examples were corrected. README retains its two
112
+ original screenshot links and 200-line limit. Dependencies are unchanged.
113
+
114
+ Typed file functions retain their external status-pointer ABI; connected file
115
+ calls use Runtime mode. Exception recovery, independent runtime C-IR validation,
116
+ and exact runtime ForgeLens mappings remain outside this delivery. PYC4699 is
117
+ retained. Native Windows acceptance is pending; no PyPI publication occurred.
118
+ See specifications/runtime_files_1_1_10.md, fixtures/runtime_files_1_1_10, and
119
+ evidence/files_1_1_10 for the contract, runnable report, and validation evidence.
120
+
121
+ ---
122
+
123
+ # PyCForge 1.1.9 — runtime programs across supplied files
124
+
125
+ Runtime conversion now accepts explicit source bundles. Named imports, module
126
+ aliases, re-exports, imported classes/functions/constants, and immutable
127
+ scalar/tuple module constants work with the existing runtime operations.
128
+ Namespaces remain separate. Imports and defaults initialize in source order,
129
+ once per C context; remaining supplied files initialize as explicit roots.
130
+
131
+ The workspace converts all open documents. CLI conversion/validation accepts
132
+ repeated `--module ID=PATH` and `--module-id ID`. C runtime failures now preserve
133
+ the logical source file and line. Runtime artifacts can be inspected with the
134
+ CLI. No installation dependency changed.
135
+
136
+ Relative/star/local/conditional/cyclic imports, implicit packages, file discovery,
137
+ writable globals, and general module execution remain excluded. Runtime file
138
+ I/O and exception recovery remain the next coverage work. Runtime C-IR proof
139
+ validation, exact ForgeLens mappings, and reclamation during a context lifetime
140
+ remain unfinished. The development warning is retained. Windows acceptance is
141
+ pending; no PyPI publication is part of this release.
142
+
143
+ See `specifications/runtime_modules_1_1_9.md`, the four-file invoice fixture,
144
+ and `evidence/modules_1_1_9/` for contracts, examples, and recorded verification.
145
+
146
+ ---
147
+
148
+ # PyCForge 1.1.8 — everyday runtime conversions
149
+
150
+ Runtime conversion now implements sum, min/max (key/default), abs, round,
151
+ any/all, stable sorted and list.sort (key/reverse), lazy enumerate and zip
152
+ (including strict), iter/next, and builtin function values such as key=abs.
153
+ Lists add extend, pop, insert, remove, reverse, clear, copy, and index; tuples
154
+ also add index. Shared list identity is preserved through mutations.
155
+
156
+ F-strings, format(), and str.format() share bounded precision, width,
157
+ alignment, sign, grouping, decimal/base and floating presentation. !s/!r/!a,
158
+ named/numbered fields, field access, and nested width/precision are supported.
159
+ Print/str/repr/ascii now render nested lists, tuples, dictionaries and views,
160
+ including cycle markers. Numeric rounding uses exact binary64 decimal digits.
161
+
162
+ Select Transpile → Runtime; the CLI uses --runtime-values. No installation
163
+ dependencies changed. The README retains exactly its two screenshot links.
164
+ The existing 20-page HTML Help now documents these operations and examples.
165
+
166
+ Runtime remains a bounded development backend: one source document, no imports,
167
+ module assignments, file I/O, exception recovery, generators or runtime sets.
168
+ Integers are checked int64; floating sums follow Python 3.12 compensated summation.
169
+ Formatting excludes locale-sensitive n, character c, z and custom protocols;
170
+ width is at most 1,000,000 and precision at most 1,000. Numeric formatting needs
171
+ C numeric locale and round-to-nearest. Values remain owned until pv_destroy().
172
+ Exact ForgeLens mappings and the typed C-IR validation path are still absent.
173
+ Native Windows acceptance and PyPI publication have not been performed.
174
+
175
+ See specifications/runtime_values_1_1_8.md for the conversion contract and
176
+ tests/test_everyday_runtime_1_1_8.py for native comparisons against Python.
177
+
178
+ ---
179
+
180
+ # PyCForge 1.1.7 — editor responsiveness and correctness
181
+
182
+ This release batches occurrence selection and caret merging, removes fold parsing
183
+ from gutter painting, and fixes the large-document replacement transition.
184
+ Unchanged documents reuse byte-bounded position and outline caches. Outline
185
+ parsing runs in a persistent, cancellable process and extracts symbols without
186
+ building conversion IR. A shared work budget prioritizes explicit operations,
187
+ limits admitted CPU work to one or two jobs, and defers passive observers while
188
+ typing. Current immutable source snapshots are shared between editor consumers.
189
+
190
+ Editor workers retain bounded exact-request replies; formatting diffs are built
191
+ in the worker. New edits still invalidate publication and preview authority.
192
+ Cancellation stops active outline parsing, and obsolete revision indexes check
193
+ for cancellation during scanning. Closed documents leave the document caches.
194
+
195
+ Correctness fixes preserve multiple carets across physical modifier presses,
196
+ prevent extra quote insertion inside comments/strings, replace the existing
197
+ identifier tail when accepting completion, keep selection formatting inside its
198
+ original lines, and correct form-feed navigation offsets. Unsafe inheritance,
199
+ class-private, Unicode-alias, and decorated-parameter renames are refused with an
200
+ explanation. Atomic saves retain existing permission modes and follow symlink
201
+ targets rather than replacing the link.
202
+
203
+ The typed/runtime converter implementations and dependency requirements are
204
+ unchanged. Both README screenshot URLs are preserved. Local Qt measurements,
205
+ regression results, and a focused Windows acceptance checklist accompany this
206
+ candidate. Native Windows acceptance is pending; local timings are not a
207
+ cross-platform input-to-display guarantee. No PyPI publication was performed.
208
+
209
+ ---
210
+
211
+ # PyCForge 1.1.6 — professional Python editing
212
+
213
+ This release adds smart pairs and selection wrapping, up to 256 simultaneous
214
+ cursors, regex and selection-scoped search, previewed replacement across open
215
+ source documents, offline completion and parameter hints, definition navigation
216
+ with return, current-document scope-aware rename with preview, and explicit
217
+ undoable formatting of a document or selected lines.
218
+
219
+ Edit now has compact Selection, Lines, Find and Replace, Code, and Folding
220
+ Functions submenus. All native menu surfaces are bounded to the current monitor
221
+ work area, using More Commands submenus for overflow. The existing toolbar is unchanged.
222
+
223
+ Jedi 0.19.x and autopep8 2.3.x are new installation dependencies; parso and
224
+ pycodestyle are installed with them. Editing runs offline. Source analysis and
225
+ regex searches run in deadline-bound processes, use source as data, and reject
226
+ stale results. No backups, autosave, recovery snapshots, or source execution were
227
+ added. The Python-to-C converter implementations are unchanged from 1.1.5.
228
+
229
+ Rename is limited to statically resolved references in the current document,
230
+ refuses name collisions, and preserves imported exports with explicit aliases.
231
+ Dynamic string lookups and references in other documents require manual review.
232
+ Formatting checks syntax-tree equivalence before applying. Analysis accepts
233
+ 500,000 characters per document; search previews accept up to 64 open documents,
234
+ 4 million characters total, and 2,000 matches. Oversized results are not applied.
235
+
236
+ Automated validation and native Windows acceptance status are recorded in the
237
+ release evidence and Windows checklist included with the distribution bundle.
238
+
239
+ # PyCForge 1.1.5 — conversion mode selection and C scrollbar
240
+
241
+ The Transpile menu now contains exactly two mutually exclusive checked choices:
242
+ Typed and Runtime. Choosing a mode does not convert. The existing Transpile
243
+ button and Ctrl+Enter execute the selected mode; the choice is remembered
244
+ between launches, initially defaulting to Typed. Mode changes retire the previous
245
+ result so it cannot be saved as current until conversion succeeds again.
246
+
247
+ Generated C now uses its normal scrollbar without the dense mapping overview
248
+ strip. Search, mapping navigation, read-only output, and ForgeLens highlighting
249
+ remain available. The hidden strip performs no marker overview projection.
250
+
251
+ No backup, autosave, recovery, snapshot-history, compiler, or other suggested
252
+ feature is added. The typed and runtime conversion capabilities are unchanged
253
+ from 1.1.4. CLI and Python API mode selection are unchanged. Both README
254
+ screenshot URLs are preserved. Native Windows acceptance remains pending.
255
+
256
+ ---
257
+
258
+ # PyCForge 1.1.4 — ordered runtime dictionaries
259
+
260
+ Runtime value conversion now handles ordered mutable dictionaries, dictionary
261
+ comprehensions, dict[K, V] annotations, scalar/immutable-tuple keys, key deletion,
262
+ and get/setdefault/update/copy/clear/pop/popitem. Live keys/values/items views
263
+ support iteration, length, truth, membership, and list/tuple snapshots.
264
+
265
+ Shared references, first-insertion order, equal numeric keys, definition-time
266
+ defaults, and nested mutable values are preserved. A hash index supports ordinary
267
+ lookup workloads. Memory, work, missing-key, key-type, and iterator mutation
268
+ checks use the existing C context. Active dictionary iterators permit value
269
+ replacement and reject structural key changes, including equal-size changes.
270
+
271
+ The existing runtime action, CLI, and API expose these additions. Searchable
272
+ HTML help, the supported-conversions table, README, and examples describe the
273
+ implemented forms and boundaries. Both README screenshots retain their URLs.
274
+ No new dependencies, source execution, embedded C compiler, or PyPI publication
275
+ are introduced. See specifications/runtime_values_1_1_4.md and the new tests.
276
+
277
+ This is a development candidate with a documented Python subset. Native
278
+ Windows acceptance remains outstanding; performance needs workload benchmarks.
279
+
280
+ ---
281
+
282
+ # 1.1.3 — 2026-10-12
283
+
284
+ The runtime value converter now implements default arguments, named keyword
285
+ calls, positional-only and keyword-only parameters for functions, methods,
286
+ constructors, and lambdas. Defaults are evaluated at definition time and keep
287
+ shared mutable values; lambda defaults can capture each comprehension value.
288
+
289
+ Unicode lower/upper, strip/lstrip/rstrip, whitespace and explicit-separator split
290
+ with maxsplit, numeric text parsing, optional integer bases, finite float
291
+ formatting, simple f-strings, print sep/end, and empty scalar/container
292
+ constructors are implemented. Unsupported calls on known receiver types have
293
+ source diagnostics. Ryu supplies shortest binary64 decimal formatting under its
294
+ Boost license; Unicode case data is pinned to Unicode 15.0.
295
+
296
+ The README and installed HTML help describe these operations as supported
297
+ features, include runnable examples, and retain the two screenshot-only README
298
+ links. The existing typed converter, PySide6 workspace, Ting runtime, splash,
299
+ and PlutoAI boundary remain in place. No PyPI publication is performed here.
300
+
301
+ Validation is recorded in `evidence/coverage_1_1_3/validation_report.json`.
302
+ The preceding 1.1.2 audit and its evidence are retained below as history.
303
+
304
+ ---
305
+
306
+ # 1.1.2 — 2026-10-12
307
+
308
+ Correctness audit fixes: integer true division now rounds the exact int64 ratio; bound methods compare by receiver identity and method; duplicate runtime parameters and writes to Python's read-only __debug__ binding reject; the default converter accepts the minimum signed 64-bit literal. Corrected Unicode diagnostic spans, syntax-error positions, and bare-CR source tokenization. Guarded breadcrumb updates when the workspace is empty or closing. Native regression tests cover both conversion paths. See docs/CONVERSION_AUDIT_1_1_2.txt and evidence/correctness_1_1_2/validation_report.json.
309
+
310
+ Added an opt-in runtime-values Python-to-C preview based on 1.1.1; runtime strings, mutable class/list aliases, mixed tuples/lists, annotated unions and containers, comprehensions and captured lambdas. Updated embedded Ting execution to 0.10.0a21 with NumPy/Numba dependencies and background numeric warmup in the splash. No C-to-assembly integration; that work is in PlutoAI. See specifications/runtime_values_1_1_2.md for exact limits.
311
+
312
+ # 1.1.1 — PyPI README correction
313
+
314
+ - Remove badges and relative documentation links from the PyPI README.
315
+ - Retain only the two unchanged Cloudinary screenshot URLs.
316
+ - Remove the outdated PDF reference and direct users to installed Help.
317
+ - Validate the rendered README against the exact screenshot-only link policy.
318
+ - Conversion behavior remains unchanged from 1.1.0.
319
+
320
+ # 1.1.0 — Scalar and string conversion expansion
321
+
322
+ This release expands conversion, with the new default profile
323
+ `scalar-strings-v1.1` paired with `c-renderer-v1.1`.
324
+
325
+ - Checked int/float/bool/str locals, declarations without initializers, chained
326
+ scalar assignments, flat unpacking/swaps and scalar augmented assignment.
327
+ - Static module declarations and assignments, constant expressions, aliases
328
+ and source-order updates, frozen before entry-function calls.
329
+ - Runtime UTF-8 code-point length, content comparison, prefix/suffix checks,
330
+ search and membership; bounded compile-time construction and string methods.
331
+ - Explicit source-span evidence, exact helper plans and independent serialized
332
+ validation. Existing definite-assignment and representation checks remain.
333
+ - Six existing TING agents receive the new strategy identity. Their unchanged
334
+ artifacts reproduce byte-for-byte through the private compiler.
335
+
336
+ Dynamic owned-string construction and mutable globals remain unsupported.
337
+ External C callers must satisfy the documented borrowed UTF-8 ABI. Historical
338
+ profiles are still selectable. Desktop appearance, screenshots and links are
339
+ preserved. See `specifications/scalar_strings_1_1.md` for the complete contract.
340
+
341
+ This is a locally tested release candidate; it has not been uploaded to PyPI.
342
+ Validation details are in `evidence/scalar_1_1/validation_report.json`.
343
+
344
+ # Changelog
345
+
346
+ ## 1.0.5 — Focused IDE refinement
347
+
348
+ Reduced all non-editor UI text by one point while preserving the Python and
349
+ generated-C editors at 14 pt and 12 pt. Added restrained glass depth to controls,
350
+ wider squarer scrollbars, slim illuminated state lines for the generated-C and
351
+ Details toolbar toggles, and a gradient-backed Help navigation rail.
352
+
353
+ Removed the Python indentation-guide overlay and its setting. Function-fold
354
+ layout now synchronizes each shared source view immediately, moves cursors out
355
+ of newly hidden blocks, preserves access to the final function at the scroll
356
+ boundary, and remains stable while Generated C is repeatedly hidden or shown.
357
+ A fresh publishable conversion reveals hidden generated C automatically.
358
+ Transpilation Details returns as a resizable lower inspector opening at 38
359
+ percent of the available workspace instead of replacing the editors.
360
+
361
+ Replaced runtime SVG resources with 495 packaged PNG assets: 55 established
362
+ glyphs at nine resolutions from 16 through 256 pixels. Ting feedback now has
363
+ wide, labeled previous/next agent controls plus a live graphical Flow Map of the
364
+ source-free evidence fan-out, six current agent decisions, and advisory-only
365
+ fan-in. About now presents a 42-pixel brand mark, a fixed-size surface with a
366
+ titlebar-blended live world UTC clock, converter identities, full workspace
367
+ state topology, and authenticated Ting engine, registry, agent, rule, and test
368
+ telemetry.
369
+
370
+ Advanced the package to 1.0.5, the workspace contract to 0.8, the action
371
+ registry to 0.6, and the visual system to 0.5. Converter schemas, rules,
372
+ renderer, generated C, and Ting shadow authority remain unchanged at 0.16.0.
373
+
374
+ Corrected the final physical-Windows dialog review without changing the shared
375
+ hover design. Help, About, Ting Agent Feedback, and Ting Agent Flow Map now
376
+ open and reopen with focus in their content, matching the Open Python dialog.
377
+ Their maximize and close controls therefore illuminate only while genuinely
378
+ hovered or deliberately keyboard-focused instead of retaining a blue or red
379
+ focus line on activation. All other dialogs and converter behavior are
380
+ unchanged.
381
+
382
+ ## 1.0.4 — PyPI publication refresh
383
+
384
+ Reissued the fully validated 1.0.3 package under a fresh public version for a
385
+ clean PyPI upload. The two README screenshots retain their fixed, versioned
386
+ Cloudinary PNG delivery URLs.
387
+
388
+ Advanced the package and application version to 1.0.4. Converter behavior,
389
+ generated C, Ting agents and authority, the notification correction, workspace
390
+ behavior, and all UI and dialog presentation remain unchanged from 1.0.3.
391
+
392
+ ## 1.0.3 — Reliable PyPI screenshot delivery
393
+
394
+ Replaced the two unreliable public README image addresses with fixed,
395
+ versioned Cloudinary PNG delivery URLs. Both remote objects were independently
396
+ retrieved as 1920 × 1080 PNG files and matched the packaged screenshots byte
397
+ for byte before the release was built.
398
+
399
+ Advanced the package and application version to 1.0.3. The converter, generated
400
+ C, Ting agents and authority, notification fix, workspace, and every other UI
401
+ or dialog behavior remain unchanged from 1.0.2.
402
+
403
+ ## 1.0.2 — Focused presentation and notification polish
404
+
405
+ Replaced the former release-contract-heavy README with a shorter public guide
406
+ centered on PyCForge's purpose, installation, upgrades, immediate desktop
407
+ launch, principal workspace features, Ting agent integration, built-in Help,
408
+ CLI/API access, and safety boundary. Added current full-workspace and Ting
409
+ feedback screenshots to the source distribution and PyPI description.
410
+
411
+ Made the top notification banner's SVG close control follow the active
412
+ information, success, warning, or error foreground color. Hover, focus, and
413
+ pressed states retain the same semantic background and border family, so the
414
+ control no longer appears detached from its message. No other workspace or
415
+ dialog presentation was changed.
416
+
417
+ Advanced the package and application version to 1.0.2. Converter schemas,
418
+ lowering, generated-C behavior, Ting shadow authority, workspace contracts,
419
+ and the authenticated 1.0.1 fixed-set rules remain unchanged.
420
+
421
+ ## 1.0.1 — Fixed sets and professional workspace continuity
422
+
423
+ Added a fail-closed fixed-set profile to the active Phase 16 base. Direct
424
+ function-local literals of 1–64 unique homogeneous integer, finite-float, or
425
+ Boolean elements lower to read-only automatic C arrays. Exact-representation
426
+ `in` and `not in` evaluate their searched expression once and use bounded
427
+ linear equality. New authenticated membership facts, 1.0.1 rule identities,
428
+ independent validation, conversion summary records, exact diagnostics, and
429
+ positive/negative tests cover declaration and lowering. Unsupported order,
430
+ hash-table, mutation, alias, and escape behavior remains outside the contract.
431
+
432
+ Added parser-authenticated Python function folding, Fold All and Unfold All
433
+ source controls, and subtle Python-only indent guides. Generated C remains a
434
+ plain immutable inspection surface. Large-source fold discovery now consumes
435
+ the existing authenticated background structure result; Fold All returns to
436
+ the event loop immediately and applies bounded regions only after exact
437
+ document/revision validation. Fold application touches only changed bounded
438
+ block lines, preventing the synchronous parser/block-scan freeze reported on
439
+ Windows.
440
+
441
+ Removed the desktop shell's synthetic permanent first document. A new window
442
+ may be genuinely empty; the first opened or created Python module becomes
443
+ primary automatically, and every tab—including the first or final restored
444
+ tab—can be closed. Closing the final tab persists an intentionally empty
445
+ restart session. Linked files that remain open at exit still reopen in their
446
+ prior order with the prior active file selected. Added an independent
447
+ **Clear Recent Files** action that never closes tabs, deletes files, or changes
448
+ the restart session. Long main-window titles now elide before the window
449
+ controls, and Find/Replace keeps Previous and Next in one compact group.
450
+
451
+ Replaced native dialog titlebars with reusable accessible PyCForge frameless
452
+ chrome across Help, About, startup, settings, file browsers, command palette,
453
+ go-to-line, guarded choices, restoration reporting, and Ting feedback. The
454
+ flat titlebar carries the canonical brand mark and an extensible icon-toolbar
455
+ host; resizable dialogs expose system and bounded manual resize paths.
456
+
457
+ Persisted the ordered set of linked saved Python files and active linked file.
458
+ Startup restores them sequentially under the 64-document ceiling and reports
459
+ every unavailable or unreadable path in a nonblocking selectable dialog.
460
+ Unsaved source text is not serialized.
461
+
462
+ Added a source-free, read-only Ting feedback terminal after converted and
463
+ rejected decisions. An overview and all six mandatory agent tabs expose exact
464
+ evidence, gaps, bounded matching metrics, and rulepack identities. The shadow
465
+ review has no authority over conversion and does not fabricate compiler or
466
+ differential evidence.
467
+
468
+ Updated all fourteen classified offline HTML Help pages and navigation search
469
+ metadata needed for the new conversion and workspace features. Advanced the
470
+ package and application identity to 1.0.1 while retaining the documented Phase
471
+ 16 base schemas and renderer.
472
+
473
+ Corrected the 1.0.1 desktop presentation after physical-review feedback.
474
+ Python source now defaults to 14 pt, generated C to 12 pt, Help body text to
475
+ 12 pt, and application controls to a 12 pt minimum. Presentation-settings
476
+ schema 3 removes the faulty schema-2 global-font projection and oversized
477
+ restored geometry while preserving compatible session data. Top-level windows
478
+ fit the current monitor work area under Windows display scaling. Function fold
479
+ markers are larger, Fold All and Unfold All are direct Edit-menu actions, the
480
+ Ting/About status buttons are matched and contained, menu-item hover tooltips
481
+ are disabled, and ordinary typing no longer rewrites the persistent status
482
+ message.
483
+
484
+ Completed a second physical-Windows typography correction without changing
485
+ the editor sizes or Help article typography. Ordinary non-editor controls now
486
+ use the exact menu font, including Help controls, file browsers, inspectors,
487
+ About, startup, and monospaced Ting feedback. The three workspace caption
488
+ bands use a deliberate compact 10 pt hierarchy and the Python header gives
489
+ adaptive space to both module identity and path text. The Open preview is decoupled
490
+ from the 14 pt source editor and uses compact menu-sized page geometry.
491
+ Transpilation Details always starts hidden and opens as a full-height review
492
+ mode instead of compressing the editor. Source/mapping activation returns to
493
+ the editor. Accepted code-font choices use a durable restart mirror; guarded
494
+ Save/Discard focus borders retain bottom clearance; QAction status tips cannot
495
+ enter the status bar. Help, About, and startup rasterize the
496
+ redesigned flat `brand-mark.svg` directly at the final logical size and device
497
+ pixel ratio, eliminating enlarged 24-pixel bitmap intermediates.
498
+
499
+ ## 0.16.3 — Complete in-app Help and workspace usability
500
+
501
+ Status: PyCForge 0.16.3 package release; active converter, rule-set, renderer,
502
+ runtime-policy, plan, C-IR, artifact, summary, trace, and result-envelope
503
+ contracts remain unchanged from the PyPI 0.16.2 package.
504
+
505
+ Added a professional, fully offline HTML Help dialog under the new **Help**
506
+ menu and **F1**. Fourteen editable HTML pages are classified through a
507
+ validated catalog, presented with persistent left navigation, and searched as
508
+ one global documentation set. They cover the entire cumulative conversion
509
+ surface, including typed functions, expressions,
510
+ conditionals, scalar scope publication, loops and loop `else`, containers,
511
+ records, direct/keyword calls, explicit module imports, bounded UTF-8 file
512
+ reading and writing, the generated-C file ABI and status codes, CLI/API use,
513
+ diagnostics, safety, limits, shortcuts, and active identities. The installed
514
+ application no longer relies on a PDF or an external repository for user help.
515
+
516
+ Replaced editor-only font sizing with one persisted 8–32 point workspace text
517
+ size. Direct **View** actions and `Ctrl+=`, `Ctrl+-`, and `Ctrl+0` now resize
518
+ menus, toolbars, dialogs, trees, diagnostics, Python, generated C, previews,
519
+ and Help together. Schema-1 editor preferences migrate into the application-
520
+ wide setting and changes synchronize immediately.
521
+
522
+ The custom Open/Save dialogs now remember per-mode geometry, columns,
523
+ directory, and—where applicable—the browser/preview splitter and last selected
524
+ Python file. Open never displays a restored preview unless its tree row is
525
+ visibly selected. The first **New Module** reuses a pristine initial `main.py`
526
+ placeholder, eliminating the accidental empty-main diagnostic while retaining
527
+ the converter's deliberate rejection of genuinely empty bundle modules.
528
+
529
+ Added Undo, Redo, Cut, Copy, and Paste to the main toolbar; enlarged module-tab
530
+ close targets; rebuilt status-bar ownership so left feedback stretches inside
531
+ the bar and right-side controls remain contained; and replaced stylesheet and
532
+ editor-rail gradients/texture backgrounds with a flat blackened-steel palette.
533
+
534
+ Package metadata now identifies PyPI as the authoritative distribution page.
535
+ The package version advances to 0.16.3 because published PyPI files are
536
+ immutable; the active converter contract remains exactly 0.16.0.
537
+ Workspace, action-registry, and visual-system presentation identities advance
538
+ to `pycforge-workspace/0.7`, `pycforge.action-registry/0.4`, and
539
+ `pycforge.visual-system/0.4`; persisted presentation settings advance to schema
540
+ `2` with bounded schema-1 font migration.
541
+
542
+ Added six deterministic Ting shadow-review agents for syntax, semantics,
543
+ ownership, lowering, verification, and typed capability/resource binding.
544
+ Their 34 embedded tests run without skips through a read-only source gate.
545
+ Proof-preserving pruning evaluates every registered role while using bounded
546
+ schema and equality indexes inside each rulepack. PyCForge ships only a
547
+ private execution runtime, authenticated registry, and precompiled Compact-IR.
548
+ The runtime retains the bounded `.ting` Compact-IR loader/parser and verifier.
549
+ Only the authoring-side RuleSpec source parser, compiler, writers, builders,
550
+ consoles, reference engine, history subsystem, and command entry points are
551
+ excluded from both public archives and retained separately under compiler
552
+ custody.
553
+
554
+ Added an accessible branded startup progress dialog driven only by completed
555
+ initialization work. It validates the vector catalogue, all offline Help
556
+ sources, and every packaged `.ting` artifact before constructing the
557
+ workspace. The dialog supports safe-boundary cancellation, presents bounded
558
+ startup errors, performs no network access, and uses the same flat visual
559
+ surface and canonical brand mark as the main window, Help, and About.
560
+
561
+ ## 0.16.2 — Evaluation hardening and motionless editing
562
+
563
+ Status: PyCForge 0.16.2 package release; active converter contracts,
564
+ generated-C identities, and the 0.16.0 Programmer's Conversion Guide remain
565
+ unchanged.
566
+
567
+ Repaired the frontend's virtual-EOF coordinate mapping so valid source converts
568
+ without a terminal newline or completely empty final line. The repair maps the
569
+ tokenizer's virtual final position to exact EOF without inserting or
570
+ normalizing text and preserves source bytes, newline records, document identity,
571
+ and authenticated hash. The `clamp` reproduction no longer falls through to
572
+ `PYC9001`.
573
+
574
+ Made normal typing visually motionless across the toolbar Convert action,
575
+ conversion-status labels, the generated-C stale/last-complete label, and Python
576
+ source breadcrumbs. State updates now occur in place, while progress animation
577
+ is limited to actual conversion work. Corrected Python-editor point-size loading
578
+ so the chosen value survives restart and applies to both current and future
579
+ split source panes.
580
+
581
+ Added a compact, menu-preserving frameless shell and reduced toolbar and notice
582
+ height without shrinking their established text. Replaced native tree icons
583
+ with PyCForge dark-theme iconography, bounded the Open dialog's initial height,
584
+ and moved Previous/Next navigation above the preview page. Reworked About into
585
+ a wider categorized view with version and contract information, end-of-file and
586
+ current/stale-state explanations, Details and split-view cues, and no
587
+ personal-name text. The existing toolbar action remains the single Show/Hide
588
+ control for Transpilation Details.
589
+
590
+ Documented fresh and explicit-upgrade commands for both POSIX environments and
591
+ the Windows `py` launcher. Package version 0.16.2 retains the 0.16.0 converter,
592
+ rule-set, renderer, runtime-policy, plan, C IR, generated-artifact, summary, and
593
+ decision-trace identities; workspace and settings identities also remain
594
+ unchanged.
595
+
596
+ ## 0.16.1 — ForgeLens and blackened-steel workspace
597
+
598
+ Status: PyCForge 0.16.1 release; converter contracts, generated C, and the
599
+ 0.16.0 Programmer's Conversion Guide remain unchanged.
600
+
601
+ Added optional, default-on ForgeLens cross-highlighting from authenticated
602
+ Python↔C mappings. It follows exact focused selections without taking focus or
603
+ switching documents, persists its Editor Settings toggle, clears safely across
604
+ document and lifecycle changes, and fails closed on excessive mapping fanout.
605
+ Position indexing now handles Qt newline normalization, query scans stop as
606
+ soon as their ordered interval cannot match, endpoint storage is compact, and
607
+ unchanged marker projections are not repainted.
608
+
609
+ Introduced a coordinated blackened brushed-steel workspace with restrained
610
+ focus and selection colors, semantic primary/danger states, coherent menus and
611
+ dialogs, and the PyCForge brand mark in About. Replaced native file pickers
612
+ with bounded custom browsers: Open renders readable Python pages in memory with
613
+ Previous/Next controls, while Save remains preview-free. Hardened dialog error
614
+ recovery, path elision, accessibility descriptions, tree sizing, and preview
615
+ retirement behavior.
616
+
617
+ Added the concise five-feature UI roadmap and refreshed the public README with
618
+ an immutable, code-rich 1600×1000 workspace screenshot. The complete package
619
+ still uses the active Phase 16 converter identities at 0.16.0.
620
+
621
+ ## 0.16.0 — Scope, loop completion, and bounded UTF-8 file I/O
622
+
623
+ Status: PyCForge 0.16.0 release; explicit Phase 14A-14D requests and all
624
+ historical 0.15.3 workspace custody remain preserved.
625
+
626
+ ### Selective scalar scope lifetimes
627
+
628
+ Added immutable, resource-bounded, independently reconstructed
629
+ `fact-table/0.16-scope-lifetimes` proof. Scalar locals first assigned in
630
+ exhaustive conditional branches can now lower to one uninitialized C
631
+ function-entry declaration plus source-ordered branch assignments when every
632
+ reachable continuation proves initialization before use. Nested conditionals
633
+ and the surviving branch after a sibling return are reachability-aware.
634
+
635
+ The profile remains deliberately selective: loops, containers, records,
636
+ closures, globals/nonlocals, missing branch coverage, read-before-definition,
637
+ unknown or incompatible categories, and malformed or over-budget evidence fail
638
+ closed. Already-supported unrelated constructs remain independent.
639
+
640
+ ### Loop completion and safe `range`
641
+
642
+ Added exact Python `else` behavior for admitted `while`, positional-`range`,
643
+ and fixed list/tuple/dictionary loops. Natural completion and zero iterations
644
+ run the else suite; only a source `break` owned by that loop suppresses it.
645
+ Nested breaks do not suppress an outer else, `continue` preserves completion,
646
+ and `return` bypasses it. One deterministic Boolean flag is emitted only when
647
+ the loop owns a break, with clears immediately before those exact breaks.
648
+
649
+ Added a structured pre-addition guard for signed-64 range induction. An update
650
+ that would cross `INT64_MAX` or `INT64_MIN` selects the staged stop value
651
+ instead, preserving exhaustion without undefined C signed overflow.
652
+
653
+ ### Closed bounded UTF-8 file profile
654
+
655
+ Added one exact direct function-body context profile:
656
+ `with open(path, "r" or "w", encoding="utf-8", newline="") as fresh_handle`
657
+ with one direct read transfer or one direct write of an already-proved string
658
+ name or string literal whose count is discarded. Effectful write expressions
659
+ reject with `PYC3905` because helper-internal open cannot preserve context-entry
660
+ before body-evaluation order.
661
+ Reads default to 1,048,576 bytes, have a hard 16,777,216-byte ceiling, reject
662
+ embedded NUL and non-RFC-3629 UTF-8, close exactly once, and transfer ownership
663
+ only after successful close. Writes use borrowed text, require an exact byte
664
+ count, close exactly once, and propagate failure. Handle aliasing, rebinding,
665
+ escape, post-region use, explicit close, unsupported open shapes, and source
666
+ calls into file-effect functions reject with the `PYC3901`–`PYC3908` family.
667
+
668
+ Registered helpers are `pycf.file.read_all_utf8_bounded@1.0.0` and
669
+ `pycf.file.write_utf8_exact@1.0.0`, with registry-closed transitive UTF-8
670
+ validation. Generated file-effect entry points receive a hidden final,
671
+ required non-null `int64_t *` status parameter in caller-owned storage. Stable
672
+ codes are 0 success, 1 open, 2 allocation, 3 read, 4 limit, 5 embedded NUL,
673
+ 6 invalid UTF-8, 7 close, and 8 write. A successful read returns a unique
674
+ caller-owned `malloc` buffer that the external caller must `free`.
675
+ Every file-effect entry point null-checks its status pointer and then initializes
676
+ it to success before any source-controlled early return or evaluation; helper
677
+ failures overwrite that value with their stable code.
678
+
679
+ Recorded the external C-string preconditions explicitly: paths must be
680
+ non-null, NUL-terminated valid UTF-8; borrowed write text has the same
681
+ preconditions and no embedded NUL. The helpers do not runtime-validate pointer
682
+ validity, path UTF-8/NUL properties, or hidden write bytes after the first
683
+ terminator. Compile-time path/write literals containing NUL reject with
684
+ `PYC3903`/`PYC3905`; read-content statuses 5 and 6 do not claim input-string
685
+ validation.
686
+
687
+ ### Contracts and custody
688
+
689
+ Advanced the active converter to `0.16.0` with
690
+ `phase16-scope-loop-file-v0.16.0`, `c-renderer-v0.16.0`,
691
+ `conversion-plan/0.16.0`, `c-ir/0.16.0`, `generated-c/0.16.0`, and matching
692
+ 0.16.0 summary/trace identities. The result envelope remains `0.5`. Phase 16
693
+ adds closed structured pointer, cast, conditional-expression, null, and C
694
+ library-intrinsic C IR forms needed by the proved runtime. Historical Phase 14D
695
+ schemas, rendering, diagnostics, output bytes, hashes, rejections, and helper
696
+ manifests remain unchanged under explicit `0.14.3` requests.
697
+
698
+ Conversion never executes source Python and never opens a path selected by the
699
+ source. PyCForge never compiles, links, loads, or runs generated C. File I/O,
700
+ status writes, allocation, ownership transfer, and caller `free` occur only if
701
+ an external party separately builds and runs the generated C.
702
+
703
+ The authenticated desktop worker protocol is now
704
+ `pycforge.worker-protocol/0.2`; it preserves the active runtime-policy identity
705
+ and all expanded resource fields across the GUI process boundary. Added a
706
+ reproducible 35-page 0.16.0 Programmer's Conversion Guide with 22 live-converter
707
+ examples, deterministic PDF reconstruction, and release-asset verification.
708
+
709
+ ## 0.15.3 — Workspace usability and PySide6 transition
710
+
711
+ Status: release candidate; converter semantics remain sealed at `0.14.3`.
712
+
713
+ Migrated the desktop application from PyQt5/Qt 5 to PySide6/Qt 6 and made
714
+ `PySide6>=6.8,<7` the single required GUI binding. Updated native actions,
715
+ signals, dialogs, input events, high-DPI behavior, CI, packaging checks, and
716
+ clean-install smoke coverage for Qt 6.
717
+
718
+ Added a bounded, persisted **Edit → Editor Settings…** control for the text
719
+ size of both synchronized Python source views. The setting accepts 8–48 points,
720
+ updates tab stops and editor side areas immediately, survives shared-document
721
+ rebinding, and leaves the generated-C viewer unchanged.
722
+
723
+ Added undoable Python auto-indentation on Enter. Existing leading whitespace
724
+ is preserved and genuine suite-opening colons add four spaces; colons inside
725
+ strings, comments, and open bracket expressions do not trigger an extra level.
726
+
727
+ Removed passive source-mapping backgrounds and underlines from generated C.
728
+ Mapping records, the overview rail, activation, and source/output navigation
729
+ remain available, while the generated-C text surface remains read-only and
730
+ explicit-save-only.
731
+
732
+ Advanced the workspace contract to `pycforge-workspace/0.6`, the action
733
+ registry to `pycforge.action-registry/0.3`, and the visual system to
734
+ `pycforge.visual-system/0.3`. Presentation settings remain schema `1`, the
735
+ worker protocol remains `pycforge.worker-protocol/0.1`, and the complete
736
+ converter subtree remains unchanged at `0.14.3`.
737
+
738
+ ## 0.15.2 — Phase 15C IDE-grade authoring and inspection workspace
739
+
740
+ Status: promoted and sealed; Phase 15D remains unopened.
741
+
742
+ Prepared the first public PyPI distribution without changing the
743
+ converter contract. PyQt5 is now a mandatory runtime dependency of the base
744
+ package, so an ordinary `pip install pycforge` installs the desktop application
745
+ and both `pycforge` and `pycforge-workspace` entry points. Removed the obsolete
746
+ `workspace` extra, added PyPI long-description and project metadata, corrected
747
+ the command-line examples, and added clean-build, clean-install, offscreen Qt,
748
+ release-artifact and Trusted Publishing gates.
749
+
750
+ Established the public source license as `GPL-3.0-only`, compatible with the
751
+ GPL PyPI distribution of PyQt5, and included the complete license text in the
752
+ source and package metadata.
753
+
754
+ Advanced the package to `0.15.2`, the workspace contract to
755
+ `pycforge-workspace/0.5`, the action registry to
756
+ `pycforge.action-registry/0.2`, and the visual system to
757
+ `pycforge.visual-system/0.2`. The converter remains sealed at `0.14.3`, the
758
+ worker protocol remains `pycforge.worker-protocol/0.1`, and presentation
759
+ settings remain schema `1`.
760
+
761
+ Added identifier-only document-tab and split-pane session state, with at most
762
+ two synchronized Python source panes. Added bounded undoable source operations
763
+ for line duplication, line movement, indentation, outdentation, and Python
764
+ comment toggling, together with go-to-line, whitespace visibility, and source
765
+ fold controls.
766
+
767
+ Added cancellable latest-wins source-structure analysis for already-open Python
768
+ text. The normalized outline and breadcrumb projection is parent-linked and
769
+ bounded by symbol count, depth, name length, and source-text budgets. Invalid
770
+ syntax remains inert and cannot retire valid structure for unrelated open
771
+ documents.
772
+
773
+ Added deterministic literal bundle search across the explicit open
774
+ `SourceBundle`, with immutable path-free requests, exact Python and UTF-16
775
+ positions, bounded previews, a global 5,000-match cap, and stale-generation
776
+ suppression. No host directory or project discovery was introduced.
777
+
778
+ Added a bounded command palette that projects enabled and visible static
779
+ registry actions without retaining handlers or adding a free-form command
780
+ execution surface. Added payload-free session transpilation history capped at
781
+ 64 terminal records.
782
+
783
+ Expanded the declarative command system to 48 actions, five persistent main
784
+ menus, and eleven context surfaces. Added the Navigate menu, source-authoring
785
+ commands, document-tab, bundle-search, history, text-input, and read-only-text
786
+ contexts while preserving the exact read-only generated-C command allowlist and
787
+ single-owner persistent `QAction` construction.
788
+
789
+ Expanded the vector catalogue from 41 to 55 safe SVG icons and extended the
790
+ shared workspace stylesheet for document tabs, split views, breadcrumbs,
791
+ outline, bundle-search results, history, and command-palette presentation.
792
+
793
+ Preserved the Phase 15A spawned-worker model, one-active/one-latest scheduling,
794
+ bounded cancellation, immutable revision and fingerprint authentication,
795
+ stale-result suppression, off-GUI file and search work, and incremental
796
+ generated-C projection. Python remains the only editable code surface.
797
+
798
+ Recorded current-release real PyQt evidence on the offscreen QPA backend
799
+ using Python 3.12.13, PyQt 5.15.11, Qt build 5.15.14, and Qt runtime 5.15.19.
800
+ One `QApplication` ran 18 focused workspace cases with zero failures, errors,
801
+ or skips. A 250,113-character source constructed the window in 0.054 seconds,
802
+ reached the first event turn in 0.0103 seconds, and produced 110 timer ticks at
803
+ 0.01-second intervals during 1.201 seconds of isolated transpilation. Large-file
804
+ mode detached the syntax highlighter while preserving the shared editor buffer;
805
+ shutdown left zero new PyCForge threads and zero worker leaks. A small
806
+ end-to-end workspace conversion completed in 0.408 seconds as supporting
807
+ evidence.
808
+
809
+ Authenticated, assigned the canonical validation report and release
810
+ fingerprint, and built and validated the Phase 15C milestone source archive,
811
+ pure-Python wheel, handoff, package report, and checksum records. These
812
+ artifacts establish Phase 15C release custody, not the wider Phase 15D
813
+ distribution and platform gate.
814
+
815
+ PyCForge remains a deterministic Python-to-C source transpiler. It does not
816
+ compile, assemble, link, load, run, execute, debug, profile, deploy, or invoke
817
+ generated C or a C toolchain.
818
+
819
+ The real offscreen widget evidence is not visible-platform certification.
820
+ Visible Windows 11/Linux rendering, physical display scaling, and
821
+ assistive-technology validation remain Phase 15D gates.
822
+
823
+ ## 0.15.1 — Phase 15B application shell and visual system
824
+
825
+ Status: implemented and validated within the available supporting scope.
826
+
827
+ Advanced the workspace contract to `pycforge-workspace/0.4` and introduced the
828
+ import-safe `pycforge.action-registry/0.1`. Every persistent application command
829
+ now has one declarative authority for its stable ID, label, mnemonic, SVG icon,
830
+ shortcut, tooltip, status explanation, accessible name, checkability, tone, and
831
+ allowed surfaces. The Qt adapter creates each persistent `QAction` once and
832
+ shares it across menus, toolbars, context surfaces, and bounded dynamic entries.
833
+
834
+ Added custom gradient/icon File, Edit, View, and Transpile menus and declared
835
+ context menus for Python source, read-only generated C, the Source Bundle
836
+ navigator, diagnostics, mappings, conversion summary, decision trace, and
837
+ telemetry. The custom presentation remains native-backed by `QMenu` and
838
+ `QAction`, preserving keyboard traversal, mnemonics, shortcut columns, checked
839
+ state, focus return, Escape dismissal, assistive exposure, submenu behavior,
840
+ and screen-edge placement. Generated C uses an explicit read-only command
841
+ allowlist.
842
+
843
+ Introduced `pycforge.visual-system/0.1` with cohesive semantic graphite
844
+ surfaces, layered gradients, high-contrast text, blue and violet focus accents,
845
+ a restrained warm transpilation accent, and explicit success, warning, error,
846
+ and danger treatments. Expanded professional self-contained SVG iconography
847
+ uses logical dimensions and excludes raster payloads, embedded data, remote
848
+ references, fixed physical sizing, scripts, and font-glyph dependencies.
849
+
850
+ Added high-DPI and accessibility foundations: high-DPI scaling before
851
+ application construction, logical icon sizing, stable menu accessible names,
852
+ visible tooltips and accessible names for icon-only controls, visible keyboard
853
+ focus, and non-color-only state treatment. The interface has no animation and
854
+ is reduced-motion safe by construction.
855
+
856
+ Removed the legacy presentation-namespace migration and compatibility surface.
857
+ Current source, settings, menus, toolbars, tests, evidence, and distribution
858
+ use PyCForge identity exclusively. Original pre-migration bytes remain
859
+ authoritative in the authenticated Phase 15A archive.
860
+
861
+ Preserved all Phase 15A responsiveness and isolation guarantees: spawned
862
+ conversion, one-active/one-latest scheduling, cooperative and hard
863
+ cancellation, immutable revision authentication, stale-result suppression,
864
+ off-GUI file I/O and search, bounded editor projections, incremental generated-C
865
+ population, and exact Save C authority.
866
+
867
+ Bounded the structured detail inspectors with an iterative cycle-safe
868
+ projection limited to 1,024 nodes, 16 levels, 256 children per container, and
869
+ 2,048 characters per value. Corrected scroll-area context placement, made
870
+ uncommitted identity edits immediately stale and unsavable as C, and suppressed
871
+ cancellation-pending diagnostics as non-current.
872
+
873
+ Hardened release custody around a descriptor-bound, size-bounded source
874
+ snapshot and a validation-subject digest that is checked against the exact
875
+ packaged bytes. Packaging now pins its production environment, compares
876
+ duplicate wheel and normalized-source builds, inspects and smokes the sealed
877
+ wheel payload, rejects noncanonical validation JSON, and durably publishes the
878
+ seven-artifact directory only after the final vocabulary and checksum graph
879
+ passes.
880
+
881
+ The package is `0.15.1`; the converter remains sealed at `0.14.3`, the worker
882
+ protocol remains `pycforge.worker-protocol/0.1`, and presentation settings
883
+ remain schema `1`. PyCForge remains a deterministic Python-to-C source
884
+ transpiler. No C compiler, linker, loader, runtime execution, debugger,
885
+ terminal, toolchain, project explorer, plugin system, or generated-C editor was
886
+ added.
887
+
888
+ PyQt5 is unavailable on the validation host, so Phase 15B evidence is
889
+ supporting source, static, headless, registry, icon, and optional-widget
890
+ evidence only. Visible Windows 11/Linux rendering, real display scaling, and
891
+ assistive-technology validation remain Phase 15D gates. Phase 15C and Phase 15D
892
+ remain unopened.
893
+
894
+ Final discovery runs 750 tests: 734 pass, 16 are expected skips, and none fail.
895
+ Eleven skips require unavailable PyQt5 widgets; five require unavailable older
896
+ optional custody artifacts.
897
+
898
+ ## 0.15.0 — Phase 15A responsiveness and isolation
899
+
900
+ Status: promoted and sealed.
901
+
902
+ Replaced workspace in-process conversion with a spawn-only process supervisor.
903
+ The bounded `pycforge.worker-protocol/0.1` uses canonical JSON over byte-only
904
+ connections and validates generation, bundle, transport, request, artifact,
905
+ mapping, and output identities before publication. Scheduling is exactly one
906
+ active plus one replaceable latest pending request.
907
+
908
+ Added cooperative cancellation with a 750 ms grace, hard termination and
909
+ two-second reclamation, latest-pending start bounds, non-blocking close, and
910
+ recoverable startup, crash, malformed/oversized IPC, broken-pipe, and worker
911
+ resource-exhaustion handling. Canceled, failed, stale, superseded, partial, or
912
+ mismatched work cannot publish C or replace last-known-good C.
913
+
914
+ Added immutable off-GUI revision/index services with cached UTF-8 and UTF-16
915
+ position facts. Convert and Save C remain disabled until the latest revision
916
+ authenticates. Moved linked-file reads, hashes, observations, and guarded atomic
917
+ writes to bounded daemon workers; an in-flight stale Save C fails before atomic
918
+ replacement.
919
+
920
+ Added debounced latest-wins literal search with an exact total and a 5,000-range
921
+ projection cap. Added automatic large-file editor mode, bounded syntax/bracket
922
+ work, marker and overview caps, viewport-focused selections, incremental 32 KiB
923
+ generated-C projection, and deferred hidden output/detail work. Source edits
924
+ are coalesced before proportional controller synchronization.
925
+
926
+ Validated direct-versus-isolated serialized-result equality, hard-cancel and
927
+ failure containment, maximum-envelope revision/search/index behavior, injected
928
+ slow file I/O, and 100 edit/convert/cancel cycles without stale publication,
929
+ deadlock, crash, obsolete pending work, or orphan processes.
930
+
931
+ Advanced the package to `0.15.0` and workspace contract to
932
+ `pycforge-workspace/0.3`. The complete converter subtree and every converter
933
+ contract remain sealed at `0.14.3`.
934
+
935
+ PyCForge remains a Python-to-C source transpiler. No compiler, linker, loader,
936
+ generated-C executor, runner, debugger, terminal, toolchain, plugin,
937
+ project-explorer, host-discovery, or generated-C editor was added. Phase 15B,
938
+ 15C, and 15D remain unopened; visible Windows 11/Linux PyQt and accessibility
939
+ claims are reserved for Phase 15D.
940
+
941
+ ## 0.14.4 — Hardening Checkpoint E
942
+
943
+ Status: promoted and sealed.
944
+
945
+ Completed the roadmap's post-Phase-14 full-subset architecture review,
946
+ deterministic full-supported-subset fuzz and metamorphic gate, and documentation
947
+ and 69-entry feature-matrix reconciliation. No Python construct, C IR shape,
948
+ helper, diagnostic, conversion policy, public converter schema, or generated-C
949
+ style was added or changed.
950
+
951
+ Separated the package identity (`0.14.4`) from the sealed deterministic
952
+ converter contract identity (`0.14.3`). Golden output, serialized results,
953
+ facts, RulePlans, summaries, traces, telemetry, diagnostics, mappings, and
954
+ fingerprints remain Phase 14D values.
955
+
956
+ Corrected the active desktop identity to PyCForge across front-facing titles,
957
+ accessibility names, theme exports, and the settings namespace. Added a bounded,
958
+ non-destructive migration for allow-listed predecessor presentation settings
959
+ and retained non-exported compatibility aliases only for sealed historical
960
+ validators.
961
+
962
+ Established `pycforge-workspace/0.2` and a binding workspace-quality addendum.
963
+ The addendum assigns the requested process-isolated conversion supervisor,
964
+ maximum-input responsiveness, professional IDE-grade authoring and inspection,
965
+ custom gradient/icon main and context menus, accessibility, high-DPI, and real
966
+ Windows 11/Linux PyQt gates to Phase 15. Checkpoint E does not claim those
967
+ future gates or open Phase 15.
968
+
969
+ PyCForge remains a Python-to-C source transpiler. It does not compile, link,
970
+ load, run, execute, debug, benchmark, or otherwise invoke generated C or a C
971
+ toolchain.
972
+
973
+ Promotion executes all 69 frozen feature-matrix entries plus the unlisted
974
+ default, with 37 supported witnesses converted and 33 boundary witnesses
975
+ rejected without mismatch. The seeded hardening corpus contains 16 fixed and
976
+ 64 generated cases, four per promoted family, and all 80 match the
977
+ authenticated Phase 14D predecessor byte-for-byte.
978
+
979
+ Final validation discovers 589 tests: 572 pass, 17 are expected skips, and
980
+ zero fail. The focused Checkpoint E set passes 46 of 46, and every cumulative
981
+ source-only audit passes. Reproducible wheel and normalized source-archive
982
+ builds are byte-identical; isolated wheel and extracted-source smokes pass.
983
+ The wheel contains both PyCForge entry points, exactly 17 SVG assets, and no
984
+ native binaries.
985
+
986
+ ## 0.14.3 — Phase 14D exact required keyword-only calls
987
+
988
+ Status: promoted and sealed.
989
+
990
+ Added one exact source-only declaration and call profile for required
991
+ keyword-only parameters on already-resolved direct source functions. An admitted
992
+ function may have existing required positional-only and positional-or-keyword
993
+ parameters followed by one or more exactly annotated required keyword-only
994
+ parameters. Every `kw_defaults` entry is null; positional defaults,
995
+ keyword-only defaults, `*args`, and `**kwargs` remain rejected.
996
+
997
+ Ordinary positional actuals bind only positional-capable formals. Explicit named
998
+ actuals may bind unbound positional-or-keyword or required keyword-only formals.
999
+ Every required formal is covered exactly once with an exact category and
1000
+ representation match. Explicit values stage once in Python source order; only
1001
+ pure temporary references are arranged in full formal order for the existing
1002
+ structured `CCallExpr`. No runtime binder, `TypeError` channel, default
1003
+ evaluation, coercion, allocation, ownership transfer, or cleanup model was
1004
+ added.
1005
+
1006
+ Added complete positive and negative `keyword-only-call-binding-facts` under
1007
+ `fact-table/0.14.3` and the helper-free
1008
+ `phase14.keyword_only_call.exact_binding@0.14.3` RulePlan. The lowering shape is
1009
+ `source-order-actual-temporaries-formal-order-references-v1`. Independent
1010
+ validation reconstructs declaration kind, target, name binding, coverage,
1011
+ categories, source/formal orders, C parameter order, and exact plan
1012
+ correspondence before lowering.
1013
+ Required-keyword-only declarations remain in the existing function-signature
1014
+ facts without changing the serialized `ParameterFact` shape. Affected existing
1015
+ `FunctionDef` RulePlans gain explicit keyword-only parameter and
1016
+ C-interface-mode-erasure facts and obligations, and independent validation
1017
+ covers admitted declarations even when they have no call site.
1018
+
1019
+ No new source diagnostic code is required. `PYC2904` retains missing coverage
1020
+ and excess positional arity, `PYC2905` exact representation mismatch, `PYC2910`
1021
+ unpacking and excluded call shapes, and `PYC2912` exact name-binding failures.
1022
+ Under active 0.14.3 identities `PYC2911` continues to reject defaults,
1023
+ defaulted keyword-only parameters, variadics, and keyword-only declarations
1024
+ outside the exact required profile; it no longer rejects an otherwise eligible
1025
+ required keyword-only declaration solely because `kwonlyargs` is nonempty.
1026
+ Historical 0.14.2 diagnostics remain unchanged.
1027
+
1028
+ Advanced the active rule set to
1029
+ `phase14-required-keyword-only-calls-v0.14.3`, renderer to
1030
+ `c-renderer-v0.14.3`, and conversion-plan, C IR, generated-C, summary, and
1031
+ decision-trace envelopes to 0.14.3. SourceBundle 0.2, Python IR 0.4, result
1032
+ serialization 0.5, target and semantic policies, the helper registry, and all
1033
+ container/module/record/numeric/conditional policies remain frozen.
1034
+
1035
+ Explicit 0.14.2 and earlier requests retain their exact facts, plans,
1036
+ diagnostics, generated-C bytes, and fingerprints. Under active 0.14.3
1037
+ identities, sources selecting no Phase 14D declaration or call behavior retain
1038
+ Phase 14C generated-C bytes and output fingerprints. Required keyword-only
1039
+ support adds no C IR syntax kind, renderer grammar, helper, host discovery, or
1040
+ toolchain surface. Generated C remains source-validated only and is not
1041
+ compiled, linked, loaded, or executed. Defaults, variadics, unpacking, dynamic
1042
+ targets, methods, recursion, exceptions, closures, generators, async behavior,
1043
+ and every neighboring Phase 14 family remain excluded. Phase 15 has not
1044
+ started.
1045
+
1046
+ Promotion passed 539 discovered tests: 524 passed, 15 skipped, and zero failed.
1047
+ The skips are exactly 10 for unavailable PyQt5 and five for unavailable older
1048
+ custody artifacts. The focused Phase 14D gate passed 65 of 65 tests. Every
1049
+ active cumulative audit passed, including the required-keyword-only and
1050
+ Phase 14D transition audits.
1051
+
1052
+ Two fixed-epoch builds produced the same 340,054-byte
1053
+ `pycforge-0.14.3-py3-none-any.whl`, SHA-256
1054
+ `c0dd0c0ed79131daa5af815a8a9bb096b9f955c9c617ec0b8eb6a10c69d27b7f`.
1055
+ The wheel archive and `RECORD` each account for 132 members: 17 SVG assets and
1056
+ zero native-code members. Two normalized source-archive builds were likewise
1057
+ byte-identical. The promoted converter subtree SHA-256 is
1058
+ `74b32c25e40af3398dd46288941812ce7ad87f0d4b72fec3d3bd786cc1b8f3a8`.
1059
+
1060
+ Release validation remained source-only: no gate compiled, linked, loaded, or
1061
+ executed generated C. No new actual PyQt5 widget or Windows 11 execution is
1062
+ claimed. Historical opening records remain preserved, and Phase 15 has not
1063
+ started.
1064
+
1065
+ ## 0.14.2 — Phase 14C direct exact keyword calls
1066
+
1067
+ Status: promoted and sealed.
1068
+
1069
+ Added one closed compile-time binding profile for explicit keyword arguments on
1070
+ already-resolved direct source-function calls. Calls may use a leading ordinary
1071
+ positional prefix followed by one or more explicit named keywords. Every
1072
+ required formal is bound exactly once, positional-only formals remain
1073
+ positional-only, and actual/formal categories must match exactly. Same-module
1074
+ and existing explicit cross-module source-function bindings are eligible;
1075
+ dynamic targets, callable values, methods, defaults, keyword-only parameters,
1076
+ variadics, `*`/`**` unpacking, recursion, `range` keywords, and record-
1077
+ constructor keywords remain excluded.
1078
+
1079
+ Added independent keyword-call analysis and reconstruction,
1080
+ `keyword-call-binding-facts` under `fact-table/0.14.2`, and the helper-free
1081
+ `phase14.keyword_call.exact_binding@0.14.2` RulePlan. Argument values are staged
1082
+ left to right and once in Python source order, then pure temporary references
1083
+ are arranged in formal ordinal order for the existing structured `CCallExpr`.
1084
+ No C IR node kind, renderer grammar, helper, runtime binder, failure channel,
1085
+ allocation, ownership transfer, or cleanup model was added.
1086
+
1087
+ Added `PYC2912` for exact static name-binding failures: unknown keyword names,
1088
+ positional-only names used as keywords, positional/keyword collisions, and
1089
+ duplicate keywords. `PYC2910` remains the boundary for `*`/`**`, null keyword
1090
+ names, unpacking, and other excluded keyword shapes. Existing target,
1091
+ declaration, arity, category, record, `range`, and recursion diagnostics retain
1092
+ precedence.
1093
+
1094
+ Advanced the active rule set, renderer, conversion plan, C IR, generated-C,
1095
+ summary, and trace envelopes to 0.14.2. SourceBundle 0.2, Python IR 0.4, result
1096
+ serialization 0.5, all public policies, the helper registry, Phase 14A numeric
1097
+ facts/helpers, and Phase 14B `fact-table/0.14.1` conditional facts and RulePlans
1098
+ remain unchanged. Explicit 0.14.1 requests retain their historical keyword
1099
+ rejection and artifact behavior; active sources selecting no 14C call retain
1100
+ predecessor generated-C bytes and output fingerprints.
1101
+
1102
+ Promotion authenticated the sealed Phase 14B source archive and wheel, passed
1103
+ the cumulative suite and audits including the keyword and Phase 14/14B/14C
1104
+ transition audits, sealed deterministic wheel and source-archive builds, and
1105
+ passed isolated package validation. All release validation remained source-only;
1106
+ generated C was not compiled, linked, loaded, or executed. PyQt5 was unavailable
1107
+ in the release environment, so no new widget execution is claimed and sealed
1108
+ offscreen-widget evidence remains preserved. Windows 11 execution is not
1109
+ claimed. Phase 14D and Phase 15 have not started.
1110
+
1111
+ ## 0.14.1 — Phase 14B conditional temporary regions
1112
+
1113
+ Status: Phase 14B promoted and sealed.
1114
+
1115
+ Added exact conditional placement for statement-producing temporaries belonging
1116
+ to expressions already supported by the cumulative scalar subset. Boolean
1117
+ `and`/`or` expressions now use an initialized Boolean result and flat guarded
1118
+ assignments. Later operands of chained comparisons use guarded materialization
1119
+ and rolling middle values, preserving left-to-right, exactly-once evaluation
1120
+ without eagerly evaluating skipped operands.
1121
+
1122
+ Added independent conditional-region analysis and validation,
1123
+ `fact-table/0.14.1` conditional facts, two 0.14.1 RulePlan families, and active
1124
+ `conversion-plan/0.14.1`, `c-ir/0.14.1`, `generated-c/0.14.1`, summary, trace,
1125
+ rule-set, and renderer identities. No Python syntax, primitive operation,
1126
+ public policy, helper, runtime failure channel, allocation, ownership, cleanup,
1127
+ or C IR node kind was added.
1128
+
1129
+ Preserved the sealed Phase 14A numeric policy and helper registry exactly.
1130
+ Explicit 0.14.0 configuration retains its historical artifacts and placement
1131
+ rejections; active sources that select no conditional region retain predecessor
1132
+ generated-C bytes and output fingerprints. General exceptions, heap objects,
1133
+ dynamic dispatch, closures, generators, async behavior, context cleanup, and
1134
+ the broader class model remain excluded.
1135
+
1136
+ ## 0.14.0 — Phase 14A bounded integer floor arithmetic
1137
+
1138
+ Status: Phase 14A sealed.
1139
+
1140
+ Added exact integer `//` and `%` for existing integer-like expressions when
1141
+ the divisor is a direct signed integer literal in
1142
+ `[-9223372036854775807, -2]` or `[1, 9223372036854775807]`. Zero, negative one,
1143
+ `INT64_MIN`, Boolean, floating, dynamic, folded, calculated, and out-of-range
1144
+ divisors reject deterministically.
1145
+
1146
+ Added separate numeric analysis and lowering, `fact-table/0.14` numeric
1147
+ operation facts, the `phase14.numeric.floor_arithmetic` RulePlan family,
1148
+ `conversion-plan/0.14`, `c-ir/0.14`, `generated-c/0.14`, and 0.14 summary and
1149
+ decision-trace identities. The active numeric policy is
1150
+ `phase14-proved-floor-arithmetic-v0.14`.
1151
+
1152
+ Activated the frozen `pycf.i64.floor_div@1.0.0` and
1153
+ `pycf.i64.floor_mod@1.0.0` Phase 10 assets without changing their registry or
1154
+ asset fingerprints. Each occurrence selects exactly one helper, and the
1155
+ registry emits each selected helper once. Deterministic signed-64 temporaries
1156
+ preserve left-to-right, exactly-once operand evaluation.
1157
+
1158
+ The admitted divisor proof excludes C11 division by zero and
1159
+ `INT64_MIN / -1`; no runtime failure channel, exception emulation,
1160
+ arbitrary-precision runtime, allocation, or cleanup was added. Mathematical
1161
+ fixtures close Python floor quotient, divisor-sign remainder, and the division
1162
+ identity across the supported sign and boundary cases.
1163
+
1164
+ Preserved exact explicit Phase 13 conversion behavior and the unchanged module,
1165
+ record, container, workspace, no-host-discovery, and source-only product
1166
+ boundaries. Generated C was not compiled, linked, loaded, or executed.
1167
+
1168
+ Phase 14A is sealed independently. Broader Phase 14 remains closed pending a
1169
+ new decision and explicit approval. Phase 15 has not started.
1170
+
1171
+ ## 0.13.0 — Phase 13 static records
1172
+
1173
+ Status: promoted.
1174
+
1175
+ Added a deliberately narrow immutable-record subset expressed with one exact
1176
+ top-level Python class shape. Accepted records contain 1–64 ordered `int`,
1177
+ `float`, or `bool` fields, an exact structural `__init__`, direct fresh
1178
+ function-local positional construction, and direct statically resolved field
1179
+ reads.
1180
+
1181
+ Added `fact-table/0.13` record definitions, fields, initializers, instances,
1182
+ bindings, and accesses; seven record RulePlans; `conversion-plan/0.13`; record
1183
+ nodes in `c-ir/0.13`; `generated-c/0.13`; and 0.13 summary and decision-trace
1184
+ identities. The active record policy is
1185
+ `phase13-immutable-automatic-records-v0.13`.
1186
+
1187
+ Record lowering emits deterministic named C `typedef struct` declarations and
1188
+ fully initialized `const` aggregates in automatic function storage. Arguments
1189
+ are evaluated left to right and once before construction; field reads use
1190
+ direct member access. No record helper or runtime is selected.
1191
+
1192
+ General methods, inheritance and the broader Python object model remain
1193
+ unsupported. Records cannot be mutated, aliased, rebound, copied, escaped,
1194
+ passed, returned, stored in containers, imported, or used across modules.
1195
+ There is no heap allocation, null state, ownership transfer, or cleanup.
1196
+
1197
+ Adversarial hardening added binding-identity constructor resolution,
1198
+ read-after-construction and complete fresh-local proofs, dunder-field and
1199
+ annotation-builtin collision rejection, correct companion-module diagnostics,
1200
+ cooperative record cancellation, exact const/member and field-type C IR
1201
+ validation, manifest-bound provenance, and independent serialized record-fact
1202
+ cross-validation. Historical `fact-table/0.12` module records retain their
1203
+ exact shape; record linkage remains in Phase 13 evidence.
1204
+
1205
+ An initial working candidate was abandoned when an external compile-only
1206
+ review triggered the declared no-toolchain rollback rule. The release candidate
1207
+ was reseeded from a newly authenticated 0.12.2 extraction; the incident remains
1208
+ recorded and is not rewritten as passing evidence.
1209
+
1210
+ Preserved the Phase 12 function-import profile, Phase 11 containers, Phase 10
1211
+ helper registry, source-only product boundary, and PyCForge workspace safety
1212
+ model. Explicit historical Phase 12 requests retain their 0.12 identities, and
1213
+ class-free Phase 13 conversions preserve predecessor generated-C bytes.
1214
+
1215
+ The sealed 0.12.2 predecessor was authenticated before Phase 13 edits. Windows
1216
+ 11 laptop testing remains planned user feedback after all phases; this release
1217
+ does not claim Windows execution. Phase 14 has not started.
1218
+
1219
+ ## 0.12.2 — PyCForge workspace hardening
1220
+
1221
+ Corrected conversion-generation retirement, Save As destination validation,
1222
+ unexpected worker failure recovery, visible module identity commits,
1223
+ document-reorder controls, Unicode replacement navigation, keyboard access,
1224
+ and failure-tolerant versioned presentation settings without changing the
1225
+ sealed Phase 12 converter.
1226
+
1227
+ ## 0.12.1 — PyCForge workspace
1228
+
1229
+ Introduced the optional professional PyQt5 workspace over the sealed Phase 12
1230
+ converter, including explicit bundle navigation, Python and immutable C
1231
+ editors, diagnostics and mappings, stale-output protection, and atomic linked-C
1232
+ saving.
1233
+
1234
+ ## 0.12.0 — Phase 12 explicit module bundles
1235
+
1236
+ Introduced the bounded 1–64-document SourceBundle profile, exact compile-time
1237
+ direct-function imports, deterministic dependency ordering, and one generated
1238
+ C translation unit without host module discovery or runtime initialization.