Skip to content

Restore ordinary frame refreshes and verify inspection before completion - #261

Closed
devhims wants to merge 1 commit into
mainfrom
fix/frame-scope-followup
Closed

devhims wants to merge 1 commit into
mainfrom
fix/frame-scope-followup

Conversation

@devhims

@devhims devhims commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Problem / Motivation

After #260, asking the Agent to “refresh the frames” could produce a clarification question even when the user had delegated the choice of timestamps. In a separate case, a turn requiring visual evidence could finish after an image was retrieved but before an analyst inspected it.

What changed

An open-ended refresh can run immediately. For a fixed request, the classifier supplies distinct saved and new positions for one video. Routing checks those permissions against the linked video and rejects a single-video list on a comparison.

%%{init: {"themeVariables": {"sequenceNumberColor": "#ffffff", "signalColor": "#475569"}}}%%
sequenceDiagram
    autonumber
    participant A as Agent
    participant P as Frame provider
    participant V as Visual analyst
    A->>P: Retrieve permitted 10:45 frame
    P-->>A: Return image
    alt Before
        A->>A: Could finish with image uninspected
    else After
        A->>V: Inspect returned image
        V-->>A: Observations or inspection failure
    end
Loading

Retrieving the permitted frame and inspecting its contents are separate steps. A failure reading saved 10:30 still allows work on 10:45. The application appends one activity note after resolving citations. Completion reuses the initial frame inventory and considers legacy assets with missing timestamp metadata.

Tests

TypeScript passed. The platform suite passed 2,292 tests with 67 skipped. All 336 selected runtime, session evidence and billing integration tests passed. Scripted regressions cover ordinary refresh, conflicting video scopes, capture followed by separate analysis, and warning limits. Live model routing remains to be verified after deployment.

@vercel

vercel Bot commented Nov 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
video2ctx-web Ready Ready Preview Nov 7, 2026 7:35am UTC

devhims commented Nov 7, 2026

Copy link
Copy Markdown
Owner Author

Review: APPROVE

Reviewed exact head 43253b4ce027e4a97ffa9a8c95fea042c1073f50 against base a4fdfac3f495cbd82dc9919b4c45072b7861de55. No material correctness or security findings requiring changes.

Verified the changed routing separates open-ended refresh from bounded saved/new positions, fails closed on malformed/conflicting/wrong-video scopes, and preserves restrictions on resume. Reviewed the research completion gate, stored-asset freshness checks, per-version inspection tracking, and application-generated activity notes after citation resolution. A failed saved-image inspection does not by itself prevent a separate permitted capture and inspection.

Independent checks on the reconstructed head (all 11 changed-file blob hashes matched GitHub):

  • Platform unit suite: 2,292 passed, 67 skipped.
  • Runtime, session-evidence and evidence-billing integration suites: 336 passed.
  • TypeScript: passed.
  • Additional reviewer regressions: 8 passed, covering exhausted routing repairs and fail-closed capture permissions; legacy scoped-route compatibility; current-run/video isolation; partial per-version inspection; and requested-but-missing frames.
  • All 8 Verify CI jobs completed successfully for this exact head: run 42351906176.

Verification limits: classifier/analyst regression tests use scripted model outputs. This is code-review approval, not a production QA pass or proof of real-model routing accuracy. Post-deployment live checks should still cover ordinary delegated refresh, saved 10:30 plus only-new 10:45, saved-inspection failure followed by successful authorized capture/analysis, and reload continuity. No merge or deployment performed.

devhims added a commit that referenced this pull request Nov 7, 2026
…ivity notes

Folds in the per-version completion tracking, finalizer-owned activity report and
resume guard from #261, and addresses the review of the previous commit:

- A refresh that names positions or forbids recapture now needs a capture list;
  a fallback asks instead of widening it. Open refreshes no longer need one, so
  agent_selected is gone.
- Completion tracks each frame version: one video's inspection no longer stands
  in for another's, and saved frames whose inventory omits the position are tried.
- buildAgentTurnResult appends the activity report and states when a cited frame
  observation comes from an earlier turn and was not re-inspected, which holds
  even when the route omitted that video.
@devhims

devhims commented Nov 7, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #262, which keeps this PR's per-version completion tracking, finalizer-owned activity report and resume guard, and adds per-video frame access for saved-on-one-video, capture-on-another requests.

@devhims devhims closed this Nov 7, 2026

This branch was successfully deployed

1 active deployment
Preview — 43253b4c Deployed Nov 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant