Store a source the way a variant is stored, one row and one file per source URL (closes #308)
check / check (push) Waiting to run
check / check (push) Waiting to run
A source is now one source_content row and one file named by its SourceKey, the SHA-256 of its host, path and query, made as the variant key is. A store writes the file, then upserts the row, and removes the file when the row cannot be written; an eviction deletes the row, then the file, with no lock. source_metadata, the JSON files under cache/metadata/, MetadataStorage, the content lock, the eviction transaction and its test hook are gone, as is the reconciliation pass that dropped a source row whose file is missing. Two source URLs serving the same bytes store them twice. Model: opus-5-5
This commit is contained in:
@@ -30,6 +30,14 @@ P2: security: per-origin rate limiting
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-21 a source is stored the way a variant is (closes #308): one
|
||||
`source_content` row and one file per source URL, the file named by the
|
||||
source's `SourceKey`, the SHA-256 of its host, path and query made as the
|
||||
variant key is, under `cache/sources/`. A store writes the file, then the row,
|
||||
and removes the file when the row cannot be written; an eviction deletes the
|
||||
row, then the file, with no lock and no transaction. `source_metadata`, the
|
||||
JSON files under `cache/metadata/`, `MetadataStorage` and the content lock are
|
||||
gone. Two source URLs that serve the same bytes now store them twice.
|
||||
- 2026-10-21 one image request type instead of five (closes #307): the new
|
||||
package `internal/imagerequest`, which imports no other package of pixa, holds
|
||||
`imagerequest.Request` with its two parts, `Source` (host, path and query) and
|
||||
|
||||
Reference in New Issue
Block a user