[object Promise]
ACIM Atlas · Docs
← Back to Homepage
The Pipeline

Pass 1—Section Annotation

Pass 1 is the foundation of the entire dataset. It reads each unit of the ACIM Text—one at a time—and produces a structured record of which motifs are present, how central they are, and how they function. Every score, trail, metric, and piece of editorial content in ACIM Atlas traces back to what Pass 1 recorded.

This is also the only pass in the pipeline where AI reads the ACIM source text. Everything that follows—trail synthesis, corpus metrics, editorial content—operates on the structured data Pass 1 produces, not on the Text itself.

What it does

For each unit (the Text introduction, the chapter introductions, and the sections), Pass 1 evaluates the unit against the full motif controlled vocabulary and produces a structured JSON file containing one record per detected motif occurrence. A motif is recorded if it meets a minimum salience threshold; motifs that are absent from the unit are simply omitted.

Each occurrence record captures three kinds of information: how central the motif is to the unit (salience), how the unit uses the motif (controlled codes), and what evidence supports the finding (paragraph pointers, key terms, and a factual editorial context).

How it works

Pass 1 is executed by a specialist custom GPT. The custom GPT packages four things into a stable, repeatable configuration:

  • An instruction set that defines the task, the constraints, and the expected behavior.
  • A scoring rubric that specifies how salience is evaluated and how controlled codes are assigned.
  • The full motif vocabulary with definitions, inclusion signals, exclusion signals, near-neighbor motifs, and disambiguation notes.
  • A strict output schema that defines the exact structure of the output file.

For each unit, the GPT receives the unit reference (e.g., T-21.V) and reads the corresponding section from the ACIM Web Edition at acim.org/acim/en. It identifies paragraph boundaries, evaluates each motif in the controlled vocabulary against the unit’s content, and produces its output. The process is repeated for every unit in the corpus.

The custom GPT format matters because the project’s goals are longitudinal. To see motif development over time, the annotation rules must be stable enough that differences between units reflect the Text rather than the annotator’s changing criteria. A packaged configuration means the same definitions, thresholds, and output structure apply to the first unit and the last without renegotiation.

Each Pass 1 run is a separate, self-contained conversation. The GPT accesses one section of the Text, reads it, produces its structured annotations, and the conversation ends. No context from one run carries into the next—the model has no memory of what it annotated in an earlier section, and no access to sections it has not yet been asked to process.

The process is analogous to a skilled human annotator who reads one section, records detailed notes according to a rubric, and then sets the text aside before moving to the next. What remains after each run is the structured output, not the source text itself. The ACIM Text is read and released, section by section, leaving only the annotations behind.

What it produces

Each motif occurrence in the Pass 1 output contains the following fields.

Salience score

A decimal value between 0 and 1 representing unit-local centrality—how central the motif is to what the unit is doing. Salience is interpreted locally: a motif may be central in one short introduction and peripheral in a long section without that implying anything about the motif’s global importance.

To make salience interpretable, the project defines explicit tier bands:

Tier Range What it means
Primary 0.80–1.00 The unit is primarily about this motif
Pillar 0.60–0.79 A major motif that drives the unit’s argument or practice
Supporting 0.40–0.59 Clearly developed, but not dominant
Minor 0.25–0.39 Present and meaningful, but brief or secondary
Echo 0.10–0.24 A faint, non-developed mention or implication

Every motif with a salience score of 0.10 or higher is recorded. Motifs scored below 0.10 are treated as absent and omitted. The threshold at 0.25 is also significant: it separates “substantive” occurrences (Minor and above) from “echoes,” a distinction that matters throughout the rest of the pipeline.

Full documentation of the salience system is on the Salience Tiers page.

How salience is anchored

Because salience is a graded judgment, the rubric uses concrete, unit-internal signals to anchor scoring decisions and reduce drift. Salience is treated as a function of several factors considered jointly:

Coverage. How broadly the motif appears across the unit—whether it shows up in a single paragraph or recurs throughout.

Emphasis. Whether the unit emphasizes the motif through repetition, definition, instruction, or prominent placement.

Structural role. Whether the motif functions as a premise or pivot in the unit’s logic—a load-bearing element of the argument rather than a passing reference.

Contrast role. Whether the motif appears in an explicit framing contrast that organizes the unit’s argument (for example, ego versus Holy Spirit, perception versus knowledge).

Echo-level scores (0.10–0.24) are treated as a special case. An echo is assigned only when the motif is explicitly named or clearly implied by a distinctive motif-specific phrase that can be supported by paragraph evidence. When the evidence for an echo is ambiguous, the motif is scored as absent and omitted.

Controlled codes

Each occurrence is classified along six analytical dimensions using controlled vocabularies. These codes capture how the unit is using the motif—not just that it’s present, but what register it’s operating in.

Code What it captures
level Metaphysical (L1) vs. practical (L2) vs. bridging (mixed) vs. pedagogical (meta)
tone Expository, corrective, poetic, narrative, or meta
relational focus Self, brother, sonship, God, or mixed
agency Behavior, mind/choice, or beyond personal agency
abstraction Concrete, psychological, metaphysical, or bridging
frame Ego framing, Holy Spirit framing, or mixed/contrasted

Each code set uses a small, fixed set of allowed values plus “unknown” for cases that do not support a confident classification. The codes are not meant to replace interpretation—they provide a consistent feature set that can be compared across occurrences and used for filtering, trail-level change detection, and editorial synthesis in later passes.

Full definitions of all code values are on the Controlled Codes page.

Evidence pointers

Each occurrence records one or more paragraph numbers indicating where in the unit the motif was referenced. On the site, these evidence pointers become clickable links—ACIM Atlas passes the paragraph numbers as URL variables to acim.org/acim/en, and the ACIM Web Edition highlights the specific paragraphs on the page. A reader can go from an analytical claim directly to the source text, with the relevant passages already marked. Each section’s Paragraphs page brings these pointers together, showing which motifs the annotation cited in every paragraph of the section.

Key terms

A short list of terms capturing how the motif is expressed in this particular unit. Key terms are drawn from the unit’s language and serve as compact handles for what the motif “sounds like” in this context. They are internal working notes that support downstream synthesis and are not displayed on the site.

First-pass context

A concise, factual description of what the motif is doing in this unit, written by the GPT as part of the annotation. This context is explicitly constrained to be unit-local: it describes only what the motif does here, not how it relates to the rest of the Text. Whole-text synthesis is reserved for Pass 2.

The length of the context scales with salience tier. An echo receives one or two sentences. A primary or pillar motif receives a fuller treatment. In all cases, the context is grounded in the unit’s content and avoids interpretive claims that go beyond what the evidence supports.

What Pass 1 does not do

Pass 1 is deliberately local. It is not designed to decide where a motif is “seeded,” where it reaches its mature articulation, or how one occurrence differs from an earlier one. These are trail-level questions that require comparison across time, and they cannot be answered reliably by isolated unit-by-unit annotation.

In particular, Pass 1 does not:

  • Compare the current unit’s treatment of a motif to any other unit’s treatment.
  • Assign milestones, seeds, or zeniths.
  • Produce variation summaries or development narratives.
  • Generate student-facing editorial content.

All of these are handled by later passes that consume Pass 1’s output as their evidence base.

Iteration and re-runs

Pass 1 was not a one-and-done run. Early runs surfaced problems that needed correction: gaps in the motif vocabulary where candidate concepts were recurring often enough to deserve inclusion, and rubric details that needed refinement based on what the annotations were showing. Because Pass 1 is executed by a constrained GPT with a packaged configuration, re-running it across the corpus is a matter of labor, not a matter of rebuilding a methodology. The final dataset is the product of that iteration, not the first attempt.

What the data looks like after Pass 1

When Pass 1 is complete, the database contains one row per motif occurrence: a record for every motif that appears at or above the echo threshold in every unit of the Text. Each row carries a salience score, six controlled codes, paragraph-level evidence, key terms, and a factual first-pass context.

At this point, each motif can already be read as a trail—a time-ordered sequence of units in which it appears. Even before trail-aware synthesis begins, patterns are visible. Some motifs appear frequently and with high salience, suggesting a role as core structural pillars. Others appear frequently but at moderate salience, functioning more like ambient background. Others appear rarely but with high salience when they do, producing a spotlight pattern. These patterns are formalized in Pass 3, but they are already latent in the Pass 1 data.

What the data cannot yet do is tell you how a motif develops. That requires comparing occurrences across time, which is the job of Pass 2.