Skip to content

chore: add python-semantic-release + commit lint - #39

Merged
Cipher208 merged 50 commits into
masterfrom
chore/semantic-release
Jul 3, 2026
Merged

Cipher208 merged 50 commits into
masterfrom
chore/semantic-release

Conversation

@Cipher208

Copy link
Copy Markdown
Owner

Automated Releases

  • release.yml: auto-release on push to master

    • Analyzes conventional commits
    • Bumps version (major/minor/patch)
    • Generates CHANGELOG
    • Builds wheel
    • Publishes to PyPI
    • Creates GitHub Release
  • commit-lint.yml: enforces conventional commits via commitizen

    • PRs with non-conventional commits will fail CI
  • pyproject.toml: semantic_release config with changelog categories

How it works

  1. Write conventional commits: eat:, ix:, �reak:
  2. Merge to master
  3. Semantic release analyzes commits
  4. Auto-bumps version, generates CHANGELOG, publishes

Note

PyPI publishing requires PYPI_TOKEN in repository secrets.

Ariel Memory added 30 commits July 3, 2026 16:01
…, stale bot, CONTRIBUTING.md, release config
- mypy config in pyproject.toml (check_untyped_defs, explicit_package_bases)
- CI typecheck job on Python 3.12
- Fix backup_cron.py type annotation (Coroutine vs dict)
- detect-secrets workflow scans for leaked credentials
- Branch protection will be updated to include typecheck
19 property-based tests covering:
- rag/conflict.py: similarity range, symmetry, empty input
- rag/scoring.py: weighted sum invariant, ordering, weights clamping
- rag/quantize.py: binary output length, hamming distance properties
- features/secrets.py: encrypt/decrypt roundtrip, min blob size
…ate docs

- Delete requirements.txt (duplicate of pyproject.toml deps)
- Add 6 Hypothesis tests for ReflexBuffer (size invariant, FIFO, concurrency)
- ROADMAP: add key rotation and adaptive importance threshold items
- README: fix sync fallback description (asyncio.to_thread, not blocking)
- README: fix keychain-first security description
- 338/338 tests pass
- mkdocs.yml with Material theme, code highlighting, search
- 30+ documentation pages organized by topic
- API reference auto-generated from docstrings (mkdocstrings)
- GitHub Pages deployment workflow (docs.yml)
- mkdocs, mkdocs-material, mkdocstrings in docs optional deps
- site/ added to .gitignore
- Documentation URL: https://cipher208.github.io/mcp-ariel-memory/
…st_bearer_token_encrypted

Replace is_encrypted_blob assertion with functional rotation check:
read data back with fresh APIKeyAuth instance to verify it survived.
When libsodium nonce first byte happens to be '{' or '[' (~0.78% probability),
is_encrypted_blob returns False and code tries to parse binary as JSON.

Fix: try decrypt_json first, catch exception, then fall back to JSON parsing.
This handles the nonce collision case without relying on the heuristic.

Also applies same fix to BearerAuth._load_or_create.
- README.md: 313→338 tests, add docs badge, add CI pipeline info
- docs/00-index.md: 313→338 tests
- docs/features/secrets.md: add decrypt-first pattern explanation
- docs/operations/deployment.md: add CI pipeline table (10 jobs)
- New audit job in ci.yml (pip-audit --strict --desc --skip-editable)
- Skips editable installs (agent-reach, mcp-ariel-memory itself)
- Found and fixed cryptography CVE (46.0.7 → 49.0.0)
- 11 CI jobs total now
- bug_report.yml: required fields (version, python, os, transport, description, steps, expected, actual)
- feature_request.yml: required fields (problem, solution, area)
- config.yml: disable blank issues, add docs/discussions links
- CodeQL workflow: weekly + on push/PR, security-extended queries
- Dockerfile: add non-root user (UID 1000) for container security
- Push Protection: enabled via API (secret scanning blocks secret commits)
Ariel Memory added 20 commits July 4, 2026 01:02
…release

- ROADMAP: 35/65 items done, updated security/testing/docs sections
- CI: add coverage job (fail-under=60), pytest-cov in dev deps
- Architecture: 5 mermaid diagrams (system, consolidation, RAG, security, saga, CI)
- MkDocs: add diagrams page to nav
- Release: v1.0.0 tag + GitHub Release
Badges: CI, codecov, license, Python version, Ruff, MCP, docs, release
Diagram: memory consolidation flow, RAG pipeline, wiki, knowledge graphs
- Generate coverage.xml for codecov
- Upload via codecov/codecov-action@v4
- Add security-events: write permission
- CONTRIBUTING.md: add ruff/mypy/pytest requirements, conventional commits, PR rules
- SECURITY.md: proper security policy with GitHub Private Vulnerability Reporting
- GitHub Discussions enabled
- pyproject.toml: semantic_release config with changelog categories
- release.yml: auto-release on push to master, builds wheel, publishes to PyPI
- commit-lint.yml: enforces conventional commits via commitizen
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Cipher208
Cipher208 merged commit 0ea6784 into master Jul 3, 2026
17 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.

2 participants