Commit Graph

15 Commits

Author SHA1 Message Date
noonghunna
8f3ae5c62f docs: surface the mandatory compose Profile header to contributors
The Profile (at-a-glance) header + required Status field is gate-tested
(test-compose-status-drift) but was documented only in CLAUDE.md/AGENTS.md
(the agent guide) — the human-contributor surfaces never stated it, so a
submission could omit Status and only fail in CI. Surface the requirement
(link, don't duplicate the schema) on every path:

- CONTRIBUTING: new "Profile header on every compose" rule next to one-per-PR.
- PR template: a "Profile header complete" checkbox for compose PRs.
- ADDING_MODELS Step 3: a "Profile header (mandatory)" subsection.
- BRING_YOUR_OWN §4: a header bullet for contributed composes.

Also reciprocal-link the two onboarding docs: ADDING_MODELS now points paths
1-2 (serve/tune/validate without the catalog) to BRING_YOUR_OWN, framing
itself as the promotion step after a config validates there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 16:38:40 +00:00
noonghunna
557e6157c4 docs(CONTRIBUTING): broaden one-per-PR rule to feature/concern scope
The one-model-per-PR rule only covered new-compose PRs; #301 violated
scope a different way — an engine-image bump + sampling-default change +
benchmark dump + pin update in one PR. Extend the rule: one model OR one
feature/concern per PR, compose or not. A grab-bag stalls on its weakest part.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:13:22 +00:00
noonghunna
497c341a95 docs(CONTRIBUTING): require one model per compose PR
A new-compose PR must add exactly one model. Multiple models in one PR
can't each get their own validation gate, issue thread, and merge
decision — a blocker on any one stalls all of them (lived this on #298,
4 models with 4 different fates). Sibling variants of one model stay fine.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 14:57:05 +00:00
noonghunna
2a148d702b feat(bench): surface prompt processing throughput
Some checks failed
Build vLLM Club3090 Image / Promote latest and nightly-stable (push) Blocked by required conditions
Build vLLM Club3090 Image / Retain four weeks of dated nightlies (push) Blocked by required conditions
Build vLLM Club3090 Image / Build and push dated image (push) Failing after 1m23s
Release / release (push) Failing after 45s
2026-05-15 09:03:10 +00:00
noonghunna
12a33fbdd1 feat(scripts): add hardware-aware setup picker 2026-05-13 20:44:35 +00:00
noonghunna
22bf2e9398 fix(scripts): make submit-bench issue-first
Some checks failed
Release / release (push) Failing after 53s
2026-05-13 18:40:43 +00:00
noonghunna
ef770322f4 feat(scripts): add submit-bench flow
Some checks failed
Release / release (push) Failing after 51s
2026-05-13 18:24:14 +00:00
noonghunna
886b619cc4 docs: codify canonical power-cap-sweep command for cross-rig anchors
Calibration fix in 29e7de5 + apnar's re-run on disc #86 surfaced that
the canonical anchor-data invocation needs to be more explicit. Two
risks: (1) default --step-size 10 is right but coarse-step suggestions
(--step-size 50) leave too few data points to find the knee, (2) without
--bench-runs 3, single-batch variance can produce 10-30% adjacent-cap
deltas that are noise rather than signal.

HARDWARE.md: adds full canonical command with all four flags (cooling,
load-mode, concurrency auto, bench-runs 3) plus rationale for each.
Explicitly notes --step-size 10 is the default and not to override
unless you know why.

CONTRIBUTING.md: bumps the inline example to the same canonical form.
2026-05-07 11:46:24 +00:00
noonghunna
9aa6cb2b0e docs: surface host-build contributor flow + power-cap-sweep in README + CONTRIBUTING
Two minimal pointers added now that scripts are engine-agnostic:

- README.md: host-build invocation pattern + link to disc #88
- CONTRIBUTING.md: same + new bullet for power-cap-sweep.sh ask
  (anchors for cards we don't have yet — A5000/A6000, 4080, 5060
  Ti/5080, modded variants)

No structural changes — keeps the existing flow intact for vLLM-stack
users; just opens the door for non-Docker contributors who would have
been silently turned away before #87 / #88.
2026-05-06 22:31:11 +00:00
noonghunna
5e3ab9269a docs(contributing): clarify issues-vs-discussions routing (#61)
Adds a "Where to file what" table to CONTRIBUTING.md before the
"Process for non-trivial changes" section. Codifies the convention
that bug-shaped problems (logs, tracebacks, report.sh dumps) belong
in issues, while design/welcome/uncertain questions belong in
discussions.

Motivated by accumulating log-heavy comments in discussions
(notably disc #51 5090 NVFP4 debug, disc #33 k8v4 exploration)
that would have been more discoverable as issues. Issues have
state machines (open/closed, labels, assignees) and proper search
surface that discussions don't. Maintainers may now ask folks to
fork bug-shaped pieces into issues with a cross-link back.

Co-authored-by: noonghunna <10742901+noonghunna@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 20:16:43 +05:00
noonghunna
8a29b95da1 feat(report.sh): --stress + --soak flags, --full now the canonical "everything" pass
scripts/report.sh now has four optional sections:
  --verify    verify-full.sh    (~1-2 min)
  --stress    verify-stress.sh  (~5-10 min, 7/7 incl. Cliff 2 needles)
  --soak      SOAK_MODE=continuous + summary.md embed (~25 min, catches Cliff 2b)
  --bench     bench.sh          (~3 min, canonical TPS)
  --full      all four          (~35 min total, the canonical cross-rig pass)

Why soak as its own flag: verify-full + verify-stress + bench all PASS on
configs that FAIL the multi-turn continuous soak (Cliff 2b at ~25K accumulated
tokens). Until upstream lands a fix, soak is the only test that catches the
agentic-workload failure mode that bit issues #41 / #42 / #43 / #45.

Propagated --full as the recommended single-command path through:
- README.md (bug/bench callout)
- CONTRIBUTING.md (Numbers from your rig + new compose variant gate)
- .github/PULL_REQUEST_TEMPLATE.md (one checkbox covers verify+stress+soak+bench)
- .github/ISSUE_TEMPLATE/numbers-from-your-rig.yml (single paste includes soak)
- BENCHMARKS.md ("How to add a row for your rig")

Backward compatible: existing --verify and --bench flags unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 01:37:18 +00:00
noonghunna
85a6ea8c48 docs+gates: PR template, soak-continuous gate, Phase 2 grammar A/B
- Add .github/PULL_REQUEST_TEMPLATE.md with the rig-report / verify /
  soak-continuous / bench / BENCHMARKS row checklist that PR #44 surfaced
  as missing. New compose variants now have an explicit gate list.
- CONTRIBUTING.md: new "Submitting a new compose variant — full gate list"
  section explaining the why behind each gate, cross-linked to docs/CLIFFS.md
  and #41 for the soak-continuous rationale.
- numbers-from-your-rig.yml: optional v2 SOAK_MODE=continuous summary field
  for cross-rig Cliff 2b validation.
- docs/STRUCTURED_COT.md: replace "Phase 2 pending" stub with measured
  results — Holiday tagline (4/6 rescue, 23-token think), DeepSeek scratchpad
  (5/6 rescue, 387-token think), PROMPT_TERSE (5/6 rescue at 75 tokens with
  no FSM mask). Headline reframe: PROMPT_TERSE rescuing 5/6 with the same
  G/A/E shape as current suggests FSM enforcement is the mechanism causing
  those regressions, not absence of structure. Phase 3 plan included.
- tools/grammar-eval: deepseek-scratchpad.gbnf (PLAN/NOTE×0-15/VERDICT)
  and subset-bench.py wired for the 5-condition harness.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 23:48:20 +00:00
noonghunna
b9a13056cc docs: route bug + bench templates through scripts/report.sh
Bug report and numbers-from-your-rig issue templates previously asked for
6+ separate fields each (docker logs, verify-full, nvidia-smi, GPU config,
compose variant, commit, etc.). The new scripts/report.sh captures all
of that in one paste-ready dump, plus the data we kept asking individually
(power caps + default vs current, NVLink topology, OS, system RAM, idle
GPU VRAM detection, container runtime versions, cached vLLM image SHAs).

Templates restructured to lead with `bash scripts/report.sh > my-rig.md`:
- bug-report.yml: 6 required + 2 optional fields → 3 required (what
  happened, repro, rig report) + 1 optional (extras / fallback). Net -38%
  lines, but more importantly: one command instead of six manual asks.
- numbers-from-your-rig.yml: 5 required + 2 optional fields → 1 required
  (rig + bench report via `--bench`) + 1 optional (notes / fallback). Net
  -38% lines.

Both templates retain manual-fallback guidance for users who can't run
report.sh (no shell access, different rig environment, etc.).

CONTRIBUTING.md "Numbers from your rig" + "Bug reports" entries updated
to reference report.sh as the primary path. README.md repo layout adds
report.sh to scripts/ list, plus a one-liner in the docs-and-extras
paragraph pointing affected users at the script.

Net effect: future cross-rig contributors share more standardized data
with less effort. Triage threads stop bouncing on "could you also send
me X?" follow-ups for the surface report.sh covers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 22:50:48 +00:00
noonghunna
53d811d82b Add docs/UPSTREAM.md + AGENTS.md (consolidate upstream tracking)
We had upstream issue / PR links scattered across CHANGELOG, INTERNALS,
FAQ, per-compose comments — drifting independently. Centralizing in
one place with a status convention so the tracker stays current.

- docs/UPSTREAM.md — single source of truth, categorized by upstream
  (vLLM / Genesis / fla-org / FlashQLA / llama.cpp / transformers /
  SGLang), with status emoji + what unblocks for us + workaround.
- AGENTS.md (repo root) — AI-coding-agent guidance. The rule:
  before filing or referencing an upstream issue, check + update
  docs/UPSTREAM.md. Also captures today's Genesis-opt-in vetting
  lesson (behavioral mitigations need streaming + large-prompt repro
  before shipping default-on).
- README, CONTRIBUTING, INTERNALS "See also" sections cross-link the
  two new files.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 19:53:15 +00:00
noonghunna
0c261ebcdf Add CONTRIBUTING.md — what kind of PRs land cleanly
Three sections:

1. What's welcome — bench numbers from new rigs, bug reports with
   the data we always need, upstream-bug minimum repros, new compose
   variants with verify-full + verify-stress + bench output, new
   model support (with the canonical learnings/<model>.md template),
   patch experiments (Genesis-style file replacements + idempotent
   patcher), genuine doc clarity wins, cross-link to your published
   numbers (Reddit / blog / Twitter).

2. What's NOT — doc style nitpicks, untested config knobs (every
   flag we ship has a measurement attached), removing the two-routes
   editorial framing without new data, vendoring upstream, marketing-
   style README rewrites, driveby PRs that don't run verify-full.

3. Process for non-trivial PRs — issue first / branch off master /
   verify-full + verify-stress / bench numbers / four-question PR
   description (what / impact / compared-to / trade-off) / upstream
   author attribution.

Closes with the ground rules: don't claim numbers you didn't measure,
always capture VRAM during benchmarks, pin everything, differentiate
"shipped" from "measured."

Linked from README.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 22:37:10 +00:00