Skip to content

docs(readme,examples,scripts): make the Quick Start a prompt that has been run - #57

Merged
zhen8838 merged 3 commits into
tile-ai:mainfrom
zhen8838:readme-quickstart
Aug 4, 2026
Merged

docs(readme,examples,scripts): make the Quick Start a prompt that has been run#57
zhen8838 merged 3 commits into
tile-ai:mainfrom
zhen8838:readme-quickstart

Conversation

@zhen8838

@zhen8838 zhen8838 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Why

  • README.md is twelve lines, one of which says the project "is not yet ready for
    use", while tilefoundry 0.0.1 has been on PyPI since 2026-08-02 and
    readme = "README.md" makes this file the PyPI landing page as well as the
    GitHub front page.
  • A Quick Start for an agentic platform cannot be a hand-authored @module
    snippet: the premise is that you do not write the description or the kernels, so
    a snippet advertises the opposite of the product. It has to be a prompt.
  • Publishing a prompt that had never been run would be a claim, not a Quick Start.
    The prompt in this README produced the example in this branch, unedited.

What

  • README.md rewritten: banner, badges and Documentation / Installation /
    Examples centred under a rule, one sentence of what this is, Latest News, then
    Installation and Quick Start as separate sections, then License. The Quick Start
    is thirteen lines of prompt and closes on the measured outcome. Every link is
    absolute, because relative paths 404 on PyPI; the banner is a GitHub attachment
    rather than a committed file, since it is 5.4 MB and git history cannot be made
    to forget it later.
  • examples/qwen3_1_7b-tilelang/ added, 13 files. Shipped the way the other three
    are -- reference (ref_src/), twin (fast/twin.py), kernels
    (fast/kernels.py), entry point (run.py) -- with the workbench the work was
    done with left out: no verify.sh driver, three profilers, two diagnostics,
    activation dumper or engine test. fast/test_kernels.py stays because it is the
    torch spelling of every kernel and the siblings ship that as torch_ref.py;
    fast/arbitrate.py stays because the f64 arbitration has no other copy. Its
    README carries the same four sections as the others, with the agent's own prose
    intact underneath.
  • scripts/no_machine_paths_lint.py: a - immediately before the slash may now
    precede a match. :- put one exactly where a path begins, so ${VAR:-<a path>}
    was the one shape the checker could not see -- it passed this example while the
    example still carried a checkpoint path that way. --option=<a home directory>
    was invisible for the same reason. Both forms added to the caught list in
    tests/scripts/test_no_machine_paths_lint.py.
  • No model description is changed. An earlier revision of this branch carried
    the example's attention-scale finding back into all seven; see Risk.

Contract

  • No public API, IR, CLI surface or spec text changes. src/ is untouched.
  • no-machine-paths gets stricter, not looser: two shapes that used to pass are
    now reported. The repository is clean under the new pattern, so no existing file
    needs an allow marker.
  • Nothing in CI runs anything under examples/, before or after. Each example
    states its own "verified at v0.0.1, not verified since" at the top; the new one
    now does too.

Verification

  • pytest tests/scripts -q -n 422 passed in 19.57s, exit 0
    (test_results/pr57-checker.txt). The 2 new cases are the shapes that leaked.
  • pre-commit run --files README.md scripts/no_machine_paths_lint.py tests/scripts/test_no_machine_paths_lint.py
    — all hooks Passed, exit 0.
  • git ls-files | xargs grep -nIE '/data[0-9]*/|/home/[a-z][a-z0-9._-]*/|/Users/[A-Za-z]'
    0 files, the checker's own source aside. Grepped directly rather than
    trusting the checker, which is how the leak was found.
  • CI on the identical tree, run 30905142681: lint pass 17s, test pass 5m3s,
    install-smoke pass 4m20s.
  • The example's own numbers are the agent's, re-stated not re-run: 612.5 tok/s on
    one H200 over 2048 new tokens against 14.8 tok/s through the evaluator;
    tilefoundry check passing at context extents 0/1/255/1024 and on all 57 outputs
    of the whole model in one step; 255/256 teacher-forced positions agreeing with
    Hugging Face.
  • The claim that the descriptions must not change is measured, not assumed:
    qwen3_1_7b authored HIR through the Evaluator, both scale orderings, at context
    0 / 24 / 255 -- same output to every digit reported, against Hugging Face in bf16
    and against an f64 arbiter.

Risk

  • The example is a snapshot, not a supported path. It pins tilelang 0.1.12,
    torch 2.9.1+cu128, CUDA 12.8 and one H200 in its §1, and nothing re-runs it, so
    it will rot silently. That is the same risk the other three already carry.
  • README.md names a measured throughput. If the example stops reproducing it,
    the front page is wrong and nothing will say so.
  • The Quick Start's honest cost -- hours of agent time and a GPU -- is stated, but
    the prompt has been demonstrated on exactly one model, from the catalog, on one
    machine. It does not yet support the claim "your own model too".
  • The attention-scale finding is real and is not acted on here. It was
    arbitrated on the tilelang twin, where the multiply really is bf16, and does not
    transfer to authored HIR. Where it did change something it made it worse:
    kimi_linear_48b_a3b, NoPE at context 24, scaling q sits 0.00408 from f64 and
    scaling the score 0.00462, with Hugging Face itself at 0.00454 -- the original
    ordering was the closer of the two, and the change pushed the uniform component
    contract from 2.75 to 3.25 roundings and failed test_mla_nope_matches_hf on 2 of
    2304 elements. Carrying it into the descriptions needs its own per-model
    arbitration.
  • Separately worth tracking: that test now has only 2.75 of its 3 permitted
    roundings to spare while Hugging Face itself sits 2.3 roundings from f64. Two
    independent errors of that size will reach the bound eventually, with or without
    this branch. refactor(models,cli,docs): make the model corpus ask what it ships #56 removes the test; if it survives, the bound wants a look.
  • Documentation in the header points at the published site. It resolves today
    (200), but nothing in this repository builds or checks it.

@zhen8838

zhen8838 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author
banner_2

@zhen8838
zhen8838 force-pushed the readme-quickstart branch from cbcc022 to 03d9ea5 Compare August 4, 2026 12:17
@zhen8838 zhen8838 changed the title docs(readme,examples): a Quick Start that is one prompt, and the run behind it docs(readme,examples,scripts): a Quick Start that is one prompt, and the run behind it Aug 4, 2026
Summary:
- Add `examples/qwen3_1_7b-tilelang/`: the agent run the README's Quick Start
  prompt produced, at 612.5 tok/s on one H200 over 2048 new tokens, 41x the same
  authored HIR through the evaluator.
- Ship it the way the other three are shipped -- reference, twin, kernels, entry
  point -- with the workbench (verify.sh, profilers, diagnostics, dumper, engine
  test) left out, and its README on the same four sections.
- Redact the one machine path: `run.py --ckpt` is required rather than defaulting
  to the checkpoint directory on the machine that ran it.
Summary:
- Replace the twelve-line README: banner, badges and Documentation / Installation
  / Examples centred, one sentence of what this is, Latest News, then Installation
  and Quick Start as separate sections.
- Make the Quick Start the thirteen-line prompt that produced the example in this
  branch, unedited, and close it on the measured outcome rather than on prose.
- Drop the "not yet ready for use" note, and make every link absolute because this
  file is also the PyPI landing page.
Summary:
- Let a `-` immediately before the slash precede a match in `no-machine-paths`:
  `:-` put one exactly where a path begins, so `${VAR:-<a path>}` was the one shape
  the checker could not see, and `--option=<a home directory>` with it.
- Add both forms to the checker's caught list; the URL and mid-token cases still
  pass untouched.
@zhen8838
zhen8838 force-pushed the readme-quickstart branch from 03d9ea5 to e61215e Compare August 4, 2026 12:24
@zhen8838 zhen8838 changed the title docs(readme,examples,scripts): a Quick Start that is one prompt, and the run behind it docs(readme,examples,scripts): make the Quick Start a prompt that has been run Aug 4, 2026
@zhen8838
zhen8838 merged commit a8b5c77 into tile-ai:main Aug 4, 2026
2 checks passed
@zhen8838
zhen8838 deleted the readme-quickstart branch August 4, 2026 12:28
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