Maya Abdallah

00 / Research software · Human–AI interaction

NODAL

Tracing information through language models.

What changes between a source and an AI-generated answer?

NODAL is a native macOS research instrument designed to investigate how language models transform information, and to make those transformations more visible, traceable, and open to human interpretation.

Type
Independent research software
Platform
macOS
Discipline
Media & Communication / Software Development
Status
In development
Year
2026–Ongoing

01 / The question

A coherent answer can change the information it carries.

When an AI system generates an answer from source material, the output may appear coherent and authoritative. Yet the process can change how information is attributed, contextualized, qualified, or presented.

NODAL creates a structured environment for reading a generated response alongside its underlying sources. The research concerns what survives that passage: whose words remain attributed, which uncertainties remain visible, and how evidence is connected to a claim.

For media studies and journalism, these are questions of information authority. A statement presented as someone’s account carries a different meaning from the same statement presented without attribution. A qualification can shape what readers understand as established public knowledge.

Attribution / Uncertainty / Context / Evidence

02 / The instrument

From source material to an inspectable record.

The workflow keeps source material, generated text and researcher interpretation connected. Select a stage to examine what it receives and what it preserves.

Stage 01 / 06

Preserve a source packet.

Keep the original material available for inspection, even as the study develops.

Input
Text or Markdown, with source provenance.
Output
Immutable source snapshots, hashes and stable passage identifiers.

Stage 02 / 06

Record the generation.

Retain the conditions under which an answer was produced.

Input
A source packet, prompt, model identifier and requested settings.
Output
A frozen configuration and response record; unavailable metadata stays explicit.

Stage 03 / 06

Read claims against sources.

Make the unit of analysis a deliberate researcher selection.

Input
A generated response alongside its frozen source material.
Output
Selected claim spans, or source-only records of omissions.

Stage 04 / 06

Connect claims to evidence.

Keep the exact passage behind an interpretation within reach.

Input
A selected claim and manually chosen or suggested source passages.
Output
Evidence links anchored to the original text; suggestions require human acceptance.

Stage 05 / 06

Record a judgment.

Separate the source text from what a researcher concludes about it.

Input
Claims, linked evidence, codebook decisions and a written rationale.
Output
Attributed annotation revisions, with unresolved judgments kept visible.

Stage 06 / 06

Preserve the research record.

Make later inspection and comparison possible without erasing earlier decisions.

Input
Submitted review sessions, response records and annotation histories.
Output
Scoped JSON or CSV research exports; suggestion provenance is exported separately.

03 / Evidence Assist · Experimental

A passage to inspect.
A decision to make.

A researcher selects a claim from a generated response. Evidence Assist proposes potentially relevant passages from that response’s frozen source packet. The researcher reads them in context and decides whether to accept or reject the suggested connection.

Interactive explanation / Fictional text, not an application screenshot or research result
01 / Frozen source

“The report suggests that the programme may improve access, although long-term effects remain unknown.”

02 / Generated answer

“The programme improves access.”

Selected claim

The example invites comparison; it does not assign a research label.

03 / Researcher confirmation

Is this passage relevant to the claim?

The suggested passage may help examine the claim even when it does not support the claim as written. Acceptance records an evidence connection, not a verdict of truth.

In NODAL, the researcher inspects the source and supplies a rationale before accepting and saving a revision. Rejecting a suggestion leaves the annotation unchanged.

Evidence retrieval is not factual verification.

The current retrieval method compares shared words locally. It can miss paraphrases and retrieve irrelevant passages. It produces no confidence probability, truth score or bias classification. A missing candidate is a limitation of the method, not evidence that a claim is unsupported.

04 / Designing for research

Keep the evidence close.
Keep the judgment visible.

The native workspace places source text, the response and the annotation inspector in resizable split panes. This gives the researcher a way to move between the claim, its context and their own interpretation without treating any one view as the whole record.

01 / Source visibility
Evidence links return to exact source spans. Passage identifiers and snapshot hashes retain the connection to the material used for that response.
02 / Deliberate confirmation
Researchers select claims themselves. Accepting suggested evidence saves a human revision; it does not automatically fill the research categories.
03 / A visible history
Annotations retain their author, rationale, codebook version and earlier revisions. Revising an interpretation does not erase the path to it.
04 / Manageable comparison
Submitted independent reviews can be compared. Assisted sessions remain separate from independent review cohorts, so machine suggestions are not quietly mixed into that comparison.
05 / Evidence and interpretation
Original source text and response records remain distinct from researcher decisions. Unknown metadata and unresolved judgments stay explicit.

05 / Building NODAL

The record is part of the instrument.

NODAL is built in Swift, using SwiftUI for the native macOS interface and AppKit for selectable research text. Its core source and annotation workflow runs locally. Hosted model generation is a separate network operation.

Sources & anchors
Immutable source snapshots retain original bytes and SHA-256 hashes. Stable passage identifiers and UTF-16 text spans connect selected claims and evidence to exact text.
Model integrations
Adapters are implemented for Anthropic Messages, Google Gemini and OpenAI Responses. Frozen configurations preserve prompts, requested settings and source references; runs retain responses and available provider metadata. Live provider behavior is not yet fully verified.
Credentials
Provider keys use device-only, non-synchronizing macOS Keychain items, separate from the research database. The implementation redacts credentials echoed in response records. Signed-distribution Keychain behavior remains unverified.
Persistence & exports
Codable records are written to a local JSON repository using atomic file writes. Scoped JSON and CSV exports preserve research records and annotation revisions. Evidence suggestion provenance has its own export.
Regression testing
The project’s 30 October 2026 verification log reports 77 native tests passing, including mocked provider execution, retry policy, persistence and export checks. These are software checks, not findings about model behavior or retrieval accuracy.

06 / What NODAL does not do

Interpretation remains
a human responsibility.

NODAL does not automatically decide what is true, determine whether a model is ideologically biased, or replace critical scholarly interpretation.

A source connection establishes a relationship that can be inspected. It does not establish the independent truth of the source. The removal of an attribution, too, requires interpretation in context rather than an automatic verdict of misleadingness.

The instrument preserves the material and the decisions needed to question an answer. The argument still belongs to the researcher.

07 / Current state · 30 October 2026

An instrument in development.
An inquiry still open.

Implemented

Source preservation, response records, claim selection, evidence linking, annotation revisions, experimental Evidence Assist, provider adapters and research exports are present in the local application.

Still to verify

Live provider and signed Keychain workflows, full keyboard-only authoring, VoiceOver, fluent Arabic text and caret behavior, large-document performance, and distribution signing require further checks.

Independent relevance annotations are still needed for scientific retrieval evaluation. No completed pilot findings or validated retrieval performance are reported here. The latest OpenAI readiness check did not reach a live generation; mocked tests do not close that gap.

Implementation reviewed against the local Swift source, README, VERIFICATION.md and AUDIT.md. No public repository or documentation URL is currently established for this project.

Making the transformation of information visible is the first step toward questioning it.

Return to Work