You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context Corpus Contract for immutable loct-context-pack prism packs: sidecars now carry artifact_family, schema_version, truth_status, learning_use, keywords, and content_sha256; aicx ingest --source loct-context-pack <PACK_DIR> retains packs under $HOME/.aicx/context-corpus/... with index.jsonl.
aicx store writes content hashes into sidecars and skips duplicate chunk bodies in the target bucket; aicx doctor --check-dedup reports duplicate content hashes across the live store and context corpus.
aicx doctor surfaces the context-corpus state as a first-class check (context_corpus field on DoctorReport): reports empty (will be created on first ingest) when the directory is absent, empty (no batches yet) when the tree exists but holds no chunks, or a N chunks across M batch(es) / R repo(s) summary when populated. Operators no longer need to ls ~/.aicx/context-corpus/ to confirm corpus existence.
New operator documentation docs/CONTEXT_CORPUS.md covering 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 intents and live-truth semantic indexes exclude Example-role chunks), and the parallel context-corpus.embeddings.ndjson materialization namespace. Cross-linked from STORE_LAYOUT.md, COMMANDS.md, and README.md.
intent_entries field on ChunkMetadataSidecar for sidecar-level intent storage (backward compatible: empty Vec default).
aicx migrate-intent-schema CLI 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 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.
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.
aicx reports-extractor is renamed to aicx 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.gz is the installer-compatible macOS arm64 bundle with adjacent SHA-256 checksum.
aicx-v0.7.0-aarch64-apple-darwin-slim-signed.zip contains Apple Developer ID codesigned binaries for aicx and aicx-mcp with hardened runtime. Notarization is not attached because Apple notary returned HTTP 403: a required Apple Developer agreement is missing or expired.