Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12d09b1dea |
@@ -0,0 +1,131 @@
|
||||
# V1R4C4 SR-01: Gitea Branch Sync Fix
|
||||
|
||||
Status: started
|
||||
|
||||
Priority: P0
|
||||
|
||||
Risk: medium
|
||||
|
||||
Baseline dependency: V1R4C3
|
||||
|
||||
## Decision
|
||||
|
||||
Start V1R4C4 with SR-01 only.
|
||||
|
||||
SR-04 Portal AIOS Integration Merge remains deferred and is not part of this execution scope.
|
||||
|
||||
## Background
|
||||
|
||||
V1R4C3 completed the immediate branch_sync mitigation by changing branch synchronization to use `git ls-remote` instead of depending on the Gitea branch API pagination path.
|
||||
|
||||
That mitigation avoids the user-visible failure path, but it does not fully certify or eliminate the root reliability issue:
|
||||
|
||||
```text
|
||||
bare repository refs
|
||||
!=
|
||||
Gitea branch metadata / DB index
|
||||
!=
|
||||
Gitea branch API visible state
|
||||
```
|
||||
|
||||
SR-01 exists to validate and fix the root problem category: Gitea branch metadata/index drift from the bare repository state.
|
||||
|
||||
## Scope
|
||||
|
||||
SR-01 includes:
|
||||
|
||||
1. Confirm current branch_sync no longer depends on Gitea API pagination.
|
||||
2. Validate that Gitea DB branch metadata is consistent with bare repository refs.
|
||||
3. Add or activate consistency verification around branch metadata drift.
|
||||
4. Ensure autonomous operations do not continue mutating state when drift is detected.
|
||||
5. Produce a repeatable acceptance test for future incidents.
|
||||
|
||||
SR-01 excludes:
|
||||
|
||||
- Portal AIOS Integration Merge.
|
||||
- Search Gateway real provider binding.
|
||||
- Broad P1 capability merges.
|
||||
- Bulk patch merge or branch deletion.
|
||||
|
||||
## Required Checks
|
||||
|
||||
### Branch sync path
|
||||
|
||||
Verify branch_sync source of truth:
|
||||
|
||||
```text
|
||||
git ls-remote / bare repository refs
|
||||
```
|
||||
|
||||
The Gitea branch API must not be the mandatory source of truth for synchronization.
|
||||
|
||||
### Gitea consistency path
|
||||
|
||||
Verify equality between:
|
||||
|
||||
```text
|
||||
bare repository refs count
|
||||
Gitea branch live metadata count
|
||||
Gitea branch API paginated visible count
|
||||
```
|
||||
|
||||
Any mismatch must be treated as reliability drift.
|
||||
|
||||
### Safe-mode behavior
|
||||
|
||||
When drift is detected:
|
||||
|
||||
1. Stop autonomous mutations.
|
||||
2. Preserve read-only diagnostics.
|
||||
3. Emit safe-mode marker.
|
||||
4. Require controlled recovery before mutation resumes.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
SR-01 is complete when all of the following are true:
|
||||
|
||||
1. branch_sync continues to work without Gitea branch API pagination dependency.
|
||||
2. Gitea branch metadata drift can be detected deterministically.
|
||||
3. Drift causes autonomous safe mode instead of continued mutation.
|
||||
4. Recovery procedure includes minimal repair, not default restart.
|
||||
5. Runtime acceptance passes:
|
||||
|
||||
```text
|
||||
getRuntimeStatus
|
||||
->
|
||||
getBaseline
|
||||
->
|
||||
createBranch
|
||||
->
|
||||
createPatch
|
||||
```
|
||||
|
||||
Expected results:
|
||||
|
||||
- runtime status is active;
|
||||
- baseline reads V1R4C3 or later;
|
||||
- createBranch returns commit/rev/sync status;
|
||||
- createPatch returns commit/rev/sync status.
|
||||
|
||||
## Execution Order
|
||||
|
||||
1. Open SR-01 patch branch.
|
||||
2. Review V1R4C3 branch_sync behavior.
|
||||
3. Integrate Gitea branch consistency sentinel and safe-mode gate.
|
||||
4. Run runtime acceptance.
|
||||
5. If clean, prepare V1R4C4 reliability baseline proposal.
|
||||
|
||||
## Follow-on Gates
|
||||
|
||||
SR-02 Watcher State Cleanup may start after SR-01 acceptance is green.
|
||||
|
||||
SR-03 Search Gateway Real Provider Binding may start after SR-01 confirms GitOps/Gitea reliability is stable enough for non-P0 work.
|
||||
|
||||
SR-04 Portal AIOS Integration Merge remains deferred pending explicit approval.
|
||||
|
||||
## Safety Rules
|
||||
|
||||
- Do not bulk merge old patches.
|
||||
- Do not delete remote branches during SR-01 unless the branch consistency sentinel is already deployed and healthy.
|
||||
- Do not restart Gitea unless process-level failure is proven.
|
||||
- Do not modify Gitea DB without backup and owner/admin approval.
|
||||
@@ -1,84 +0,0 @@
|
||||
# V1R4C5 Owner Approval
|
||||
|
||||
Date: 2026-07-11
|
||||
|
||||
Status: approved to continue under controlled gates
|
||||
|
||||
## Owner Decision
|
||||
|
||||
Approved to continue under the V1R4C5 scope:
|
||||
|
||||
```text
|
||||
允许无 force-push 的分支 reconcile
|
||||
memory search 保持关闭
|
||||
先完成 SR-01/SR-02/数据隔离验收
|
||||
再进入 merge/deploy/tag owner gate
|
||||
```
|
||||
|
||||
## Approved Scope
|
||||
|
||||
V1R4C5 may continue with:
|
||||
|
||||
1. SR-01 Gitea reliability and branch consistency guardrails.
|
||||
2. SR-02 watcher/stuck command cleanup.
|
||||
3. User Data Isolation redline and enforcement gates.
|
||||
4. SR-04 admin workbench read-only visibility preparation only.
|
||||
|
||||
## Explicit Constraints
|
||||
|
||||
### No force push
|
||||
|
||||
The release process must not use:
|
||||
|
||||
```text
|
||||
git push --force
|
||||
```
|
||||
|
||||
Allowed reconciliation:
|
||||
|
||||
```text
|
||||
fetch remote
|
||||
merge or rebase without rewriting remote history
|
||||
resolve conflicts normally
|
||||
push fast-forward or normal merge result
|
||||
```
|
||||
|
||||
### Memory search remains disabled
|
||||
|
||||
Memory search must remain off until:
|
||||
|
||||
1. isolation audit is healthy;
|
||||
2. provider gate is active;
|
||||
3. activation gate returns allowed;
|
||||
4. owner explicitly approves activation.
|
||||
|
||||
### SR-04 remains limited
|
||||
|
||||
SR-04 may proceed only as read-only/admin visibility preparation until reliability and isolation gates are green.
|
||||
|
||||
No full portal production rollout is approved by this decision.
|
||||
|
||||
## Required Acceptance Before Merge/Deploy/Tag
|
||||
|
||||
```text
|
||||
getRuntimeStatus
|
||||
getBaseline
|
||||
createBranch
|
||||
createPatch
|
||||
Gitea sentinel healthy
|
||||
SR-02 tests pass
|
||||
user-data-isolation acceptance pass
|
||||
admin workbench RBAC read-only check
|
||||
```
|
||||
|
||||
## Owner Gate Still Required Later
|
||||
|
||||
This approval allows continued implementation and reconciliation only.
|
||||
|
||||
Separate owner approval is still required for:
|
||||
|
||||
- merge to main;
|
||||
- production deployment;
|
||||
- V1R4C5 tag creation;
|
||||
- V1R4C5 baseline promotion;
|
||||
- memory search activation.
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"id": "patch-1783705738676-fd428165",
|
||||
"patch_name": "v1r4c5-release-candidate-20260711",
|
||||
"branch": "release/v1r4c5-c5-20260711",
|
||||
"risk": "high",
|
||||
"description": "V1R4C5 release candidate: integrate reliability, watcher stability, user data isolation gates, and controlled admin workbench visibility preparation.",
|
||||
"created_by": "chatgpt-gitops-bot",
|
||||
"created_at": "2026-07-10T17:48:58Z"
|
||||
}
|
||||
Reference in New Issue
Block a user