Compare commits

..
Author SHA1 Message Date
openclaw bdb3116bbd release: create V1R4C5 version manifest 2026-07-11 01:48:56 +08:00
3 changed files with 113 additions and 228 deletions
@@ -1,158 +0,0 @@
# V1R4C5 Baseline Promotion Operator Handoff
Date: 2026-07-11
Status: ready for operator promotion; baseline not yet switched
## Current Verified State
```text
GitOps runtime: active
workspace branch: request/promote-V1R4C5-recommended-20260711
current active baseline: V1R4C3
V1R4C5 tag: exists
```
`V1R4C5` tag is present in GitOps version list.
Current active baseline remains `V1R4C3`.
## Owner Decision
Owner approved final promotion using the recommended scheme:
```text
Do not move existing V1R4C5 tag.
Do not force-push.
Promote using the metadata-complete release commit.
Keep memory search disabled.
```
## Recommended Promotion Source
Promotion source branch:
```text
release/v1r4c5-final-owner-approval-20260711
```
Metadata-complete promotion commit observed earlier:
```text
c128d6b
```
Existing immutable tag:
```text
V1R4C5
```
Tag object:
```text
ac9bdacb19ff66cba8046d75358866f0f0fffb82
```
Tag target commit:
```text
d457ac396147043ed5d0a3fd8b44bcb10f48bceb
```
The tag must not be moved.
## Required Pre-Promotion Checks
Run on the operator host:
```bash
cd /data/aios-gitops/workspace
git fetch origin --tags
git checkout release/v1r4c5-final-owner-approval-20260711
git pull --ff-only origin release/v1r4c5-final-owner-approval-20260711
git rev-parse --short HEAD
test -f versions/V1R4C5.json
git ls-remote --tags origin V1R4C5
```
Expected:
```text
HEAD is c128d6b or a later normal fast-forward commit on the release branch
versions/V1R4C5.json exists
refs/tags/V1R4C5 exists
```
## Promotion Command
Use the existing baseline promotion mechanism to set:
```text
current_baseline = V1R4C5
previous_baseline = V1R4C3
git = <release branch HEAD containing versions/V1R4C5.json>
promoted_by = openclaw/admin
```
Promotion reason:
```text
V1R4C5 reliability, watcher cleanup, user data isolation gate, and admin workbench read-only preparation; memory search remains disabled
```
## Hard Constraints
Do not run:
```bash
git push --force
```
Do not:
```text
move refs/tags/V1R4C5
enable memory search
modify Gitea DB
bulk merge old test/smoke/auth branches
deploy full SR-04 portal rollout beyond read-only/admin visibility preparation
```
## Post-Promotion Verification
After promotion, verify:
```text
getBaseline
```
Expected:
```json
{
"current_baseline": "V1R4C5",
"previous_baseline": "V1R4C3"
}
```
Also verify:
```text
AIOS_MEMORY_ENABLED=false
memory search disabled
Gitea sentinel healthy
```
## Fallback
If any promotion check fails:
1. Stop promotion.
2. Keep active baseline at V1R4C3.
3. Keep memory search disabled.
4. Do not move the existing tag.
5. Reconcile release branch normally, without force-push.
+113 -31
View File
@@ -1,45 +1,127 @@
{
"version": "V1R4C5",
"codename": "C5 reliability-security-admin-readonly",
"status": "promotion-request-ready",
"tag": "V1R4C5",
"tag_ref": "refs/tags/V1R4C5",
"tag_object": "ac9bdacb19ff66cba8046d75358866f0f0fffb82",
"tag_target_commit": "d457ac396147043ed5d0a3fd8b44bcb10f48bceb",
"recommended_promotion_branch": "release/v1r4c5-final-owner-approval-20260711",
"recommended_promotion_commit": "c128d6b",
"status": "release-candidate",
"base_baseline": "V1R4C3",
"previous_baseline": "V1R4C3",
"created_at": "2026-07-11",
"created_by": "chatgpt-gitops-bot",
"release_type": "controlled-integration",
"promotion_policy": "owner-gated",
"owner_approval": {
"final_promotion_approved": true,
"memory_search_enabled": false,
"force_push_allowed": false,
"recommended_scheme_accepted": true
},
"scope": {
"included": [
"SR-01 Gitea reliability and branch consistency guardrails",
"SR-02 watcher/stuck command cleanup",
"User data isolation redline and enforcement gates",
"SR-04 admin workbench read-only visibility preparation"
"merge_candidates": [
{
"branch": "feature/v1r4c4-sr01-gitea-branch-sync-fix-20260710",
"component": "SR-01",
"name": "Gitea Branch Sync Fix",
"risk": "medium",
"required_for": "reliability"
},
{
"branch": "feature/v1r4c4-sr01-deployment-guardrails-20260710",
"component": "SR-01",
"name": "Gitea Branch Consistency Sentinel Deployment Guardrails",
"risk": "medium",
"required_for": "reliability"
},
{
"branch": "feature/gitea-reliability-guardrails-20260710",
"component": "SR-01",
"name": "Gitea Reliability Guardrails",
"risk": "medium",
"required_for": "reliability"
},
{
"branch": "incident/gitea-autonomous-ops-stop-20260710",
"component": "incident",
"name": "Gitea Autonomous Operations Stop Incident Record",
"risk": "low",
"required_for": "operational-memory"
},
{
"branch": "feature/v1r4c4-sr02-watcher-state-cleanup-20260710",
"component": "SR-02",
"name": "Watcher State Cleanup",
"risk": "low",
"required_for": "controller-stability"
},
{
"branch": "security/user-data-isolation-redline-20260710",
"component": "security",
"name": "User Data Isolation Redline",
"risk": "high",
"required_for": "data-isolation"
},
{
"branch": "security/user-data-isolation-guard-20260710",
"component": "security",
"name": "User Data Isolation Scope Guard",
"risk": "high",
"required_for": "data-isolation"
},
{
"branch": "security/user-data-isolation-guard-ci-20260710",
"component": "security",
"name": "User Data Isolation CI Gate",
"risk": "high",
"required_for": "data-isolation"
},
{
"branch": "feature/v1r4c4-sr04-admin-workbench-visibility-20260711",
"component": "SR-04",
"name": "Admin Workbench Visibility Gap / Read-only Slice Preparation",
"risk": "medium",
"required_for": "admin-visibility"
},
{
"branch": "feature/v1r4c4-sr04-portal-aios-visibility-20260710",
"component": "SR-04",
"name": "Portal AIOS Visibility Gap / Activation-ready Record",
"risk": "medium",
"required_for": "portal-visibility"
},
{
"branch": "ops/patch-lifecycle-reconciliation-20260710",
"component": "ops",
"name": "Patch Lifecycle Reconciliation",
"risk": "low",
"required_for": "branch-governance"
},
{
"branch": "ops/v1r4c4-reliability-freeze-before-sr04-20260710",
"component": "ops",
"name": "Reliability Freeze Before SR-04 Decision",
"risk": "low",
"required_for": "release-governance"
}
],
"excluded": [
"memory search activation",
"full cross-session memory recall",
"global vector index",
"full SR-04 production portal rollout",
"bulk merge of old test/smoke/auth branches",
"force-push based reconciliation"
"not_merged_in_c5": [
"bulk test/smoke/auth branches",
"old V1R2/V1R3 promotion request branches",
"unreviewed P1 capability branches",
"SR-04 full production portal deployment beyond read-only/activation-ready scope",
"memory search activation"
]
},
"deployment_constraints": {
"AIOS_MEMORY_ENABLED": false,
"memory_search_activation_requires_future_owner_approval": true,
"gitea_db_mutation_requires_owner_admin_approval": true,
"sr04_full_rollout_deferred": true
"deployment": {
"memory_search": "disabled",
"gitea_sentinel": "enabled-or-required-before-promotion",
"user_data_isolation_gate": "required-before-memory-or-admin-cross-context-data",
"admin_workbench": "read-only visibility slice only after isolation gate",
"sr04_full_portal_integration": "deferred-until-post-c5-or-explicit-owner-approval"
},
"acceptance_required": [
"getRuntimeStatus",
"getBaseline",
"createBranch",
"createPatch",
"Gitea branch consistency sentinel healthy",
"SR-02 watcher tests pass",
"user data isolation acceptance pass",
"admin workbench read-only RBAC check"
],
"rollback_policy": {
"memory_search": "keep disabled",
"sr04": "disable admin/portal visibility slice if RBAC or isolation check fails",
"gitea": "enter autonomous safe mode if consistency drift detected"
}
}
@@ -1,39 +0,0 @@
{
"version": "V1R4C5",
"request_type": "baseline_promotion",
"status": "owner_approved_ready_for_operator_promotion",
"decision": "use_recommended_scheme_do_not_move_existing_tag",
"current_active_baseline": "V1R4C3",
"target_baseline": "V1R4C5",
"promotion_source_branch": "release/v1r4c5-final-owner-approval-20260711",
"promotion_commit": "c128d6b",
"existing_tag": {
"name": "V1R4C5",
"tag_object": "ac9bdacb19ff66cba8046d75358866f0f0fffb82",
"target_commit": "d457ac396147043ed5d0a3fd8b44bcb10f48bceb",
"policy": "immutable_do_not_move"
},
"reason": "V1R4C5 metadata was completed after tag creation. Recommended scheme preserves tag immutability and promotes the metadata-complete release commit through normal baseline promotion.",
"owner_approval": {
"final_promotion_allowed": true,
"recommended_scheme_accepted": true,
"force_push_allowed": false,
"memory_search_enabled": false
},
"constraints": [
"Do not move or recreate refs/tags/V1R4C5",
"Do not force-push",
"Keep AIOS_MEMORY_ENABLED=false",
"Do not activate memory search",
"Do not bulk merge old test/smoke/auth branches",
"Do not mutate Gitea DB without separate owner/admin approval"
],
"operator_action": [
"Verify release/v1r4c5-final-owner-approval-20260711 contains versions/V1R4C5.json",
"Promote baseline to V1R4C5 using promotion commit c128d6b or the resolved full commit for that release HEAD",
"Record previous_baseline=V1R4C3",
"Record promoted_by=openclaw/admin",
"Record promotion reason: V1R4C5 reliability, watcher cleanup, user data isolation gate, and admin workbench read-only preparation; memory search remains disabled",
"Run post-promotion getBaseline verification"
]
}