一键导入
session-persistence
Protocol for local session metadata persistence in the Virgo extension.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Protocol for local session metadata persistence in the Virgo extension.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | session_persistence |
| description | Protocol for local session metadata persistence in the Virgo extension. |
To ensure human-readable session titles and turn metadata are correctly resolved in the UI without relying on central agent memory, all session-specific state must be persisted locally.
~/.gemini/antigravity/ (absolute, OS-normalized)~/.gemini/antigravity/virgo/~/.gemini/antigravity/virgo/<sessionId>/~/.gemini/antigravity/virgo/<sessionId>/extension_state.json~/.gemini/antigravity/virgo/<sessionId>/<timestamp>_<name>.md[!IMPORTANT] The
_antigravityRootfield inSpeechProvideris set topath.join(root, 'virgo')— NOT the bareantigravity/root._getSnippetHistory()scans_antigravityRootdirectly. Session directories are immediate children of this path.
extension_state.json){
"session_title": "Human Readable Title",
"current_turn_index": 0,
"last_updated": "2026-04-05T00:00:00Z"
}
In speechProvider.ts, use _getSnippetHistory() to resolve the displayName:
extension_state.json in the session directory.session_title.sessionId (truncated).In mcpStandalone.ts or mcpBridge.ts, the say_this_loud tool must accept an optional session_title:
extension_state.json with the new title if provided.current_turn_index atomically.extension_state.json.state.json in the brain/ directory is deprecated and MUST NOT be used for session vitals.[!NOTE] Observed: 2026-04-10.
_getSnippetHistory()iterates ALL directories inantigravityRoot(virgo/). System-only directories are NOT user sessions and produce empty results but waste I/O and clutter session discovery. They MUST be excluded from the scan.
_getSnippetHistory())| Directory | Reason |
|---|---|
brain/ | Agent memory (already excluded — line 802) |
protocols/ | Agent protocol templates — not a user session |
tempmediaStorage/ | Transient media files — not a user session |
// REQUIRED filter in _getSnippetHistory() directory scan:
const EXCLUDED_DIRS = new Set(['brain', 'protocols', 'tempmediaStorage']);
// In the filter instead of checking name === 'brain' only:
if (EXCLUDED_DIRS.has(name)) { return null; }
These are filtered automatically by the type !== FileType.Directory check:
active_servers.jsonmcp_discovery.json[!IMPORTANT] There are TWO distinct storage paths used by the system. Conflating them will cause the Snippet Discovery sidebar to show empty.
| Path | Purpose | Scanner Reads It? |
|---|---|---|
brain/<sessionId>/ | Agent artifacts (task.md, implementation_plan.md, media, scratch) | ❌ NOT scanned by _getSnippetHistory() |
virgo/<sessionId>/ | User-playable snippet .md files injected via MCP say_this_loud | ✅ YES — this is where _getSnippetHistory() reads from |
When say_this_loud is called by the AI agent (via mcp_virgo_say_this_loud):
.md file MUST be written to virgo/<sessionId>/<timestamp>_<snippet_name>.mdbrain/<sessionId>/, it will NEVER appear in the Snippet Discovery UIIf the Snippet tab shows "No injected snippets found" for the current session, the most likely cause is:
brain/<sessionId>/ instead of virgo/<sessionId>/virgo/ but contains only extension_state.json (no .md files)Remedy: Verify that say_this_loud writes to the correct virgo/ path before troubleshooting the scanner.
# Dev Cycle Protocol: CDP Shell Sovereignty (v2.5.1)
Protocol for high-density, symmetrical shorthand logging in VS Code extensions.
Architectural map and development guidelines for the Virgo extension. Mandatory reference for all agent modifications.
Protocol for high-integrity conversational AI injections and sensory parity in the Virgo extension.
Governance protocol and automated scripts for packaging and publishing the Virgo MCP standalone server to the public NPM registry. Enforces safety gates and clean extraction logic.
Unified Release Authority — Single Source of Truth for all release lifecycle actions. Merges release_prestige and version_sentinel into one sovereign skill covering: semantic versioning rules, authorization gates, pipeline execution, artifact verification, git history auditing, SemVer enforcement, and post-release validation.