Oppia Research Compass / EVIDENCE RETRIEVAL · RESEARCH OPERATIONS
Make the answer traceable to the evidence.
A read-only research tool gives an AI assistant a path back to source evidence, with stable references and visible gaps.
2 min overview · optional detail below
Evidence retrieval
Where did that answer come from?
Oppia Research Compass connects a claim back to its source.
THE CHALLENGE
A fluent summary is difficult to trust when the underlying research is hard to retrieve or its limits disappear.
MY CONTRIBUTION
I built an internal retrieval tool that keeps source references available and helps an assistant recognize what the evidence does not establish.
01 / Workflow decision
Retrieve the relevant work before offering general advice.
Search retrieves relevant historical work, then exact evidence can be opened before it is quoted. A stable reference lets someone check the interpretation.
Workflow, explained
- 01
Question
Define the research need.
- 02
Retrieve
Find relevant records.
- 03
Inspect
Open the exact evidence.
- 04
Reference
Keep the claim connected to its source.
Decision notes and evidence
What stays attached to retrieved evidence
WHERE e.evidence_id = ?
"evidence_id": row["evidence_id"],
"record_id": row["record_id"],
"content": content[:max_chars],
"content_truncated": len(content) > max_chars,| Returned information | Why the next step needs it |
|---|---|
| evidence_id | Fetch and cite the same evidence item again. |
| record_id | See when multiple excerpts come from one underlying source. |
| source_ref | Retain a source locator with the evidence. |
| content_truncated | Show when the returned text is only an excerpt. |
| Quick-mode budget | At most five search results and an 8,000-character context budget. |
No corpus contents are shown. These are deterministic retrieval behaviors, not model-generated research or an assessment of the archive’s completeness.
Alternatives and constraints
- Alternatives
- A free-form summary could hide where an observation came from. This implementation keeps retrieval and interpretation as separate steps, giving the assistant a concrete item to inspect before it summarizes.
- Constraints and tradeoffs
- Bounded full-text search keeps results manageable and the implementation inspectable. It does not guarantee that different wording will retrieve every relevant study, so the researcher may need to reformulate the query or inspect additional results.
Evidence behind this account
Actual SQL retrieves by evidence_id. Quick mode limits search to five results and an 8,000-character context budget. The repository reports whether an evidence item was truncated instead of silently treating the excerpt as the complete record.
02 / Workflow decision
Make the access boundary part of the implementation.
The tool opens the research database in read-only mode. It can retrieve records for inspection without rewriting the evidence. That separates finding information from deciding what it means.
The tool handles
Retrieval
- Search the source material
- Open an exact evidence record
- Return stable source references
The researcher handles
Judgment
- Interpret context
- Notice contradictory evidence
- Decide the next research question
Implementation-derived explanation. No participant records are displayed.
Decision notes and evidence
Two inspectable connection settings
f"file:{resolved}?mode=ro", uri=True, check_same_thread=False
self.connection.execute("PRAGMA query_only = ON")- Database open mode
- Read-only
- Connection query policy
- query_only enabled
- Tool surface
- Ten read-only tools: eight for records/evidence, two for planning/audit
Selected original connection settings, separated here for readability. These controls apply to this tool’s database connection.
This explains an access boundary; it does not grant permission to distribute the internal research collection.
Alternatives and constraints
- Alternatives
- An editing tool would need a different authorization and review workflow. This edition intentionally exposes retrieval and research support, with no archive-editing operation in its ten-tool surface.
- Constraints and tradeoffs
- A researcher may still discover a source that needs correction or new material worth adding. Those changes have to happen through the archive’s separate maintenance process rather than through the retrieval tool.
Evidence behind this account
The actual connection uses SQLite mode=ro and enables PRAGMA query_only. The retained internal package report also checks the tool surface and read-only annotations.
03 / Workflow decision
Let missing evidence remain visible.
An evidence gap should become a research question. The tool can surface missing identifiers or a source set concentrated in one record, so the assistant can qualify the answer.
Workflow, explained
- 01
Notice the gap
A narrow source set limits what we can say.
- 02
Qualify the claim
Separate a finding from an inference.
- 03
Plan the next question
Identify the evidence needed to go further.
Decision notes and evidence
Same audit function, three evidence states
"ready_for_synthesis": bool(records) and not missing,| Illustrative input | Actual returned status | What the researcher still needs to do |
|---|---|---|
| demo-evidence-1 + demo-missing | Found: demo-evidence-1. Missing: demo-missing. ready_for_synthesis: false. | Resolve the missing reference before relying on that part of the bundle. |
| demo-evidence-1 + demo-evidence-2, both from demo-record-1 | Both IDs found. One record. Single-record and single-evidence-type warnings. ready_for_synthesis: true. | Consider whether other sources or evidence forms are needed before generalizing. |
| No evidence IDs | No retrievable evidence. ready_for_synthesis: false. | Find relevant existing evidence or frame a study to address the gap. |
This is a new portfolio demonstration, not a historical participant study or the packaged release’s original fixture. The readiness field indicates reference availability, not research quality or sufficient triangulation.
Alternatives and constraints
- Alternatives
- A single ready/not-ready badge would conceal the distinction. The implementation returns found IDs, missing IDs, record count, evidence types, and warnings alongside its readiness field.
- Constraints and tradeoffs
- The field named ready_for_synthesis only checks that some evidence was found and none of the requested IDs were missing. It can be true while the tool warns about a single record or evidence type. A researcher must still judge whether the bundle can support the claim.
Evidence behind this account
For this portfolio, I exercised the actual local audit function with invented IDs and metadata, without opening the research database. The results below show three concrete states returned by that function.
WHERE IT LANDED
A bounded way to bring research into AI-assisted work.
The internal 0.4.0 package provides ten read-only tools, with a recorded automated integration-test report covering retrieval, tool boundaries, and reference checks. It gives the host assistant an inspectable path from a question back to the research source.
What I learned and would test next
Traceability is a product behavior. It depends on what the tool returns, what it asks the assistant to inspect, and how clearly it represents a gap in the evidence.
I would evaluate representative researcher tasks: finding a relevant study, checking a quotation, and identifying an unsupported conclusion. I would compare source accuracy and review effort before making an adoption or productivity claim.
Original repository implementation and September 4, 2026 internal package records. This independent project is separate from my volunteer role at Oppia. Visuals show implementation and reconstructed workflows; the research corpus remains private. Team adoption and measured productivity were not established.
