Skip to content

Fix: add documentation directory indexes - #1684

Merged
ChaoWao merged 1 commit into
hw-native-sys:mainfrom
zmnobug:docs/issue-1608-directory-indexes
Aug 4, 2026
Merged

Fix: add documentation directory indexes#1684
ChaoWao merged 1 commit into
hw-native-sys:mainfrom
zmnobug:docs/issue-1608-directory-indexes

Conversation

@zmnobug

@zmnobug zmnobug commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add landing pages organized by reader intent for the hardware, troubleshooting, Remote L3, and device error-code guide collections
  • connect each collection to the relevant references outside its directory
  • register all four indexes in MkDocs navigation and point the five directory entry links at explicit README files
  • promote unrecognized links to warnings so strict builds reject future dead directory links

Testing

  • mkdocs build --strict — zero warnings; all four directory index.html files generated
  • markdownlint-cli2 on every changed Markdown file
  • pre-commit run --files ... on all eight changed files

Fixes #1608

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Added README index pages for four documentation directories. Updated links to target those pages. Expanded MkDocs navigation and enabled warnings for unrecognized links.

Changes

Documentation index navigation

Layer / File(s) Summary
Documentation index pages
docs/hardware/README.md, docs/remote-l3-worker-design/README.md, docs/troubleshooting/README.md, docs/troubleshooting/device-error-codes/README.md
Added overview pages and tables linking to the related documentation.
Explicit README links
docs/README.md, docs/dfx/README.md, docs/user/how-to/debug-a-failed-run.md
Updated directory links to reference README.md explicitly.
MkDocs navigation and validation
mkdocs.yml
Enabled warnings for unrecognized links and added the new pages to nested navigation sections.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Poem

A rabbit hops through pages bright,
New README paths now point just right.
The sidebar grows with nested care,
Warnings guard each documented stair.
“No more lost links!” I thump with cheer.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes satisfy issue #1608 by adding four indexes, registering them in navigation, fixing directory links, and warning on unrecognized links.
Out of Scope Changes check ✅ Passed All changes support issue #1608 and remain limited to documentation indexes, links, MkDocs navigation, and link validation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly and concisely describes the addition of documentation directory indexes.
Description check ✅ Passed The description accurately summarizes the documentation indexes, navigation updates, link fixes, validation changes, and testing.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Add landing pages for the hardware, troubleshooting, Remote L3, and
device error-code guide collections. Organize each index by reader
intent, connect related references, register the pages in navigation,
and point directory entry links at explicit README files.

Promote unrecognized links to warnings so strict MkDocs builds reject
future dead directory links.

Fixes hw-native-sys#1608
@zmnobug
zmnobug force-pushed the docs/issue-1608-directory-indexes branch from 347feef to 3a17dcf Compare August 4, 2026 11:08
@ChaoWao
ChaoWao merged commit 3165cc8 into hw-native-sys:main Aug 4, 2026
14 checks passed
ChaoWao added a commit to YunjiQin/simpler that referenced this pull request Aug 4, 2026
…r names

Files that landed on main via hw-native-sys#1674 and hw-native-sys#1684 sit outside this rename branch's
base and still use the pre-rename names. Bring them onto the renamed types and
doc paths so the tree compiles, imports, and links cleanly:

- host_build_graph_validation/wide_dispatch orchestration .cpp (hw-native-sys#1674):
  L0TaskArgs/L0TaskArgsWithDeps -> CoreTaskArgs/CoreTaskArgsWithDeps,
  L2TaskArgs -> ChipTaskArgs, GM-address Tensor -> ChipTensor.
- host_build_graph_validation Python test (hw-native-sys#1674): the device-descriptor
  import simpler.task_interface.Tensor -> ChipTensor (the .make arg builder),
  which otherwise aborted pytest collection with ImportError.
- SUBMIT_BY_CLUSTER.md example (hw-native-sys#1674) and build_config.py comment (hw-native-sys#1674):
  L0TaskArgs -> CoreTaskArgs, Tensor -> ChipTensor.
- troubleshooting/device-error-codes/README.md index (hw-native-sys#1684): inbound link
  l0-swimlane-profiling.md -> core-swimlane-profiling.md, the swimlane doc
  this rename renamed.

host_build_graph_wide_dispatch uses simpler_setup.Tensor (the scene-test arg
spec), a separate type that is not renamed.
ChaoWao added a commit that referenced this pull request Aug 4, 2026
* Rename: L3L2 identifiers to WorkerChip

The worker-chip message queue, orchestration comm, endpoint and region types
carried the numeric topology level in their names. Codestyle rule 13 reserves
numeric levels for architecture prose and names software entities by role, so
the L3+ recursive scheduling context is Worker and the chip runtime context is
Chip.

- L3L2Queue* -> WorkerChipQueue*, L3L2Orch* -> WorkerChipOrch*,
  L3L2Endpoint* -> WorkerChipEndpoint*, L3L2Region* -> WorkerChipRegion*
- L3L2_* and CTRL_L3_L2_* constants -> WORKER_CHIP_* / CTRL_WORKER_CHIP_*;
  their values are unchanged, so the wire layout is untouched
- l3_l2_* functions, Python modules, headers and example directories ->
  worker_chip_*
- _L2HostL3L2Region* -> _HostWorkerChipRegion*, collapsing the doubled context
- the four renamed headers use #pragma once, their guard names having
  disagreed with the new paths

Device-log text and architecture prose keep the L3-L2 spelling, which the rule
sanctions for topology description. No compatibility aliases are kept.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: L3Host identifiers to WorkerHost

The host-side registry and lease types for a worker-owned mapped region named
the numeric topology level rather than the owning software context. Codestyle
rule 13 puts L3+ recursive scheduling in the Worker context.

- L3HostMappedRegion* -> WorkerHostMappedRegion* (Handle, Entry, Registry,
  Lease, CleanupErrors)
- L3HostRegionMapping* -> WorkerHostRegionMapping*
- l3_host_* helpers and attributes -> worker_host_*

No compatibility aliases are kept.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: L2TaskArgs to ChipTaskArgs and L2 queue ends to Chip/Worker

The orchestration entry argument holder is the chip-level container -- its own
comment already said so -- and the message queue named its two ends by numeric
level. Codestyle rule 13 names the chip runtime context Chip and the L3+
recursive scheduling context Worker.

- L2TaskArgs -> ChipTaskArgs
- L2ChildOnboardRegion* -> ChipChildOnboardRegion*, g_l2_child_onboard_regions
  -> g_chip_child_onboard_regions
- WORKER_CHIP_QUEUE_L3_ABORT_FLAG_OFFSET -> ..._WORKER_ABORT_FLAG_OFFSET and
  WORKER_CHIP_QUEUE_L2_ABORT_FLAG_OFFSET -> ..._CHIP_ABORT_FLAG_OFFSET, with
  the l3_/l2_abort_flag_offset layout fields following; offsets are unchanged
- WorkerChipQueue.l2_task_arg_scalars() -> chip_task_arg_scalars()

No compatibility aliases are kept.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: L2Swimlane to ChipSwimlane and L0 swimlane to core swimlane

The swimlane collectors, their records, the DFX flag and the pytest option all
named the numeric topology level. Codestyle rule 13 names the chip runtime
context Chip and the AIC/AIV task-construction context Core.

- L2Swimlane* -> ChipSwimlane*, L2SWIMLANE_* -> CHIP_SWIMLANE_*,
  SIMPLER_DFX_FLAG_L2_SWIMLANE -> SIMPLER_DFX_FLAG_CHIP_SWIMLANE
- l2_swimlane_* functions, fields, records and JSON artifact names ->
  chip_swimlane_*
- pytest --enable-l2-swimlane -> --enable-chip-swimlane and
  --l2-swimlane-records-json -> --chip-swimlane-records-json, with the CI
  workflows and scene-test plumbing following
- simpler_setup.tools.l0_swimlane -> core_swimlane, and the intra-core
  swimlane is called the core swimlane throughout docs and skills
- tests/st/{a2a3,a5}/tensormap_and_ringbuffer/dfx/l2_swimlane ->
  dfx/chip_swimlane
- the four swimlane headers use #pragma once

Prose keeps numeric levels where it describes topology; the feature itself is
named after its owning context. No compatibility aliases are kept, so an
external caller passing --enable-l2-swimlane must move to the new spelling.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: L0 task-construction types to Core

The per-core task argument and predicate types named the numeric topology level.
Codestyle rule 13 names the AIC/AIV task-construction context Core and lists
CoreTaskArgs and CoreTaskPredicate as the intended spellings.

- L0TaskArgs -> CoreTaskArgs, L0TaskArgsWithDeps -> CoreTaskArgsWithDeps
- L0TaskPredicate -> CoreTaskPredicate, L0PredicateOperand ->
  CorePredicateOperand

L0A / L0B / L0C, L0TileShape and the other AICore on-chip memory names are
untouched: they name a hardware storage hierarchy, not a topology level.

No compatibility aliases are kept, so orchestration sources outside this repo
must move to the new spelling.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: the GM-address-bearing Tensor to ChipTensor

Two public types were called Tensor: the C++ descriptor in
src/common/task_interface/tensor.h, which embeds a device address and is
materialized by a ChipWorker, and simpler_setup.Tensor, the address-free
scene-test arg spec. Codestyle rule 13 names the first after its owning
context and reserves the unprefixed name for the address-free L3+ form, so the
two no longer collide.

- C++ Tensor -> ChipTensor across the runtimes, the orchestration API, the
  AICore kernels that read __gm__ ChipTensor* task args, and the tests
- the nanobind class binds as ChipTensor, so simpler.task_interface.ChipTensor
  is the Python spelling; simpler_setup.Tensor is unchanged and its 100 users
  are untouched
- docs describing the L2 ABI follow

The struct layout, its 128-byte size assertion and the TensorMap offset
assertions are unchanged, so the wire format is identical.

GlobalTensor, LocalTensor, TensorMap, TensorKey, TensorArgType, RemoteTensorRef
and torch.Tensor are all distinct names and are untouched.

No compatibility alias is kept, so kernel sources outside this repo must move
to the new spelling.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Rename: catch up concurrent main additions to the Core/Chip/ChipTensor names

Files that landed on main via #1674 and #1684 sit outside this rename branch's
base and still use the pre-rename names. Bring them onto the renamed types and
doc paths so the tree compiles, imports, and links cleanly:

- host_build_graph_validation/wide_dispatch orchestration .cpp (#1674):
  L0TaskArgs/L0TaskArgsWithDeps -> CoreTaskArgs/CoreTaskArgsWithDeps,
  L2TaskArgs -> ChipTaskArgs, GM-address Tensor -> ChipTensor.
- host_build_graph_validation Python test (#1674): the device-descriptor
  import simpler.task_interface.Tensor -> ChipTensor (the .make arg builder),
  which otherwise aborted pytest collection with ImportError.
- SUBMIT_BY_CLUSTER.md example (#1674) and build_config.py comment (#1674):
  L0TaskArgs -> CoreTaskArgs, Tensor -> ChipTensor.
- troubleshooting/device-error-codes/README.md index (#1684): inbound link
  l0-swimlane-profiling.md -> core-swimlane-profiling.md, the swimlane doc
  this rename renamed.

host_build_graph_wide_dispatch uses simpler_setup.Tensor (the scene-test arg
spec), a separate type that is not renamed.

Co-authored-by: wcwxy <26245345+ChaoWao@users.noreply.github.com>
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.

[Docs] Four doc directories have no index page, so their links 404 on the published site

2 participants