06 · Status

Where the project honestly stands.

Every decision point below was fixed before any result existed. As of 11 October 2026, of 6 gates, 2 passed, 3 came in under the bar, 1 could not be evaluated.
Gates

Four decision points.

G0a

Evidence signal

Day 2, Week 1

Evidence e(k,c) ranks hospitals' true per-class counts with Spearman >= 0.7 on S1

Mean Spearman -0.21; one retry (bias row) -0.46 (needs >= 0.7)

Came in under the bar on its one allowed retry, so the project took Fallback F1 as planned. A sign-aware amendment (M1) scored 0.11, also under the bar.

If the bar is not met: One retry (bias row, or evidence averaged over 3 rounds); if still below 0.7, Fallback F1

G0b

Baseline quality

End of Week 1

Tier A FedAvg reaches balanced accuracy >= 0.45

Retry 0.535; first attempt 0.415 (needs >= 0.45)

Passed on the design doc's retry: the last dense block fine-tuned by FedAvg, features re-extracted.

If the bar is not met: Unfreeze the last dense block and re-extract features. One retry.

G1

Problem is real

End of Week 2 (30 Sep)

On S1 or S2, under Camp A, attack A1 gives the attacker >= 2x its FedAvg weight on a rare row AND drops that class's F1 by >= 0.15, with balanced accuracy falling < 0.03

S1: F1 drop 0.09 (needs >= 0.15) · S2: F1 drop 0.24 but balanced accuracy fell 0.051 (must be < 0.03)

The attack succeeds on neither split: Fallback F1 - an empirical study of how rare-class-aware aggregation behaves on a real hospital split.

If the bar is not met: Stop building EARN. Fallback F1.

G2

EARN works

End of Week 4 (14 Oct)

Under A1 and A2, EARN's rare-class F1 stays within 0.05 of no-attack; with no attack within 0.02 of Camp A and above FedAvg; honest centre 2 reaches trust >= 0.8

Not evaluable while the measured evidence signal sits under its bar

Exploratory re-run on an oracle evidence signal: conditions not met on S1, not met on S2. Reported as exploratory, never as the gate.

If the bar is not met: Fallback F2.

DG0

Indian baseline quality

Week 7, second dataset

FedAvg on the age-band split reaches balanced accuracy >= 0.40 over 7 classes

fedavg balanced accuracy 0.4082 over 7 classes (needs >= 0.4)

Cleared by 0.008 - narrow enough to say so. 40 rounds, seed 42, on the constructed age-band split.

If the bar is not met: DermaCon-IN is used for external validation only, and the shortfall is reported

DG2

Does EARN help on Indian data?

Week 7, second dataset

Rare-class F1 within 0.05 of FedAvg, the specialist weighted above its size share, and no effect on the near-IID control

2 of 3 conditions met; the specialist ended on 0.068 of the rare rows against a 0.079 size share

EARN's holder threshold is an absolute count of 20 images, calibrated on Fed-ISIC2019; at this dataset's scale it admits almost nobody, so trust and evidence never engage. A scale-relative threshold was then pre-registered on Fed-ISIC2019 and rejected there: a bar set by the round's own evidence is one a claiming attacker clears by claiming.

If the bar is not met: Reported as measured; the cause is diagnosed rather than tuned away

Six weeks

The plan, week by week.

Week 1 · 17-23 Sep

Extract DenseNet-121 features. Check G0a on Day 2. Build the Tier A federated loop. Run FedAvg and Camp A on S1. Build split S2.

→ Features saved; baseline numbers; G0a, G0b

  • ✓Features extracted for all 23,247 images
  • ✕Gate G0a run
  • ✕G0a's one retry (bias row) and a sign-aware amendment
  • ✓Tier A loop, FedAvg and Camp A implemented and unit-tested
  • ✓FedAvg run on S1 (3 seeds)
  • ✕Gate G0b run
  • ✓G0b retry: last dense block fine-tuned, features re-extracted
  • ✓Split S2 built
Week 2 · 24-30 Sep

Attacks A1-A3 against FedAvg, robust rules and Camp A on S1 and S2, 3 seeds.

→ Attack table; G1; S1/S2 framing decision

  • ✓Attacks A1-A3 implemented as client hooks
  • ✓8 methods x 4 attacks x S1/S2 x 3 seeds (192 runs)
  • ✕Gate G1 evaluated
  • ✓S1/S2 framing decided: Fallback F1
Week 3 · 1-7 Oct

Implement EARN: clipping, evidence, coverage blend, slow-up/fast-down trust, capped weighting. Unit tests per step. In-memory ledger stub.

→ Working src/federated/earn.py

  • ✓src/federated/earn.py built to the design doc's pseudocode
  • ✓Unit tests per step (44 Python tests pass)
  • ✓In-memory hash-chain ledger
Week 4 · 8-14 Oct

Full evaluation: all methods x all attacks x S1/S2 x 3 seeds. Ablations. Sensitivity of step size and threshold.

→ Main results; G2

  • ✓EARN, 3 ablations and 4 sensitivity settings on oracle evidence (216 runs)
  • ✕G2: not evaluable after G0a; exploratory oracle version not met
Week 5 · 15-21 Oct

Smart contract on a local Hardhat chain: trust table, history hashes, max-step rule. Gas and latency. Tier B confirmation runs.

→ Contract + overhead numbers; Tier B table

  • ✓EarnLedger contract on local Hardhat, 5 contract tests
  • ✓2,400 real EARN rounds replayed on-chain: gas and latency
  • ✕Tier B confirmation run on a GPU - the pre-registered criterion was not met (R11); reported rather than omitted
Week 6 · 22-28 Oct

Figures, 6-8 page draft, updated synopsis, final literature re-check, clean repository.

→ Draft paper and final report

  • ✓Figures, results tables, README
  • ✓Paper draft (docs/paper/draft.md)
  • ✓Final literature re-check (CELM, CARE-FL, BOBA, ACE + focused search)
  • ✓Follow-up D7: does the locked history catch a turned specialist? (detects, doesn't protect)
  • ✓PR #1 merged into main
  • ·Team review of the paper draft
Week 7 · 29 Sep - 11 OctNow

Second dataset (DermaCon-IN, Indian clinical photographs): pre-registration, features, constructed splits, gates DG0 and DG2, and the threshold amendment that came out of them.

→ DG0, DG2, R6-R8; the /dermacon page and paper section 7.7

  • ✓DermaCon-IN downloaded and verified (5,450 images, 3,002 patients)
  • ✓Pre-registration fixed before any run (docs/DERMACON_PLAN.md)
  • ✓Features extracted through the same frozen DenseNet-121 path
  • ✓Gate DG0 (baseline quality)
  • ✕Gate DG2 (does EARN help?)
  • ✓M2 amendment tested on Fed-ISIC2019 and rejected (R8)
  • ✓Indian results on the site and in the paper
Run vs not run

What exists, and what doesn't yet.

Has run
  • ✓Features extracted for all 23,247 images
  • ✕Gate G0a run(under the bar)
  • ✕G0a's one retry (bias row) and a sign-aware amendment(under the bar)
  • ✓Tier A loop, FedAvg and Camp A implemented and unit-tested
  • ✓FedAvg run on S1 (3 seeds)
  • ✕Gate G0b run(under the bar)
  • ✓G0b retry: last dense block fine-tuned, features re-extracted
  • ✓Split S2 built
  • ✓Attacks A1-A3 implemented as client hooks
  • ✓8 methods x 4 attacks x S1/S2 x 3 seeds (192 runs)
  • ✕Gate G1 evaluated(under the bar)
  • ✓S1/S2 framing decided: Fallback F1
  • ✓src/federated/earn.py built to the design doc's pseudocode
  • ✓Unit tests per step (44 Python tests pass)
  • ✓In-memory hash-chain ledger
  • ✓EARN, 3 ablations and 4 sensitivity settings on oracle evidence (216 runs)
  • ✕G2: not evaluable after G0a; exploratory oracle version not met(under the bar)
  • ✓EarnLedger contract on local Hardhat, 5 contract tests
  • ✓2,400 real EARN rounds replayed on-chain: gas and latency
  • ✕Tier B confirmation run on a GPU - the pre-registered criterion was not met (R11); reported rather than omitted(under the bar)
  • ✓Figures, results tables, README
  • ✓Paper draft (docs/paper/draft.md)
  • ✓Final literature re-check (CELM, CARE-FL, BOBA, ACE + focused search)
  • ✓Follow-up D7: does the locked history catch a turned specialist? (detects, doesn't protect)
  • ✓PR #1 merged into main
  • ✓DermaCon-IN downloaded and verified (5,450 images, 3,002 patients)
  • ✓Pre-registration fixed before any run (docs/DERMACON_PLAN.md)
  • ✓Features extracted through the same frozen DenseNet-121 path
  • ✓Gate DG0 (baseline quality)
  • ✕Gate DG2 (does EARN help?)(under the bar)
  • ✓M2 amendment tested on Fed-ISIC2019 and rejected (R8)
  • ✓Indian results on the site and in the paper
Not run yet
WhatStateOwner · branch
A holder threshold that is both scale-free and unspoofableWaiting on the round-mean rule was rejected (R8): a bar set by this round's evidence is one a claiming attacker clears by claimingTeam-
A working evidence signal for EARNWaiting on a signal that clears G0a - the one allowed retry came in under the barTeam-
The threshold amendment re-run on the grid's own featuresTeammain
CARE-FL full-text checkTeam-
Tier B repeated on a metric that matches the attack - rare-class recall or the to-nevus share - with three seeds and a longer post-turn windowWaiting on the one-seed run (R11) was scored on rare macro-F1, which its addendum shows is confounded here by calibration drift in the honest baselineTeammain