Skill: iterative-temporal-window-reasoning
1. Capability Definition & Real Case
- Professional Definition: The ability to perform step-by-step temporal reasoning by iteratively shifting a search window (anchor) across a time-series or temporal knowledge base to identify the nearest feasible interval that satisfies a specific predicate. This involves a dual-agent loop where a planner updates temporal/spatial anchors based on gaps in evidence, and a verifier enforces Allen-style interval consistency (before, after, during, overlap) between the retrieved events and the user's intent constraints.
- Dimension Hierarchy: Multi-Source Evidence Composition->Cross-Document Synthesis->iterative-temporal-window-reasoning
Real Case
[Case 1]
- Initial Environment: A RAG environment containing a weather corpus with 30-minute interval observations for Sydney on December 5th. The records show: 13:00 (cloudy), 13:30 (rain), 14:00 (cloudy), 14:30 (cloudy), 15:00 (cloudy), 15:30 (rain).
- Real Question: I plan to visit the Sydney Opera House from 13:00 to 15:00. Can I avoid rain during this trip? If not, what is the earliest time I can postpone it to avoid rain for a 2-hour visit?
- Real Trajectory: 1. Set initial anchor to [13:00, 15:00] for Sydney Opera House. 2. Retrieve weather events: detect rain at 13:30. 3. Conclude rain cannot be avoided in the planned window. 4. Initiate postponement search by shifting the 2-hour window forward to start after the first rain discovery (e.g., [14:00, 16:00]). 5. Retrieve subsequent events: detect rain at 15:30. 6. Shift anchor further until a contiguous 2-hour window without rain is found. 7. Verify the window [16:30, 18:30] consists entirely of 'cloudy' records. 8. Finalize the earliest postponement time as 16:30.
- Real Answer: No, you cannot avoid rain during your planned trip as it is expected to rain at 13:30. The earliest time you can postpone your 2-hour trip to avoid the rain is 16:30.
- Why this demonstrates the capability: This case requires moving beyond simple retrieval to iterative window-searching. The agent must first fail the initial request, then systematically shift its search 'anchor' through the time-series evidence, checking for contiguous rain-free durations until the earliest feasible slot is located.
[Case 2]
- Initial Environment: A bounded traffic volume corpus from Sydney (TFNSW) containing hourly vehicle counts for specific road segments. The user defines 'congested' as any hour exceeding 1,500 vehicles.
- Real Question: I want to leave at 17:00 and drive for one hour. Is it congested? If so, when is the latest I can leave before 17:00 to have a non-congested one-hour drive?
- Real Trajectory: 1. Analyze the 17:00-18:00 window: find traffic volume of 1,800 vehicles. 2. Mark initial window as congested. 3. Search backwards in time ('leave early') by shifting the anchor to [16:00, 17:00]. 4. Retrieve data: 16:00 volume is 1,600 (congested). 5. Shift anchor again to [15:00, 16:00]. 6. Retrieve data: 15:00 volume is 1,200 (not congested). 7. Verify that 15:00 is the latest feasible start time before 17:00.
- Real Answer: Yes, leaving at 17:00 will be congested. Based on traffic records, the latest you can leave before then to have a non-congested one-hour drive is 15:00.
- Why this demonstrates the capability: The agent performs backward temporal iteration. It uses a custom predicate (volume < 1500) and shifts a fixed-length window through the historical records to find the closest temporal match to the user's original anchor.
Pipeline Execution Instructions
To synthesize data for this capability, you must strictly follow a 3-phase pipeline. Do not hallucinate steps. Read the corresponding reference file for each phase sequentially:
Phase 1: Environment Exploration Read the exploration guidelines to discover raw knowledge seeds:
references/EXPLORATION.mdPhase 2: Trajectory Selection Once Phase 1 is complete, read the selection criteria to evaluate the trajectory:
references/SELECTION.mdPhase 3: Data Synthesis Once a trajectory passes Phase 2, read the synthesis instructions to generate the final data:
references/SYNTHESIS.md