Releases: Loctree/aicx
v0.9.2
What's Changed
- Enhance intents handling with tests, fixes, and new features by @Szowesgad in #14
- fix(release): unblock v0.9.2 signing on all runners + path-aware pre-push by @Szowesgad in #15
- ci(release): fix Windows leg path-resolution (working-directory + custom shell) by @Szowesgad in #16
- ci(release): green all three build legs (windows shell, idempotent deb, tolerant keychain) by @Szowesgad in #17
- ci(release): tolerate python3 stubs and force bash for clean step by @Szowesgad in #18
Full Changelog: v0.9.1...v0.9.2
AICX v0.7.3
Added
- Unified multi-project scope handling across search, intents, semantic index,
MCP, dashboard, and doctor surfaces so operators can narrow to one or more
projects with the same contract everywhere.
Changed
aicx storeprogress output is now bounded and human-readable: structured
progress ticks remain machine-parseable while interactive terminals keep a
stable three-line status view instead of flooding logs.
Fixed
- Gemini JSONL extraction now treats
.jsonlfiles as session transcripts,
preservingsessionIdmetadata and allowingaicx allto ingest Gemini
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.
aicx v0.7.0
Added
- Context Corpus Contract for immutable
loct-context-packprism packs: sidecars now carryartifact_family,schema_version,truth_status,learning_use,keywords, andcontent_sha256;aicx ingest --source loct-context-pack <PACK_DIR>retains packs under$HOME/.aicx/context-corpus/...withindex.jsonl. aicx storewrites content hashes into sidecars and skips duplicate chunk bodies in the target bucket;aicx doctor --check-dedupreports duplicate content hashes across the live store and context corpus.aicx doctorsurfaces the context-corpus state as a first-class check (context_corpusfield onDoctorReport): reportsempty (will be created on first ingest)when the directory is absent,empty (no batches yet)when the tree exists but holds no chunks, or aN chunks across M batch(es) / R repo(s)summary when populated. Operators no longer need tols ~/.aicx/context-corpus/to confirm corpus existence.- New operator documentation
docs/CONTEXT_CORPUS.mdcovering the immutable-corpus contract: ingest source semantics,~/.aicx/context-corpus/<org>/<repo>/<date>/loct-context-pack/<batch>/{raw,sidecars,index.jsonl}retention layout, sidecar schema fields (artifact_family,schema_version,truth_status,content_sha256,keywords), immutability filter behavior (aicx intentsand live-truth semantic indexes excludeExample-role chunks), and the parallelcontext-corpus.embeddings.ndjsonmaterialization namespace. Cross-linked fromSTORE_LAYOUT.md,COMMANDS.md, andREADME.md. - 9-type intent taxonomy (
EntryTypeenum): Intent, Why, Argue, Decision, Assumption, Outcome, Result, Question, Insight — replaces the flat 4-kindIntentKind. - Intent entry state machine (
EntryStateenum): Proposed → Active → Done/Superseded/Contradicted with explicit lifecycle transitions. - Typed link graph (
LinkType+Link): DerivedFrom, Supersedes, Verifies, Contradicts, Supports, ResultsIn, Answers, LinksTo — first-class relations between intent entries. IntentEntrystruct intypes.rswith stable deterministic IDs, confidence scoring, topic tags, and cross-project linking.classify_chunk_entries()— per-chunk classifier covering all 9 types with marker-based and NL-pattern heuristics; abstain-first (confidence < 0.5 = skip).- Session-level post-processing: unresolved intent detection (7-day threshold), supersedes chain detection (same topic, newer date), contradicted assumption detection (Result + failure words), insight-to-source
DerivedFromlinking (top-3 in session). intent_entriesfield onChunkMetadataSidecarfor sidecar-level intent storage (backward compatible: empty Vec default).aicx migrate-intent-schemaCLI subcommand with--dry-run(default) for classification count reports per-type and per-project.- 25 new unit tests: 20 classifier tests (per-type + abstain + all-9 chunk + deterministic IDs + tag inference), 5 session-level tests (supersedes, contradicted, insight linking, unresolved threshold, recent not tagged).
Changed
aicx intentsand semantic index writes exclude immutableloct-context-packexamples from the live-truth namespace; context-corpus embeddings materialize to a separatecontext-corpus.embeddings.ndjsonnamespace.- 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.
- Compatibility validation runs before file scanning in
memex-sync, failing fast on config mismatches. claude,codex,all, andstorenow use watermark-tracked incremental refresh by default.--full-rescanis the explicit escape hatch for backfills, while legacy--incrementalis accepted as a hidden no-op with a deprecation notice.aicx dashboardnow owns both static HTML generation and live serving.dashboard-serveis kept as a hidden compatibility shim while public help/doc surfaces point toaicx dashboard --serve, including explicit--allow-cors-originspolicies for non-loopback binds and--bgbackground launch.aicx reports-extractoris renamed toaicx reports, with default HTML output moved under~/.aicx/to avoid polluting the current working directory.
Fixed
- Test isolation: source extraction tests use unique temp directories per test to prevent cross-test interference on parallel runs.
Artifact note
aicx-v0.7.0-aarch64-apple-darwin-slim-unsigned.tar.gzis the installer-compatible macOS arm64 bundle with adjacent SHA-256 checksum.aicx-v0.7.0-aarch64-apple-darwin-slim-signed.zipcontains Apple Developer ID codesigned binaries foraicxandaicx-mcpwith hardened runtime. Notarization is not attached because Apple notary returned HTTP 403: a required Apple Developer agreement is missing or expired.
aicx v0.6.5
What's in 0.6.5
- noise filter rollout — sentence-aware truncation, signal-block coverage, sidecar counter, doctor
noise_healthmetric, opt-out via--no-noise-filterand config - intents engine — dedup truth + metadata-noise filter; richer 9-type intent taxonomy + typed link graph + session-level post-processing
- extract command — session-mode for grouped session extraction
- Oracle provenance + readiness reporting — surface verifier signal +
aicx doctorhealth metric extension - corpus protection — source-truth invariants + repair manifests
- release flow — new
release-bundle-only-binariesMakefile target produces unsigned tarballs for thevibecraftedfoundations bundler chain
Install
Direct binary (recommended on macOS arm64)
curl -fsSL -o aicx-v0.6.5-aarch64-apple-darwin-slim-unsigned.tar.gz \
https://github.com/Loctree/aicx/releases/download/v0.6.5/aicx-v0.6.5-aarch64-apple-darwin-slim-unsigned.tar.gz
shasum -a 256 -c <(curl -fsSL https://github.com/Loctree/aicx/releases/download/v0.6.5/aicx-v0.6.5-aarch64-apple-darwin-slim-unsigned.tar.gz.sha256)
tar -xzf aicx-v0.6.5-aarch64-apple-darwin-slim-unsigned.tar.gz
./aicx-v0.6.5-aarch64-apple-darwin-slim-unsigned/install.shThe bundle is unsigned — macOS Gatekeeper will require explicit allow on first run. A signed + notarized variant lands via make release-bundle KEYS=... for users who maintain their own signing keys.
Via vibecrafted foundations installer
curl -fsSL https://vibecrafted.dev/install.sh | bashThe foundations installer in vibecrafted resolves this asset automatically (AICX_REPO=Loctree/aicx).
Notes for cargo install users
aicx 0.6.0 on crates.io remains available but is architecturally constrained — the current source tree binds directly to a local rust-memex workspace that is not (yet) on crates.io, so we do not publish 0.6.5 to crates.io. New users get the latest aicx via this GH release; users who pinned 0.6.0 from crates.io continue to work but will not receive 0.6.5 features without switching install path.
Sha256
Captured in the .sha256 sidecar attached to this release.
Authored-By: claude agents@vetcoders.io