Skip to content

0.5.9#22

Merged
cleverhoods merged 43 commits into
mainfrom
0.5.9
May 12, 2026
Merged

0.5.9#22
cleverhoods merged 43 commits into
mainfrom
0.5.9

Conversation

@cleverhoods
Copy link
Copy Markdown
Contributor

Summary

0.5.9 ships the CLI as a fully self-contained install: every dependency (including the spaCy English pipeline and the ONNX embedder) now lives inside the wheel. pip install reporails-cli, uv pip install, or npx @reporails/cli all deliver the complete bundle — no separate model download, no uv sync post-install surprise.

The release also closes the recurring "intermittent 403 from anonymous requests" report by adding a stable User-Agent: reporails-cli/<version> header, tightens the
supported Python range to >=3.12,<3.14 (avoiding a spaCy import break under Python 3.14), and polishes several funnel and display surfaces.

Highlights

Build & install

  • en_core_web_sm spaCy pipeline (~15 MB) is now bundled inside the wheel under bundled/spacy/, alongside the existing bundled ONNX MiniLM-L6-v2., preventing silentl failure mode under uv virtualenvs).
  • requires-python pinned to >=3.12,<3.14. Python 3.14 ships a pydantic.v1 introspection regression that breaks import spacy; the pin restores reliable classifier
    loading under uv sync.

User-visible polish

  • API client: outgoing diagnostic requests now carry a User-Agent: reporails-cli/<version> header for accurate attribution in server-side logs.
  • **Funnel — rate-limit **: surfaces a "Try again in ~N min." hint when the server returns reset_in, between the limit blurb and the upgrade prompt.
  • Funnel — bug-report URLs: render as OSC 8 terminal hyperlinks with a short clickable label (github.com/reporails/cli/issues/new) instead of dumping the full
    percent-encoded prefilled URL; falls back to the short label on terminals without hyperlink support.
  • Funnel — error wording: demoted noisy stderr warnings to debug logging, reworded the unknown_error CTA to Diagnostics server returned HTTP <code>.
  • Display: file rows annotate duplicates with (+alias) labels (e.g. mintlify (+.claude) for symlinked surfaces, AGENTS.md (+CLAUDE.md) for same-directory
    content-identical pairs).

Fixes

  • frontmatter_valid_glob no longer crashes on comma-separated paths: values; each entry is split and validated individually, and invalid glob syntax surfaces as a
    structured check failure.
  • Skill and rule files appearing under multiple agent surfaces via symlinks (e.g. .claude/skills/.agents/skills/) are now collapsed to one canonical entry, eliminating duplicate findings and inflated scoring.

Removed

  • ails map command.

Internal (no behavior change for users)

  • Hexagonal platform substrate consolidated under core/platform/{contract,dto,policy,adapters,runtime,config,observability,utils}; architecture tests run in fail mode.
  • Five subsystems consolidated into named subpackages (core/cache/, core/funnel/, core/classify/, core/heal/, core/discovery/, core/lint/).
  • Mapper module split one-per-stage under core/mapper/ with orchestration spine retained as pipeline.py; public import surface unchanged.
  • Removed the legacy "recommended" rules-overlay machinery; user-installed rule packages remain supported via packages: [...] in .ails/config.yml.

cleverhoods added 30 commits May 9, 2026 20:50
…ers/ and {engine_helpers,merger} to runtime/
…tinue via generic `packages: [...]` resolution
… from `mapper.py` to `core/mapper/annotate.py`
…ifier (~1300 lines) from `mapper.py` to `core/mapper/classify.py`
…s) from `mapper.py` to `core/mapper/parse.py`
… (~100 lines) from `mapper.py` to `core/mapper/cluster.py`
… (~55 lines) from `mapper.py` to `core/mapper/embed.py`
…map` + atom (de)serialization + validation (~340 lines) from `mapper.py` to `core/mapper/serialize.py`
…(~150 lines) from `mapper.py` to `core/mapper/inspect.py`
…y; drop broken `spacy download` fallback in `models.py`
…rate_backbone_yaml`, `save_backbone`, `_print_map_text`, `detect_project_structure`)
…mapper/pipeline.py`; route remaining `mapper.mapper` callers through the `core.mapper` package facade
…ython3.12 (in-range per pyproject `requires-python = >=3.12,<3.14`) instead of using `python3` which resolves to 3.14 on systems with Homebrew Python installed
@cleverhoods cleverhoods merged commit 3282271 into main May 12, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant