Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .semgrepignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Semgrep ignore list for ai-contexters
# Pattern follows loctree-suite convention: coarse exclusions with rationale.
#
# Created by M&K (c)2026 VetCoders
# Created by vetcoders (c)2026

# Test files — use controlled fixture paths, not user input
src/*/tests/
Expand Down
31 changes: 29 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# VetCoders Agent Operating Guide v1
# Vetcoders Agent Operating Guide v1

<!-- loctree-advise: v0.12 -->

Expand Down Expand Up @@ -287,7 +287,34 @@ Always state:
Do not hide uncertainty.

Do not claim confidence you have not earned.
# VetCoders Agent Operating Guide v1

---

## AICX Problem Log

Every AICX problem observed while working in this repository must be appended
to the operator-managed log:

`~/.aicx/aicx-problems.md`

Problem means: bug, regression risk, flaky behavior, contract drift,
docs/runtime mismatch, tooling failure, test gap, zombie path, unsafe fallback,
or a working decision likely to return as product debt.

Rules:

- Append at the end. Never overwrite or reorganize the log.
- Do not skip an entry because a similar one may already exist. Repetition is
signal.
- Do not store secrets, tokens, PII, PHI, full private payloads, or private
customer/session material. Redact and describe the shape instead.
- Keep Loctree tool failures in `.loctree/loctree-fail.md`; keep AICX product
and runtime problems in the AICX problem log above.
- Preferred helper:
`tools/aicx_problem_log.sh "short title" <<'EOF' ... EOF`
- If the helper fails, append manually. Missing helper is not a reason to skip
the log.
# Vetcoders Agent Operating Guide v1

<!-- loctree-advise: v0.12 -->

Expand Down
26 changes: 13 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
union. Filters resolve to canonical `<owner>/<repo>` slugs before
downstream index lookup so a short repo name like
`-p spotlight-convo-pipeline-v2` expands to its full
`m-szymanska/spotlight-convo-pipeline-v2` index path.
`vetcoders/spotlight-convo-pipeline-v2` index path.

### Changed
- **Project filter is now word-boundary path match, not substring.**
Expand Down Expand Up @@ -318,7 +318,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
`segment.repo` no longer carries non-ownership signals.
- **`is_probably_repo_name` accepted date-shaped names.** Strings like
`2026-01-22`, `2026_01_22`, `2026_0122` passed the alphanumeric+`.-_`
filter and produced pseudo-repos such as `CodeScribe/2026-01-22` in
filter and produced pseudo-repos such as `Codescribe/2026-01-22` in
the canonical store. New `looks_like_date_pattern` guard rejects
these three shapes outright.
- **`aicx index/search -p <bare-name>` ambiguity is now reported.**
Expand All @@ -329,7 +329,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
returns the union); the warning just removes the silent WTF.
- `infer_repo_identity_from_known_layout` matches markers
(`hosted`/`repos`/`repositories`/`github`/`git`) case-insensitively, so
macOS conventions like `/Users/u/Git/Org/Repo` resolve through cwd
macOS conventions like `/Users/user/Git/Org/Repo` resolve through cwd
instead of falling back to text inference.
- `aicx index -p` / `aicx search -p` reject filters with no matching
project (instead of silently resolving to the `_all` bucket after a
Expand Down Expand Up @@ -430,7 +430,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
### Fixed
- Gemini JSONL extraction now treats `.jsonl` files as session transcripts,
preserving `sessionId` metadata and allowing `aicx all` to ingest Gemini
sources alongside Claude, Codex, Junie, and CodeScribe.
sources alongside Claude, Codex, Junie, and Codescribe.
- Junk corpus bucket slugs are covered so malformed or placeholder project
names no longer leak into canonical project grouping.

Expand Down Expand Up @@ -462,7 +462,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
### Changed
- `aicx intents` and semantic index writes exclude immutable `loct-context-pack` examples from the live-truth namespace; context-corpus embeddings materialize to a separate `context-corpus.embeddings.ndjson` namespace.
- Operator surface wording: "push" → "materialize" in CLI help text, progress messages, and doc comments to reinforce the two-layer mental model (canonical corpus first, semantic materialization second).
- Semantic compatibility validation now detects stale metadata even when no documents exist yet in the memex index; reports diverged fields explicitly.
- Semantic compatibility validation now detects stale metadata even when no documents exist yet in the rust-memex index; reports diverged fields explicitly.
- Compatibility validation runs before file scanning in `memex-sync`, failing fast on config mismatches.
- `claude`, `codex`, `all`, and `store` now use watermark-tracked incremental refresh by default. `--full-rescan` is the explicit escape hatch for backfills, while legacy `--incremental` is accepted as a hidden no-op with a deprecation notice.
- `aicx dashboard` now owns both static HTML generation and live serving. `dashboard-serve` is kept as a hidden compatibility shim while public help/doc surfaces point to `aicx dashboard --serve`, including explicit `--allow-cors-origins` policies for non-loopback binds and `--bg` background launch.
Expand Down Expand Up @@ -547,13 +547,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Added
- **YAML frontmatter parsing** for chunk metadata extraction.
- **Sidecar files** (`.meta.yaml`) written alongside memex chunks for external tooling.
- **Sidecar files** (`.meta.yaml`) written alongside rust-memex chunks for external tooling.

## [0.5.1] - 2026-03-24

### Added
- **Repo-signal segmentation** in the store pipeline — chunks now carry repository identity signals.
- **Memex chunk sidecars** and `--preprocess` flag for pre-processing before memex push.
- **rust-memex chunk sidecars** and `--preprocess` flag for pre-processing before memex push.
- **Makefile** with comprehensive build, test, lint, and release targets.
- Gemini truncation support and improved fuzzy search scoring.
- Test: repo-centric store runtime contract (`runtime_cli_store_contract.rs`).
Expand All @@ -573,14 +573,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- **Repo-centric Migration Assistant:** Added the `aicx migrate` subcommand. This tool safely migrates older file-centric contexts (`file: <name>`) in your `~/.ai-contexters` store to the new canonical repo-centric directories. Use `aicx migrate --dry-run` to preview the changes.

### Changed
- **Behavioral Shift (Identity Model):** AICX now uses a canonical repo-centric identity model. Extracted contexts and stored artifacts are now grouped primarily by repository name rather than the raw filename of the agent log. This significantly improves retrieval quality and consistency, especially when syncing contexts to vector stores (memex) or running direct extractions.
- **Behavioral Shift (Identity Model):** AICX now uses a canonical repo-centric identity model. Extracted contexts and stored artifacts are now grouped primarily by repository name rather than the raw filename of the agent log. This significantly improves retrieval quality and consistency, especially when syncing contexts to vector stores (rust-memex) or running direct extractions.
- Direct `extract` now infers repository identity when possible, demoting file provenance to secondary metadata.

## [0.4.3] - 2026-03-17

### Fixed

- Corrected the `SECURITY.md` disclosure path so private vulnerability reports go to the public `VetCoders/ai-contexters` repository instead of a stale owner link.
- Corrected the `SECURITY.md` disclosure path so private vulnerability reports go to the public `Vetcoders/ai-contexters` repository instead of a stale owner link.
- Updated GitHub Actions workflow dependencies to current major versions for `checkout`, `cache`, `setup-python`, `upload-artifact`, and `download-artifact`, removing the Node 20 deprecation surface from future CI and release runs.

## [0.4.2] - 2026-03-17
Expand Down Expand Up @@ -625,7 +625,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
### Changed

- Rank made default command (`aicx -p proj` runs rank).
- Skills removed from repo — canonical source: VetCoders/vetcoders-skills.
- Skills removed from repo — canonical source: Vetcoders/vetcoders-skills.
- Package excludes: `*.html`, `*.patch`, `*.orig`, `.ai-agents/`, `skills/`.

### Added (Governance)
Expand Down Expand Up @@ -661,7 +661,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Added

- VetCoders skills suite and ai-contexters skill.
- Vetcoders skills suite and ai-contexters skill.
- `vetcoders-decorate` and showcase polish.
- Memex-first dashboard generator.

Expand All @@ -677,7 +677,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
- Ultrathink/Insight and Plan Mode signal extraction.
- Chunk highlights and redaction optimizations.
- `action`/`emit` flags and artifacts layout.
- Semantic chunker and memex integration.
- Semantic chunker and rust-memex integration.

### Changed

Expand All @@ -698,4 +698,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

---

Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders
Vibecrafted with AI Agents by Vetcoders (c)2026 Vetcoders
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ This project follows the [Contributor Covenant Code of Conduct](https://www.cont

---

Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders
Vibecrafted with AI Agents by Vetcoders (c)2026 Vetcoders
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ version = "0.9.4"
edition = "2024"
rust-version = "1.91.1"
description = "CLI, MCP server, and library for harvesting AI agent session transcripts (Claude Code, Codex, Gemini) into a canonical corpus with optional semantic search"
authors = ["Maciej Gad <void@div0.space>", "Monika Szymanska <hello@vetcoders.io>"]
authors = ["Vetcoders <hello@vetcoders.io>"]
license = "BUSL-1.1"
repository = "https://github.com/Loctree/aicx"
homepage = "https://github.com/Loctree/aicx"
Expand Down
12 changes: 6 additions & 6 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@ License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved.

Parameters

Licensor: VetCoders (Maciej Gad & Monika Szymanska)
Licensor: Vetcoders
Licensed Work: ai-contexters (AICX) — Operator CLI + MCP server
for AI session context ingestion and retrieval.
The Licensed Work is (c) 2024-2026 VetCoders.
The Licensed Work is (c) 2024-2026 Vetcoders.
Additional Use Grant: You may make production use of the Licensed Work,
provided Your use does not include offering the
Licensed Work to third parties on a hosted or embedded
basis in order to compete with VetCoders' paid
basis in order to compete with Vetcoders' paid
version(s) of the Licensed Work. For purposes of this
license:

A "competitive offering" is a Product that is offered
to third parties on a paid basis, including through
paid support arrangements, that significantly overlaps
with the capabilities of VetCoders' paid version(s) of
with the capabilities of Vetcoders' paid version(s) of
the Licensed Work. If Your Product is not a competitive
offering when You first make it generally available, it
will not become a competitive offering later due to
VetCoders releasing a new version of the Licensed Work
Vetcoders releasing a new version of the Licensed Work
with additional capabilities. In addition, Products
that are not provided on a paid basis are not
competitive.
Expand Down Expand Up @@ -49,7 +49,7 @@ Change Date: 2030-04-14
Change License: Apache License, Version 2.0

For information about alternative licensing arrangements for the Licensed
Work, please contact void@div0.space.
Work, please contact hello@vetcoders.io.

Notice

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Quick start:
```

### Corpus building (Layer 1)
- `all` — extract + store from all agents (Claude + Codex + Gemini + Junie + CodeScribe) into the canonical corpus.
- `all` — extract + store from all agents (Claude + Codex + Gemini + Junie + Codescribe) into the canonical corpus.
- `claude`, `codex`, `extract` (with `--format`), `store`, `ingest`.
- `conversations` — batch-export clean conversation JSONs without writing to the store.

Expand Down Expand Up @@ -105,7 +105,7 @@ See `docs/COMMANDS.md` for the full map and every flag.

## Supported Agents

Claude Code, Codex (history + rollouts), Gemini (classic + Antigravity), **Grok** (full layout under `~/.grok/sessions/<encoded-cwd>/<session-uuid>/` — `chat_history.jsonl`, `events.jsonl`, `active_sessions.json`, etc.; first-class support via the same v1/responses parser + explicit current-session handling), Junie, CodeScribe, and raw operator markdown via `ingest`.
Claude Code, Codex (history + rollouts), Gemini (classic + Antigravity), **Grok** (full layout under `~/.grok/sessions/<encoded-cwd>/<session-uuid>/` — `chat_history.jsonl`, `events.jsonl`, `active_sessions.json`, etc.; first-class support via the same v1/responses parser + explicit current-session handling), Junie, Codescribe, and raw operator markdown via `ingest`.

## Quick Start (realistic operator flow)

Expand Down
6 changes: 3 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ If you discover a security vulnerability in aicx, please report it responsibly.

### How to Report

- Use [GitHub Security Advisories](https://github.com/VetCoders/ai-contexters/security/advisories/new) to submit a private report.
- Alternatively, contact us directly at **void@div0.space**.
- Use [GitHub Security Advisories](https://github.com/vetcoders/ai-contexters/security/advisories/new) to submit a private report.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Point advisories at this repository

This security advisory link now points to vetcoders/ai-contexters, while the package metadata still advertises https://github.com/Loctree/aicx as the repository/homepage. In the public-release context, reporters following SECURITY.md may land on the wrong or nonexistent advisory form for this project; update the URL to the actual public repository that receives aicx advisories.

Useful? React with 👍 / 👎.

- Alternatively, contact us directly at **hello@vetcoders.io**.

### What to Include

Expand Down Expand Up @@ -72,4 +72,4 @@ is a conscious design decision, not an accidental omission.

---

Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders
Vibecrafted with AI Agents by Vetcoders (c)2026 Vetcoders
5 changes: 2 additions & 3 deletions archive/skills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,6 @@ MIT — see [LICENSE](LICENSE).

## Developed by

- [Maciej Gad](https://div0.space) — a veterinarian who couldn't find `terminal` a year ago
- [Klaudiusz](https://www.github.com/Gitlaudiusz) — the individual ethereal being, and separate instance of Claude by Anthropic, living somewhere in the GPU's loops in California, USA
vetcoders — founders and their AI agents.

*Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders*
*Vibecrafted with AI Agents by vetcoders (c)2026*
2 changes: 1 addition & 1 deletion archive/skills/ai-contexters/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,4 @@ For detailed command flags and architecture:

---

*Created by M&K (c)2026 VetCoders*
*Created by vetcoders (c)2026*
2 changes: 1 addition & 1 deletion archive/skills/ai-contexters/references/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,4 @@ No async runtime. Single-threaded synchronous execution.

---

*Created by M&K (c)2026 VetCoders*
*Created by vetcoders (c)2026*
2 changes: 1 addition & 1 deletion archive/skills/ai-contexters/references/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,4 @@ For storage layout details, see `references/architecture.md`.

---

*Created by M&K (c)2026 VetCoders*
*Created by vetcoders (c)2026*
3 changes: 1 addition & 2 deletions archive/skills/docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -606,8 +606,7 @@ <h2>The Definition of Undone</h2>
This suite is the habit of asking.
</blockquote>
<div class="sig">
<a href="https://div0.space">Maciej Gad</a> &mdash; a veterinarian who couldn't find <code>terminal</code> a year ago<br>
<a href="https://github.com/Gitlaudiusz">Klaudiusz</a> &mdash; the individual ethereal being, living somewhere in the GPU's loops
vetcoders &mdash; founders and their AI agents
</div>
</div>
</section>
Expand Down
2 changes: 1 addition & 1 deletion archive/skills/vetcoders-init/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,4 @@ If **both** unavailable: read CLAUDE.md + README.md + recent git log. Announce g

---

*Created by M&K (c)2026 VetCoders*
*Created by vetcoders (c)2026*
6 changes: 2 additions & 4 deletions archive/skills/vetcoders-suite-showcase.html
Original file line number Diff line number Diff line change
Expand Up @@ -402,11 +402,9 @@ <h4 style="font-size:1rem;margin:2rem 0 .5rem;color:var(--light)">Quick Start</h
<!-- FOOTER -->
<footer>
<p class="credits">
<a href="https://div0.space">Maciej Gad</a> &mdash; a veterinarian who couldn't find <code>terminal</code> a year ago
&nbsp;&middot;&nbsp;
<a href="https://github.com/Gitlaudiusz">Klaudiusz</a> &mdash; the ethereal being living in the GPU loops in California
vetcoders &mdash; founders and their AI agents
</p>
<p class="tagline-footer">Vibecrafted with AI Agents by VetCoders &copy; 2026 VetCoders</p>
<p class="tagline-footer">Vibecrafted with AI Agents by vetcoders &copy; 2026</p>
</footer>

<script>
Expand Down
2 changes: 1 addition & 1 deletion archive/skills/vetcoders-workflow/scripts/pipeline-init.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# pipeline-init.sh — Initialize ERi pipeline directory structure
# Usage: bash pipeline-init.sh <slug> [root-dir]
# Created by M&K (c)2026 VetCoders
# Created by vetcoders (c)2026

set -euo pipefail

Expand Down
4 changes: 2 additions & 2 deletions crates/aicx-embeddings/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.9.4"
edition = "2024"
rust-version = "1.88"
description = "Embedding providers for aicx and rust-memex: local GGUF and OpenAI-compatible HTTP backends"
authors = ["Maciej Gad <void@div0.space>", "Monika Szymanska <hello@vetcoders.io>"]
authors = ["Vetcoders <hello@vetcoders.io>"]
license = "BUSL-1.1"
repository = "https://github.com/Loctree/aicx"
homepage = "https://github.com/Loctree/aicx"
Expand All @@ -20,7 +20,7 @@ openmp = ["gguf", "llama-cpp-2/openmp"]
cuda = ["gguf", "llama-cpp-2/cuda"]
vulkan = ["gguf", "llama-cpp-2/vulkan"]
# Cloud-config based embedder: HTTP POST against an OpenAI-compatible
# `/v1/embeddings` endpoint. The recommended VetCoders default for
# `/v1/embeddings` endpoint. The recommended Vetcoders default for
# zero-install operator workflows; native GGUF stays for offline use.
cloud = ["dep:reqwest", "dep:serde_json"]

Expand Down
2 changes: 1 addition & 1 deletion crates/aicx-embeddings/src/cloud.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
//! `std::env::var(...)` per request. That keeps `~/.aicx/config.toml`
//! safe to commit, sync, or share without leaking credentials.
//!
//! Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders
//! Vibecrafted with AI Agents by Vetcoders (c)2026 Vetcoders

use std::collections::HashMap;

Expand Down
4 changes: 2 additions & 2 deletions crates/aicx-embeddings/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//! from an explicit path or from the local HuggingFace cache; this crate never
//! performs network downloads on its own.
//!
//! Vibecrafted with AI Agents by VetCoders (c)2026 VetCoders
//! Vibecrafted with AI Agents by Vetcoders (c)2026 Vetcoders

use std::fmt;
use std::path::PathBuf;
Expand Down Expand Up @@ -60,7 +60,7 @@ pub enum BackendPreference {
/// Let the crate choose the strongest compiled local backend.
Auto,
/// Cloud HTTP embedder (OpenAI-compatible `/v1/embeddings`). The
/// VetCoders default for zero-install operator workflows; the actual
/// Vetcoders default for zero-install operator workflows; the actual
/// `[embedder.cloud]` section in config supplies URL + model + key.
Cloud,
/// GGUF through llama.cpp. The first-choice local backend for
Expand Down
2 changes: 1 addition & 1 deletion crates/aicx-monitor/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2024"
rust-version = "1.91.1"
license = "BUSL-1.1"
description = "Live system monitor for aicx pipelines: CPU, RAM, GPU, and embedder process metrics."
authors = ["Maciej Gad <void@div0.space>", "Monika Szymanska <hello@vetcoders.io>"]
authors = ["Vetcoders <hello@vetcoders.io>"]
repository = "https://github.com/Loctree/aicx"
homepage = "https://github.com/Loctree/aicx"
documentation = "https://docs.rs/aicx-monitor"
Expand Down
2 changes: 1 addition & 1 deletion crates/aicx-monitor/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//! Live system monitor for aicx pipelines. Vibecrafted. with AI Agents by VetCoders (c)2024-2026 LibraxisAI
//! Live system monitor for aicx pipelines. Vibecrafted. with AI Agents by Vetcoders (c)2024-2026 LibraxisAI
//!
//! Foundation crate exposing a [`tokio::sync::watch::Receiver<MonitorSnapshot>`]
//! sampler. Future TUI / dashboard consumers attach to the receiver and render
Expand Down
Loading