Repository navigation
docs: digest the 09-25/26 outage, migration planning and governed actions into pages and skills - #5786
Conversation
…ions into pages and skills - TheBakeGateOnlyStallsARoll: the post-fix startup budget (60 on memex + memex-cloud) and an incident history table. - PlanningADatabaseMigration: the V58 unblock needed a vault capture before the Reconcile; Related. - DeploymentAKS: link the migration process; the 600 s budget; Recycle/DeleteSpace rows; approval bound to the plan; the Key Vault key -> Restart finding; the --subscription trap. - IssueTaxonomy: how an issue reaches triage (org webhook, periodic sweep, triage scope). - SelfUpdateAnnouncementKey: where the rollout stands. - Skills: /deployment (governed actions, probes, migrations, subscription trap; control-instance host corrected), /ci, /testing, /gui, /release, /pullrequest (working beside other sessions), /worktree. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Test Results (shard 1)0 tests 0 ✅ 0s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
Test Results (shard 4)0 tests 0 ✅ 0s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
Test Results (shard 3)0 tests 0 ✅ 0s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Resolve the documented inconsistencies in migration triggers, probe prerequisites, self-update exceptions, and subscription-bearing command examples.
Review effort: Lite
Findings: 4
Open (4)
What changed in this PR
Documentation-only update consolidating outage learnings, migration planning, deployment safeguards, and workflow guidance into existing pages and skills.
Changes:
- Adds bake-gate incident history, migration prerequisites, and rollout status.
- Expands deployment, CI, testing, GUI, release, and collaboration guidance.
- Verified documentation tests pass (649/649) and the Release
-warnaserrorbuild is clean.
| File | Description |
|---|---|
src/MeshWeaver.Documentation/Data/Architecture/TheBakeGateOnlyStallsARoll.md |
Startup budget and incident-history guidance |
src/MeshWeaver.Documentation/Data/Architecture/SelfUpdateAnnouncementKey.md |
Self-update announcement rollout status |
src/MeshWeaver.Documentation/Data/Architecture/PlanningADatabaseMigration.md |
Vault capture prerequisite for reconciliation |
src/MeshWeaver.Documentation/Data/Architecture/IssueTaxonomy.md |
Issue triage routing |
src/MeshWeaver.Documentation/Data/Architecture/DeploymentAKS.md |
Migration, probe, approval, and subscription guidance |
.claude/skills/worktree/SKILL.md |
Worktree coordination practices |
.claude/skills/testing/SKILL.md |
In-mesh test execution |
.claude/skills/release/SKILL.md |
Source synchronization and seal behavior |
.claude/skills/pullrequest/SKILL.md |
Multi-session PR coordination |
.claude/skills/gui/SKILL.md |
Profile-section extension guidance |
.claude/skills/deployment/SKILL.md |
Governed deployment procedures |
.claude/skills/ci/SKILL.md |
Migration and probe CI gates |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| 🚨 **Pass `--subscription 7ecc5974-5319-4596-ad2b-3470f6b7f85c` on EVERY `az` call.** The default | ||
| subscription may be "PartnerRe Memex", which holds another cluster with the SAME name | ||
| (`<aks-cluster>`); without the flag you read the wrong system and nothing says so. | ||
| `az role assignment delete --ids …` needs it too, or it fails with `InvalidAuthenticationTokenTenant`. |
There was a problem hiding this comment.
Fixed in cd5726e. Every az example in the skill now carries --subscription , and the rule defines as the fleet subscription id. That covers invoke, acr login and show-tags.
| `probes.rollGate.bakeSeconds` to `progressDeadlineSeconds` instead, in every render. memex and | ||
| memex-cloud therefore run `failureThreshold: 60` (600 s, a cold boot) instead of 1080 (3 h); the | ||
| short budget is safe only on an image that carries the readiness-only split, which the page above | ||
| explains. |
There was a problem hiding this comment.
Fixed in cd5726e. The startup-probe bullet now says only db_version and the database decide the startup status, and that required_modules is a roll gate (policy required-modules-readiness-only). The readiness bullet names required_modules among the roll gates.
| 🚨 **Always pass `--subscription 7ecc5974-5319-4596-ad2b-3470f6b7f85c` to every `az` call here.** The | ||
| signed-in account's DEFAULT subscription may be "PartnerRe Memex", which holds ANOTHER cluster with | ||
| the same name in a resource group of the same name (`<aks-cluster>` in `<aks-resource-group>`). Without the flag, `az aks command invoke` | ||
| answers from that cluster, with different nodes and a different migration history, and nothing in | ||
| the output says so. The same applies to `az role assignment delete --ids …`: it does not take the | ||
| subscription from the id, uses the default account's tenant, and fails with | ||
| `InvalidAuthenticationTokenTenant`. Pass `--subscription` there too. |
There was a problem hiding this comment.
Fixed in cd5726e. Every executable az example on the page now passes --subscription : invoke (the ones in the list and in the snippets), acr login/show/show-tags, deployment sub show, identity show and role assignment create. The warning defines the placeholder.
| That budget is safe only on an image that carries the readiness-only split (#5749). On an older | ||
| image the gate still rides `/health`, and a bake outlasts 600 s: on memex-cloud a pod's bake-report | ||
| sweep was stamped about 21.5 min after the pod booted. So arm the gate on an instance only once its | ||
| running image carries #5749, and never roll such an instance back to an older image with the gate | ||
| armed and the short budget. |
Test Results (shard 5)0 tests 0 ✅ 0s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
Test Results (shard 2)649 tests 649 ✅ 24s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
Test Results (shard 0) 1 files 1 suites 3m 8s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |
Test Results 2 files 2 suites 3m 33s ⏱️ Results for commit cd5726e. ♻️ This comment has been updated with latest results. |

Consolidates the last two days into the existing pages and skills. No new pages, no What's New file, no AGENTS.md change.
Pages
TheBakeGateOnlyStallsARoll: the startup budget after the fix (failureThreshold: 60on memex and memex-cloud, Memex deploy: Kimi-K2.6 in the AzureFoundry model list #547/DataGrid: default 50 rows per page (was 10) #549, safe only on an image carrying fix(probes): the bake gate holds READINESS only — it never fails the startup probe #5749) and an Incident history table: the three failures and what closed each one (fix(bake-gate): a refusal can only stall a roll — never-built types cannot regress, a serving image never refuses itself (#5544) #5725, fix(probes): the bake gate holds READINESS only — it never fails the startup probe #5749/fix(probes): required_modules is a roll gate — a missing required module holds readiness only #5754, Memex deploy: Kimi-K2.6 in the AzureFoundry model list #547/DataGrid: default 50 rows per page (was 10) #549; capacity via Memex fix(parser): namespaced Slide node types round-trip Notes/Background #546/feat(seo): per-page metadata, robots.txt, sitemap.xml, noscript content #551).PlanningADatabaseMigration: §7, the V58 Reconcile needed a vault-half capture first (Memex#295, fix(operator): hosting-deploy refuses a vault values half that carries structure (Memex#295) #5700), plus a Related section.DeploymentAKS: points "Migration under self-update" at the planning page; the 600 s budget; Recycle and DeleteSpace rows; the approval bound to the parked plan; the Key Vault key → Restart finding (MeshWeaver.Feedback#48, still open); the--subscriptiontrap for break-glassaz(default subscription with a same-named cluster, and--idstenant mismatch).IssueTaxonomy: how an issue reaches triage (org Issues webhook, periodic sweep, one triage scope,Hosting/Triage/issue/{repo}-{number}).SelfUpdateAnnouncementKey: where the rollout stands (core feat(hosting): per-deployment announcement key — record field + per-sender inbox key (Plugins#1913) #5775 + Plugins fix: main does not build — the MeshWeaver.AI using was restored TWICE #2416 merged; client-b in Memex fix(access): deferred invite grants fire on sign-up independent of the change feed #574, draft).Skills
/deployment: governed actions (plan-bound approval,planSeedAt, requester recorded once, attested Approve, maintainer self-approval as ONE bound patch, orphaned Running actions resumed, one rollout budget, KV key → Restart, capture before Reconcile), probes, migrations, the subscription trap. Also fixes a wrong host: the control instance is memex.systemorph.com./ci(Db-migration declaration, roll-gate invariant),/testing(Tests area runs on render; run once viamemex tests/run_tests),/gui(profile sections),/release(a seal never holds sources),/pullrequest(working beside other sessions: drafts as holds, the 30-minute collision rule, the shared scratchpad, fresh agents after an MCP reconnect, the weekly limit),/worktree(pointer).Verified:
MeshWeaver.Documentation.Testpasses locally (649/649), and the Release-warnaserrorbuild is clean.Pairs-with: none — documentation and skills only, no public C# surface.
🤖 Generated with Claude Code