feat: initial scaffold + JobStore (v0.1.0)
This commit is contained in:
24
CHANGELOG.md
Normal file
24
CHANGELOG.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to `platform-common` are documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Planned
|
||||
- `platform_common.checkpoint.make_checkpointer()` — LangGraph checkpointer factory (Redis + Postgres backends).
|
||||
- `platform_common.blob.BlobStore` — Azure Blob wrapper.
|
||||
- `platform_common.lease.LeaderLease` — Kubernetes Lease-based singleton coordination.
|
||||
|
||||
## [0.1.0] — 2026-06-09
|
||||
|
||||
### Added
|
||||
- Initial package skeleton with `src/` layout, `py.typed` marker, ruff + mypy + pytest config.
|
||||
- `platform_common.jobs.JobStore` — async protocol for TTL-bounded, replica-safe key/value job state.
|
||||
- `platform_common.jobs.InMemoryJobStore` — reference / testing backend (LRU + TTL, asyncio-safe).
|
||||
- `platform_common.jobs.JobRecord` — typed record shape (`id`, `status`, `payload`, `result`, `error`, `created_at`, `updated_at`).
|
||||
- `platform_common.jobs.JobStatus` — `pending` / `running` / `succeeded` / `failed` / `cancelled`.
|
||||
- `platform_common.jobs.make_job_store()` — env-driven factory (`JOB_STORE_URL`); defaults to in-memory.
|
||||
- Gitea Actions CI: ruff, mypy, pytest on every push; build + publish to Gitea PyPI on tag.
|
||||
- Design doc at `docs/jobstore-design.md`.
|
||||
Reference in New Issue
Block a user