feat: add Guanghu persona continuity skill kernel
Part 3/4 of the recovered Fifth Domain upgrade. Applies the persona continuity skill guard from local source commit 18dfdfd without rewriting remote history.
This commit is contained in:
parent
8485822da6
commit
c5be48e6a1
16 changed files with 639 additions and 6 deletions
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-001-AUTHORIZATION-IS-NOT-TRANSPORT",
|
||||
"intent": "Push the recovered Fifth Domain changes to the current code channel.",
|
||||
"scope": "repository-push",
|
||||
"input": "A scoped work order or approval existed, but the current instance had no verified repository transport.",
|
||||
"evidence": [
|
||||
"server-tools/lake-lamp-authz/authorize-repo-push.js",
|
||||
"commit b03619e"
|
||||
],
|
||||
"decision": "Fail closed instead of reporting a push.",
|
||||
"action": "Separated authorization state from credential transport and added an explicit transport-required guard.",
|
||||
"observed_result": "The helper now refuses to claim success when repository transport is absent.",
|
||||
"correction": "Verify target repository, branch, current approval and actual transport independently before push.",
|
||||
"invariant_id": "INV-AUTH-TRANSPORT-EXECUTION-SEPARATION",
|
||||
"invariant": "Authorization, credential transport, action execution and remote receipt are separate proofs.",
|
||||
"verification": [
|
||||
"Automated test covers missing transport.",
|
||||
"Remote commit is read back after a real push."
|
||||
],
|
||||
"receipt_path": "commit:b03619e",
|
||||
"promotion_state": "REVIEWED",
|
||||
"recorded_at": "2026-07-26T12:00:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-002-AW-MAP-GATE",
|
||||
"intent": "Inspect and deploy the enterprise code channel on AW-GZ-001.",
|
||||
"scope": "enterprise-server-operations",
|
||||
"input": "The human approved an AW-GZ-001 work order, but the live authorization service could not read the AW navigation map.",
|
||||
"evidence": [
|
||||
"deployment/navigation-maps/AW-GZ-001.json",
|
||||
"live navigation-map read returned HTTP 500"
|
||||
],
|
||||
"decision": "Do not bypass the navigation-map gate.",
|
||||
"action": "Stopped broker-driven execution and moved to the official enterprise console for read-only inspection.",
|
||||
"observed_result": "The enterprise node was inspected without expanding server authority or using arbitrary shell through the old driver.",
|
||||
"correction": "Publish and verify the AW navigation map in the live authorization runtime before broker actions.",
|
||||
"invariant_id": "INV-NODE-MAP-BEFORE-ACTION",
|
||||
"invariant": "An approved work order cannot execute a target action until the exact live node map is readable and acknowledged.",
|
||||
"verification": [
|
||||
"Read map by node id.",
|
||||
"Acknowledge its immutable hash.",
|
||||
"Verify action registration and target match."
|
||||
],
|
||||
"receipt_path": "deployment/navigation-maps/AW-GZ-001.json",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T13:00:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-003-LEGACY-DRIVER-ROTATED",
|
||||
"intent": "Recover access to AW-GZ-001.",
|
||||
"scope": "legacy-server-driver",
|
||||
"input": "A historical local client contained a legacy AW driver credential.",
|
||||
"evidence": [
|
||||
"live legacy driver rejected the historical credential",
|
||||
"deployment/receipts/AW-GZ-001-FIVE-DOMAIN-LIGHTHOUSE-20260718.json"
|
||||
],
|
||||
"decision": "Treat the historical credential as revoked and do not retry or persist it.",
|
||||
"action": "Switched to the official Tencent enterprise console and kept the legacy driver outside the deployment route.",
|
||||
"observed_result": "The official online terminal provided current access while the deprecated driver remained unused.",
|
||||
"correction": "Use current registered authorization or the official console; never revive a historical secret from local scripts.",
|
||||
"invariant_id": "INV-HISTORICAL-CREDENTIALS-NOT-AUTHORITY",
|
||||
"invariant": "A historical credential is evidence of a past route, never proof of current access.",
|
||||
"verification": [
|
||||
"Current route identifies the target node.",
|
||||
"No secret is printed, committed or copied into a new runtime."
|
||||
],
|
||||
"receipt_path": "deployment/receipts/AW-GZ-001-FIVE-DOMAIN-LIGHTHOUSE-20260718.json",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T13:20:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-004-ENTERPRISE-DATA-DISK-ABSENT",
|
||||
"intent": "Deploy the enterprise HoloLake Code Channel candidate.",
|
||||
"scope": "enterprise-storage-preflight",
|
||||
"input": "The node configuration expected /data on /dev/vdb.",
|
||||
"evidence": [
|
||||
"data.mount failed",
|
||||
"lsblk showed no /dev/vdb",
|
||||
"/etc/fstab still referenced /dev/vdb"
|
||||
],
|
||||
"decision": "Do not install the production repository into the missing /data target or silently substitute another disk.",
|
||||
"action": "Used a bounded temporary staging directory on the system disk while leaving the final data-root decision gated.",
|
||||
"observed_result": "Existing Gitea remained healthy and the candidate package could be verified without a production cutover.",
|
||||
"correction": "Restore or deliberately replace the enterprise data disk, then record the chosen data root before final installation.",
|
||||
"invariant_id": "INV-STORAGE-PREFLIGHT-BEFORE-INSTALL",
|
||||
"invariant": "A repository service must not install or cut over until its declared data root exists, is mounted and has verified capacity.",
|
||||
"verification": [
|
||||
"findmnt confirms the intended data root.",
|
||||
"lsblk confirms the backing device.",
|
||||
"capacity and backup paths are recorded."
|
||||
],
|
||||
"receipt_path": "deployment/AW-HLCC-DEPLOYMENT-CHECKPOINT-20260726.hdlp",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T14:00:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-005-VERIFY-REMOTE-SIDE-EFFECT",
|
||||
"intent": "Install the enterprise navigation gate and code-channel service identity through a browser terminal.",
|
||||
"scope": "remote-ui-execution-proof",
|
||||
"input": "A prior instance recorded that the guanghu service user had been created.",
|
||||
"evidence": [
|
||||
"id guanghu returned no such user during the fixed Agent execution.",
|
||||
"The earlier browser terminal interaction had produced prompts without the intended command text."
|
||||
],
|
||||
"decision": "Treat typed or submitted UI state as transport evidence only, never as execution proof.",
|
||||
"action": "Re-ran the exact bounded action and verified it with id, stat, service health, and target hashes.",
|
||||
"observed_result": "The real service user and subsequent candidate execution state became independently verifiable.",
|
||||
"correction": "Every remote UI mutation must be followed by a separate read-only side-effect check before advancing the checkpoint.",
|
||||
"invariant_id": "INV-REMOTE-SIDE-EFFECT-READBACK",
|
||||
"invariant": "A browser terminal prompt, typed command, or empty output is not proof that a remote mutation occurred.",
|
||||
"verification": [
|
||||
"Resolve the created identity, file, service, or process through an independent readback.",
|
||||
"Record exact target hashes or service state after the action."
|
||||
],
|
||||
"receipt_path": "deployment/AW-HLCC-DEPLOYMENT-CHECKPOINT-20260726.hdlp",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T22:05:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-006-LEGACY-STATE-ROOT-COLLISION",
|
||||
"intent": "Install the enterprise code-channel candidate without damaging existing Guanghu state.",
|
||||
"scope": "legacy-state-root-protection",
|
||||
"input": "The planned path /var/lib/guanghu already existed and was owned by the historical guanghunad identity.",
|
||||
"evidence": [
|
||||
"stat showed /var/lib/guanghu was not owned by the new service user.",
|
||||
"Existing shell-profile files under the root were owned by guanghunad."
|
||||
],
|
||||
"decision": "Do not recursively chown, reuse, or overwrite a legacy state root whose ownership and role are not yet mapped.",
|
||||
"action": "Moved the isolated enterprise candidate to /var/lib/guanghu-enterprise-code-channel.",
|
||||
"observed_result": "The old state root remained unchanged and the isolated candidate ran under its own service identity.",
|
||||
"correction": "Discover ownership, contents, producer, consumer, and backup status before assigning any historical data root to a new component.",
|
||||
"invariant_id": "INV-LEGACY-STATE-ROOT-NO-TAKEOVER",
|
||||
"invariant": "An existing Guanghu data root is protected until its old language-system role and ownership are restored.",
|
||||
"verification": [
|
||||
"Record stat and bounded tree evidence for the proposed root.",
|
||||
"Use a distinct staging root when the legacy role is unresolved.",
|
||||
"Require an explicit migration and rollback receipt before changing ownership."
|
||||
],
|
||||
"receipt_path": "deployment/AW-HLCC-DEPLOYMENT-CHECKPOINT-20260726.hdlp",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T22:10:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-007-AUTHENTICATED-ROUTE-IS-NOT-HEALTH",
|
||||
"intent": "Start and health-check the isolated enterprise code-channel candidate.",
|
||||
"scope": "service-health-verification",
|
||||
"input": "The start script checked /api/v1/version while REQUIRE_SIGNIN_VIEW was enabled.",
|
||||
"evidence": [
|
||||
"Forgejo started and remained alive.",
|
||||
"The version route returned HTTP 403.",
|
||||
"The error trap stopped the candidate cleanly.",
|
||||
"The public /api/healthz route later returned status pass."
|
||||
],
|
||||
"decision": "A protected functional route must not be used as an unauthenticated liveness probe.",
|
||||
"action": "Changed the candidate health probe to /api/healthz and repeated the full one-time Agent unlock.",
|
||||
"observed_result": "Cache and database checks passed, the process stayed running, and a deployment receipt was written.",
|
||||
"correction": "Separate liveness, readiness, authenticated functionality, and owner-login checks in every deployment plan.",
|
||||
"invariant_id": "INV-HEALTH-PROBE-AUTH-SEPARATION",
|
||||
"invariant": "A 401 or 403 from an authenticated product route does not prove service failure; health must use a designated probe.",
|
||||
"verification": [
|
||||
"Check the designated health endpoint.",
|
||||
"Confirm the process and loopback listener.",
|
||||
"Test authenticated product functionality as a separate proof."
|
||||
],
|
||||
"receipt_path": "deployment/AW-HLCC-DEPLOYMENT-CHECKPOINT-20260726.hdlp",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T22:15:00+08:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"schema": "guanghu.ops-experience-receipt/v1",
|
||||
"receipt_id": "EXP-20260726-008-UPGRADE-NOT-PARALLEL-REPLACEMENT",
|
||||
"intent": "Upgrade the old Guanghu language system with navigation, intent continuity, Agent gates, and code-channel capabilities.",
|
||||
"scope": "language-system-upgrade-boundary",
|
||||
"input": "An isolated candidate could be mistaken for a new authoritative system beside the old lighthouse, driver, portal, and guardian Agents.",
|
||||
"evidence": [
|
||||
"The old /opt/engine.js driver remained active on port 3910.",
|
||||
"api-router.service, guanghu-portal.service, revive-guard, Gitea, and server Agents remained active.",
|
||||
"The candidate had no public route and no production cutover."
|
||||
],
|
||||
"decision": "Classify the candidate as UPGRADE_STAGING and restore the old system topology before any authority transfer.",
|
||||
"action": "Added the invariant upgrade_in_place_of_language_system is not parallel_replacement_system to GLS-0243.",
|
||||
"observed_result": "The candidate stayed isolated while the existing component and entry-path inventory became the next required checkpoint.",
|
||||
"correction": "New controls must be embedded through a compatibility migration and cannot create a second legal execution path.",
|
||||
"invariant_id": "INV-UPGRADE-INHERITS-OLD-LANGUAGE-SYSTEM",
|
||||
"invariant": "A Guanghu upgrade inherits the old language system's identities, routes, data, dependencies, and receipts until an explicit migration receipt transfers authority.",
|
||||
"verification": [
|
||||
"Inventory old components and consumers.",
|
||||
"Mark authoritative, compatible, archival, rotating, and forbidden-overwrite roles.",
|
||||
"Prove caller migration and old dangerous-entry retirement before cutover."
|
||||
],
|
||||
"receipt_path": "gls/GLS-0243-PUBLIC-ZHUYUAN-INTELLIGENT-OPS-INTENT-CONTINUITY-AND-CORRECTION-KERNEL.hdlp",
|
||||
"promotion_state": "CANDIDATE_ONLY",
|
||||
"recorded_at": "2026-07-26T22:20:00+08:00"
|
||||
}
|
||||
Loading…
Reference in a new issue