{"id":46740027,"url":"https://github.com/karmaniverous/jeeves-meta","last_synced_at":"2026-04-05T07:01:32.502Z","repository":{"id":342968071,"uuid":"1175784014","full_name":"karmaniverous/jeeves-meta","owner":"karmaniverous","description":"Knowledge synthesis engine for the Jeeves platform. Discovers .meta/ directories, gathers context from files and vector search, and produces structured synthesis artifacts via a three-step LLM pipeline (architect, builder, critic).","archived":false,"fork":false,"pushed_at":"2026-04-02T01:41:48.000Z","size":1433,"stargazers_count":0,"open_issues_count":20,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-03T01:42:43.033Z","etag":null,"topics":["ai-agent","fastify","jeeves","knowledge-synthesis","llm","metadata","openclaw","qdrant","typescript","vector-search"],"latest_commit_sha":null,"homepage":"https://docs.karmanivero.us/jeeves-meta/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karmaniverous.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-03-08T06:49:56.000Z","updated_at":"2026-04-02T01:41:47.000Z","dependencies_parsed_at":"2026-03-10T18:01:13.035Z","dependency_job_id":null,"html_url":"https://github.com/karmaniverous/jeeves-meta","commit_stats":null,"previous_names":["karmaniverous/jeeves-synth","karmaniverous/jeeves-meta"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/karmaniverous/jeeves-meta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmaniverous%2Fjeeves-meta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmaniverous%2Fjeeves-meta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmaniverous%2Fjeeves-meta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmaniverous%2Fjeeves-meta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karmaniverous","download_url":"https://codeload.github.com/karmaniverous/jeeves-meta/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmaniverous%2Fjeeves-meta/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31427386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: 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-agent","fastify","jeeves","knowledge-synthesis","llm","metadata","openclaw","qdrant","typescript","vector-search"],"created_at":"2026-03-09T17:19:23.759Z","updated_at":"2026-04-05T07:01:32.484Z","avatar_url":"https://github.com/karmaniverous.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jeeves-meta\n\nKnowledge synthesis engine for the Jeeves platform. Transforms raw data archives into concise, queryable meta-analyses through a three-step LLM pipeline: **Architect** → **Builder** → **Critic**.\n\n## Overview\n\njeeves-meta is an HTTP service that discovers `.meta/` directories via the jeeves-watcher filesystem walk endpoint (`POST /walk`), builds an ownership tree, and schedules synthesis cycles based on weighted staleness. Each cycle:\n\n1. **Architect** — analyzes data shape and crafts a task brief with search strategies\n2. **Builder** — executes the brief, queries the semantic index, and produces a synthesis\n3. **Critic** — spot-checks claims, evaluates against steering prompts, and provides feedback\n\nResults are written to `.meta/meta.json` files with full archive history, enabling self-improving feedback loops.\n\nMetas can declare explicit cross-references (`_crossRefs`) to other metas, forming a heterarchical mesh that enables organizational views across source domains.\n\n## Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@karmaniverous/jeeves-meta`](packages/service/README.md) | HTTP service — Fastify API, built-in scheduler, synthesis queue, CLI |\n| [`@karmaniverous/jeeves-meta-openclaw`](packages/openclaw/README.md) | OpenClaw plugin — thin HTTP client, interactive tools, TOOLS.md injection |\n\n## Architecture\n\n![Service Architecture](diagrams/assets/service-architecture.png)\n\n- **jeeves-meta service** runs as a standalone HTTP service (NSSM/systemd/launchd)\n- **Built-in scheduler** (croner-based) discovers stale candidates and enqueues them\n- **GatewayExecutor** spawns LLM sessions via the OpenClaw gateway `/tools/invoke` endpoint\n- **jeeves-watcher** provides filesystem enumeration (`POST /walk`) and hosts virtual inference rules\n- **OpenClaw plugin** is a thin HTTP client — all logic lives in the service\n\n## Synthesis Data Flow\n\n![Data Flow](diagrams/assets/data-flow.png)\n\n## Quick Start\n\n### Install and start the service\n\n```bash\nnpm install -g @karmaniverous/jeeves-meta\n\n# Print NSSM/systemd/launchd install instructions\njeeves-meta service install --config /path/to/jeeves-meta.config.json\n\n# Or start directly\njeeves-meta start --config /path/to/jeeves-meta.config.json\n```\n\n### CLI commands\n\n```bash\njeeves-meta status                    # service health + queue state\njeeves-meta list                      # list all metas with summary\njeeves-meta detail \u003cpath\u003e             # full detail for a single meta\njeeves-meta preview                   # dry-run next synthesis\njeeves-meta synthesize                # enqueue synthesis\njeeves-meta seed \u003cpath\u003e               # create .meta/ for a new path\njeeves-meta unlock \u003cpath\u003e             # remove stale .lock file\njeeves-meta config                    # query active config (supports JSONPath)\njeeves-meta service start|stop|status|install|remove\n```\n\n### As an OpenClaw plugin\n\nInstall the plugin package. Eight tools become available to the agent:\n\n- `meta_list` — list metas with summary stats and filtering\n- `meta_detail` — full detail for a single meta with optional archive history\n- `meta_trigger` — manually trigger synthesis (enqueues work)\n- `meta_preview` — dry-run showing what inputs would be gathered\n- `meta_seed` — create `.meta/` directory for a new path (with optional cross-refs and steer)\n- `meta_unlock` — remove stale `.lock` from a meta entity\n- `meta_config` — query service configuration with optional JSONPath\n- `meta_queue` — queue management: list pending, clear queue, abort current synthesis\n\n## Configuration\n\nMinimal config (built-in prompts, default schedule):\n\n```json\n{\n  \"watcherUrl\": \"http://localhost:1936\",\n  \"gatewayUrl\": \"http://127.0.0.1:18789\",\n  \"gatewayApiKey\": \"your-api-key\"\n}\n```\n\nFull example with all optional fields:\n\n```json\n{\n  \"watcherUrl\": \"http://localhost:1936\",\n  \"gatewayUrl\": \"http://127.0.0.1:18789\",\n  \"gatewayApiKey\": \"your-api-key\",\n  \"defaultArchitect\": \"@file:prompts/architect.md\",\n  \"defaultCritic\": \"@file:prompts/critic.md\",\n  \"port\": 1938,\n  \"schedule\": \"*/30 * * * *\",\n  \"reportChannel\": \"C0AK9D0GL5A\",\n  \"metaProperty\": { \"_meta\": \"current\" },\n  \"metaArchiveProperty\": { \"_meta\": \"archive\" },\n  \"logging\": { \"level\": \"info\" }\n}\n```\n\nSee the [Configuration Guide](packages/service/guides/configuration.md) for all fields and defaults.\n\n## Development\n\n```bash\nnpm install\nnpm run build       # build both packages\nnpm run lint        # lint both packages\nnpm run typecheck   # typecheck both packages\nnpm test            # run all tests\nnpm run knip        # detect unused exports/deps\nnpm run docs        # generate TypeDoc documentation\n```\n\n## Documentation\n\n- **[Service Guides](packages/service/guides/index.md)** — concepts, configuration, orchestration, scheduling, architecture\n- **[CLI Reference](packages/service/guides/cli.md)** — all CLI commands with usage\n- **[Plugin Guides](packages/openclaw/guides/index.md)** — setup, tools reference, virtual rules, TOOLS.md injection\n\n## License\n\nBSD-3-Clause\n\n---\n\nBuilt for you with ❤️ on Bali by [Jason Williscroft](https://github.com/karmaniverous) \u0026 [Jeeves](https://github.com/jgs-jeeves).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmaniverous%2Fjeeves-meta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarmaniverous%2Fjeeves-meta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmaniverous%2Fjeeves-meta/lists"}