-
Notifications
You must be signed in to change notification settings - Fork 0
feat: establish forward engineering plan authority #834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
seonghobae
wants to merge
207
commits into
main
Choose a base branch
from
feat/forward-engineering-workflow
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
207 commits
Select commit
Hold shift + click to select a range
0698c99
docs: design safe forward engineering workflow
seonghobae bcce75a
docs: harden forward engineering safety contract
seonghobae 42715ad
feat: establish forward engineering plan authority
seonghobae 61f3152
docs: define forward engineering architecture and contracts
seonghobae 68df39b
fix: make empty schema preservation explicit
seonghobae 853946e
fix: address forward engineering review findings
seonghobae c1248e4
fix: address forward engineering review findings
seonghobae ea612ab
fix: address forward engineering review findings
seonghobae c3600e0
fix: address forward engineering review findings
seonghobae dcbe80c
fix: address forward engineering review findings
seonghobae 38a91b9
fix: address forward engineering review findings
seonghobae 1fde7fd
fix: address forward engineering review findings
seonghobae f78fa57
fix: address forward engineering review findings
seonghobae 51e299f
fix: address forward engineering review findings
seonghobae fc75a76
fix: address forward engineering review findings
seonghobae 4a75726
fix: address forward engineering review findings
seonghobae 731821a
fix: address forward engineering review findings
seonghobae 97a9ff5
fix: address forward engineering review findings
seonghobae 712e9af
fix: address forward engineering review findings
seonghobae a667113
fix: address forward engineering review findings
seonghobae e2abfea
fix: address forward engineering review findings
seonghobae e4a2e8f
test: close forward engineering review gaps
seonghobae 195a511
test: close forward engineering review gaps
seonghobae 6667e90
test: close forward engineering review gaps
seonghobae b9083e2
refactor: type migration plan API contract
seonghobae 59d4d3e
refactor: type migration plan API contract
seonghobae 265165e
refactor: type migration plan API contract
seonghobae c17c692
test(api): require immutable migration plan retrieval
seonghobae 35e076b
feat(api): expose immutable migration plan preview
seonghobae c12f597
test(docs): track implemented plan retrieval
seonghobae 351bbcd
docs(trd): mark immutable plan retrieval implemented
seonghobae fae3d39
docs(contract): publish plan preview maturity
seonghobae bfd54ea
docs(changelog): record plan preview retrieval
seonghobae aee3bb3
test(docs): catch stale plan retrieval maturity
seonghobae 0ac9b61
docs: align retrieval contract with implementation
seonghobae 885247b
test(api): require immutable plan binding evidence
seonghobae 2e295d8
feat(api): expose immutable plan binding fields
seonghobae d80a18a
feat(api): return bound plan execution identity
seonghobae 53a6b05
test(docs): pin immutable plan binding contract
seonghobae b3cc4f6
docs: define immutable plan preview bindings
seonghobae 8c0c77d
docs: surface plan binding evidence in TRD
seonghobae b4b78d1
docs: record plan identity review evidence
seonghobae 4b568f4
test(api): reject tampered persisted plans
seonghobae 86945be
feat(plan): verify persisted plan digest
seonghobae 1bb87ed
feat(api): fail closed on plan integrity drift
seonghobae 0ced02c
test(docs): retain plan integrity verification
seonghobae 8a93011
docs: specify plan integrity verification
seonghobae 4930833
docs: record plan tamper detection
seonghobae 2d37d6c
test(api): reject mismatched persisted plan bindings
seonghobae 6b8a9aa
feat(api): verify denormalized plan bindings
seonghobae 7c72ea0
docs: bind persisted plan fields to integrity check
seonghobae 3282c3b
docs: record persisted binding verification
seonghobae 5d4ed6e
test(run): define durable migration run contract
seonghobae e03c1b2
feat(run): enforce state and evidence contracts
seonghobae d27da1e
feat(run): persist durable run and event evidence
seonghobae 596e696
feat(db): add durable migration run tables
seonghobae 4d55e11
test(docs): track durable run maturity
seonghobae e819e84
docs: mark durable run foundation partial
seonghobae 75540a5
docs: align TRD with run persistence
seonghobae b04ff1f
docs: record ADR-0004 implementation evidence
seonghobae 4cf87eb
docs: add physical migration run ERD
seonghobae 4003980
docs: record durable run foundation
seonghobae 4ea7047
test(run): reject camelCase secret evidence keys
seonghobae 0783001
fix(run): tokenize camelCase evidence keys
seonghobae f2ffcfc
test(run): scope idempotency across plan changes
seonghobae 195ca39
fix(run): bind idempotency to effective request
seonghobae 008fcb8
fix(db): enforce cross-plan idempotency conflicts
seonghobae 178203a
docs: define run request conflict identity
seonghobae bc22004
docs: align run idempotency data model
seonghobae c79ad05
docs: record cross-plan idempotency rule
seonghobae 0344b82
test(forward): reject DSNs from durable run evidence
seonghobae d468c33
fix(forward): keep PostgreSQL DSNs out of run evidence
seonghobae b245637
test(forward): bind migration run request identity
seonghobae 5aeb47b
feat(forward): bind migration run request digests
seonghobae 1b0d9a6
docs(forward): specify durable run request binding
seonghobae fa408ee
docs(adr): record run intent digest authority
seonghobae 06d8ee7
docs(changelog): record run intent binding
seonghobae c3bbb81
test(forward): require run-kind state isolation
seonghobae 77054f2
fix(forward): isolate run states by execution kind
seonghobae 55482f5
fix(db): enforce run kind state compatibility
seonghobae 7a9c2df
docs(forward): record run state isolation
seonghobae ef9cdb9
docs(adr): record database state isolation
seonghobae 49208e5
test(forward): require atomic run state transitions
seonghobae 73a6776
feat(forward): persist atomic run transitions
seonghobae 87ee264
refactor(forward): preserve proven evidence object type
seonghobae 48ffe23
test(forward): close run transition boundary coverage
seonghobae 205109d
docs(forward): document atomic run transition authority
seonghobae 2487e7a
docs(forward): align durable run CAS contract
seonghobae e664233
docs(forward): align durable run CAS status
seonghobae 8b39d9a
docs(forward): align durable run CAS status
seonghobae c19eece
docs(forward): align durable run CAS status
seonghobae f5a174b
docs(forward): align durable run CAS status
seonghobae 3a366d5
test(forward): require idempotent durable run creation
seonghobae 3ec0292
feat(forward): create idempotent durable dry runs
seonghobae 4e40448
test(forward): cover run creation conflict boundaries
seonghobae b2bb5dd
docs(forward): document idempotent dry-run creation
seonghobae d60030c
docs(forward): align internal run creation status
seonghobae 57cbb74
docs(forward): align internal run creation status
seonghobae 8244d59
docs(forward): align internal run creation status
seonghobae 3727227
docs(forward): align internal run creation status
seonghobae fe7c5dc
docs(forward): align internal run creation status
seonghobae 1f18d9e
test(forward): require durable cancellation intent
seonghobae 4684bc3
feat(forward): persist cancellation intent with CAS
seonghobae 99a7811
test(forward): cover cancellation race boundaries
seonghobae 26d0aab
docs(forward): document cancellation CAS authority
seonghobae bfa3f46
docs(forward): align cancellation recovery status
seonghobae 2e7969a
docs(forward): align cancellation recovery status
seonghobae 48cdf43
docs(forward): align cancellation recovery status
seonghobae 93becfd
docs(forward): align cancellation recovery status
seonghobae 63a5852
test(forward): require authorized run history polling
seonghobae 9b1a90c
feat(forward): type durable run history responses
seonghobae 7eb7868
feat(forward): expose verified run history
seonghobae e502349
feat(forward): register run history route
seonghobae 1d135a8
test(forward): close run history integrity coverage
seonghobae 0a36e60
docs(forward): document verified run polling
seonghobae 8312903
docs(forward): align run polling implementation status
seonghobae 422d749
docs(forward): align run polling implementation status
seonghobae 3b1f019
docs(forward): align run polling implementation status
seonghobae 77728f7
docs(forward): align run polling implementation status
seonghobae b1b18a3
docs(forward): align run polling implementation status
seonghobae 82e101f
docs(forward): align run polling implementation status
seonghobae 880db77
fix(ci): restore complete response schema module
seonghobae ccc9311
feat: make migration run evidence tamper-evident
seonghobae b0c0f48
fix: constrain durable event digest shapes
seonghobae 1caa74d
fix: verify durable event transition history
seonghobae 0e4bbd4
fix: bind cancellation intent to audit evidence
seonghobae 0bfb343
fix: constrain durable run evidence tokens
seonghobae 89fdf04
fix: keep raw job errors out of durable evidence
seonghobae 5739fd3
fix: close forward control-plane review gaps
seonghobae 2c3f3c3
docs: reconcile durable run audit status
seonghobae fab047a
feat: expose durable run cancellation intent
seonghobae a4717ba
feat: expose idempotent dry-run intents
seonghobae 69b6386
feat: persist dry-run dispatch outbox
seonghobae 90e3504
test: verify outbox on PostgreSQL matrix
seonghobae 7bb7cb2
test: order PostgreSQL integration fixtures
seonghobae 7c70695
feat: claim dry-run dispatch outbox
seonghobae de5554d
docs: remove design spec trailing whitespace
seonghobae 519c2b3
feat: publish identifier-only migration signals
seonghobae 160f9eb
test: verify signals against real Valkey
seonghobae 5deedf5
fix: preserve cancellation and harden integration CI
seonghobae 3c019a8
feat: schedule identifier-only migration dispatch relay
seonghobae c6e89ef
test: harden dispatch relay acceptance
seonghobae be1bd78
feat: add migration signal lease safety
seonghobae d439340
fix: quarantine invalid queue bytes
seonghobae 4a86466
feat: add migration signal consumer contract
seonghobae fab2bbb
test: remove unused consumer test import
seonghobae fb6d839
feat(forward): add bounded live preflight reads
seonghobae d0db7bf
feat(forward): bind preflight snapshot digest
seonghobae 82f3d8b
fix(forward): bind and prepare preflight evidence
seonghobae 63d0e5b
fix(forward): reserve observed digest evidence
seonghobae 525d67d
fix(forward): bind preflight timeout value
seonghobae 8fc12db
fix: sanitize preflight transaction startup
seonghobae a2df199
fix: sanitize preflight finalization failures
seonghobae 9d0faad
fix: bind preflight timeout as decimal
seonghobae 38680be
feat: execute signed plans in isolated sandbox
seonghobae f2d5362
fix: reject noncanonical sandbox plans
seonghobae 60c08b2
fix: bound sandbox driver operations
seonghobae 34b2a72
test: isolate PostgreSQL sandbox database
seonghobae e10fd05
fix: preserve cancellation without broad catches
seonghobae 37b1485
fix: bound live preflight lifecycle
seonghobae a91c4ce
test: separate live preflight target
seonghobae 42fd749
test: prove preflight least privilege
seonghobae e990319
fix: avoid reserved PostgreSQL role prefix
seonghobae 6caee00
Bind live preflight capture to one snapshot
seonghobae 8779aab
Bind live preflight outcomes to durable CAS
seonghobae 850da88
Bind isolated dry run success to durable CAS
seonghobae 86154ac
Bind PostgreSQL matrix plan to server major
seonghobae ac223d8
Bind preflight evidence to persisted plan
seonghobae d2f578c
Prove live preflight lock timeout cleanup
seonghobae 3b36145
Document preflight timeout acceptance
seonghobae b5049d3
Prove preflight privilege and network failures
seonghobae 61c9ffb
test: make backend termination evidence deterministic
seonghobae 6f57e59
test: consume unexpected preflight task results
seonghobae 6bd02ea
docs: align preflight capability maturity
seonghobae 480f2e1
docs: align engineering baseline maturity
seonghobae 44f6235
fix: bind migration handler to signal lease
seonghobae 69c1454
feat: renew exact migration signal lease
seonghobae e552563
feat: heartbeat migration signal lease
seonghobae 5f3147e
docs: align signal lease maturity table
seonghobae 0ab122f
fix: use one asyncio import style
seonghobae 5593e68
feat: persist lease-bound migration attempts
seonghobae f91027d
docs: align durable attempt maturity
seonghobae f5b96df
test: close migration attempt input branches
seonghobae 41f35a6
feat: bind migration consumer attempts
seonghobae 841c120
test: make cancellation assertions explicit
seonghobae e91c3c4
test: compose PostgreSQL and Valkey leases
seonghobae 059f5bf
test: recover expired dual leases
seonghobae 6a683d1
fix: reject expired signal lease renewal
seonghobae 09e976f
feat: persist non-dispatched apply intents
seonghobae aebac6a
test: normalize apply intent imports
seonghobae 1639478
test: close apply intent fail-closed branches
seonghobae 3c10a44
fix: reject stale apply intent revisions
seonghobae 19e38ff
test: classify apply intent route as current
seonghobae 4c648f8
feat: add forward workflow browser transport
seonghobae 232ea5d
test(frontend): encode forward resource paths
seonghobae e8c4ddc
test(frontend): cover forward write failures
seonghobae 7f00daa
docs: align TRD with apply intent boundary
seonghobae f860fb2
feat(frontend): type migration plan statements
seonghobae 52b96c4
fix(frontend): allowlist apply intent fields
seonghobae 14660e1
feat(frontend): add immutable plan review panel
seonghobae 8cc123a
feat(frontend): load exact plan review safely
seonghobae e1d9c5e
feat(frontend): add actionless forward modal
seonghobae f5ec776
feat(ui): add safe migration run audit surface
seonghobae e360ec4
feat(ui): poll migration runs until terminal
seonghobae 56605f9
feat(ui): request exact dry-run intents
seonghobae 9fdb393
feat(ui): request exact run cancellation
seonghobae d2bd3a1
fix(ui): retain cancellation single-flight guard
seonghobae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.