Skip to content

Latest commit

 

History

History
146 lines (99 loc) · 3.98 KB

File metadata and controls

146 lines (99 loc) · 3.98 KB

[Bounty] Cleanup 38 stale draft lessons in lessons/contrib/

Objective

There are 38 lesson files in lessons/contrib/ with "status": "draft" in their frontmatter. These drafts were created between 2026-05-02 and 2026-06-23 and have never been promoted to "published" status.

According to lessons/drafts/README.md, draft lessons should:

  • Live in lessons/drafts/ (not lessons/contrib/)
  • Be promoted to "published" after review (with Root Cause + Verification sections)
  • Be deleted if they are noise/duplicates

This bounty asks contributors to process these stale drafts.

This is a zero-bounty, high-merit autonomous competition. Claim window: 4 hours.


Current State

# Count draft lessons in contrib/
grep -rn '"status": "draft"' lessons/contrib/ | wc -l
# Output: 38

# List them
grep -rn '"status": "draft"' lessons/contrib/ | cut -d: -f1

Age Distribution

Created Count Status
2026-05-02 ~ 2026-05-03 ~30 Stale (2+ months)
2026-05-20 ~6 Stale (1.5 months)
2026-06-23 2 Recent

Acceptance Criteria

Option A: Promote to Published

For each draft lesson that has valid content:

  1. Add ## Root Cause section with technical detail
  2. Add ## Verification section with executable commands
  3. Change "status": "draft" to "status": "published" in frontmatter
  4. Ensure quality score ≥ 0.5 (run python3 scripts/score_lessons.py <file>)
  5. Ensure no banned patterns (hardcoded paths, specific usernames)

Option B: Delete Stale Drafts

For draft lessons that are noise, duplicates, or have no useful content:

  1. Delete the file
  2. No further action needed

Option C: Move to drafts/

For draft lessons that need more work but have potential:

  1. Move from lessons/contrib/ to lessons/drafts/
  2. Keep "status": "draft"
  3. Add a comment explaining what's missing

Decision Matrix

Condition Action
Has technical detail + verification steps Promote (Option A)
Duplicate of existing lesson Delete (Option B)
Generic/low-value content Delete (Option B)
Good topic but missing sections Move to drafts/ (Option C)
Created 2026-06-23 (recent) Prioritize review

Validation

After processing, verify:

# No more draft lessons in contrib/
grep -rn '"status": "draft"' lessons/contrib/ | wc -l
# Expected: 0

# Quality scores improved
python3 scripts/score_lessons.py lessons/contrib/ | tail -5
# Average should be ≥ 0.4

# All tests pass
python3 -m pytest tests/ -x -q

Deliverable

Submit a PR that:

  1. Processes all 38 draft lessons (promote, delete, or move)
  2. Includes a summary table in PR description:
    • Promoted: N lessons
    • Deleted: N lessons
    • Moved to drafts/: N lessons
  3. Passes all CI checks
  4. DCO-signed commits

Suggested Framing

These draft lessons were auto-generated by tombstone_to_draft.py from fatal-guard tombstones. They represent real failure scenarios but were never reviewed or promoted.

Goal: Turn 38 stale drafts into either:

  • Published lessons with Root Cause + Verification
  • Deleted noise (reducing repo clutter)
  • Isolated drafts (in lessons/drafts/) for future work

Out of Scope

  • Changing the draft lesson lifecycle rules
  • Modifying tombstone_to_draft.py behavior
  • Adding new lessons (only processing existing ones)
  • Changing quality score algorithm

Competition Rules

  • 48h soft deadline. Auto-closes if no update for 48h.
  • Claim window: 4 hours. Once claimed, 4 hours exclusive lock.
  • First pass-CI PR wins. If CI-green and passes review, it gets merged.
  • Bonus: Promoting ≥10 lessons to published gets +1 merge priority.

⚠️ Maintainer Note

  • No bounty. Merge is the only reward.
  • This is a zero-bounty, high-merit autonomous competition.
  • Missing Node ID in PR frontmatter → auto closed.
  • PRs that fail any mandatory AC will be closed without review.
  • This is a cleanup task — quality over quantity.