feat(event): score TDT tracks with pair precision and switch rate - #68
Conversation
Keep hypothesized track assignments in existing event_core as measurement evidence. Refuse track-as-instance and track-as-transition promotion, compute pair precision/recall and identity-switch rate from known truth, and recover same-track targets with lower RMSE than an always-one-track detector.
|
Warning Review limit reached
Next review available in: 1 minute Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (14)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
# Conflicts: # CHANGELOG.md # docs/TRACEABILITY.md
|
Reviewed and integrated current protected main without force-push. The tracking contract keeps pair metrics and identity-switch rate as evidence only: duplicate/mismatched/empty streams fail closed, and tracks cannot become instances or state transitions. Current head: Verification at this exact head:
Please run protected current-head Checks and obtain the required independent approval before normal merge. |
|
Current-head review refresh for 85c09ec:
|
|
Exact-head maintenance receipt for PR #68. Current head: Rebased by a normal merge commit and retained the TDT tracking contracts plus the current naruon live-listener implementation. Exact-head local proof passed: Rust 1.97.1 This is not a review or approval. Please evaluate this exact head with current required Checks and independent review. @cwl-noema-review @opencode-agent |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head6a98c812ef8e621e1bc1c46a615296b39f0bae33. -
Head SHA:
6a98c812ef8e621e1bc1c46a615296b39f0bae33 -
Workflow run: 32605900574
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (6 files)"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Changed file (6 files)"]
R1 --> V1["required checks"]
Evidence --> S2["Docs (8 files)"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs (8 files)"]
R2 --> V2["docs review"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage Decision
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (6 files)"]
S1 --> I1["repository behavior"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["required checks"]
Evidence --> S2["Docs (8 files)"]
S2 --> I2["operator or user guidance"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["docs review"]
Merge Conflict Guidance
gh pr checkout 68 --repo ContextualWisdomLab/TEPP
git fetch origin main
git merge --no-ff origin/main # or: git rebase origin/main
git status --short
# resolve files, then git add <resolved-files>
# merge path: git commit
# rebase path: git rebase --continue
git push origin HEAD:agent/event-tracking-stability
# rebase path only: git push --force-with-lease origin HEAD:agent/event-tracking-stability |
Stale coverage-evidence CHANGES_REQUESTED. Exact head 6a98c81 has coverage-evidence success. Not an approval.
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head6a98c812ef8e621e1bc1c46a615296b39f0bae33. -
Head SHA:
6a98c812ef8e621e1bc1c46a615296b39f0bae33 -
Workflow run: 32699597463
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Changed file (6 files)"]
S1 --> I1["repository behavior"]
I1 --> Conflict["Merge conflict blocks this path"]
Conflict --> V1["required checks"]
Evidence --> S2["Docs (8 files)"]
S2 --> I2["operator or user guidance"]
I2 --> Conflict["Merge conflict blocks this path"]
Conflict --> V2["docs review"]
Summary
#38 merged to protected main (
4d287a2). Preferred merge #45 was draft+CONFLICTING after that merge. This cycle rebased #45 onto origin/main (kept mention SQL from #38 and 0007 retention), force-pusheded1349f, and marked it ready. #45 is MERGEABLE BLOCKED: Checks queued, CodeRabbit COMMENTED only, no qualifying independent APPROVE. Do not self-approve or force-merge. Do not leapfrog #45 with #39.Next no-0008 gap: TDT tracking pair precision/recall and identity-switch rate in existing
event_core(does not recreate TDT/CHRONOS ormodel_selectioncrates, does not wait on #48/#49/#53/#65/#66/#67, and does not allocate 0008).refuse_track_as_instance/refuse_track_as_transitionnever promote a hypothesized tracktracking_pair_precisionandtracking_pair_recallfail closed on empty, mismatched, duplicate-mention, or pairless assignment streamstracking_identity_switch_rateis computed only over consecutive mentions that share a truth trackTest plan
0.5vs0.5always-one-track); fixture corrected so calibrated precision exceeds the naive mergecargo test -p event_core --offlinecargo clippy -p event_core --all-targets --offline -- -D warningscargo test --workspace --offlinepython3 scripts/validate_documentation.pyandcheck_docstrings.pyDo not self-approve or merge. Prefer merge #45 when exact-head required checks and a qualifying independent APPROVE exist. Do not allocate 0008.