Skip to content

docs: refresh validation.md, CONTRIBUTING, and sample-event - #58

Merged
ademboukabes merged 1 commit into
developfrom
docs/refresh-spec-and-samples
Oct 13, 2026
Merged

ademboukabes merged 1 commit into
developfrom
docs/refresh-spec-and-samples

Conversation

@ademboukabes

Copy link
Copy Markdown
Collaborator

Summary

Closes #53.

This PR brings the documentation, contributing guides, and sample event fixture into complete alignment with everything shipped in the recent development cycles (Kubernetes deploy mode, observability/monitoring stack, doctor preflights, plugin architecture, and instancers):

  1. docs/spec/validation.md:

    • Added A007–A009 rule definitions.
    • Fully documented all 15 mctf doctor preflight checks (D001–D003, D010–D013, D020–D021, D030–D031, D040–D043) with descriptions and hard/warn severities.
  2. CONTRIBUTING.md:

    • Added new packages to project layout: internal/kubernetes/, internal/monitoring/, internal/plugin/, and existing unstaged components (instancer, ingress, notify, solve, status, info, platform/ctfd).
    • Added Make targets reference table (make build, test, test-integration, lint, schemas, man, tidy, clean).
    • Emphasized the develop-not-main branching and contribution convention.
    • Updated release documentation referencing GoReleaser.
  3. examples/sample-event/:

    • Added challenges for all missing core categories to achieve 100% core category coverage (10 of 10):
      • reverse/crackme-101 (static archetype)
      • osint/satellite-spot (static archetype)
      • hardware/serial-dump (static archetype)
      • ai/prompt-leak (static archetype)
      • jailbreak/pyjail-escape (service archetype, port 16000, internal_port 8000, non-root USER, healthcheck)
    • Regenerated all derived files (challenges.csv, index.json, CTFd manifests, Traefik dynamic.yml).
  4. Tests & Validation:

    • Updated TestDiscoverSampleEvent in internal/challenge/discover_test.go to expect all 10 challenges.
    • Marked completed tasks as shipped in docs/BACKLOG.md.

Verification

  • make build ✅
  • make test (go test ./...) ✅
  • go test -race ./... ✅
  • make lint (go vet ./... + golangci-lint run ./... -> 0 issues) ✅
  • ./mctf -C examples/sample-event validate ✅ (10 challenges validated, 0 errors)
  • ./mctf -C examples/sample-event generate --check ✅ (derived files are up to date)
  • scripts/validate-examples.py ✅ (all 10 manifests pass JSON schema)
  • scripts/validate-generated.py ✅ (all 10 generated manifests pass JSON schema)
  • scripts/validate-derived-sample.py ✅

- Update docs/spec/validation.md with all shipped validation rules (D001–D043,
  K001–K003, SEC001–SEC004, A001–A009, W001–W012).
- Update CONTRIBUTING.md with newer packages (kubernetes, monitoring,
  plugin, instancer, ingress, notify, etc.), make targets (man, schemas),
  and develop-not-main convention.
- Enrich examples/sample-event to cover all 10 core categories by adding
  reverse (crackme-101), osint (satellite-spot), hardware (serial-dump),
  ai (prompt-leak), and a deployable service archetype in jailbreak
  (pyjail-escape).
- Regenerate derived files (challenges.csv, index.json, CTFd manifests,
  traefik dynamic.yml).
- Update discover_test.go to verify discovery of all 10 challenges.
- Update docs/BACKLOG.md tracking.
@ademboukabes
ademboukabes merged commit 14bcc75 into develop Oct 13, 2026
3 checks passed
@ademboukabes
ademboukabes deleted the docs/refresh-spec-and-samples branch October 13, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant