File size: 4,058 Bytes
d28aa91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import json, os, re

# Existing site titles (from API fetch)
existing = """Proactive Key Rotation via Secret Sharing without Consensus Pause or Disruption
Two-Phase Commit with Early Termination and Parallel Vote Aggregation
CFFS-Based Fast Finality for Heterogeneous Validator Set Sizes in Practice
Stochastic Liveness Analysis under Dynamic Network Churn and Variable Latency
Private Transactionpool within BFT via Vector Commitments and Zero-Knowledge
Rollup-Centric Consensus with Data Availability Sampling Fraud Proofs
Energy-Optimized BFT for Constrained Edge Devices with Duty-Cycle Awareness
BFT for Duty-Cycled Low-Power IoT Networks with Scheduled Radio Wakeups
Location-Aware Validator Assignment with Distance-Weighted Scoring for BFT
Cross-Shard Execution with Super-Block Atomic Commitment and Finality
Modular Finality as a Service Layer for Existing BFT Consensus Engines
zkSNARK-Proven Correctness of Leader Rotation in Permissionless Consensus
Time-Lock Puzzle Based Leader Scheduling for Quorum Fairness in BFT
Governance Parameter Updates via Time-Locked Delegation and Vote Escrow
Threshold MPC for Validator Key Management with Proactive Secret Rotation
Post-Quantum BFT via WOTS+ Signatures and Merkleized State Digests
EigenLayer Restaking for Multi-Chain Shared Security with Validator Churn
Multi-Shard Atomic Operations with Threshold Signatures and Watcher Nodes
Formal Synthesis of BFT Protocols from Temporal Logic Specifications
ML-Based Byzantine Detector using Gradient Anomaly and Behavior Profiling""".split('\n')
existing_set = set(existing)

# Parse TOPICS from harness.py
with open('harness.py','r') as f:
    content = f.read()
m = re.search(r'TOPICS\s*=\s*\[(.*?)\]', content, re.DOTALL)
if not m:
    print('TOPICS not found')
    exit(1)
topics_raw = m.group(1)
# Split by commas, strip quotes
topics = []
for t in topics_raw.split(','):
    t = t.strip()
    if not t: continue
    # Remove surrounding quotes
    if t.startswith('"') or t.startswith("'"):
        t = t[1:]
    if t.endswith('"') or t.endswith("'"):
        t = t[:-1]
    topics.append(t.strip())

print(f'Total TOPICS in harness: {len(topics)}')

overlaps = [t for t in topics if t in existing_set]
safe = [t for t in topics if t not in existing_set]
print(f'Overlap with existing site papers: {len(overlaps)}')
for t in overlaps:
    print(f'  DUPLICATE: {t}')

# Already used in harness results
used = set()
if os.path.exists('harness_results.jsonl'):
    with open('harness_results.jsonl') as f:
        for line in f:
            try:
                r = json.loads(line)
                used.add(r.get('topic',''))
            except:
                pass
print(f'\nAlready used in harness results: {len(used)}')
print('Used topics:')
for t in sorted(used):
    print(f'  {t}')

remaining_safe = [t for t in safe if t not in used]
print(f'\nRemaining safe (not overlapping site AND not yet attempted): {len(remaining_safe)}')
print('Remaining safe topics:')
for t in remaining_safe:
    print(f'  {t}')

# Suggest new topics to add if needed
if len(remaining_safe) < 14:
    print(f'\nWARNING: Only {len(remaining_safe)} safe topics remain. Need to add more to reach 50 total new papers.')
    print('Suggested new topics (BFT-related, not overlapping):')
    new_topics = [
        "Adaptive Val Set Size with Load-Aware Scaling in BFT",
        "Geo-Partitioned Consensus with bounded latency using Satellite Links",
        "BFT Middleware for Serverless Functions with Stateless Validation",
        "Cross-Domain BFT via Trust Expressors and Signature Bridge",
        "Zero-Knowledge Proofs for BFT State Validation at Scale",
        "Economic Finality Gadget for BFT with Slashing Bond Insurance",
        "Hardware Security Module Integration for BFT Leader Signing",
        "AI-Driven Node Reputation with Multi-Armed Bandit Selection",
        "BFT for Autonomous Vehicle Fleets with Edge Computing",
        "Privacy-Preserving BFT via Homomorphic Encryption and MPC",
    ]
    for t in new_topics:
        print(f'  - {t}')