Technical reference / Data & methods
Attribution algorithms
Exact matching thresholds, source-selection rules and contribution-counting methods.
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. |
| 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.
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.
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.
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.
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.
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.