Repository navigation
Unify retained pull-request attribution for Scoring and metrics - #1312
Merged
Merged
Conversation
This was referenced Oct 25, 2026
Merged
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.
Summary
Closes #1311
Match PR URLs without ASCII case or trailing slashes. Select by parsed RFC 3339 instant, then lexical record path and Command name. Saved local path/name pins select exactly or return no match. Scoring keeps its capture points and persisted schema; metrics reuses its Snapshot and lightweight settlement decoder.
Test seams
Evidence
cargo test --bin thirdshift retained_pull_request_lookup_orders_instants_across_offsetsfailed: selectedolder.command.jsonat12:00+02:00overnewer.command.jsonat11:00Z.After: the retained regression passes. Shared-interface tests cover normalization, chronological/tied/invalid starts, exact pins and nested/dispatched ownership. Command regressions prove Scoring/metrics agreement, one count across Continuations, unavailable/mismatched-pin refusal, unchanged record bytes and no remote metric reads.
cargo check,cargo fmt --checkandcargo clippy --all-targets -- -D warningspass./usr/bin/time -p scripts/affected-tests mainpassed: 50 site tests and 3,004 Rust tests passed (66 skipped). Wall time: 1,642.22s including compilation, site checks and Rust execution. Nextest's full Rust execution took 1,454.385s; compilation was included in the selector timing.Merge Danger
Door: two-way
Blast Radius: attribution
Local Command selection for Scoring and Bug-origin metrics; no retained-data migration.
Unaddressed findings
Standards
None. The single P3 fixture-duplication finding was fixed in
1d3553fband verified in the reviewer's follow-up.Spec
None. No findings.
Security
None. Security review (guidance mode) of the attribution consolidation found no introduced findings: the new module only compares locally captured record paths/names and PR URLs, returns locally captured identities, and adds no network, write, or authorization path. No proof-of-concept failure was produced, so no fix was made here.
Security review outcome
No unaddressed introduced findings.
Review coverage
Both independent reviewers inspected all 16 changed files, including generated
site/docs/index.html, and the final fixture changes. Generated-output exclusions: none. Unread changed files: none under either axis.Built with codex · gpt-6.1-sol · xhigh