Repository navigation
Release 0.2.0 - #57
Merged
Merged
Conversation
|
Benchmark methodology changed. Capture a new main baseline before comparing timings. |
eldonm
force-pushed
the
codex/release-0.2.0
branch
from
October 11, 2026 18:04
1280a80 to
e08bcc3
Compare
|
Benchmark methodology changed. Capture a new main baseline before comparing timings. |
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.
Prepare version 0.2.0 for the new public graph-context APIs, integrated I/O hardening, and qualified fixes recovered from stalled worktrees. This PR changes only
jvspatial/version.pyand the changelog, leaving an empty Unreleased section.#56 merged into main as
b66ca6a58e63c9710f429b2bc1c50926447ea48d. This PR now targets main and remains a draft pending release approval. Its diff contains only the version and changelog changes. Merging the release version into main triggers the existing stable tag/publishing workflow.Validation:
twine check. The installed wheel verified its import path/version, the recovered index-lock implementation, and legacy/rich ontology capture/rendering with the rooted operational dummy graph.[0.2.0] - 2026-10-11
Added
Added a tag-triggered TestPyPI workflow for publishing release candidates independently of stable PyPI releases.
Optional rich graph-context format 2 via
ProjectionContextConfig,ProjectionField,ProjectionEvidence, andProjectionRelation: per-typedetail profiles, recorded same-record provenance, qualified relationship rules,
explicit missing/null/truncated states, and authorized coverage metadata.
Legacy format 1 defaults are preserved; enrichment adds no database operations
versus equivalent selected fields. Includes a rooted operational example and
paired capture/rendering performance probes.
Read-only
GraphContext.project_graphcontext for language-model inference,with relationship, hierarchy, and ontology views; application-declared type
meanings; deterministic evidence paths; and payload-based text/Mermaid rendering.
Public
ProjectionRequest,ProjectionScope,ProjectionAccess,ProjectionSemantics, and immutableGraphProjectioncapture APIs. Explicitscope and field allowlists, batch access decisions, candidate/frontier/detail/
byte/time budgets, completeness markers, and fresh authorized expansion requests
preserve visibility and distinguish captured results from historical snapshots.
Database projection-node batching and incident-edge keyset paging, with native
paging on SQLite/PostgreSQL/MongoDB and disclosed compatibility scans elsewhere.
Cache wrappers bypass stale record caches for projection reads. Host diagnostics
report work without placing inaccessible cardinalities in model context.
A runnable dummy supply-chain graph, realistic cross-backend tests, and a
reproducible projection/renderer/CRUD scaling recorder.
Added opt-in SQL residual scan limits, ID-only paging, optional pager/graph exact counts, and generic BFS priority prefixes.
Added native DynamoDB scan pages with query-bound continuation and an opt-in PyMongo Async driver (
driver="pymongo"; PyMongo >=4.13).Fixed
Restored descending single-field index declarations through GraphContext,
repaired existing PostgreSQL B-tree key ordering with serialized transactional
index creation across workers, and retained canonical
MongoDB/DynamoDB single-field names and schemas alongside SQL sort companions.
Local node
$existscriteria now match the in-memory null/absence contract.Isolated default contexts in GraphContext tests and replaced incomplete PNG
fixtures with real content; CI requires libmagic and exercises content-based
MIME rejection for disguised unknown binaries.
Repeated cancellation during file/S3 stream opening, reading, or closing waits for the worker before releasing the reader.
Source-tree example imports work under both the
pytestconsole entry pointand
python -m pytest, including graph projection tests and benchmarks in CI.PostgreSQL benchmark fixtures create and clean their isolated schemas before
graph seeding, allowing the live benchmark lane to run on a fresh database.
Composite and descending iterators now retain every sort key and ID, including null/missing runs. PostgreSQL sort values retain numeric types and iteration releases its connection before consumer yields.
DynamoDB always evaluates residual predicates, including across pages and limits. Exhausted unprocessed batch reads raise instead of appearing absent; batch writes report accurate failed IDs.
Cache wrappers forward native iterators and invalidate unsuccessful or uncertain bulk writes.
Local/S3 file streams yield incremental chunks with backpressure and close readers on cancellation or early close.
SQLite ID filters/sorts use the physical primary key. SQL annotated indexes gain companion indexes matching nullable compound sort expressions and directions.
Changed
find_onerequests one match. JSON scans read in bounded batches, count incrementally and iterate once in ID order. SQL residual scans preserve safe conjunct pushdown and count without retaining full results.GraphContext.save_batchuses bounded per-collection native detailed writes with normal context-save preparation and input-order results. Backend exceptions now propagate after cache invalidation; confirmed partial successes remain reportable. Override entitysave()hooks explicitly when needed; context operations do not invoke them.