Skip to content
Slow ThinkerDocumentation
Technical reference
Documentation/Technical reference

Technical reference / Data & methods

Attribution algorithms

Exact matching thresholds, source-selection rules and contribution-counting methods.

01

Title similarity

#

title_similarity(a, b) returns SequenceMatcher(None, a.lower(), b.lower()).ratio(). It operates on the title strings, not embeddings, descriptions, dependencies or semantic concepts. The matching threshold is 0.6, and the own-version preference margin is 0.1.

Rule Implementation
NormalizationReviewed R 0.1.16 Lowercase only. No stemming, tokenization, synonym expansion or conceptual decomposition.
Qualifying similarityReviewed R 0.1.16 At least 0.6. A match can be approximate; “same titles” is the UI label, not an exact-equality test.
Agent identityReviewed R 0.1.16 Trailing integer in proposing_agent_id. The current executor preserves this slot mapping across rounds.
Previous roundReviewed R 0.1.16 Immediate round_number − 1 in attribution, not an arbitrary earlier best match.
02

Three different comparisons

#
Operation Baseline and matching behavior
Closest-proposal diffReviewed R 0.1.16 diff_proposal: greedily match current steps one-to-one against each preceding proposal, then choose the proposal with most pairs. Used by the card's kept/added/removed summary and supplied to the analyst.
Immediate step originReviewed R 0.1.16 step_origins: compare each current step's best own-source title with its best peer-source title. Choose own, peer or new. Used by the matrix, process flows and recursive lineage. Previous steps may be reused.
Computed convergenceReviewed R 0.1.16 convergence: one-to-one match only against the same slot's preceding proposal. Count added + removed. Used by the convergence chart.

These answer different questions; their “kept” counts need not agree. The analyst's own-version improvement judgment is a fourth, qualitative comparison of full text.

03

Greedy one-to-one matching

#

match_steps(previous, current) iterates current steps in saved order. For each, it chooses the highest-scoring still-available previous step at or above 0.6, removes that source from availability and continues. Unmatched current steps are added; unused previous steps are removed.

This is not a globally optimal assignment. Current order can affect pairings. The loop uses >= for an equally good candidate, so a later available candidate wins an exact score tie. When selecting the closest whole proposal, an equal matched-pair count retains the first preceding proposal examined.

04

Immediate origins and own preference

#

Let o be a current step's best similarity to the same slot's preceding proposal and p its best similarity to any peer's preceding proposal.

EXAMPLE / REFERENCE
peer, if p >= 0.6 and (o < 0.6 or p > o + 0.1)
own,  otherwise if o >= 0.6
new,  otherwise
Example scores Result
Own 0.70, peer 0.76Reviewed R 0.1.16 Own. The peer is not more than 0.1 better.
Own 0.70, peer 0.84Reviewed R 0.1.16 Peer. Both qualify and the peer clearly exceeds the margin.
Own 0.52, peer 0.65Reviewed R 0.1.16 Peer. Own does not qualify.
Own 0.52, peer 0.58Reviewed R 0.1.16 New. Neither qualifies.

The best-source scan uses a strict > comparison, so equal scores retain the first encountered candidate. No previous step is consumed here: multiple current steps can choose it. Stored origin scores are rounded for presentation only after the decision.

05

Recursive introducers

#

The trace key is (round, agent number, step number). Every round-0 step is its own introducer. A later “new” step also introduces itself. Otherwise it inherits the introducer of its chosen immediate source. If the referenced preceding coordinate is absent, the current step becomes its own origin.

Derived quantity Construction
Matrix rowReviewed R 0.1.16 Count current step assignments by immediate source agent, plus new.
Process edgesReviewed R 0.1.16 Group immediate assignments by source and recipient proposal; edge lists preserve current/source step references.
Process lineage highlightReviewed R 0.1.16 Follow those source paths backward and descendants forward; focused flow labels count the relevant subset of step paths.
Composition segmentsReviewed R 0.1.16 Count a proposal's current steps by recursively traced introducing agent.
Introduced countReviewed R 0.1.16 Number of coordinates equal to their own introducer.
Copied countReviewed R 0.1.16 Cross-agent immediate assignments credited to the preceding source, including re-transmission of borrowed steps.
Survived countReviewed R 0.1.16 Distinct introducing coordinates represented in any final proposal.
In-plan countReviewed R 0.1.16 Selected-plan step positions whose introducer belongs to an agent. Repeated origins can occupy multiple positions.
Idea countsReviewed R 0.1.16 Count analyst taken/rejected list occurrences by from_proposal; no semantic deduplication.

The full display definitions and efficiency formulas are in Contributions.

06

Limits that matter to an experiment

#

Similar titles can describe different actions. Renaming can break continuity, while unchanged titles can conceal major revisions. Split/merged steps do not have a conceptual representation. Own preference can retain a step at the author's slot even when a peer describes a related idea more precisely. Record order can break ties.

Consequently, the tool offers a traceable heuristic and optional full-text LLM interpretation. It does not currently deliver robust conceptual influence attribution. Conceptual tracking of how ideas change, combine and disappear is a stated next direction for the project.

Source files used for this reference

Reviewed at 7361ea0b71a5.

← Documentation homeFind a report element →
Reference edition 2026-09-21Versions & compatibilityChangelogCHANGELOG.md ↓
Search documentation

Search both guides, report elements and the changelog.

Report screenshot