Repository navigation
Commit ae9fc3d
F5: prepare rebases and run head-bound checks (#149)
* Add production pre-merge preparation
* Harden pre-merge preparation lifecycle
* Close pre-merge review lifecycle gaps
* Close pre-merge authorization and cleanup gaps
* Guard final pre-merge readiness races
* Close pre-merge settlement safety gaps
* Bound pre-merge shutdown settlement
* Bind merge admission to preparation readiness
* Reauthorize merge and bound rewrite scans
* Close pre-merge timeout and retry gaps
* Bound pre-merge reload and retry settlement
* Reject normalized command arguments
* Keep legacy command reviews repairable
* Seed fresh runner repositories for review
* Preserve pre-merge lifecycle history
* Close final rebase admission races
* Seal final admission validation windows
* Keep merge refresh authorization-scoped
* Address F5 review findings
* Revalidate trust after pre-merge inspection
* Keep settled rebase failures current
* Bind queue checks after final authorization
* Bound final merge and rebase admission
* Share preparation validation deadlines
* Bind preparation policy and cleanup budget
* Keep unsettled rebase failures current
* Retain refreshed remote commits
* Preserve command-check exit semantics
* Retain startup snapshots and cleanup budget
* Keep cleanup failures current for recovery
* Fail closed on pre-merge lifecycle gaps
* Bound multibyte command diagnostics
* Close pre-merge recovery races
* Reserve rebase cleanup handoff
* Arm conflict deadline guard before starting bounded work
bounded() now takes a thunk and starts the operation only after its
deadline check and timer exist, so an authorization validator never runs
after the read consumed the work deadline. The running child's settlement
promise is marked handled at launch because bounded() may now refuse
before awaiting it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Keep later attribution choices binding across head moves
Once a completed prefix exists, every attribution choice for the plan
revision again invalidates older execution approvals. The narrower
snapshot-lineage rule let a collaborator head move drop a later choice
and revive an approval recorded before it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Count every attribution choice against execution approvals
Approvals can now survive head moves through equal or rewritten heads,
so a choice recorded on a snapshot that a later head replaced must still
invalidate older approvals even before any item has run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Bind pre-execution approvals to the current snapshot
Equal-head and rewritten-head approval evidence now applies only once a
completed prefix exists. Before execution the start gate does not compare
fingerprints, so a rebase that changed attributed content could otherwise
start items on approvals the review marks stale.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>1 parent 5ecf92f commit ae9fc3d
48 files changed
Lines changed: 2836 additions & 154 deletions
File tree
- agents
- adapters
- container
- network
- core
- docs
- designs
- implementation
- runner
- scripts
- test
- web
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
93 | 93 | | |
94 | 94 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
| |||
480 | 482 | | |
481 | 483 | | |
482 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
483 | 488 | | |
484 | 489 | | |
485 | 490 | | |
| |||
498 | 503 | | |
499 | 504 | | |
500 | 505 | | |
| 506 | + | |
501 | 507 | | |
502 | 508 | | |
503 | 509 | | |
| |||
595 | 601 | | |
596 | 602 | | |
597 | 603 | | |
598 | | - | |
| 604 | + | |
| 605 | + | |
599 | 606 | | |
600 | 607 | | |
601 | 608 | | |
| |||
777 | 784 | | |
778 | 785 | | |
779 | 786 | | |
780 | | - | |
781 | | - | |
782 | | - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
783 | 791 | | |
784 | 792 | | |
785 | 793 | | |
786 | 794 | | |
787 | 795 | | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | | - | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
792 | 818 | | |
793 | | - | |
794 | 819 | | |
795 | 820 | | |
796 | 821 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
0 commit comments