You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit dde2b9a
Browse filesBrowse the repository at this point in the historyBrowse files
The project validation index is a rebuildable mapping from `(queue, URI, degree_order, project)` to the immutable fact keyed by `(queue, URI, project)`. It contains no duplicate validation payload. Its primary key supports bounded range reads in descending breakage degree and ascending bytewise project ID, without sorting a non-key attribute or scanning every fact.
4
+
5
+
`degree_order` reverses nonnegative IEEE-754 degree bit patterns into an ascending integer key without rounding. Positive and negative zero share one key; invalid degrees and whole-repository facts cannot produce mappings. Binary identifiers preserve bytewise tie order.
6
+
7
+
## Persistence and repair
8
+
9
+
The record controller persists the winning immutable fact before ensuring its mapping. Redelivery repairs missing mappings even when the fact already exists, and derives their keys from the stored degree rather than a losing candidate. Project-recording logs and downstream terminal notifications follow successful mapping writes. No cross-store transaction is required.
10
+
11
+
`stovepipe/core/projectindex.Backfill` rebuilds one queue-scoped URI using bounded project-key scans and idempotent mapping writes. It is restartable and does not load all facts into memory. Schema deployment and historical backfill are operator-controlled, not performed by an RPC or service startup.
12
+
13
+
## Rollout
14
+
15
+
The ordering table is additive; the original fact identity and primary key are unchanged. Install the table before deploying index writers. Fully deploy writers before running historical backfill so facts recorded concurrently are also indexed. Populate and verify the historical mappings before adopting readers that rely exclusively on this projection; creating the table alone does not make the projection complete.
16
+
17
+
Keep the additive table when reverting application adoption. If index writers are disabled, backfill any facts recorded during that interval before adopting index-based readers again.
0 commit comments