Skip to content

Commit 9ce220d

Browse files
authored
Merge pull request #3 from szTheory/release-please--branches--main--components--scrypath
chore(main): release scrypath 0.2.0
2 parents 81ff3d1 + f330269 commit 9ce220d

21 files changed

Lines changed: 247 additions & 92 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.1.0"
2+
".": "0.2.0"
33
}

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,35 @@ All notable changes to this project will be documented in this file.
44

55
Release Please manages versioned entries after this baseline.
66

7+
## [0.2.0](https://github.com/szTheory/scrypath/compare/scrypath-v0.1.0...scrypath-v0.2.0) (2026-04-17)
8+
9+
10+
### Features
11+
12+
* **06-03:** add release automation baseline ([82306a8](https://github.com/szTheory/scrypath/commit/82306a899f026a93640522e96e00a024ad2e5c49))
13+
* **06-03:** tighten package metadata and release gate ([226bbf4](https://github.com/szTheory/scrypath/commit/226bbf403b1115bef38eb2efa214e61df395199d))
14+
* **08-02:** add shared empty-batch no-op handling ([1058269](https://github.com/szTheory/scrypath/commit/1058269c74cef4f366567859a908b4d0d08b7643))
15+
* **08-03:** add phase 8 verification command ([0cac567](https://github.com/szTheory/scrypath/commit/0cac56711a6766af802affb59bb523eb2e7d5f29))
16+
* **10-01:** add phase 10 release gate ([4ffd567](https://github.com/szTheory/scrypath/commit/4ffd567788f24cb2d92ccc4897b3031acdc39aa7))
17+
* **11-02:** add clean consumer smoke verification ([41fa6f8](https://github.com/szTheory/scrypath/commit/41fa6f809ad86c87812bb4f539b68343371b3f8b))
18+
* **11-02:** enforce the phase 11 release contract ([7a34f44](https://github.com/szTheory/scrypath/commit/7a34f446836228320a891523a1c2f55b3a94fa28))
19+
* **11-public-release-contract-01:** add phase 11 release alignment gate ([f778312](https://github.com/szTheory/scrypath/commit/f778312453fcdfca15e9e2f3dbea7dccca068a6c))
20+
* **12-01:** add internal operations seam contracts ([6f9e13f](https://github.com/szTheory/scrypath/commit/6f9e13f31ee0ec70b13889ae16f2d44af11bd688))
21+
* **12-02:** move sync orchestration onto the operations seam ([a4abdd6](https://github.com/szTheory/scrypath/commit/a4abdd6db0e5295fca156410e2fa130aeec39147))
22+
* **12-02:** wire seam-owned adapter task references ([fc1471f](https://github.com/szTheory/scrypath/commit/fc1471fe72327deb6cb52d88fad68d71ec8b8285))
23+
* **12-03:** move backfill and reindex onto seam results ([2b2eaa0](https://github.com/szTheory/scrypath/commit/2b2eaa09958d491a0b0f4876586a1888fc795f4b))
24+
* **13-01:** add root sync status operator API ([8c2ccae](https://github.com/szTheory/scrypath/commit/8c2ccaec3015fce34907de8682ad7acaeb1199be))
25+
* **13-01:** tighten status inspection seam coverage ([0017732](https://github.com/szTheory/scrypath/commit/00177329892568831528db302a5f4efc978d4852))
26+
27+
28+
### Bug Fixes
29+
30+
* **06-04:** harden release-quality public contracts ([4e1eb59](https://github.com/szTheory/scrypath/commit/4e1eb59393575f487adbbbf1ace35854e7d28794))
31+
* **06-04:** lock phoenix json pagination example ([5f73cf2](https://github.com/szTheory/scrypath/commit/5f73cf2b317f0db9ad73838e4f589a623f0a1b06))
32+
* **06:** restore readme operational wording contract ([cfb51ce](https://github.com/szTheory/scrypath/commit/cfb51cee0702f488750dd6347d5eb8a63f03554d))
33+
* **08-01:** harden meilisearch task normalization ([8db7129](https://github.com/szTheory/scrypath/commit/8db7129b4be33af4038ed87ed2cfe0c320ad7212))
34+
* **12:** harden seam wait normalization ([aa9f179](https://github.com/szTheory/scrypath/commit/aa9f17952a8697660673ddb548129e4279a032d0))
35+
736
## [Unreleased]
837

938
- Establish release automation, package metadata checks, and a public release checklist.

lib/scrypath/backfill.ex

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,13 @@ defmodule Scrypath.Backfill do
5252
last_primary_key = Map.fetch!(List.last(records), primary_key)
5353

5454
with {:ok, backend_result} <-
55-
upsert_documents(schema_module, documents, Keyword.fetch!(config, :backend), config, index) do
55+
upsert_documents(
56+
schema_module,
57+
documents,
58+
Keyword.fetch!(config, :backend),
59+
config,
60+
index
61+
) do
5662
batch_result =
5763
batch_result(
5864
backend_result,
@@ -97,8 +103,11 @@ defmodule Scrypath.Backfill do
97103
config = Keyword.put(config, :index_name, index)
98104

99105
case backend do
100-
Scrypath.Meilisearch -> MeilisearchOperations.upsert_documents(schema_module, documents, config)
101-
_other -> backend.upsert_documents(schema_module, documents, config)
106+
Scrypath.Meilisearch ->
107+
MeilisearchOperations.upsert_documents(schema_module, documents, config)
108+
109+
_other ->
110+
backend.upsert_documents(schema_module, documents, config)
102111
end
103112
end
104113

lib/scrypath/meilisearch.ex

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,7 @@ defmodule Scrypath.Meilisearch do
108108
raw: response
109109
}}
110110
else
111-
{:error,
112-
{:invalid_task_payload,
113-
invalid_task_payload(stage, task_uid, problems, response)}}
111+
{:error, {:invalid_task_payload, invalid_task_payload(stage, task_uid, problems, response)}}
114112
end
115113
end
116114

lib/scrypath/meilisearch/client.ex

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ defmodule Scrypath.Meilisearch.Client do
77
alias Scrypath.Query, as: CommonQuery
88
alias Scrypath.Telemetry
99

10-
@spec create_index(String.t(), String.t() | atom() | nil, keyword()) :: {:ok, map()} | {:error, term()}
10+
@spec create_index(String.t(), String.t() | atom() | nil, keyword()) ::
11+
{:ok, map()} | {:error, term()}
1112
def create_index(index_name, primary_key, config) do
1213
payload =
1314
%{"uid" => index_name}
@@ -137,7 +138,9 @@ defmodule Scrypath.Meilisearch.Client do
137138
defp search_payload(query) when is_map(query), do: query
138139

139140
defp maybe_put_primary_key(payload, nil), do: payload
140-
defp maybe_put_primary_key(payload, primary_key), do: Map.put(payload, "primaryKey", to_string(primary_key))
141+
142+
defp maybe_put_primary_key(payload, primary_key),
143+
do: Map.put(payload, "primaryKey", to_string(primary_key))
141144

142145
defp encode_task_filters(filters) do
143146
Enum.reduce(filters, %{}, fn

lib/scrypath/meilisearch/index_management.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ defmodule Scrypath.Meilisearch.IndexManagement do
1414
Keyword.get(config, :target_index) || "#{live_index_name(schema_module, config)}__reindex"
1515
end
1616

17-
@spec create_index(module(), String.t() | atom() | nil, keyword()) :: {:ok, map()} | {:error, term()}
17+
@spec create_index(module(), String.t() | atom() | nil, keyword()) ::
18+
{:ok, map()} | {:error, term()}
1819
def create_index(schema_module, primary_key, config) do
1920
live_index = live_index_name(schema_module, config)
2021
target_index = target_index_name(schema_module, config)

lib/scrypath/meilisearch/operations.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ defmodule Scrypath.Meilisearch.Operations do
88
alias Scrypath.Operations.Result
99
alias Scrypath.Operations.Task
1010

11-
@spec upsert_documents(module(), [Document.t()], keyword()) :: {:ok, Result.t()} | {:error, term()}
11+
@spec upsert_documents(module(), [Document.t()], keyword()) ::
12+
{:ok, Result.t()} | {:error, term()}
1213
def upsert_documents(schema_module, documents, config) when is_list(documents) do
1314
index = Keyword.get(config, :index_name) || Meilisearch.index_name(schema_module, config)
1415
document_id_field = Scrypath.document_id_field(schema_module)

lib/scrypath/meilisearch/tasks.ex

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ defmodule Scrypath.Meilisearch.Tasks do
2424
|> Enum.reduce_while({:ok, []}, fn payload, {:ok, acc} ->
2525
case Meilisearch.normalize_task(payload, :poll) do
2626
{:ok, normalized_task} ->
27-
{:cont, {:ok, [Operations.task_from_backend(normalized_task, source: :meilisearch) | acc]}}
27+
{:cont,
28+
{:ok, [Operations.task_from_backend(normalized_task, source: :meilisearch) | acc]}}
2829

2930
{:error, reason} ->
3031
{:halt, {:error, reason}}
@@ -108,7 +109,9 @@ defmodule Scrypath.Meilisearch.Tasks do
108109
{:ok, normalized_task} ->
109110
normalized_task
110111
|> Operations.task_from_backend(source: :meilisearch)
111-
|> then(&do_wait_for_task(&1, config, started_at, poll_interval, timeout, polls + 1))
112+
|> then(
113+
&do_wait_for_task(&1, config, started_at, poll_interval, timeout, polls + 1)
114+
)
112115

113116
{:error, reason} ->
114117
{{:error, reason}, polls + 1}

lib/scrypath/oban/enqueue.ex

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,13 @@ defmodule Scrypath.Oban.Enqueue do
8888
)
8989

9090
{:ok,
91-
%{result | metadata: %{index: job.args["index"], oban: %{queue: queue, max_attempts: max_attempts, name: oban}}}}
91+
%{
92+
result
93+
| metadata: %{
94+
index: job.args["index"],
95+
oban: %{queue: queue, max_attempts: max_attempts, name: oban}
96+
}
97+
}}
9298

9399
{:error, _reason} = error ->
94100
error

lib/scrypath/operator/state.ex

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,14 @@ defmodule Scrypath.Operator.State do
6868
defp normalize_backend_state(:completed), do: :completed
6969
defp normalize_backend_state(_state), do: :pending
7070

71-
defp normalize_queue_state(state) when state in ["available", "scheduled", "executing"], do: :queued
71+
defp normalize_queue_state(state) when state in ["available", "scheduled", "executing"],
72+
do: :queued
73+
7274
defp normalize_queue_state(state) when state in ["retryable", :retryable], do: :retrying
73-
defp normalize_queue_state(state) when state in ["discarded", "cancelled", :discarded, :cancelled], do: :failed
75+
76+
defp normalize_queue_state(state)
77+
when state in ["discarded", "cancelled", :discarded, :cancelled], do: :failed
78+
7479
defp normalize_queue_state(state) when state in ["completed", :completed], do: :completed
7580
defp normalize_queue_state(:queued), do: :queued
7681
defp normalize_queue_state(:retrying), do: :retrying

0 commit comments

Comments
 (0)