@@ -19,6 +19,28 @@ fallback that produces a degraded/wrong/zero result is what is forbidden.
1919This is the first and main rule. Existing automated fallbacks must be found and removed; route
2020everything through the single clear path that fails loud.
2121
22+ ## Repos, branches, upstream provenance (David, 2026-05-30)
23+
24+ All our repos live in the ** DatasunriseOU** org and we work on the ** ` main ` ** branch EVERYWHERE
25+ (local + gb10 + every machine). Do NOT create side/feature branches for our own work — commit to
26+ ` main ` , push ` main ` , pull ` main ` . (Past mistake: scattering fixes across ` m4-metal4-keystone ` /
27+ ` merge/upstream-codegen-reorg ` side branches — never do this; consolidate on ` main ` .)
28+
29+ Our repos (all in DatasunriseOU): ` cppmega_mlx ` , ` tilelang ` , ` tvm ` , ` tvm-ffi ` , ` mlx ` , ` mlx-lm ` ,
30+ ` cppmega ` , ` triton-pr9701 ` . These are OUR working repos (not "forks we don't control") — we commit
31+ to them directly.
32+
33+ ** Upstream provenance + how we pull fixes (we cherry-pick needed fixes FROM upstream INTO our main):**
34+ - ** tvm** = ` apache/tvm ` upstream (git remote ` origin ` = https://github.com/apache/tvm ). Our fork =
35+ ` DatasunriseOU/tvm ` (remote ` datasunrise ` ). We take tvm from ** apache** , NOT from the TileLang/tvm
36+ fork (` tilelang ` remote = TileLang/tvm exists only to cherry-pick specific fixes).
37+ - ** tvm-ffi** = ` apache/tvm-ffi ` upstream (Apache-2.0). Our fork = ` DatasunriseOU/tvm-ffi ` , vendored
38+ as the ` 3rdparty/tvm-ffi ` submodule inside our tvm. From ** apache** , not tilelang.
39+ - ** tilelang** = upstream ` TileLang/tilelang ` ; our fork ` DatasunriseOU/tilelang ` , work on ` main ` .
40+ - ** mlx / mlx-lm** = upstream ` ml-explore/* ` ; our forks ` DatasunriseOU/mlx ` , ` DatasunriseOU/mlx-lm ` .
41+ - The pattern: keep an upstream remote (` origin ` =apache for tvm, etc.), pull/cherry-pick the fixes
42+ WE need from upstream into OUR ` main ` , and build from our ` main ` .
43+
2244## Tensor memory rule (see AGENTS.md)
2345- Wrappers/adapters must not silently allocate, cast, or copy large tensors to satisfy a
2446 boundary. If a design seems to require it, the design is wrong — keep looking (this is a
0 commit comments