Gap in Skill Specification
The endpoint derivation in §7 specifies:
PFS_DAY = min(progression_day, death_day, ADMIN_CENSOR_DAY)
But ADMIN_CENSOR_DAY is treated as a single constant (from CTGov data cutoff). The skill does not specify that this should be per-patient based on enrollment timing.
Consequence
All censored patients have identical follow-up time — a point mass in the censoring distribution. This is:
- Immediately detectable as synthetic data
- Structurally incorrect (violates the trial's actual design where enrollment spans years)
- Distorts KM curve behavior at the tail (all censoring happens simultaneously)
Proposed Addition to Skill
Add to scm_spec_template.md §7 or SKILL.md Step 5:
§7.2 Administrative Censoring with Enrollment Stagger
ADMIN_CENSOR_DAY is patient-specific, derived from:
enrollment_offset_i ~ f(enrollment_pattern)
ADMIN_CENSOR_DAY_i = data_cutoff_date - enrollment_start - enrollment_offset_i
Enrollment pattern options (from protocol/CTGov):
- Uniform(0, enrollment_window) — simplest; adequate for most
- Piecewise-linear (ramp-up, plateau, wind-down) — more realistic
- Read directly from CTGov "Study Start" and "Primary Completion" dates
The median of ADMIN_CENSOR_DAY_i should equal the published median follow-up.
Range should span [min_followup, max_followup] from the publication.
Gap in Skill Specification
The endpoint derivation in §7 specifies:
But
ADMIN_CENSOR_DAYis treated as a single constant (from CTGov data cutoff). The skill does not specify that this should be per-patient based on enrollment timing.Consequence
All censored patients have identical follow-up time — a point mass in the censoring distribution. This is:
Proposed Addition to Skill
Add to
scm_spec_template.md§7 orSKILL.mdStep 5: