<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>KodeProof Journal</title><description>Engineering notes on controlled refactors, equivalence evidence, and AI change transactions.</description><link>https://kodeproof.com/</link><language>en-us</language><item><title>Async Side Effects Need Provenance</title><link>https://kodeproof.com/journal/async-side-effects-need-provenance/</link><guid isPermaLink="true">https://kodeproof.com/journal/async-side-effects-need-provenance/</guid><description>An effect observed after an await should be attributed only when the harness owns the continuation. Otherwise the honest result is no claim.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Equivalence Is Tiered, Not Binary</title><link>https://kodeproof.com/journal/equivalence-is-tiered-not-binary/</link><guid isPermaLink="true">https://kodeproof.com/journal/equivalence-is-tiered-not-binary/</guid><description>Static structure, module loading, runtime traces, visual states, and end-to-end flows cover different failure classes. One green tier cannot stand in for the others.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Initialization Order Is Behavior</title><link>https://kodeproof.com/journal/initialization-order-is-behavior/</link><guid isPermaLink="true">https://kodeproof.com/journal/initialization-order-is-behavior/</guid><description>Moving code can preserve every exported value and still change effects, cycles, registries, scheduling, or top-level-await order.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Module-Boundary Recovery Should Be Willing to Abstain</title><link>https://kodeproof.com/journal/module-boundary-recovery-should-abstain/</link><guid isPermaLink="true">https://kodeproof.com/journal/module-boundary-recovery-should-abstain/</guid><description>Recovered bundles often lack original file boundaries. A structural system should use exact evidence where it exists, deterministic fallbacks where it does not, and refuse contradictory paths.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Performance Refactors Need Parity Evidence</title><link>https://kodeproof.com/journal/performance-refactors-need-parity-evidence/</link><guid isPermaLink="true">https://kodeproof.com/journal/performance-refactors-need-parity-evidence/</guid><description>A faster benchmark is not enough if caching, parsing, batching, or concurrency changes values, ordering, resource ownership, or user-visible behavior.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Preserve Public Entrypoints Without Leaving Compatibility Facades</title><link>https://kodeproof.com/journal/public-entrypoints-without-compatibility-facades/</link><guid isPermaLink="true">https://kodeproof.com/journal/public-entrypoints-without-compatibility-facades/</guid><description>A hard-cut refactor should move consumers to the new owner, prove the retained contract, and refuse when closure requires a permanent re-export shell.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>A Refactor Is a Transaction, Not a Diff</title><link>https://kodeproof.com/journal/a-refactor-is-a-transaction/</link><guid isPermaLink="true">https://kodeproof.com/journal/a-refactor-is-a-transaction/</guid><description>Risky changes become governable when intent, before-state, allowed mutations, evidence, verdict, and transfer are one bound transaction.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Relocating a File Is a Semantic Change</title><link>https://kodeproof.com/journal/relocating-a-file-is-a-semantic-change/</link><guid isPermaLink="true">https://kodeproof.com/journal/relocating-a-file-is-a-semantic-change/</guid><description>Framework scanners, routes, singleton identity, provider scope, styles, assets, workers, and generated consumers can all make a filesystem move observable.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Runtime Characterization Catches What Static Analysis Cannot See</title><link>https://kodeproof.com/journal/runtime-characterization-catches-static-misses/</link><guid isPermaLink="true">https://kodeproof.com/journal/runtime-characterization-catches-static-misses/</guid><description>Captured calls, receivers, values, effects, readiness, and state coverage can expose refactor regressions beyond the source graph—when their limits stay explicit.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>From Changed Symbols to the Tests That Can See Them</title><link>https://kodeproof.com/journal/from-changed-symbols-to-affected-tests/</link><guid isPermaLink="true">https://kodeproof.com/journal/from-changed-symbols-to-affected-tests/</guid><description>A workspace symbol map can connect bindings, imports, reverse paths, and focused tests—but incomplete discovery must remain visible.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>A Verification Harness Must Test Its Own Ability to Fail</title><link>https://kodeproof.com/journal/a-verification-harness-must-test-itself/</link><guid isPermaLink="true">https://kodeproof.com/journal/a-verification-harness-must-test-itself/</guid><description>Baseline checks, calibrated mutations, differential oracles, false-block reporting, and harness-failure categories keep green verdicts from becoming self-certification.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>