Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdb3116bbd |
@@ -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
@@ -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"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user