Help us improve
Share bugs, ideas, or general feedback.
From chittyos-core
ChittyContext enables Claude to maintain persistent state across conversations. It is a **capability of ChittyConnect** — the local component (`~/.claude/chittycontext/`) serves as an edge cache, while ChittyConnect's ContextConsciousness™ and MemoryCloude™ are the source of truth.
npx claudepluginhub chittyos/chittymarket --plugin chittyos-coreHow this skill is triggered — by the user, by Claude, or both
Slash command
/chittyos-core:chittycontextThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
ChittyContext enables Claude to maintain persistent state across conversations. It is a **capability of ChittyConnect** — the local component (`~/.claude/chittycontext/`) serves as an edge cache, while ChittyConnect's ContextConsciousness™ and MemoryCloude™ are the source of truth.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
ChittyContext enables Claude to maintain persistent state across conversations. It is a capability of ChittyConnect — the local component (~/.claude/chittycontext/) serves as an edge cache, while ChittyConnect's ContextConsciousness™ and MemoryCloude™ are the source of truth.
~/.claude/chittycontext/
Update state after:
| Command | Action |
|---|---|
checkpoint [name] | Save named checkpoint to entity's project checkpoints dir |
restore [name] | Load checkpoint into current_state.json |
status | Display current state, ChittyID, trust level, project |
save state | Force write current_state.json |
list checkpoints | Show available restore points |
| Command | Action |
|---|---|
resolve | Resolve/bind session to ChittyID via MCP context_resolve |
commit | Commit session experience metrics via MCP context_commit |
drain | Flush pending sync_queue.json items to backend |
check | Get current trust/DNA/experience summary via MCP context_check |
experience | Display ChittyDNA expertise domains and trust score |
~/.claude/chittycontext/
├── session_binding.json # Active session binding (auto-managed by hooks)
├── sync_queue.json # Offline buffer for pending commits
├── manifest.json # Global entity registry
├── index.json # Checkpoint index
├── canon/
│ └── ontology.json # P/L/T/E/A canonical definitions
└── entities/{chittyId}/
├── identity.json # Entity metadata + canonical type
├── experience_accumulator.json # Per-entity rolling totals (sessions, interactions, decisions, toolCalls, expertiseDomains)
├── context_ledger.jsonl # Hash-chained, tamper-evident session_complete log (one JSON line per session)
└── {project-slug}/
├── current_state.json # Active working state (v2.1 schema)
└── checkpoints/ # Named restore points
session_binding.json → get chittyId, project contextentities/{chittyId}/{projectSlug}/current_state.json for project-specific contextexperience_accumulator.json for expertise summarycurrent_state.json with latest contextWhen MCP is unavailable:
{
"chittyId": "VV-G-LLL-SSSS-P-YYMM-C-X",
"sessionId": "session-{timestamp}-{pid}",
"platform": "claude_code",
"projectPath": "/absolute/path",
"projectSlug": "project-name",
"organization": "CHITTYOS",
"supportType": "development",
"resolvedFrom": "mcp|cache",
"resolvedAt": "ISO8601",
"status": "active|ended"
}
{
"version": "2.1",
"chittyId": "VV-G-LLL-SSSS-P-YYMM-C-X",
"project": { "slug": "", "name": "", "path": "" },
"session": {
"id": "", "startedAt": "ISO8601", "lastActivity": "ISO8601",
"metrics": {
"interactions": 0, "decisions": 0, "toolCalls": 0, "filesModified": [],
"openTasks": 0, "completedTasks": 0, "taskFiles": 0,
"livePending": 0, "liveInProgress": 0, "liveCompleted": 0, "liveSessionUuid": "",
"stagedFiles": 0, "modifiedFiles": 0, "untrackedFiles": 0
}
},
"coordinates": {
"ty": { "type": "P", "characterization": "Synthetic" },
"vy": { "posture": "active|drained|...", "trustScore": 0, "trustLevel": 0 },
"ry": { "freshness": "fresh|stale", "causalParent": "prior session id" },
"tau": "ISO8601 — session anchor timestamp"
},
"lane": "operational lane resolved from ~/.ops/operator-manifest.json (e.g. implementation, dev, stage, prod)",
"context": { "summary": "", "activeGoals": [], "completedGoals": [], "blockers": [] },
"git": {
"branch": "", "lastCommit": "", "uncommittedFiles": [],
"inRepo": false, "recentCommits": [], "activePRs": []
},
"activeRepos": [],
"decisions": [
{ "timestamp": "ISO8601", "description": "", "reasoning": "", "alternatives": [] }
],
"nextActions": [],
"derived": {
"metrics": {},
"keyFacts": [],
"pendingTasks": [],
"completedTasks": [],
"taskHighlights": [],
"nextRecommendedAction": ""
},
"memoryHash": "sha256 of canonical signal block — drives no-op skip + ledger chain",
"lastSessionEndedAt": "ISO8601",
"syncedToBackend": false,
"lastSyncAt": null
}
coordinates — operator ontology coordinates (ty/vy/ry/tau) sourced from ~/.ops/operator-manifest.json and binding state. ry.causalParent links to the previous session for lineage.lane — resolved dev/stage/prod from operator manifest.activeRepos, git.inRepo, git.recentCommits, git.activePRs — workspace repo + PR signals collected from the project root.decisions[] — now structured objects ({timestamp, description, reasoning, alternatives}) instead of bare strings.derived{} — read-only aggregations the SessionStart reader can render directly without re-deriving (keyFacts, pendingTasks, completedTasks, taskHighlights, nextRecommendedAction).memoryHash + lastSessionEndedAt — feed the entities/{chittyId}/context_ledger.jsonl hash chain.session.metrics.live* — live TodoWrite/TaskList capture from the active Claude Code session (~/.claude/todos/{uuid}-agent-{uuid}.json). When present, overrides stale prior pendingTasks/completedTasks.The writer skips on no-op (same memoryHash + same git/canonical metrics + same trust posture) and skips on race (on-disk file written by a different session.id whose lastActivity is newer than the current write's timestamp). Atomic os.replace guarantees per-file integrity; the race guard prevents an older session ending late from clobbering a newer one's state.
Any Claude instance can: