docs: compared learnings with the cloud prototype's proof corpus
read all of guidry's proven + disproven proofs (datafusion reads and
caching, filter compilation, cross-entity queries, cas semantics,
schema evolution, partition pruning, compaction, and the three
disproven architectures) and lined them up against weir.
headline: we independently re-ran his disproven all-you-need-is-
iceberg experiment — commit-per-write storming a snapshot store — and
landed on the same lever (flush cadence / commit_every) with the same
mitigation (unflushed writes stay queryable). and his other disproven
path, the hand-rolled parquet+redis catalog, is the trap weir never
entered because the atproto repo IS the snapshot model he migrated to:
iceberg for records, plus signatures.
his unabsorbed lessons become weir's ordered roadmap: pushdown, skip
hydration when the appview is warm, TID-range pruning for listEvents,
snapshot-shaped compaction, query-engine pooling when multi-tenant.
weir's side of the ledger: verifiability, protocol-grade portability,
the public seam, one binary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
weir: rename from prefect-pds + readme with architecture contrast
a weir shapes flow, measures it, and never owns the water. the name
also stops claiming pds (this is an appview + write gateway hosting a
native repo) and stops squatting the prefect prefix on the repo's
public face — io.prefect.v0.* stays as the lexicon namespace, which is
a separate, deliberately-versioned decision.
binary, package name, and env vars follow (WEIR_PORT, WEIR_DATA_DIR,
WEIR_CACHE, WEIR_REDIS_HOST/PORT, WEIR_COMMIT_EVERY). new readme leads
with mermaid diagrams contrasting prefect's self-hosted shape (LB ->
api xN -> shared postgres+redis) against weir's canonical/derived
split, and the ownership asymmetry table that is the actual thesis.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs: compared learnings with the cloud prototype's proof corpus
read all of guidry's proven + disproven proofs (datafusion reads and
caching, filter compilation, cross-entity queries, cas semantics,
schema evolution, partition pruning, compaction, and the three
disproven architectures) and lined them up against weir.
headline: we independently re-ran his disproven all-you-need-is-
iceberg experiment — commit-per-write storming a snapshot store — and
landed on the same lever (flush cadence / commit_every) with the same
mitigation (unflushed writes stay queryable). and his other disproven
path, the hand-rolled parquet+redis catalog, is the trap weir never
entered because the atproto repo IS the snapshot model he migrated to:
iceberg for records, plus signatures.
his unabsorbed lessons become weir's ordered roadmap: pushdown, skip
hydration when the appview is warm, TID-range pruning for listEvents,
snapshot-shaped compaction, query-engine pooling when multi-tenant.
weir's side of the ledger: verifiability, protocol-grade portability,
the public seam, one binary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
weir: rename from prefect-pds + readme with architecture contrast
a weir shapes flow, measures it, and never owns the water. the name
also stops claiming pds (this is an appview + write gateway hosting a
native repo) and stops squatting the prefect prefix on the repo's
public face — io.prefect.v0.* stays as the lexicon namespace, which is
a separate, deliberately-versioned decision.
binary, package name, and env vars follow (WEIR_PORT, WEIR_DATA_DIR,
WEIR_CACHE, WEIR_REDIS_HOST/PORT, WEIR_COMMIT_EVERY). new readme leads
with mermaid diagrams contrasting prefect's self-hosted shape (LB ->
api xN -> shared postgres+redis) against weir's canonical/derived
split, and the ownership asymmetry table that is the actual thesis.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
weir: rename from prefect-pds + readme with architecture contrast
a weir shapes flow, measures it, and never owns the water. the name
also stops claiming pds (this is an appview + write gateway hosting a
native repo) and stops squatting the prefect prefix on the repo's
public face — io.prefect.v0.* stays as the lexicon namespace, which is
a separate, deliberately-versioned decision.
binary, package name, and env vars follow (WEIR_PORT, WEIR_DATA_DIR,
WEIR_CACHE, WEIR_REDIS_HOST/PORT, WEIR_COMMIT_EVERY). new readme leads
with mermaid diagrams contrasting prefect's self-hosted shape (LB ->
api xN -> shared postgres+redis) against weir's canonical/derived
split, and the ownership asymmetry table that is the actual thesis.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
seams.md: the constitution + first appview query/procedure lexicons
codifies the direction conversation: the ORM decomposes (lexicons take
schema+migrations, the appview takes query building, the commit takes
transactions, nothing takes object-row mapping because the mismatch is
gone), the seam is the signed commit and the firehose is that seam made
public, and the four-way rule — policy writes are procedures, plain
writes are applyWrites, reads are declared appview queries, everything
else subscribes.
first declared queries: io.prefect.v0.listRuns / getRun (the appview
reads every REST filter/paginate translates onto), listEvents (served
from the canonical log itself), and proposeState — the policy-gated
procedure that set_state becomes, with ACCEPT/REJECT/ABORT/WAIT and a
StaleTransition CAS error.
v0 posture stated in the doc: experiment freely, add optional fields
without ceremony, mint v1 instead of breaking, let old records rest in
the log.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>