ADAPT-1 baseline corrections (per handoff: fix D2+D3, record D1 as FIXED_DEPTH_ROUTE_INAPPLICABLE — no OUTWARD semantics change). CORRECTION-1 (D2): producer contract enforced - Worker prompts updated: artifact file must contain exactly one JSON document; StageCompleted markers go to stdout ONLY - _load_worker_artifact_file(): canonical reader requires pure JSON; LEGACY_COMPATIBILITY_ONLY permits exactly the known 'StageCompleted: <STAGE>' trailing sentinel (regex-anchored, no arbitrary salvage); corrupt JSON is never masked - Acceptance: pure JSON OK; exact sentinel OK; arbitrary trailing text rejected; corrupt JSON rejected; all 6 stage prompts carry the contract CORRECTION-2 (D3): StageAttempt telemetry wired into real production path - research_event_relay: marks tool windows on tool running/completed/error/ failed events (observational, never changes classification) - StageExecutor._run_relay_with_telemetry: marks model windows around relay.run(); attempt threaded through _execute_stage into all 8 stage methods (telemetry_attempt kwarg, default None) - PROVEN on a real production-path execution: ADVERSARIAL record shows wall=0.3006, model_time=0.3001 (1 window), tool_time=0.3001 (1 window) — overlapping by design, non-additive model respected - telemetry failures never raise into the stage path (observational) D1 NOT a code correction: recorded as FIXED_DEPTH_ROUTE_INAPPLICABLE_TO_LOCAL_EVIDENCE_TASKS — EXPECTED_ROUTING_LIMITATION / ADAPTIVE_REQUIREMENT. OUTWARD external- evidence semantics preserved unchanged. 1163 tests pass (was 1158); ruff clean.
1.6 KiB
1.6 KiB
Research Stage: OUTWARD
Process capsule
- Issue: {{ISSUE_NUMBER}}
- Round: {{ROUND}}
- Stage: OUTWARD (of 7)
- Prior artifacts: {{PRIOR_ARTIFACTS}}
- Blocking unknowns: {{BLOCKING_UNKNOWNS}}
Your task
Find and read enough reliable external evidence to answer the external research questions.
You MUST
DISCOVERY:
- Issue real searches (webfetch of search engines, documentation sites)
- Preserve query/tool receipts
- Identify candidate sources with stable IDs (O1, O2, ...)
- Classify each source (official docs, GitHub, academic, blog)
- Select a bounded relevant set for reading
READING:
- Actually fetch/read the selected sources
- Extract evidence claims relevant to the subquestions
- Record limitations and contradictions
- Preserve source IDs and fetch/read receipts
You MUST NOT
- Inspect unrelated Rune code
- Design the Rune solution
- Perform INNOVATION (that's the next stage)
- Perform SYNTHESIS
- Modify production code
- Continue searching after the evidence requirement is satisfied
- Treat search snippets as evidence (actually read the pages)
STOP CONDITION
Stop when each required external subquestion has:
- Adequate evidence, OR
- Explicit contradictory evidence, OR
- A named unresolved gap
Output
Produce your stage artifact as structured text with:
- DISCOVERY: queries issued, sources discovered with URLs
- READING: sources actually read, evidence extracted
- LIMITATIONS: what the sources don't cover
- CONTRADICTIONS: where sources disagree
End with:
StageCompleted: OUTWARD (stdout ONLY — the artifact file must contain exactly one JSON document, nothing else)