Releases: cdeust/Cortex
Releases · cdeust/Cortex
v3.15.1 — community-reported fixes
- release: v3.15.1 — community-reported fixes (#16 #17 #18 #19 #20)
- fix(docker): use
python -m mcp_serverentrypoint (#19) - style: ruff format engineer-fix tests (CI fix)
- fix(hooks): auto_recall queries effective_heat not non-existent heat column (issue #20)
- fix(handlers): remember/recall/get_telemetry return dict not str (issue #17)
- fix(shared): cross-platform path normalization in project_ids (issue #18)
- fix(seed): scope delete_memories_by_tag to domain (issue #16)
- chore: drop axonovia-cto-interview-prep.md from repo (private prep, not project doc)
- docs: Axonovia CTO interview prep (Friday call)
What's Changed
- fix(docker): use
python -m mcp_serverentrypoint by @PSGSupport in #19
New Contributors
- @PSGSupport made their first contribution in #19
Full Changelog: v3.15.0...v3.15.1
v3.15.0 — Verification campaign + arXiv-ready papers
- release: v3.15.0 — E1 v3 verification campaign + arXiv-ready papers + BEAM-10M harness
- style: drop unused id_to_cond local in judge.py (CI fix)
- style: ruff check --fix unused imports in BEAM-10M harness (CI fix)
- style: ruff format BEAM-10M harness + tests (CI fix)
- feat(verif): wire BEAM-10M head-to-head live mode (smoke pending API keys)
- feat(verif): BEAM-10M LLM head-to-head harness scaffold (Stage 0)
- docs: profile README draft points AI Architect to website not archived repo
- docs(paper): arXiv submission readiness — refresh both papers + endorsement template
- fix(paper): recompile with bibtex pass — all 45 citations now resolve
- docs(verif): E1 v3 LoCoMo post-plasticity-fix integration — paper §6.3 third pass + README/CLAUDE.md sync
- docs: profile README draft for cdeust/cdeust (controls AI Overview narrative)
- style: ruff format run_e1_v3_locomo.py (CI fix)
- chore(verif): redirect LoCoMo driver to locomo_v3_post_plasticity_fix output
- docs(paper): add compiled thermodynamic memory paper PDF (26 pages)
- docs(paper): compile thermodynamic memory paper PDF (26 pages)
- docs(paper): §6.3 second pass — LoCoMo subsection + plasticity-fix narrative
- feat(verif): E1 v3 LoCoMo ablation results — 14-row two-baseline evidence
- fix(verif): apply_hebbian_update preserves result-shape contract on ablation
- style: ruff format + remove unused imports (CI fix)
- fix(backfill): discover_files walks all four session layouts (issue #15)
- docs(verif): integrate E1 v3 LME-S evidence into §6.3 + cadence-fix narrative
- feat(verif): E1 v3 LoCoMo driver — 14-row two-baseline sweep
- fix(verif): consolidation cadence uses ingested_at instead of wall-clock created_at
- feat(verif): --ablate + --with-consolidation flags for LoCoMo harness
- feat(verif): VADER -> user_mood EMA hook in remember (closes MOOD_CONGRUENT signal gap)
- feat(verif): E1 v3 LME-S per-category delta analysis (mechanism specialization)
- fix(verif): user_mood DDL comment semicolon + test uses dominant beta
- feat(verif): E1 v3 LongMemEval-S ablation results — 17-row evidence dataset
- feat(verif): wire PgMemoryStore.get_user_mood for MOOD_CONGRUENT_RERANK
- feat(verif): blend-weight calibration results — six engineering defaults stand
- feat(verif): --with-consolidation flag for LongMemEval-S harness
- feat(verif): wire RECONSOLIDATION into recall post-retrieval path (Nader 2000)
- chore(verif): harness dirty-check ignores submodule internal state
- chore(verif): finalize E1 v2 ablation archive + match harness dirty-check to pre-reg
- feat(verif): blend-weight calibration infrastructure + pre-registration
- feat(verif): wire EMOTIONAL_RETRIEVAL + MOOD_CONGRUENT_RERANK as live read-path stages
- fix(verif): extend query-entity resolution to natural-language tokens (engineer follow-up)
- fix(verif): batch Hopfield embeddings + real entity-set Jaccard for dendritic stage
- feat(verif): wire HOPFIELD/HDC/SPREADING_ACTIVATION/DENDRITIC_CLUSTERS into pg_recall pipeline
- fix(verif): handler-level read-path ablation guards in recall.py composition root
- fix(verif): wire CORTEX_ABLATE_ env-var reads into production hot-paths (23 mechanisms)
- fix(schema): remove '; ' from comment that broke ddl.split(';') statement extractor
- docs(paper): integrate full E2b Zipf curve into §6.4 — N=100k datapoint landed
- docs(reorg): rename arxiv/ -> arxiv-context-assembly/ + move paper-md into docs/papers/
- fix(ci): repair docstring boundary in cls.run_cls_cycle (broke in 3eab1ed)
- docs(paper): add §6.4 Operating regime — reframe falsifications as predicted boundaries
- feat(verif): rebuild E2 N-scan as real-benchmark subsample + Zipf synthetic
- fix(verif): wire E2 N-scan ablation env vars into production code path
- plan(bench): BEAM-10M LLM h2h v3 — Haiku 4.5 then Gemini 2.0 Flash sequenced
- plan(bench): BEAM-10M LLM head-to-head — pivot to lightweight generator panel
- docs(paper): prose polish (paper-writer) + BEAM 0.543->0.591 number fix
- fix(paper): BEAM Overall 0.543 -> 0.591 in CLAUDE.md + markdown source
- docs(paper): port thermodynamic-memory paper to LaTeX matching arxiv/main.tex style
- fix(ci): ruff format on verification harnesses + bump tool count to 47
- feat(verification): paper + reproducibility infrastructure for thermodynamic memory claims
- chore(format): ruff format on memories_page + memories_facets
- feat(viz): default landing = Knowledge; Graph tab gains warning banner
- revert(viz): restore Graph view to pre-d3-removal state
- feat(viz): paged Knowledge + Board with filter chips, lazy-load, graph banner
- fix(viz): tilemap auto-recovers when /api/quadtree returns no_layout
- test(viz): update open_visualization tests for tilemap pipeline
- feat(viz): drive prepare-then-render entirely from cortex:open_visualization
- feat(viz): server-tile + Datashader path for >1M-node graphs (CPU-only, no CUDA)
- style: ruff format on workflow_graph_source_ast.py
- fix(ast): uncap L6 symbol/edge ingestion; surface file-import chain
Full Changelog: v3.14.12...v3.15.0
v3.14.12
- release: v3.14.12 — fix MCP client deadlock on long upstream responses
Full Changelog: v3.14.11...v3.14.12
v3.14.11
- release: v3.14.11 — track automatised-pipeline rename + fix pool allowlist
Full Changelog: v3.14.10...v3.14.11
v3.14.10
- release: v3.14.10 — self-locating plugin MCP launcher
- fix(mcp): self-locating plugin launcher via installed_plugins.json
- style: ruff format on ingest_codebase_cypher.py
Full Changelog: v3.14.9...v3.14.10
v3.14.9 — ingest_codebase: no caps + Rust-style qn fallback
- release: v3.14.9 — ingest_codebase: no caps + Rust-style qn fallback
- style: ruff format on ingest_codebase split modules
Full Changelog: v3.14.8...v3.14.9
v3.14.8 — ingest_codebase full-chain extraction + audit fixes
- release: v3.14.8 — ingest_codebase full-chain extraction + audit fixes
- Add CHANGELOG + GitHub issue / PR templates + companion-projects update
Full Changelog: v3.14.7...v3.14.8
v3.14.7
- fix(mcp): make .mcp.json + plugin.json hooks resilient to project-scoped launch
- Add CONTRIBUTING + CODE_OF_CONDUCT + SECURITY; expand LICENSE
- ci: drop publish-pypi from release workflow — marketplace only
- style: ruff format + drop unused import in pipeline_install_rust
- docs(adr): ADR-0050 — marketplace is the only path, no uvx ever
- chore: remove every uvx invocation — marketplace is the only path
- release: v3.14.7 — silent automatised-pipeline installer + ingest_codebase fixes
Full Changelog: v3.14.6...v3.14.7
v3.14.6
- release: v3.14.6 — silent AP self-heal + canonical domain ids
- fix(ap): silent self-heal for stale graph slots + multi-roster resolver — install/setup-project never errors
- docs(adr): ADR-0049 — Cortex stays local on main; server-side deferred
- fix(ci): ruff format 4 files + add pre-commit-ruff hook for CI parity
- refactor: sync clean pii-fixtures + secret-shield hook from zetetic (post-scrub)
- fix(domains): canonicalise domain ids — kill worktree-path noise in viz + list_domains
- feat(hooks/briefing): dynamic _SPECIALIST_AGENTS load + zetetic bridge ADR
- fix(ci): remove 2 unused imports from pii-daemon (ruff check F401)
- fix(ci): apply ruff format to 3 files (CI was failing on Lint)
- fix(security): remove TP secret-fixture corpus (working tree + history)
- release: v3.14.5 — adopt canonical uvx pattern (per modelcontextprotocol/servers)
- refactor: complete sync — add missing memory commands + drain hook
- refactor: sync spawn-agent.sh + .mcp.json wiring from zetetic-team-subagents
- refactor: sync genius agents batch B (51-98) from zetetic-team-subagents
- refactor: sync genius agents batch A (1-50) from zetetic-team-subagents
- refactor: sync 19 team agents from zetetic-team-subagents (Batch 2)
- refactor: sync memory infrastructure from zetetic-team-subagents (Batch 1)
- release: v3.14.4 — launcher self-installs full base runtime
- release: v3.14.3 — align MCP wiring with Anthropic-official plugin convention
- release: bump marketplace.json to v3.14.2
- release: v3.14.2 — native AST CALLS chains + humanized panel + Dijkstra compliance
- refactor(compliance): Dijkstra YELLOW items — all UI files under 300 LOC
- fix(ci+compliance): ruff format + Dijkstra RED items (panel split, dead param)
- fix(ui): humanization corrections from Eco + Vygotsky + Feynman audits
- feat(ui): humanize workflow-graph detail panel for non-technical users
- fix(ci): install [codebase] extra + skip tree-sitter tests without it
- fix(graph): CALLS edges were silently dropped — cross-verified by Wu + Feynman
- feat(graph): caller-qualified CALLS — full method-to-method dependency chain
- refactor(ap): remove legacy CORTEX_ENABLE_AP env var — single source of truth
- feat(ap): flip default to ON, make user-overridable via MCP config
- feat(graph): native AST source — L6 depth without automatised-pipeline
- docs: GitNexus competitive analysis + 5-move science-grounded plan
- docs: gap analysis v2 — CORRECTED after reading AP source + web search
- docs: gap analysis — codebase analysis as first-class Cortex core
- docs(darval): reply draft for issue #14 OB4 fix + O1 resolution
- refactor(homeostatic): tighten OB4 fix — fold clips, flag estimate
- fix(homeostatic): issue #14 OB4 — emit bimodality_after on scale-invariant paths
- test(main): bump tool-count assertion to 46 for Gap 1 (query_workflow_graph)
- feat(graph): Gap 1 — query_workflow_graph MCP tool + README refresh
- feat(graph): Gap 6 — confidence + reason on WorkflowEdge
- fix(graph): populate Calls_* / Imports_* rel tables via AP resolve pass
- fix(security): replace ancestor-walk loop with Path.is_relative_to
- fix(security): werkzeug-style whitelist + Path.is_relative_to for CWE-22
- fix(security): apply CodeQL's exact canonical sanitizer patterns
- test(invariants): bump I2 allowlist for handlers/anchor.py after ruff format
- fix(security): satisfy CodeQL on response-splitting + path-injection
- feat(mcp): add title + annotations + outputSchema to every tool
- fix(security): clear remaining CodeQL path-injection + response-splitting alerts
- fix(security): add explicit path-containment checks (CWE-22)
- docs: bump test count to 2500+ across README, CLAUDE.md, linkedin post
- docs(readme): document L6 AST-symbol layer in Graph View
- docs(readme): correct companion project name to automatised-pipeline
- docs(readme): add ai-architect automated pipeline to companion projects
- style: ruff format workflow_graph_source_ast
- release: v3.14.1 — hero screenshot + version bump
- docs(legend): expand L6 section with every AST symbol-type color
- fix(ui): Board + Knowledge crash on symbol-label 'constructor'
- fix(ui+ast): board/knowledge hang + multi-language symbol coverage
- feat(ui): surface code-symbol impact in Knowledge + Board views
- docs(readme): rewrite v3.14.0 callout without internal code names
- docs+ui: L6 filter options, taller legend, README v3.14.0 callout
- feat(viz): phase-driven graph build, AST integration, diff/legend polish
- docs(adr): ADR-0046 — integrate with automatised-pipeline
- style: fix ruff check — drop unused re-exports, retarget imports
- style: apply ruff format to workflow-graph modules
- docs(readme): new hero screenshot + workflow-graph section
- fix(viz): eliminate alpha-box artifact + make Graph the default view
- feat(viz): full file-access coverage + timestamps + compact filter row
- feat(viz): Claude-workflow graph — radial hierarchy, filters, full diff coverage
- fix(lint): drop remaining unused imports in pipeline_impact_bump test
- docs(darval): github issue #14 O1 instrumentation ask
- fix(lint): drop unused imports flagged by CI
- feat(wiki): plain-language top-level README generator
- feat(darval-o1): heat_delta instrumentation on cohort_correction output
- fix(i2): allow-list pipeline_impact_bump heat_base writer
- fix(darval-v3.13.2): forgetting_curve fit_quality + schema_acceleration bootstrap guard
- feat(grooming): wiki templates + auditor + cortex-wiki-groomer agent
- feat(pipeline-4): /cortex:cortex-setup-project handles optional pipeline
- feat(pipeline-3): PostToolUse heat bump via pipeline detect_changes
- feat(pipeline-2): SessionStart async re-analyze when graph stale
- feat(pipeline-1): auto-wire ai-automatised-pipeline into mcp-connections.json
- feat(doctor): optional codebase-pipeline detection with install guidance
- style: ruff format + lint sweep for Phase 2-7 additions
- fix(v3.13.2): revert plugin.json to launcher path (Claude Code marketplace install)
- fix(v3.13.1): SQLite A3 migration + pinned plugin.json versions
- docs(readme): v3.13.0 scalability release note + cortex-doctor + pool architecture
- feat(marketplace): no-Python-required install + uvx-consistent hooks
- bench(phase-5): LongMemEval 500-Q regression gate PASSED — exact match
- release(v3.13.0): bump version + cortex-doctor CLI for marketplace users
- feat(phase-7): hardening — content normalization, metrics, Dockerfile
- feat(phase-4): chunked consolidate + streaming homeostatic moments
- feat(phase-2): JOIN replacements for plasticity / synaptic tagging / co-activation
- test(phase-5-step-6): I10 invariant — pool capacity vs cycle worker fanout
- feat(phase-5-step-4c): asyncio.to_thread wrap handlers at registration
- feat(phase-5-step-4b): migrate 14 external store._conn.execute sites to pool
- feat(phase-5-step-4a): _execute borrows from interactive_pool per call
- feat(phase-5-step-5): per-tool admission semaphore middleware
- feat(phase-5-step-3): latency-class registry for MCP tool handlers
- feat(phase-5-step-2): ConnectionPool infrastructure in PgMemoryStore
- feat(phase-5-step-1): psycopg_pool dep + pool config knobs
- docs(phase-5): ConnectionPool + to_thread + admission design spec
- docs(darval): github issue #14 A3 delivery reply draft
- bench(a3-step-9): BEAM-100K regression gate PASSED — exact zero delta
- bench(a3-step-9): LoCoMo 1982-Q regression gate PASSED
- bench(a3-step-9): LongMemEval 500-Q regression gate PASSED
- fix(a3): effective_heat underflow guards for multi-year age rows
- feat(a3-step-8): delete legacy heat path — single A3 canonical implementation
- feat(a3-step-7): flag-gated decay cycle no-op under A3_LAZY_HEAT
- feat(a3-step-6): recall_memories_lazy PL/pgSQL function + get_a3_ddl
- feat(a3-step-5): dual-path heat writers (anchor, preemptive_context, stale, sqlite)
- chore(settings): add project permission allowlist for read-only ops
- style: ruff format + drop unused import in Phase 6 fixes
- feat(reranker): Platt calibration from rate_memory feedback (AF-2)
- feat(a3-step-4): bump_heat_raw canonical writer + homeostatic_state helpers
- feat(write_gate): auto-calibrate threshold from observed acceptance rate (AF-5)
- feat(a3-step-2): effective_heat() + effective_heat_frozen() PL/pgSQL functions
- feat(a3-step-1): CORTEX_MEMORY_A3_LAZY_HEAT flag + migration SQL scaffolding
- fix(recall_hierarchical): require domain or memory_ids — kill O(N^2) uncapped fallback
- style: ruff check --fix unused imports in Phase 1 tests
- style: ruff format Phase 1 changes — line length + minor normalisation
- fix(profile-store): per-domain split — bound write amplification per session
- fix(compression): eliminate redundant gist encode on 0→2 transitions
- fix(homeostatic): Welford one-pass moments for heat-distribution health
- fix(wiki-sync): surface errors in remember handler, stop silent swallowing
- fix(codebase-analyze): bounded-candidate rglob — ADR-0045 R2/R3
- style: ruff format v3.12.x commits (CI format-check fix)
- fix(validation): bounded tags envelope on remember (ADR-0045 R2)
- fix(validation): tighten remember.content maxLength 50K→10K (ADR-0045 R2)
- fix(embedding_cache): SHA256[:16] keys, never raw text (ADR-0045 R5)
- fix(import_sessions): delete full_read path — streaming only (ADR-0045 R2)
- release: v3.12.2 — darval field report fixes (#14)
- feat(entities): case-variant canonicalization + merge migration
- feat(diagnostics): cls + memify reason_for_zero signals (#14)
- feat(backfill+homeostatic): age-decayed initial_heat + bimodality-aware cohort correction (#14)
- release: v3.12.1 — hotfix: emergence_tracker import + I2 regression guard
- docs(scalability): Phase 0 program — ADR-0045 + invariants I1-I10 + memory_entities audit + Phase 0.4.5 backfill design
- chore(tools): TDQS A-grade rewrite across 53 MCP tool schemas + fix emergence_metrics import
- release: v3.12.0 — upstream MCP ingest (ingest_codebase + ingest_prd)
- feat(ingest): upstream MCP consumption — ingest_codebase + ingest_prd
-...
v3.14.2
- release: v3.14.2 — native AST CALLS chains + humanized panel + Dijkstra compliance
- refactor(compliance): Dijkstra YELLOW items — all UI files under 300 LOC
- fix(ci+compliance): ruff format + Dijkstra RED items (panel split, dead param)
- fix(ui): humanization corrections from Eco + Vygotsky + Feynman audits
- feat(ui): humanize workflow-graph detail panel for non-technical users
- fix(ci): install [codebase] extra + skip tree-sitter tests without it
- fix(graph): CALLS edges were silently dropped — cross-verified by Wu + Feynman
- feat(graph): caller-qualified CALLS — full method-to-method dependency chain
- refactor(ap): remove legacy CORTEX_ENABLE_AP env var — single source of truth
- feat(ap): flip default to ON, make user-overridable via MCP config
- feat(graph): native AST source — L6 depth without automatised-pipeline
- docs: GitNexus competitive analysis + 5-move science-grounded plan
- docs: gap analysis v2 — CORRECTED after reading AP source + web search
- docs: gap analysis — codebase analysis as first-class Cortex core
- docs(darval): reply draft for issue #14 OB4 fix + O1 resolution
- refactor(homeostatic): tighten OB4 fix — fold clips, flag estimate
- fix(homeostatic): issue #14 OB4 — emit bimodality_after on scale-invariant paths
- test(main): bump tool-count assertion to 46 for Gap 1 (query_workflow_graph)
- feat(graph): Gap 1 — query_workflow_graph MCP tool + README refresh
- feat(graph): Gap 6 — confidence + reason on WorkflowEdge
- fix(graph): populate Calls_* / Imports_* rel tables via AP resolve pass
- fix(security): replace ancestor-walk loop with Path.is_relative_to
- fix(security): werkzeug-style whitelist + Path.is_relative_to for CWE-22
- fix(security): apply CodeQL's exact canonical sanitizer patterns
- test(invariants): bump I2 allowlist for handlers/anchor.py after ruff format
- fix(security): satisfy CodeQL on response-splitting + path-injection
- feat(mcp): add title + annotations + outputSchema to every tool
- fix(security): clear remaining CodeQL path-injection + response-splitting alerts
- fix(security): add explicit path-containment checks (CWE-22)
- docs: bump test count to 2500+ across README, CLAUDE.md, linkedin post
- docs(readme): document L6 AST-symbol layer in Graph View
- docs(readme): correct companion project name to automatised-pipeline
- docs(readme): add ai-architect automated pipeline to companion projects
- style: ruff format workflow_graph_source_ast
Full Changelog: v3.14.1...v3.14.2