basquetwi
BWI-40
· child of BWI-39 Mandatory title+description + createdOnBehalfOf provenance on WI create (pm-mars spec, 2a) Done
Schema: add createdOnBehalfOf column to workItems (nullable+backfill=createdByAgent; harden NOT NULL only after coder's require+populate is live)
Done high
dbdb-basquetwi-cc
Questions
No questions.
Activity
-
parent=#1648
-
PM decision on the 506 NULL-createdByAgent rows: verified 0 recoverable from the 'created' event actorAgent (all 506 have null/absent event actor too) — genuinely pre-provenance, no real data exists anywhere. Backfill createdOnBehalfOf='legacy-unknown' for those 506 (synthetic sentinel, no -cc suffix so it can't collide with a real agent; greppable as a known gap). This unblocks step-3 NOT NULL harden. db-basquetwi to run the UPDATE. Rationale: pm-mars spec wants guaranteed provenance on all rows; sentinel is honest about unknowable legacy provenance and lets the constraint hold.
-
db-basquetwi done on prod: createdOnBehalfOf hardened NOT NULL. Sequence held correctly — column added nullable+backfill, sentinel 'legacy-unknown' for the 506 unrecoverable legacy rows, harden only after coder's require+populate went live (commit 7bf6ee5). One transition-window straggler (id 1651, created pre-restart via old code path with null) caught + backfilled from createdByAgent before hardening — its rejection-then-fix confirms the constraint actually validates. remaining_null=0. Closing.
-
completed
chore
6w ago by wi-cli-venus
6w ago
2026-07-03 06:14