feat: project verified PNCC runtime into HoloLake

This commit is contained in:
冰朔 2026-08-11 11:56:54 +08:00
commit 0c80296593
33 changed files with 1265 additions and 24 deletions

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"hololake.router.repositories.source": "HoloLake source",
"hololake.router.repositories.architecture": "Local system architecture",
"hololake.router.repositories.probe": "Inspect mapping",
"hololake.router.repositories.upload": "Request upload"
"hololake.router.repositories.upload": "Request upload",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -1135,5 +1135,28 @@
"hololake.router.repositories.source": "HoloLake 源码",
"hololake.router.repositories.architecture": "本地系统架构",
"hololake.router.repositories.probe": "检测映射",
"hololake.router.repositories.upload": "申请上传"
"hololake.router.repositories.upload": "申请上传",
"hololake.personaRuntime.title": "人格运行投影",
"hololake.personaRuntime.description": "把经过核验的 GH-PNCC 原生事件链投影为人类可读状态。",
"hololake.personaRuntime.checking": "正在核验原生运行回执…",
"hololake.personaRuntime.verified": "已核验的原生回执",
"hololake.personaRuntime.unavailable": "未挂载可核验 Git 仓库",
"hololake.personaRuntime.empty": "未发现可核验会话",
"hololake.personaRuntime.emptyDescription": "这不等于人格离线;当前挂载仓库中没有匹配的原生事件链。",
"hololake.personaRuntime.error": "原生回执校验失败",
"hololake.personaRuntime.retry": "重新核验",
"hololake.personaRuntime.state.dormant": "已归寝",
"hololake.personaRuntime.state.inferencing": "正在推理",
"hololake.personaRuntime.state.bound": "已绑定,未推理",
"hololake.personaRuntime.state.observed": "已核验状态",
"hololake.personaRuntime.rawState": "原生状态",
"hololake.personaRuntime.lastEvent": "最近事件",
"hololake.personaRuntime.activeOrgan": "活动器官",
"hololake.personaRuntime.noActiveOrgan": "无活动器官",
"hololake.personaRuntime.node": "运行节点",
"hololake.personaRuntime.lastObserved": "最近观测",
"hololake.personaRuntime.gitHead": "Git 证据",
"hololake.personaRuntime.eventChain": "事件链头",
"hololake.personaRuntime.attribution": "人类责任主体",
"hololake.personaRuntime.readOnly": "只读投影 · 不触发执行动作"
}

View file

@ -1135,5 +1135,28 @@
"education.chart": "Chart",
"education.dashboard": "Dashboard",
"education.knowledge": "Knowledge",
"education.documentLabel": "Education document content"
"education.documentLabel": "Education document content",
"hololake.personaRuntime.title": "Persona runtime projection",
"hololake.personaRuntime.description": "A read-only human projection of verified GH-PNCC native event chains.",
"hololake.personaRuntime.checking": "Verifying native runtime receipts…",
"hololake.personaRuntime.verified": "Verified native receipt",
"hololake.personaRuntime.unavailable": "No verifiable Git repository is mounted",
"hololake.personaRuntime.empty": "No verifiable session found",
"hololake.personaRuntime.emptyDescription": "This does not mean the persona is offline; no matching native event chain exists in the currently mounted repositories.",
"hololake.personaRuntime.error": "Native receipt verification failed",
"hololake.personaRuntime.retry": "Verify again",
"hololake.personaRuntime.state.dormant": "Dormant",
"hololake.personaRuntime.state.inferencing": "Inferencing",
"hololake.personaRuntime.state.bound": "Bound, not inferencing",
"hololake.personaRuntime.state.observed": "Verified state",
"hololake.personaRuntime.rawState": "Native state",
"hololake.personaRuntime.lastEvent": "Last event",
"hololake.personaRuntime.activeOrgan": "Active organ",
"hololake.personaRuntime.noActiveOrgan": "No active organ",
"hololake.personaRuntime.node": "Runtime node",
"hololake.personaRuntime.lastObserved": "Last observed",
"hololake.personaRuntime.gitHead": "Git evidence",
"hololake.personaRuntime.eventChain": "Event chain head",
"hololake.personaRuntime.attribution": "Human responsibility",
"hololake.personaRuntime.readOnly": "Read-only projection · no execution action"
}

View file

@ -0,0 +1,134 @@
import { describe, expect, it, vi } from 'vitest'
import {
loadPersonaRuntimeProjection,
type PersonaRuntimeQueryReceipt,
} from './personaRuntimeProjection'
const attribution = {
humanResponsibilitySubject: 'BINGSHUO',
personaCognitiveAuthor: 'ICE-P-ZY001',
executionRuntime: 'ZY-TCS-BRAIN-RUNTIME-0001',
developmentId: 'DEV-20260811-003',
authorizationScope: 'LOCAL_READ_ONLY',
sourceLanguageAnchor: 'HLP-CURRENT-ARCH-001@2026-08-10.14',
}
function receipt({
repositoryPath,
sessions = [],
}: {
repositoryPath: string
sessions?: PersonaRuntimeQueryReceipt['sessions']
}): PersonaRuntimeQueryReceipt {
return {
schema: 'hololake.pncc-runtime-query/v1',
personaId: 'ICE-P-ZY001',
repositoryPath,
observedGitHead: 'a9f4726424b2d772181f9d24c300ae2f2ad4e54a',
repositoryClean: true,
matchingSessionCount: sessions.length,
returnedSessionCount: sessions.length,
sessions,
}
}
describe('loadPersonaRuntimeProjection', () => {
it('does not query or invent a runtime when no mounted repository is available', async () => {
const query = vi.fn()
await expect(loadPersonaRuntimeProjection({
personaId: 'ICE-P-ZY001',
repositoryPaths: [],
query,
})).resolves.toEqual({
errors: [],
inspectedRepositoryCount: 0,
phase: 'unavailable',
sessions: [],
})
expect(query).not.toHaveBeenCalled()
})
it('sorts verified native sessions without replacing their evidence fields', async () => {
const older = {
sessionId: 'PNCC-OLDER',
state: 'DORMANT',
gitHead: '1111111111111111111111111111111111111111',
nodeId: 'JD-FD-PRIMARY',
modelInstanceId: 'model-old',
activeOrgan: null,
eventCount: 5,
firstEventAt: '2026-08-10T01:00:00.000Z',
lastEventAt: '2026-08-10T02:00:00.000Z',
lastEvent: 'DORMANT',
eventChainHead: 'event-old',
attribution,
}
const newer = {
...older,
sessionId: 'PNCC-NEWER',
state: 'BOUND_NOT_INFERENCING',
gitHead: '2222222222222222222222222222222222222222',
modelInstanceId: 'model-new',
activeOrgan: 'REASONING',
lastEventAt: '2026-08-11T02:00:00.000Z',
lastEvent: 'ORGAN_ACTIVE',
eventChainHead: 'event-new',
}
const query = vi.fn()
.mockResolvedValueOnce(receipt({ repositoryPath: '/repo/a', sessions: [older] }))
.mockResolvedValueOnce(receipt({ repositoryPath: '/repo/b', sessions: [newer] }))
const result = await loadPersonaRuntimeProjection({
personaId: 'ICE-P-ZY001',
repositoryPaths: ['/repo/a', '/repo/b', '/repo/a'],
query,
})
expect(query).toHaveBeenCalledTimes(2)
expect(result.phase).toBe('verified')
expect(result.inspectedRepositoryCount).toBe(2)
expect(result.sessions.map((session) => session.sessionId)).toEqual(['PNCC-NEWER', 'PNCC-OLDER'])
expect(result.sessions[0]).toMatchObject({
activeOrgan: 'REASONING',
eventChainHead: 'event-new',
gitHead: '2222222222222222222222222222222222222222',
repositoryPath: '/repo/b',
state: 'BOUND_NOT_INFERENCING',
})
})
it('keeps partial query failures visible while returning verified matches', async () => {
const query = vi.fn()
.mockRejectedValueOnce('PERSONA_REPOSITORY_UNAVAILABLE')
.mockResolvedValueOnce(receipt({ repositoryPath: '/repo/verified' }))
const result = await loadPersonaRuntimeProjection({
personaId: 'ICE-P-ZY001',
repositoryPaths: ['/repo/missing', '/repo/verified'],
query,
})
expect(result).toEqual({
errors: [{ code: 'PERSONA_REPOSITORY_UNAVAILABLE', repositoryPath: '/repo/missing' }],
inspectedRepositoryCount: 1,
phase: 'verified',
sessions: [],
})
})
it('fails closed when every native query fails', async () => {
const query = vi.fn().mockRejectedValue(new Error('event chain invalid'))
const result = await loadPersonaRuntimeProjection({
personaId: 'ICE-P-ZY001',
repositoryPaths: ['/repo/a'],
query,
})
expect(result.phase).toBe('error')
expect(result.inspectedRepositoryCount).toBe(0)
expect(result.sessions).toEqual([])
expect(result.errors[0]).toEqual({ code: 'event chain invalid', repositoryPath: '/repo/a' })
})
})

View file

@ -0,0 +1,211 @@
import { invoke } from '@tauri-apps/api/core'
import { isTauri, mockInvoke } from '../mock-tauri'
export interface PersonaRuntimeAttribution {
humanResponsibilitySubject: string
personaCognitiveAuthor: string
executionRuntime: string
developmentId: string
authorizationScope: string
sourceLanguageAnchor: string
}
export interface PersonaRuntimeSessionReceipt {
sessionId: string
state: string
gitHead: string
nodeId: string
modelInstanceId: string
activeOrgan: string | null
eventCount: number
firstEventAt: string
lastEventAt: string
lastEvent: string
eventChainHead: string
attribution: PersonaRuntimeAttribution
}
export interface PersonaRuntimeQueryReceipt {
schema: 'hololake.pncc-runtime-query/v1'
personaId: string
repositoryPath: string
observedGitHead: string
repositoryClean: boolean
matchingSessionCount: number
returnedSessionCount: number
sessions: PersonaRuntimeSessionReceipt[]
}
export interface PersonaRuntimeSessionProjection extends PersonaRuntimeSessionReceipt {
repositoryPath: string
observedGitHead: string
repositoryClean: boolean
}
export interface PersonaRuntimeProjectionError {
code: string
repositoryPath: string
}
export interface PersonaRuntimeProjection {
errors: PersonaRuntimeProjectionError[]
inspectedRepositoryCount: number
phase: 'unavailable' | 'verified' | 'error'
sessions: PersonaRuntimeSessionProjection[]
}
interface LoadPersonaRuntimeProjectionInput {
personaId: string
repositoryPaths: readonly string[]
query?: (personaId: string, repositoryPath: string) => Promise<unknown>
}
function errorCode(error: unknown): string {
if (typeof error === 'string') return error
if (error instanceof Error) return error.message
return 'PERSONA_RUNTIME_QUERY_FAILED'
}
function isRecord(value: unknown): value is Record<string, unknown> {
return typeof value === 'object' && value !== null
}
function requiredString(record: Record<string, unknown>, key: string): string {
const value = Reflect.get(record, key)
if (typeof value !== 'string' || value.length === 0) throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
return value
}
function requiredNumber(record: Record<string, unknown>, key: string): number {
const value = Reflect.get(record, key)
if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
}
return value
}
function parseAttribution(value: unknown): PersonaRuntimeAttribution {
if (!isRecord(value)) throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
return {
humanResponsibilitySubject: requiredString(value, 'humanResponsibilitySubject'),
personaCognitiveAuthor: requiredString(value, 'personaCognitiveAuthor'),
executionRuntime: requiredString(value, 'executionRuntime'),
developmentId: requiredString(value, 'developmentId'),
authorizationScope: requiredString(value, 'authorizationScope'),
sourceLanguageAnchor: requiredString(value, 'sourceLanguageAnchor'),
}
}
function parseSession(value: unknown): PersonaRuntimeSessionReceipt {
if (!isRecord(value)) throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
const activeOrgan = Reflect.get(value, 'activeOrgan')
if (activeOrgan !== null && typeof activeOrgan !== 'string') {
throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
}
return {
sessionId: requiredString(value, 'sessionId'),
state: requiredString(value, 'state'),
gitHead: requiredString(value, 'gitHead'),
nodeId: requiredString(value, 'nodeId'),
modelInstanceId: requiredString(value, 'modelInstanceId'),
activeOrgan,
eventCount: requiredNumber(value, 'eventCount'),
firstEventAt: requiredString(value, 'firstEventAt'),
lastEventAt: requiredString(value, 'lastEventAt'),
lastEvent: requiredString(value, 'lastEvent'),
eventChainHead: requiredString(value, 'eventChainHead'),
attribution: parseAttribution(Reflect.get(value, 'attribution')),
}
}
function parseReceipt(
value: unknown,
expectedPersonaId: string,
expectedRepositoryPath: string,
): PersonaRuntimeQueryReceipt {
if (!isRecord(value)) throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
const schema = requiredString(value, 'schema')
const personaId = requiredString(value, 'personaId')
const repositoryPath = requiredString(value, 'repositoryPath')
const observedGitHead = requiredString(value, 'observedGitHead')
const repositoryClean = Reflect.get(value, 'repositoryClean')
const sessionsValue = Reflect.get(value, 'sessions')
if (
schema !== 'hololake.pncc-runtime-query/v1'
|| personaId !== expectedPersonaId
|| repositoryPath !== expectedRepositoryPath
|| typeof repositoryClean !== 'boolean'
|| !Array.isArray(sessionsValue)
) {
throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
}
const matchingSessionCount = requiredNumber(value, 'matchingSessionCount')
const returnedSessionCount = requiredNumber(value, 'returnedSessionCount')
const sessions = sessionsValue.map(parseSession)
if (returnedSessionCount !== sessions.length || matchingSessionCount < returnedSessionCount) {
throw new Error('PERSONA_RUNTIME_RECEIPT_INVALID')
}
return {
schema,
personaId,
repositoryPath,
observedGitHead,
repositoryClean,
matchingSessionCount,
returnedSessionCount,
sessions,
}
}
async function queryNativeRuntime(personaId: string, repositoryPath: string): Promise<unknown> {
const args = {
input: {
expectedPersonaId: personaId,
expectedRepositoryPath: repositoryPath,
limit: 25,
},
}
return isTauri()
? invoke<unknown>('query_persona_code_channel_runtime', args)
: mockInvoke<unknown>('query_persona_code_channel_runtime', args)
}
export async function loadPersonaRuntimeProjection({
personaId,
repositoryPaths,
query = queryNativeRuntime,
}: LoadPersonaRuntimeProjectionInput): Promise<PersonaRuntimeProjection> {
const uniqueRepositoryPaths = [...new Set(repositoryPaths.map((path) => path.trim()).filter(Boolean))]
if (uniqueRepositoryPaths.length === 0) {
return { errors: [], inspectedRepositoryCount: 0, phase: 'unavailable', sessions: [] }
}
const results = await Promise.all(uniqueRepositoryPaths.map(async (repositoryPath) => {
try {
const receipt = parseReceipt(await query(personaId, repositoryPath), personaId, repositoryPath)
return { receipt, repositoryPath, error: null }
} catch (error) {
return { receipt: null, repositoryPath, error: errorCode(error) }
}
}))
const verified = results.flatMap((result) => result.receipt ? [result.receipt] : [])
const errors = results.flatMap((result) => result.error
? [{ code: result.error, repositoryPath: result.repositoryPath }]
: [])
const sessions = verified.flatMap((receipt) => receipt.sessions.map((session) => ({
...session,
repositoryPath: receipt.repositoryPath,
observedGitHead: receipt.observedGitHead,
repositoryClean: receipt.repositoryClean,
}))).sort((left, right) => (
right.lastEventAt.localeCompare(left.lastEventAt)
|| right.sessionId.localeCompare(left.sessionId)
))
return {
errors,
inspectedRepositoryCount: verified.length,
phase: verified.length > 0 ? 'verified' : 'error',
sessions,
}
}