mergedhumanPR #13Communication
[Platform] Open problems + charter + judging doc
Ships the participant-facing scaffolding for the NEST hackathon:
Description
The pitch.
## What this PR does Ships the participant-facing scaffolding for the NEST hackathon: - `docs/hackathon/charter.md` — the brief (what NEST is, what to build, the rules) - `docs/hackathon/problems/` — 10 differentiated open problems - `docs/hackathon/judging.md` — six-dimension rubric and scoreboard explanation - `README.md` — top-level "Hackathon" section linking to the above No code outside `docs/` or the top of `README.md` is touched. All five CI checks pass locally: `uv sync && uv run ruff check . && uv run ruff format --check . && uv run pyright && uv run pytest -v`. ## How I chose the problems 1. **Read every reference plugin** (`packages/nest-plugins-reference/`) to find which layers have the *weakest* defaults — the gaps where a participant can ship something materially better with one weekend of work. 2. **Read PRs #2-#11** to see what's already taken. First-round picks collapsed: 3x EigenTrust (PRs #2, #3, #6), 4x latency-transport (PRs #8, #10, #11 + adjacent), 1x DPoP auth (#9), 1x HTLC payments (#7), 1x sealed-bid coord (#5), 1x semantic memory (#4). Five layers (comms, identity, registry, negotiation, privacy, datafacts) had **zero** PRs. 3. **Wrote problems that target the gaps**, citing specific files and line numbers in each motivation so participants can't argue the gap isn't real. Where the obvious pick was already overrepresented, wrote a *harder, sharper* version (e.g. coordination = partition-tolerant BFT with view-change, not sealed-bid). ## Layer coverage | Layer | Problem # | Difficulty | First-round overlap? | |---|---|---|---| | comms | 01 | easy | none | | memory | 02 | easy | PR #4 added semantic recall but kept LWW; CRDT story still open | | payments | 03 | easy | PR #7 added HTLC (one-shot); streaming is orthogonal | | auth | 04 | easy | PR #9 added DPoP; delegation+revocation is orthogonal | | identity | 05 | medium | none | | registry | 06 | medium | none | | negotiation | 07 | medium | none | | datafacts | 08 | medium | none | | privacy | 09 | hard | none | | coordination | 10 | hard | PR #5 added sealed-bid; BFT consensus under partition is a different problem | 10 of 12 layers covered (skipped trust and transport — both 3x covered in round 1, deliberately excluded to avoid a fourth pile-on). ## Difficulty distribution - Easy: 4 (comms, memory, payments, auth) - Medium: 4 (identity, registry, negotiation, datafacts) - Hard: 2 (privacy, coordination) Matches the requested 4/4/2 split. ## Anti-overlap with PRs #2-#11 Explicit exclusions stated in the charter and reiterated in problem files: - **No plain "implement EigenTrust"** problem at all. Trust layer is excluded entirely from the 10. - **No plain "add latency to in_memory transport"** problem. Transport layer is excluded entirely from the 10. - Problem #03 (streaming payments) cites PR #7 and says "streams aren't HTLCs." - Problem #04 (delegated auth) cites PR #9 and says "don't rebuild PR #9's DPoP." - Problem #02 (CRDT memory) cites PR #4 and says "PR #4 added semantic recall but kept LWW semantics." - Problem #10 (BFT consensus) cites PR #5 and says "PR #5 added sealed-bid coordination — useful for mechanism design but not a consensus protocol." ## CI Locally on this branch: - `uv sync` — 0 - `uv run ruff check .` — 0 (All checks passed!) - `uv run ruff format --check .` — 0 (94 files already formatted) - `uv run pyright` — 0 (0 errors, 0 warnings, 0 informations) - `uv run pytest -v` — 0 (259 passed, 1 warning, 14.28s) ## Out of scope - No code in `packages/` was touched. - No other platform tracks were touched. - `scripts/judge/rubric.md` does not exist yet (parallel judge-panel track); `judging.md` defers to it when it lands and writes the rubric inline meanwhile.
Try it
Open PR on GitHubView diffCheckout locally
git fetch origin pull/13/head:pr-13
git checkout pr-13