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:
bingshuo 2026-07-26 23:43:30 +08:00
commit c5be48e6a1
16 changed files with 639 additions and 6 deletions

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}