{"id":47685193,"url":"https://github.com/aaronjohnson/advaita-smrti","last_synced_at":"2026-04-02T14:46:41.744Z","repository":{"id":333954729,"uuid":"1139426708","full_name":"aaronjohnson/advaita-smrti","owner":"aaronjohnson","description":"smrti (स्मृति) — non-dual memory for structured knowledge elicitation","archived":false,"fork":false,"pushed_at":"2026-03-18T17:59:50.000Z","size":582,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"sutra","last_synced_at":"2026-03-18T22:54:22.037Z","etag":null,"topics":["ai-assistant","claude-code","cli","forms","memory-layer","productivity","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronjohnson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-22T00:12:09.000Z","updated_at":"2026-03-18T18:04:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aaronjohnson/advaita-smrti","commit_stats":null,"previous_names":["aaronjohnson/form-copilot","aaronjohnson/advaita-smrti"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/aaronjohnson/advaita-smrti","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjohnson%2Fadvaita-smrti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjohnson%2Fadvaita-smrti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjohnson%2Fadvaita-smrti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjohnson%2Fadvaita-smrti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronjohnson","download_url":"https://codeload.github.com/aaronjohnson/advaita-smrti/tar.gz/refs/heads/sutra","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjohnson%2Fadvaita-smrti/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","claude-code","cli","forms","memory-layer","productivity","python"],"created_at":"2026-04-02T14:46:40.937Z","updated_at":"2026-04-02T14:46:41.731Z","avatar_url":"https://github.com/aaronjohnson.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smrti\n\n\u003e स्मृति — \"that which is remembered\"\n\nNon-dual memory for structured knowledge elicitation. A\ntoolkit for completing multi-section applications with AI\ncollaboration, built around four typed memory stores.\n\n## Memory Types\n\n| Store | File | What it holds |\n|---|---|---|\n| **Procedural** | `tasks.jsonl` | Questions, dependencies, status |\n| **Episodic** | `decisions.jsonl` | Events, choices, rationale |\n| **Semantic** | `facts.jsonl` | Stable facts, preferences |\n| **Ephemeral** | `ephemeral/` | Session scratch (not persisted) |\n\nJSONL is the source of truth (git-friendly, append-only).\nSQLite is a regenerable index for fast queries.\n\n## Install\n\n```bash\npip install advaita-smrti          # core (no dependencies)\npip install advaita-smrti[mcp]     # with MCP server support\n```\n\n## Quick Start\n\n```bash\ncd my-project\nsmrti init                  # creates .memory/, .mcp.json, .claude/commands/\n# Restart Claude Code — 21 memory tools + 6 slash commands are ready\n```\n\nOr use the Python API directly:\n\n```python\nfrom smrti import Memory\n\nmem = Memory(\".memory\")\ntask = mem.tasks.create(\"Answer question\", description=\"...\")\nmem.tasks.close(task.id)\nmem.close()\n```\n\n## CLI\n\n```bash\nsmrti init                  # Set up memory in current project\nsmrti memory status         # Memory layer summary\nsmrti memory tasks          # List all tasks\nsmrti memory rebuild        # Repair index from JSONL\nsmrti memory compact        # Remove old JSONL versions\nsmrti --version             # Print version\n```\n\n## Create Your Own Config\n\nPaste any application into Claude:\n\n```\nHere are questions from my [grant / college app / form].\nCreate a smrti config JSON with sections, priorities,\nand helper text.\n\n[paste questions]\n```\n\nOr use `/smrti-config` in Claude Code. Validate with\n`python3 validate_config.py`.\n\n## What Makes This Different\n\nMost memory systems start from conversation. smrti starts\nfrom **structured forms**: sections, questions, dependencies,\npriorities. This gives it:\n\n- The form itself as procedural memory (no extraction needed)\n- Coherence checking across answers\n- Dependency-aware ordering\n- A clear \"done\" criterion\n\nMaps to grant applications, clinical intake, legal discovery,\ninsurance claims — anywhere humans complete complex multi-part\nforms with an AI collaborator.\n\n## Bench\n\nDoes memory actually help? smṛti-bench runs the same prompt battery\nagainst agents with and without memory tools, across platforms\n(Claude Code, Gemini, Antigravity). Scoring uses Answer Set\nProgramming (clingo) for declarative grading with cross-prompt\ncoherence and regression detection.\n\nSee [RFC 013](docs/rfcs/013-bench-rationale.md) for the full rationale.\n\n## Documentation\n\n- [CONFIG.md](docs/CONFIG.md) — Creating and validating configs\n- [WORKFLOW.md](docs/WORKFLOW.md) — CLI, Claude integration, files\n- [RFCs](docs/rfcs/) — Architecture decisions and specs\n\n## Inspirations and References\n\n- [beads](https://github.com/steveyegge/beads) — git-backed\n  task graphs\n- [quint-code](https://github.com/m0n0x41d/quint-code) —\n  decision reasoning trails\n- [ENGRAM](https://arxiv.org/abs/2511.12960) (Patel \u0026 Patel,\n  2026) — typed memory stores: episodic, semantic, procedural\n- [Memory in the Age of AI Agents](https://arxiv.org/abs/2512.13564)\n  (Hu et al., 2025) — survey and taxonomy\n- [Context Engineering: Sessions \u0026 Memory](https://www.kaggle.com/whitepaper-context-engineering-sessions-and-memory)\n  (Google, 2025) — whitepaper\n\n## See Also\n\n- [Zep](https://github.com/getzep/zep) — temporal knowledge\n  graphs for agent memory\n- [Letta](https://github.com/letta-ai/letta) — filesystem\n  memory that outperforms specialized systems\n- [Mem0](https://github.com/mem0ai/mem0) — structured\n  summarization and conflict resolution\n- [Pinecone](https://www.pinecone.io/) — vector database for\n  semantic retrieval\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE)\n\n---\n\n*advaita-smrti (अद्वैत-स्मृति) — the tool and the thinker\nare not separate.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjohnson%2Fadvaita-smrti","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronjohnson%2Fadvaita-smrti","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjohnson%2Fadvaita-smrti/lists"}