fix(ai): carry-over e2e fixture uses empty owner_name not null#101
Merged
Conversation
issues.owner_name is NOT NULL DEFAULT '' so inserting null violated the constraint and failed all fixture-based carry-over e2e tests. Empty string is the no-owner representation; summarizeCarryover already treats it as unowned.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PR #100 merged with a failing E2E shard (6/16). The carry-over briefing feature code is correct (unit-tested, contract-verified), but the e2e fixture inserted
owner_name: nullintoissues, where the column isNOT NULL DEFAULT ''(00001_initial_schema.sql). The constraint violation threw increateCarryoverFixture, failing all 3 fixture-based tests before any assertion ran.Fix
One line: the unowned issue now uses
owner_name: ""(the actual no-owner representation).summarizeCarryoveralready treats""andnullidentically (both falsy), sono_owner_countis unchanged and the feature logic needed no change.Why it merged red
The branch ruleset requires PRs but does not mark the E2E matrix as a required status check, so the merge was not blocked. Process correction: verify each shard conclusion is
successbefore merging, not just the aggregate watch exit.Verification
test:ai-carryover6/6,test:ai-contracts: pass; eslint clean.