Status: applied to the full corpus. Coded: 2026-08-28, all 102 docket records / 92 originating actions. Coder: one. Executable form: thesis/protocols/refiling_rule_coder.py.
This is the written rule behind the thesis's core independent variable, published here because an empirical chapter with no stated protocol is not defensible. It governs three columns on the cases table:
| Column | Vocabulary | Set when |
|---|---|---|
RefilingOfPriorCase | Yes / No / Unclear | always |
RefilingEvidenceStrength | Strong / Moderate / Context | only on Yes |
RefilingBasis | free text, opening Prior: C0nn; C0mm. | required on Yes and Unclear; optional on No, for a non-obvious exclusion |
All three are research classifications, never judicial findings. Yes means this project, applying the rule below to the record, coded the action as repeating an earlier one. It is not a court's holding, and it is emphatically not a vexatious-litigant determination. RefilingEvidenceStrength deliberately reuses the three values and the meaning of vexatious_indicators.EvidenceStrength, which carries the same caveat.
Unit of analysis
The originating action, not the docket record — union-find over SameActionAsCaseID, the same de-duplication tools/build_seo.py and thesis/exhibits/detection_gap.py apply. A state case and its federal removal are one action. The coded value is written identically to every docket record in a same-action group, so the column is usable at either grain; refiling_rule_coder.py --validate fails if a group is ever coded two ways.
92 actions, of which 88 were commenced by this plaintiff.
The rule
An action is a refiling when, at the moment it was commenced, the plaintiff had already commenced a prior, distinct originating action arising from the same underlying dispute, and the new action re-asserts substantially the same claims.
Yes requires all three conditions.
1 — A prior, distinct action, commenced by this plaintiff. Filed on a strictly earlier date, with a different union-find root. Three exclusions:
- A removal or transfer of the same action is not a prior — that is what the union-find is for.
- A direct appeal within the same action is not a refiling. This mirrors the rule the corpus already applies to
video_statements.pattern_factor, where a direct appeal is deliberately notFiling after an adverse decision: that factor means a new or repeat action, not the ordinary appellate remedy. - An action not commenced by this plaintiff is neither a refiling nor a prior. Four records are suits against him — C100 (Saladino), C022 (Fidelity Bank), C031 and C037 (American Express) — and are coded
Nowith the exclusion recorded. - A same-day companion is not a prior. Where two actions share a filing date the data cannot order them, so neither qualifies; the relationship is recorded in the rationale instead. This affects C086/C087/C088, C019/C055, C020/C056, C061/C074 and C063/C066.
2 — The same underlying dispute. Satisfied by a shared DisputeID, or — for any pair — by the two claims summaries describing the same real-world transaction or event. Dispute groups are described in CLAUDE.md as analytical navigation aids, so a shared id is sufficient but not necessary: 29 cases carry no DisputeID at all, and at least one action (C058, carrying DSP007) plainly belongs to another cluster's underlying dispute. Coding across group boundaries is therefore permitted and is recorded in the basis when used.
3 — Substantially the same claims. The two claims summaries plead the same core wrong against at least one shared canonical defendant, resolved through defendant_aliases. Added defendants or added legal theories do not defeat this; a genuinely distinct transaction does.
Adverse termination is deliberately not required
A prior adverse decision is not an element of Yes. That is what keeps this variable distinct from res judicata. A duplicate filed while the first action is still pending is exactly the conduct this thesis measures, and the doctrine's inability to aggregate it is the point. Adverse termination instead drives the strength grade.
Strength
Set only on Yes. Strong requires one of three limbs:
- A court said so — a
court_findingsrow, or avexatious_indicatorsrow withResJudicataFindingorDuplicativeOrIdenticalFinding=Yes(C054, C055, C059, C073). - Prior adverse termination + same claims + same defendants (C091, C006, C019, C050, C052, C061, C064, C072).
- Documented verbatim carryover between the two pleadings, even without an adverse termination (C028, where the later complaint's account-ban paragraphs still name TikTok while the newly added defendants are Google and Alphabet).
Moderate — conditions 1–3 met, but no judicial characterisation, and either the prior action was still pending (a concurrent cross-forum duplicate) or the claim sets overlap on the underlying wrong rather than matching.
Context — same dispute and a shared defendant, but the claims summaries show a materially different wrong. This is the escalation pattern: a new action aimed at opposing counsel, the arbitral forum, a platform or a regulator over the conduct of the earlier dispute (C099, C047, C058, C065, C071).
No and Unclear
No — no earlier qualifying action shares the dispute; or the only earlier record is the same action; or the claims arise from a genuinely distinct transaction. Basis is left blank unless the exclusion is non-obvious — a shared defendant or a recycled legal theory that does not amount to a refiling. Four such exclusions are recorded: C038 (the Freemasonry-bias theory is recycled from C059 and C035/C063/C066, but the conduct sued upon — the Lackawanna bench's handling of his own motions — is a new transaction), C070 (shares a retailer with the DSP010 Best Bar action but concerns a different product and copier), C048, and C092.
Unclear — a prior action plausibly overlaps but the record cannot support condition 3. Three actions: C081, C083 and C085, each one where the complaint is unavailable through RECAP and no opinion has issued. Unclear is required over a guess. C081 is the sharpest case: the seven-defendant lineup is identical to C041, which was dismissed with prejudice, but the claims summary records expressly that "this case must still not be described as raising claims identical to C041."
Result
As of 2026-08-28, across 92 originating actions:
| Code | Actions |
|---|---|
Yes | 43 |
No | 46 |
Unclear | 3 |
Of the 43 Yes: 13 Strong, 25 Moderate, 5 Context. Against the 88 actions this plaintiff commenced, 43 — a little under half — repeat an earlier one. The 43 are concentrated exactly where the filing rate is: 1 in 2022, 2 in 2023, 2 in 2024, 20 in 2025, 18 in the first eight months of 2026.
Regenerate with python thesis/protocols/refiling_rule_coder.py --validate; the corpus is still growing and every count needs its as-of date.
Reliability
thesis/README.md asks for an inter-rater check on a ~10-case sample. There was no second coder, and this protocol does not claim inter-rater reliability. What was run instead is a rule-versus-judgment audit over all 92 actions, which is a weaker instrument and is reported as such.
refiling_rule_coder.py implements the mechanically decidable part of the rule — condition 1, condition 2 restricted to shared DisputeID, canonical-defendant overlap, and a lookup of whether a court already characterised the pair. It cannot read two claims summaries against each other, so it cannot implement condition 3. Its predictions were generated before the coding pass and compared afterwards:
python thesis/protocols/refiling_rule_coder.py --compare
agreement: 74/92 = 80.4% (18 to adjudicate)Because the screen is a deliberately weaker instrument, a disagreement is a finding about what reading the claims text added, not an error in either column. All 18 are adjudicated below. They fall into five groups, and the pattern is itself worth reporting: the screen's failures are almost all failures of the corpus's own party and dispute metadata, not of the rule.
Group A — the screen missed a shared defendant because of a data gap (2)
| Action | Screen | Coded | Why |
|---|---|---|---|
| C047 | Unclear | Yes / Context | C040's defendants roster omits the Shopify entities its own claims summary names as the lead defendants. |
| C052 | Unclear | Yes / Strong | C042's defendant is recorded as Fenix Internet, LLC and C011/C052's as Fenix Internet LLC; no defendant_aliases row joins them. |
Both are real defects in defendants / defendant_aliases, surfaced by this pass and recorded in Limitations below. Neither was fixed here — repairing canonicalisation changes published /defendants/ pages and belongs to its own task.
Group B — condition 1 needed a rule the screen did not have (1)
| Action | Screen | Coded | Why |
|---|---|---|---|
| C048 | Unclear | No | The only earlier DSP003 record is C100, Saladino v. Tufano, in which Tufano is the defendant. A prior must be an action he commenced. |
This disagreement is what produced the third exclusion under condition 1.
Group C — no dispute group, so the screen could not test condition 2 (5)
| Action | Screen | Coded | Why |
|---|---|---|---|
| C026 | Unclear | Yes / Moderate | Neither C026 nor C009 carries a DisputeID, but both plead the same $230,000 Fidelity Bank mortgage-payoff transaction on 25 Dundaff Street. |
| C058 | No | Yes / Context | Carries DSP007; the underlying transaction is the DSP001 Taban surgery. Taban is also absent from C018's defendant roster (a third instance of the Group A defect). |
| C065 | Unclear | Yes / Context | The Based Bodyworks claim is new, but it is joined to the recurring TikTok/ByteDance account-ban grievance already litigated in C043 and C053. |
| C038 | Unclear | No | Shares Lackawanna County with earlier actions, but the conduct sued upon — the county bench's handling of his motions — is a new transaction. |
| C070 | Unclear | No | Shares Sprouts Farmers Market with C036/C068, but a different product, copier and sales. |
Two resolve to Yes, two to No, one to Context — which is the useful result: an unassigned dispute group is genuinely uninformative in both directions, so the 29 DisputeID-blank cases could not have been coded by screen alone.
Group D — strength changed after reading the claims (8)
Promotions to Strong, each on limb 2 (prior adverse termination + same claims + same defendants), which the screen cannot evaluate: C019 (48 days after C048's dismissal, carrying C055's caption and claims), C050 (its own summary says it pursues the theory "Tufano pursued unsuccessfully" in C040), C061 (14 days after the R&R that called the earlier matters a trilogy), C064 (3 days after C059's dismissal), C072 (after C054 was dismissed on res judicata as identical to C040).
C080 Context → Moderate: VI031 grades the C080/C008 pair Context under the indicator rubric; under this rubric, the same sole defendant plus a filing 15 days after C008's dismissal on preliminary objections supports Moderate.
Demotions to Context, where the shared defendant is real but the wrong is not: C099 (escalates onto the AAA, the arbitrator and his own attorney rather than re-asserting C090's contract claim) and C071 (the Eriksson flyer-distribution interference, which the corpus itself already calls a narrower sub-thread of DSP001).
Group E — condition 3 unassessable, so Unclear (2)
| Action | Screen | Coded | Why |
|---|---|---|---|
| C081 | Yes / Context | Unclear | Identical seven-defendant lineup to C041, dismissed with prejudice — but the complaint is not available through RECAP and the corpus expressly forbids describing it as identical to C041. |
| C085 | Yes / Moderate | Unclear | RECAP holds a metadata stub with nature of suit, cause and jurisdiction all empty; the causes of action could not be established at all. |
The screen reaches Yes in both because party and dispute overlap is all it looks at. The rule requires condition 3, and where the pleading is unreadable the honest code is Unclear.
Limitations
- No second coder. See Reliability. The rule-versus-judgment audit substitutes for the inter-rater check
thesis/README.mdasks for; it is not equivalent, and any published use of this variable should say so. - Condition 3 rests on claims summaries, not on the pleadings. 101 of 102 cases carry a "Claims summary" research note, but a substantial minority of those are themselves sourced to docket coding rather than to the complaint's own text — the notes say so, case by case. Where that made the comparison impossible the code is
Unclear(3 actions); where it made it thinner but still possible, the grade is capped at Moderate and the basis records why. C092 has no claims summary at all, so condition 3 could not have been assessed had a candidate prior existed; it is screen-negative on both dispute and defendants, soNostands, but the gap is real. - Defendant canonicalisation has gaps. Three surfaced in this pass alone: C040's roster omits Shopify,
Fenix Internet, LLCandFenix Internet LLCare not aliased, and Taban is absent from C018's roster though the claims summary names him. Each was worked around by hand here. Any future mechanical use of the screen will keep hitting them untildefendants/defendant_aliasesare repaired. - Dispute assignment is incomplete and, in one case, internally inconsistent. 29 cases carry no
DisputeID. Within the single action C014/C053, C014 carries DSP018 and its own removal C053 carries DSP001. - A moving target. 33 of the 92 actions were filed in 2026. Re-run the coder rather than copying these counts forward.
Related
thesis/protocols/refiling_rule_coder.py— the screen, the evidence bundler, and--validate.thesis/exhibits/detection_gap.py— supplies the union-find this protocol's unit of analysis depends on.thesis/00-proposal.md— where the variable is used.CLAUDE.md— the evidence-layer separation this classification sits inside.