Release v0.2.0 — API Infrastructure & Suggestion Sessions#1
Open
damienriehl wants to merge 8 commits intomainfrom
Open
Release v0.2.0 — API Infrastructure & Suggestion Sessions#1damienriehl wants to merge 8 commits intomainfrom
damienriehl wants to merge 8 commits intomainfrom
Conversation
…leware, exceptions, input validation, and comprehensive test suite (85 tests) - Implement startup/shutdown lifespan: DB verification, Redis pool, MinIO bucket init - Extract Zitadel project roles from JWT claims with 1-hour JWKS cache TTL - Implement full-text search via PostgreSQL tsvector/tsquery with pagination - Implement SPARQL execution via RDFLib (SELECT/ASK/CONSTRUCT) - Add slowapi rate limiting (100 req/min default) - Add request ID, access logging, and security headers middleware - Add custom exception types (NotFoundError, ValidationError, ConflictError, ForbiddenError) with global exception handlers returning consistent error schema - Add IRI format validation and string length limits on schema fields - Add 85 passing tests covering auth, config, search, linter, ontology service, routes, and integration workflows Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When the search query is "*", skip the substring match filter and return all entities of the requested type(s). This enables the frontend Properties and Individuals tabs to list all entities without a dedicated listing endpoint. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…h, and auto-submit Implements Phase C of the suggestion workflow — the FastAPI backend that powers the frontend suggestion UI. Suggesters get a dedicated branch, save edits as commits, and submit as PRs. Stale sessions auto-submit via a cron job every 10 minutes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pydantic v2 HttpUrl is not a plain string, so calling .lower() on cls.iri fails with AttributeError. Wrap in str() for both get_root_classes and get_class_children sort_key functions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Join request approval now assigns suggester role instead of editor. MemberBase schema default changed from viewer to suggester. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Release v0.2.0 — lifespan handlers, JWT roles, search service, rate limiting, security middleware, suggestion sessions, beacon auth, auto-submit worker, HttpUrl fix, default suggester role, and 85 tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase A (Quality): Cross-reference service, 12-rule consistency checker, duplicate detection via label similarity. 4 new endpoints with Redis caching. Phase B (Analytics): EntityChangeEvent model + migration, graph-diff change tracking hooked into save_source_content, entity history, project activity, hot entities, and contributor stats. 4 new endpoints. Phase C (Vector): pgvector-backed embedding tables + migration, pluggable embedding providers (local/OpenAI/Voyage), semantic search, similar entities, rank suggestions, auto-embed on save. 8 new endpoints, 2 ARQ worker tasks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stats
🤖 Generated with Claude Code