Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/pr-title.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ jobs:
ci
chore
requireScope: false
subjectPattern: ^[a-z].*$
subjectPatternError: The subject must start with a lowercase letter.
# Lowercase, or a digit for `chore(release): 0.2.0`.
subjectPattern: ^[a-z0-9].*$
subjectPatternError: The subject must start with a lowercase letter or a digit.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ All notable changes to this project are documented here. The format follows

## [Unreleased]

## [0.2.0] - 2026-10-16

### Added

- `dsearch demo` indexes a bundled public-domain sample (the Forethought and
Expand Down Expand Up @@ -99,5 +101,6 @@ The one-day build, plus key terms and continuous integration.
- A Streamlit web UI over the same functions.
- GitHub Actions running ruff and pytest on pushes and pull requests.

[Unreleased]: https://github.com/73anthonyL/DeterministicSearch/compare/v0.1.0...HEAD
[Unreleased]: https://github.com/73anthonyL/DeterministicSearch/compare/v0.2.0...HEAD
[0.2.0]: https://github.com/73anthonyL/DeterministicSearch/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/73anthonyL/DeterministicSearch/releases/tag/v0.1.0
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ authors:
given-names: Anthony
repository-code: https://github.com/73anthonyL/DeterministicSearch
license: MIT
version: 0.1.0
date-released: "2026-10-05"
version: 0.2.0
date-released: "2026-10-16"
keywords:
- semantic search
- information retrieval
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ pipx install "deterministic-search[ui]" # or: uv tool install "deterministic-s
```

`pip install "deterministic-search[ui]"` inside a virtual environment works
too. Until the first PyPI release lands, use the repository instead:
`pipx install "deterministic-search[ui] @ git+https://github.com/73anthonyL/DeterministicSearch"`.
too.

The first `dsearch add` downloads the embedding model (about 90 MB for the
default `fast` tier); everything after that is offline.
Expand Down
2 changes: 1 addition & 1 deletion docs/LEARNING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ the useful one.
| [#5](https://github.com/73anthonyL/DeterministicSearch/pull/5) ci: matrix, pinned actions, pre-commit, pyright | CI/CD hygiene; static typing | "Split jobs so failures are legible, pin actions to SHAs, least-privilege tokens, cancel superseded runs, a 3×3 OS/Python matrix, pyright at zero errors, and a coverage floor just under the measured number." | Enabling pyright surfaced 27 errors, one of them a test assigning a nonexistent attribute; the ruff `S` family found a `try/except: pass`. |
| [#6](https://github.com/73anthonyL/DeterministicSearch/pull/6) docs: community files | Open-source project hygiene | "Issue forms that ask for what makes a report fixable, a security policy with private reporting, CODEOWNERS, release-note categories keyed on labels, a citation file." | A YAML option starting with a quote broke the issue form; the `check-yaml` hook caught it before the push. |
| [#7](https://github.com/73anthonyL/DeterministicSearch/pull/7) feat(cli): doctor, `--json`, logging | CLI design | "stdout is data and stderr is commentary, so `--json` pipes cleanly; validation happens in the option layer with exit code 2; failure modes are one line naming the cause; `doctor` prints everything a bug report needs." | A log test used `/dev/null` and failed on all three Windows cells. The matrix exists for exactly this. |
| [#10](https://github.com/73anthonyL/DeterministicSearch/pull/10) ci: release workflow with trusted publishing | Release engineering; supply-chain security | "A tag drives one workflow: build once, assert tag equals version, publish to TestPyPI and install from it, stop for a reviewer at the `pypi` environment, then PyPI and a GitHub Release with notes generated from conventional commits. OIDC trusted publishing means there is no API token to leak." | PyPI rejected `dsearch` as "too similar" to an existing `d-search`: its check strips separators. Found at the trusted-publisher form, before any code; the fix was renaming only the distribution, not the tool. |
| [#10](https://github.com/73anthonyL/DeterministicSearch/pull/10) ci: release workflow with trusted publishing | Release engineering; supply-chain security | "A tag drives one workflow: build once, assert tag equals version, publish to TestPyPI and install from it, stop for a reviewer at the `pypi` environment, then PyPI and a GitHub Release with notes generated from conventional commits. OIDC trusted publishing means there is no API token to leak." | PyPI rejected `dsearch` as "too similar" to an existing `d-search`: its check strips separators. Found at the trusted-publisher form, before any code; the fix was renaming only the distribution, not the tool. The PR-title rule then rejected `chore(release): 0.2.0rc1`, so a subject may now begin with a digit. |
| [#8](https://github.com/73anthonyL/DeterministicSearch/pull/8) feat(demo): bundled sample | Test fixtures that look like production data | "A public-domain book typeset with real furniture (front matter, outline, running heads, folios, hyphenation), regenerated byte-for-byte so the script and the artifact cannot drift, is both the demo and the benchmark corpus." | The sample immediately exposed a running-head rule tuned on single-chapter files: per-chapter heads leaked into 10 of 259 chunks. Also, pymupdf's simple text API silently turned every em dash into a middle dot. |

## Themes worth being able to talk about
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ build-backend = "hatchling.build"
# Published as deterministic-search (PyPI treats `dsearch` and the existing
# `d-search` as the same name); the command and the import are still dsearch.
name = "deterministic-search"
version = "0.2.0rc1"
version = "0.2.0"
description = "Local-first semantic evidence search for academic PDFs. Retrieval only — it never generates text."
readme = "README.md"
license = { file = "LICENSE" }
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading