functualize-state-sqlite 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/.gitignore +18 -6
  2. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/PKG-INFO +2 -2
  3. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/pyproject.toml +1 -1
  4. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_sqlite_state_store_properties.py +1 -9
  5. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/README.md +0 -0
  6. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/README.md +0 -0
  7. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/persistent_counter/persistent_counter.py +0 -0
  8. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/persistent_counter/test_persistent_counter.py +0 -0
  9. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/__init__.py +0 -0
  10. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_backend.py +0 -0
  11. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_execution_store.py +0 -0
  12. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_migrations.py +0 -0
  13. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_plugin.py +0 -0
  14. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/plugin.py +0 -0
  15. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/py.typed +0 -0
  16. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/sqlite_backend.py +0 -0
  17. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/state_store.py +0 -0
  18. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/tracker.py +0 -0
  19. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/__init__.py +0 -0
  20. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/conftest.py +0 -0
  21. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_execution_state_integration.py +0 -0
  22. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_plugin.py +0 -0
  23. {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_sqlite_backend.py +0 -0
@@ -11,13 +11,17 @@ build/
11
11
 
12
12
  # Agents
13
13
  .spec/archive/
14
- .spec/features/
15
14
  .spec/scrutiny-reports/
15
+ .spec/proposals/
16
+ .spec/plans/
16
17
  .spec/.agentic-coding
17
18
  .spec/STATE.md
18
- .spec/PROJECT.md
19
- .spec/REQUIREMENTS.md
20
- .spec/ROADMAP.md
19
+ # A one-hour spec-gate bypass token, not a repository artifact. The *ledger* of
20
+ # uses (.spec/exemptions.log) is committed and is the real mitigation; the token
21
+ # itself is per-session, and committing it would hand everyone else a live
22
+ # bypass. Ignored because the documented escape hatch otherwise sits in
23
+ # `git status` waiting to be added by accident.
24
+ .spec/EXEMPT
21
25
  .opencode/
22
26
 
23
27
 
@@ -86,6 +90,15 @@ site/
86
90
  .sidecar-base
87
91
  .td-root
88
92
  .functualize/
93
+ # ...except the committed example plugin, which the blanket rule above swallowed.
94
+ # Git will not descend into an excluded directory, so every level must be un-excluded
95
+ # in turn, and each level re-ignores its own contents so that only the plugin sources
96
+ # become trackable — never the cache, state or lock files a run drops beside them.
97
+ !examples/plugins/file_based_plugin/.functualize/
98
+ examples/plugins/file_based_plugin/.functualize/*
99
+ !examples/plugins/file_based_plugin/.functualize/plugins/
100
+ examples/plugins/file_based_plugin/.functualize/plugins/*
101
+ !examples/plugins/file_based_plugin/.functualize/plugins/*.py
89
102
  .import_linter_cache/
90
103
  .mypy_cache/
91
104
  .pytest_cache/
@@ -94,8 +107,7 @@ site/
94
107
  # OmO / OpenCode agent run-continuation scratch state
95
108
  .omo/
96
109
  .mcp.json
97
- .agentsroom/handoff-transcript-*.txt
98
- .agentsroom/handoff-summary-*.md
99
110
 
100
111
  # Internal pre-release audit reports (contain session IDs / local infra notes)
101
112
  .release/
113
+ .worktrees/
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: functualize-state-sqlite
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: SQLite-backed state persistence and execution tracking plugin for functualize
5
5
  Author-email: Mohammad Hakim Adiprasetya <viltohmyst@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "functualize-state-sqlite"
3
- version = "0.1.0"
3
+ version = "0.1.2"
4
4
  description = "SQLite-backed state persistence and execution tracking plugin for functualize"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -16,7 +16,7 @@ from typing import Any
16
16
 
17
17
  from functualize_state_sqlite.sqlite_backend import SQLiteBackend
18
18
  from functualize_state_sqlite.state_store import SQLiteStateStore
19
- from hypothesis import given, settings
19
+ from hypothesis import given
20
20
  from hypothesis import strategies as st
21
21
 
22
22
  # --- Strategies ---
@@ -80,7 +80,6 @@ class TestSQLiteStateStoreRoundTrip:
80
80
  **Validates: Requirements 23.6**
81
81
  """
82
82
 
83
- @settings(max_examples=100)
84
83
  @given(key=state_keys, value=json_values)
85
84
  def test_set_then_get_returns_equivalent_value(self, key: str, value: Any):
86
85
  """**Validates: Requirements 23.6**
@@ -105,7 +104,6 @@ class TestSQLiteStateStoreRoundTrip:
105
104
  finally:
106
105
  backend.close()
107
106
 
108
- @settings(max_examples=50)
109
107
  @given(key=state_keys, value=json_values)
110
108
  def test_overwrite_returns_latest_value(self, key: str, value: Any):
111
109
  """**Validates: Requirements 23.6**
@@ -140,7 +138,6 @@ class TestCrossJobStateIsolation:
140
138
  **Validates: Requirements 23.7**
141
139
  """
142
140
 
143
- @settings(max_examples=100)
144
141
  @given(
145
142
  key=state_keys,
146
143
  value_a=json_values,
@@ -196,7 +193,6 @@ class TestCrossJobStateIsolation:
196
193
  finally:
197
194
  backend.close()
198
195
 
199
- @settings(max_examples=50)
200
196
  @given(
201
197
  key=state_keys,
202
198
  value_a=json_values,
@@ -252,7 +248,6 @@ class TestNonSerializableValuesPlaceholder:
252
248
  **Validates: Requirements 23.10**
253
249
  """
254
250
 
255
- @settings(max_examples=50)
256
251
  @given(key=state_keys)
257
252
  def test_lambda_stored_as_placeholder(self, key: str):
258
253
  """**Validates: Requirements 23.10**
@@ -275,7 +270,6 @@ class TestNonSerializableValuesPlaceholder:
275
270
  finally:
276
271
  backend.close()
277
272
 
278
- @settings(max_examples=50)
279
273
  @given(key=state_keys)
280
274
  def test_generator_stored_as_placeholder(self, key: str):
281
275
  """**Validates: Requirements 23.10**
@@ -302,7 +296,6 @@ class TestNonSerializableValuesPlaceholder:
302
296
  finally:
303
297
  backend.close()
304
298
 
305
- @settings(max_examples=50)
306
299
  @given(key=state_keys)
307
300
  def test_socket_stored_as_placeholder(self, key: str):
308
301
  """**Validates: Requirements 23.10**
@@ -328,7 +321,6 @@ class TestNonSerializableValuesPlaceholder:
328
321
  finally:
329
322
  backend.close()
330
323
 
331
- @settings(max_examples=50)
332
324
  @given(
333
325
  key=state_keys,
334
326
  type_choice=st.sampled_from(["lambda", "generator", "module"]),