Releases: silex-tec/silex
Release list
Silex 0.12.1
Silex 0.12.1
Recommended install (official channel):
pip install --upgrade silex-archaeologyThe wheel attached to this release is an alternative path when pip install from PyPI is not available to you. PyPI is always the source of truth: https://pypi.org/project/silex-archaeology/
pip install https://github.com/silex-tec/silex/releases/latest/download/silex_archaeology-py3-none-any.whlFixed
silex.business_logic.submitnow verifies the anchor against the workspace's chunks. The "anti-hallucination lock" only checked that provenance fields were present; a rule whosefile:linedid not exist in the workspace was persisted (real case:PaymentMethod.cs:75-88in a 43-line file). Unknown file (anchor_file_not_in_workspace), ambiguous suffix (anchor_file_ambiguous), lines outside every chunk (anchor_outside_chunks, with the file's known ranges returned so the agent can fix it) andevidencenot found in the file (evidence_not_in_file) are now rejected atomically. When no mirror can be resolved, verification is skipped with a visible mark (anchor_verification: skipped_no_mirror), never a silent accept and never a block.- The
silex.community.code_packbudget now applies to the whole envelope. Budget selection only shrankmembers;edgesandscope.classeswere sent in full on every page, so a large community returned 102,882 chars formax_total_chars=6000. Edges now paginate with their source member (the union of all pages still rebuilds every edge, no loss, no duplicates) andscope.classeslists only the members served on that page. Measured on Silex itself: page 1 went from 102,882 to 4,327 chars.
Added
- Optional
db_pathonsilex.business_logic.submit; a verified rule carriesprovenance.anchor {verified, chunk_id, method, file}; the response carriesreport.anchor_verificationandn_anchor_verified. order(relevance= intra-scope degree, the default |name) andmember_filter(member name or file suffix; unmatched values reported infilter_unmatched) onsilex.community.code_pack, so the file you are asking about lands on page 1.- The freshness git hook now ingests new, renamed and deleted files (
--name-status; explicitallow_unknownopt-in inmark_paths_stale).
Changed
community_code_pack/v5:edges_in_scope→edges_total_in_scopeplusedges_in_page; default member order is by relevance (entity_packkeeps name order).
Since v0.12.0
Patch release. The free MCP kit keeps the same 12 tools; two tools gained optional parameters (db_path on submit; order and member_filter on code_pack) and the public tool reference was regenerated.
Site & docs: https://silex.tec.br
Silex 0.12.0
Silex 0.12.0
Recommended install (official channel):
pip install silex-archaeologyThe wheel attached to this release is an alternative path when pip install from PyPI is not available to you. PyPI is always the source of truth: https://pypi.org/project/silex-archaeology/
pip install https://github.com/silex-tec/silex/releases/latest/download/silex_archaeology-py3-none-any.whlFixed
- The free tier never reaches Neo4j, Qdrant or a paid LLM (Azure APIM) by accident of environment. The decision is now made by tier, before any driver import or socket. Previously a
.envplus a reachable endpoint made a free scan write to the graph (hours of linking) and community detection call a paid model once per class/module. Heavy stages now reportskipped: true, reason: "tier_free"; progress-event shape unchanged. An unknownSILEX_TIERvalue is treated as free everywhere. - The community map now covers procedural code. Module-level functions join the map through the module identity (the file is the "class" for Python/JS). On Silex itself, Python chunks outside any community dropped from 70% to 0.05%, and
silex.community.code_packreaches that code withfile:lineanchors. Edges with ambiguous names are dropped and counted, never guessed. - Chunking faithful to the code. Decorated functions and classes become chunks;
build/lib,*.egg-info, caches and Silex's own artifacts stay out of the scan; a full scan purges ghost chunks and canonicalizes the workspace id in the mirror (on Silex: 84,134 → 40,755 chunks, zero ghosts); god functions/methods land as a parent plus cohesive blocks (symbol_block, id{parent}#bNNN), and the code pack returns blocks instead of a single 15k-token chunk. - Freshness covers new, renamed and deleted files. The git hook now reads
--name-status, so a newly committed file is ingested by the partial rescan without a full scan; renamed files leave no ghost chunks on the old path; deleted files are removed together with their edges. The hook reportsadded= renamed= deleted= modified=counts.
Added
SILEX_EXTRA_STORES=neo4j,qdrant— explicit, declared opt-in that re-enables the heavy stores on the free tier (comma-separated). It never enables the paid LLM provider.result["heavy_stores"]reports the decision.- Freshness git hook (
silex-fresh-hook-install):post-commit/post-mergemark touched files as stale and re-ingest only those into the mirror. Works with a workspace rooted in a monorepo subdirectory. scripts/measure_map_coverage.py— community-map coverage per language.- Smoke scenarios
smoke-chunk/chunk-01..04,smoke-mcp/mcp-06(procedural map),smoke-mcp/mcp-07(free tier under a hostile environment with a network sentinel) andsmoke-fresh/fresh-04(hook ingests new/renamed/deleted files).
Changed
community_code_pack/v4: module members, god-symbol header plus ordered blocks;entity_packandget_structural_findingsresolve member → chunks through the same helper.CONTRACT_DEVICEunset now meansauto:cudawhen a GPU is available, otherwisecpu; an explicit value always wins.get_provider("azure")outsidelegacy/pro/enterpriseraisesLLMProviderBlockedInTier(code: "llm_provider_unavailable_in_tier"). Operations note: server-side enrichment and scripts that used APIM without declaring a tier now fall back to Ollama or a structured error — setSILEX_TIER=pro.SqliteExtractorInputfilterssymbol_block;list_chunks(include_blocks=False)by default, so extractors, communities and retrieval receive the same set as before.
Since v0.11.42
0.12.0 is the first minor bump since 0.11.42. It is fully backward compatible for the free MCP kit (12 tools, same names and schemas); tool descriptions were regenerated for the public reference.
Site & docs: https://silex.tec.br
Silex 0.11.42
Silex 0.11.42
Instalação recomendada (canal oficial desde 0.11.37):
pip install silex-archaeologyO wheel neste release existe como caminho alternativo enquanto o pip install
não estiver disponível para você; a fonte da verdade é sempre o PyPI:
https://pypi.org/project/silex-archaeology/
Desde o v0.11.36
- 0.11.37 — publicação automática no PyPI via Trusted Publishing (OIDC);
annotations MCP de segurança em todas as tools; manifesto do MCP Registry
oficial (io.github.silex-tec/silex). - 0.11.38 —
silex.entity.pack: agregado inteiro numa chamada, atravessando
comunidades;scan_phasenoget_workspace_stats; gaps críticos honestos;
FSM de domínio sem ruído de enums de infraestrutura. - 0.11.39 —
entity.packv2 (hop-do-repositório + fronteira declarada);
grafo enxerga argumento genérico (DbSet<T>,IRepository<T>); packs
devolvem JSON plano (sem re-embrulhamento). - 0.11.40 — cap em
shared_literalspara evitar payloads MCP de vários MB
em repositórios grandes. - 0.11.41 — fix crítico: policy de governança do runner agora empacotada
no wheel (FileNotFoundErrorno import fora do checkout de dev). - 0.11.42 — fix crítico: import incondicional de
fcntlquebrava o boot
do MCP server no Windows; locking de arquivo agora cross-platform.
Changelog completo: https://github.com/silex-tec/silex-monorepo/blob/main/src/Silex.Arqueologia/CHANGELOG.md
Site & docs: https://silex.tec.br
Silex 0.11.36 — first public release
First public release of the silex-archaeology wheel (free tier).
pip install https://github.com/silex-tec/silex/releases/latest/download/silex_archaeology-py3-none-any.whlThen connect silex-mcp-server to your MCP client — full guide: https://silex.tec.br/docs/