refactor: remove Phase 8 compatibility paths - #330
Draft
eshulman2 wants to merge 3 commits into
Draft
Conversation
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:36
e0358a3 to
32110d1
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 18:36
910292b to
0780629
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:44
32110d1 to
ed05f16
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 18:44
0780629 to
a0cfe09
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:46
ed05f16 to
f659735
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 18:46
a0cfe09 to
4dea15c
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:48
f659735 to
bbc36ea
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
2 times, most recently
from
August 27, 2026 18:50
b51b6e5 to
884712d
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:54
0b64e5b to
2b3367e
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 18:54
884712d to
cf2b829
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 18:58
2b3367e to
f2caef6
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 18:58
cf2b829 to
d6c4d78
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 19:04
f2caef6 to
b97185a
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 19:04
d6c4d78 to
27776e6
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 19:06
b97185a to
e8d14cf
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 19:07
27776e6 to
6e9aece
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 19:08
e8d14cf to
71e0182
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 19:08
6e9aece to
5d0d793
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 19:13
71e0182 to
67fd359
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 19:13
5d0d793 to
fca9831
Compare
eshulman2
force-pushed
the
phase7/execution-read-models
branch
from
August 27, 2026 21:09
67fd359 to
d713b6b
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 21:09
fca9831 to
128b64c
Compare
eshulman2
force-pushed
the
phase8-compatibility-removal
branch
from
August 27, 2026 21:29
128b64c to
f3ba193
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 8 implementation plan: compatibility removal
Status: Complete
Goal: Delete superseded execution paths so Forge has one runtime model rather than
permanent legacy and contract-backed implementations.
Removal rule
A compatibility path may be deleted only when its replacement is authoritative for all
golden paths, restart/replay characterization passes, persisted state has an explicit
migration policy, and rollback does not require the deleted implementation. Phase 8 is
not permission to remove behavior that an earlier partial phase has not replaced.
Completed cutovers
The Jira and source-control worker handler facades are deleted. Since Phase 2, both
sources register the same generic adapter-driven handler; the source-specific methods had
no runtime or test callers and represented a second, misleading dispatch API.
Phase 8 also removes the legacy Redis stream and
githubsource alias, implicitcheckpoint pinning, scalar planning fallbacks, the implementation-input facade, and
repository-key fallback migration. Built-in runtime selection is definition-compiled;
the Python graph adapters remain only as local test harnesses. Architecture tests make
these removals zero-tolerance.
Unpinned checkpoints must now be processed by
migrate_unpinned_checkpoint. Operatorsfirst run it with
apply=False, retain the original checkpoint as the rollback backup,and persist the returned
migrated_stateonly whencompatibleis true. Applied staterecords the target definition and a seven-day rollback deadline by default. Rollback
means restoring that backup before the deadline; normal resume never performs migration
or rollback implicitly.
Final observation cutover
CI, merge, review-thread, and proposal-review observations are now applied by the
provider-neutral
post-pr-v1transition policy. The pinned workflow definition selectsthat policy through an allowlisted identifier; compilation rejects unknown policies and
policies whose target nodes are absent. The worker adapts ingress, delegates once, then
persists the result—it no longer owns event-specific transition rules.
The inventory at
docs/architecture/phase-8-removal-inventory.jsonis the reviewableexit checklist. Phase 8 is complete only when
remainingis empty and the associatedarchitecture tests and golden-path characterization suite pass.