Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
e33311c
Support more syntax in tilelang dsl
Zhendong404 Apr 3, 2026
8753bb4
Update openspec
Zhendong404 Apr 3, 2026
9c16eec
tilelang dsl first working version
Zhendong404 Apr 4, 2026
bb29472
Update openspec
Zhendong404 Apr 4, 2026
277f343
Support more dsl syntax
Zhendong404 Apr 7, 2026
d5c86c7
Amend
Zhendong404 Apr 7, 2026
4ab9af7
Update docs
Zhendong404 Apr 7, 2026
6f111f9
docs: add TileOp expand design and demo
Apr 7, 2026
07c79e7
feat(transforms): add Tile→Vector template lowering pipeline
Apr 7, 2026
e85d99c
brough back the lost pass and pto op after rebase
Apr 12, 2026
d5662a2
feat: tile lang dsl
Zhendong404 Apr 7, 2026
f30919d
Update DSL user guide
Zhendong404 Apr 11, 2026
52c9a7c
Support more tile attributes
Zhendong404 Apr 11, 2026
0b9c46a
Support more event IDs
Zhendong404 Apr 11, 2026
c261702
Align copy_ubuf_to_ubuf
Zhendong404 Apr 11, 2026
7a1e542
Support more load/store ops
Zhendong404 Apr 11, 2026
04dab72
Support colmajor indexing syntax
Zhendong404 Apr 11, 2026
4b023ee
Enhance Tile indexing syntax documentation to clarify restrictions on…
Zhendong404 Apr 11, 2026
8090242
Update openspec
Zhendong404 Apr 11, 2026
a9fa0a3
Support more predicate ops
Zhendong404 Apr 11, 2026
5dd662d
Support keyword arguments for vdup and vci operations in TileLang DSL
Zhendong404 Apr 11, 2026
b9a8c01
Support more dma operations
Zhendong404 Apr 13, 2026
0da301b
Align DSL interface with VPTO v0.3
Zhendong404 Apr 13, 2026
6bc0c7b
Add more memory op support
Zhendong404 Apr 13, 2026
6690d88
Fix failed lit case
Zhendong404 Apr 13, 2026
42c10eb
Dump source location for DSL frontend errors
Zhendong404 Apr 13, 2026
fb34362
Fix inline_proc codegen
Zhendong404 Apr 13, 2026
25464fd
Support optional RoundMode/SatMode/Part arguments in vcvt op
Zhendong404 Apr 13, 2026
9c83f95
Fix tile attribute extraction
Zhendong404 Apr 14, 2026
13084d4
support expand tload/tstore to tile lib in ptoas
Apr 10, 2026
a1dddd5
Fix TileLang ST ptoas invocation
Apr 11, 2026
6aea02f
Fold TileLang dead branches after intrinsic folding
Apr 11, 2026
928b59b
Fix tilelang ST tadd simulator flow
Apr 11, 2026
e4f3ff1
fixup ptr normalize
Apr 13, 2026
469e931
Refactor tilelang ST framework and document full execution flow
Apr 13, 2026
cd61d72
Add local tilelang ST test common header
Apr 13, 2026
33be15f
resolve confilct
Apr 14, 2026
0376137
update ptoas option
Apr 14, 2026
aeda6a6
Support scalar mod operation in DSL
Zhendong404 Apr 14, 2026
f96e130
Support custom tile padding value
Zhendong404 Apr 14, 2026
b179283
Fix missing valid_shape/padvalue info when expand tileop
Zhendong404 Apr 14, 2026
8b27c3d
Use pad_value.eval() instead of pad_value.value
Zhendong404 Apr 14, 2026
8a398f6
Fix semantics of vdup op
Zhendong404 Apr 14, 2026
339f5a8
Fix vecscope inference for inline_proc
Zhendong404 Apr 14, 2026
f6de43d
Fix tshrs/tshls scalar type legality check
Zhendong404 Apr 14, 2026
90b1fc2
fix(dsl): extend scalar arithmetic/bitwise lowering and tests (#71)
Zhendong404 Apr 14, 2026
46e6e28
fix(dsl): align vbitsort and vmrgsort4 with vpto (#67)
Zhendong404 Apr 14, 2026
e953682
[PTOAS] wire MLIR IR printing through ptoas pipelines
Zhendong404 Apr 14, 2026
8456f06
Use select_kernel for expand helper selection
Apr 14, 2026
9177c30
Recover static view strides in ExpandTileOp
Apr 14, 2026
49b44f8
Refine tilelang ST compare flow
Apr 14, 2026
52d3bf2
fix(tilelang-dsl): enforce vcvt attrs by type pair and align vcvt low…
Zhendong404 Apr 15, 2026
5668cec
chore: drop trowargmax template from issue #63 PR
Zhendong404 Apr 15, 2026
cbddcbe
fix(dsl): support module-level literal constants in kernels (#62)
Zhendong404 Apr 15, 2026
fcb0705
feat(dsl): allow inline_proc capture of module literal globals
Zhendong404 Apr 15, 2026
83955b2
Update dsl user guide
Zhendong404 Apr 15, 2026
92b0aec
tilelang-dsl: support pass as frontend no-op
Zhendong404 Apr 15, 2026
2d6b2ab
align(tilelang-dsl): support PartitionTensorView slice binding and docs
Zhendong404 Apr 15, 2026
aed5779
udpate tload and tstore.
sundyCoder Apr 14, 2026
55d7345
update tload, tstore and related ST.
sundyCoder Apr 15, 2026
b2f9b20
Add a skill to resolve DSL issue
Zhendong404 Apr 14, 2026
758c8e6
fix(tilelang-dsl): emit stable float bit-pattern constants
Zhendong404 Apr 15, 2026
57e04c1
fix(tilelang-dsl): enforce explicit pointer surface for psts
Zhendong404 Apr 15, 2026
81872e6
fix(dsl): handle valid_shape subscript and guard unsupported tuple su…
Zhendong404 Apr 16, 2026
16f1daa
support pto.set_mov_pad_val
Apr 15, 2026
da02f42
Add VPTO membar support
Apr 14, 2026
d1d3a94
warning the channel vsts
Apr 15, 2026
56c4811
update docs for channel vsts
Apr 15, 2026
86a552c
fix(dsl): support explicit set_mov_pad_val for DMA padding
Zhendong404 Apr 16, 2026
dd59e54
fix: support unsigned dtypes in ExpandTileOp
Apr 15, 2026
64cec6c
fix(tilelang-dsl): keep vbitsort and vmrgsort4 out of inferred vecscope
Apr 16, 2026
178a3cf
feat(tilelang-dsl): add select_kernel diagnostics report
Zhendong404 Apr 16, 2026
72b5e58
specify dist of vsts/vlds
Apr 16, 2026
fcb6b82
fix(dsl): materialize vtrc round mode in tilelang
Zhendong404 Apr 16, 2026
49aed83
Add tcvt TileLib support and ST coverage
Apr 16, 2026
bbf8fae
Add f16-to-f32 tcvt support
Apr 16, 2026
27c055d
Add f32-to-f16 tcvt support
Apr 16, 2026
50d1500
let the dist of store op more flexiable
Apr 17, 2026
7038c6e
fix(dsl): fix vecscope inference
Zhendong404 Apr 17, 2026
40b033e
support ctrl reg configure ops
Apr 19, 2026
e8811a4
udpate tload and tstore, and add testcase.
Apr 20, 2026
4dab7f0
feat(dsl): complete predicate ops and enforce PredicateDist enum
Zhendong404 Apr 17, 2026
8570e89
Add vbitcast implementation
Zhendong404 Apr 17, 2026
887749c
Fix TileLang enum support for issue 131
Zhendong404 Apr 20, 2026
6711707
Adding testing for TCI, assuring correctness
OmarZohir Apr 17, 2026
ce3c7f0
test(tilelang_st): add self-hosted runner batch entrypoint
Zhendong404 Apr 20, 2026
e463b1b
fix(tilelang-dsl): emit signless arith constants for unsigned scalars…
Zhendong404 Apr 20, 2026
e4a96e2
Revert "Adding testing for TCI, assuring correctness"
Zhendong404 Apr 20, 2026
fd84ccb
fix(tilelang-dsl): support i64 vregs in DSL v1 (#151)
Zhendong404 Apr 21, 2026
06fd23a
bugfix: i8/i16 vcadd will widen the return type
Apr 20, 2026
2e1c758
bugfix: i8/i16 vcadd res type
Apr 21, 2026
31a1564
bugfix: update i8/i16 vcadd dsl docs
Apr 21, 2026
5172dea
fix(tilelang-dsl): align f16->i32 vcvt contract (#152)
Zhendong404 Apr 21, 2026
5671ebc
Support bf16->f16 convert
Zhendong404 Apr 21, 2026
6623801
Support materialize PadValue with eval(dtype) interface
Zhendong404 Apr 21, 2026
20438fd
fix(dsl): allow PadValue.eval with static dtype bindings
Zhendong404 Apr 21, 2026
5d11220
fix(tilelang-dsl): auto-cast mov pad scalars for issue 170 (#170)
Zhendong404 Apr 21, 2026
176d332
fixup ci
Apr 21, 2026
e7554f2
fix(dsl): support integer string scalar literals (#174)
Zhendong404 Apr 21, 2026
2359e41
feat: vpto ci
Apr 21, 2026
b69c422
feat: ignore local workspace
Apr 22, 2026
da06c36
feat: support tilelang dsl ci
Apr 22, 2026
a721513
remove the fork repo pr protects
Apr 22, 2026
9cd876a
fix(vpto): normalize signed integer vector decls
Zhendong404 Apr 22, 2026
771c893
[WIP] feat: new dma load/store op (#141)
mouliangyu Apr 22, 2026
43dbc91
Support packed vcvt part modes
Zhendong404 Apr 22, 2026
c8b8426
Support p0/p1/p2/p3 vcvt part mode
Zhendong404 Apr 22, 2026
257e3e2
Support the whole mem barrier types
Zhendong404 Apr 22, 2026
880a9eb
chore(ci): fix license headers for pr199
Zhendong404 Apr 22, 2026
a33a0f1
fix(expand-tileop): add cmp_mode attribute handling for TCmpOp and TC…
Zhendong404 Apr 22, 2026
1fa2456
feat: support dsl ut ci
Apr 22, 2026
e923a48
feat(tilelang-dsl): add vscatter surface lowering
Zhendong404 Apr 22, 2026
e07f6c2
fix(dsl): require hex strings for integer bit patterns (#174)
Zhendong404 Apr 22, 2026
c1a7c56
docs: add license headers to issue 174 updates
Zhendong404 Apr 22, 2026
257cfc5
Add bitcast after arith.constant
Zhendong404 Apr 21, 2026
95c1d06
fix: handle type compatibility in tryCloneOpLibInlineBridgeOp
Zhendong404 Apr 21, 2026
a11da79
fix(dsl): align vexpdif surface with VPTO
Zhendong404 Apr 22, 2026
7660c75
fix: avoid false A5 tprelu vec overflow in memory planning
FangRui0 Apr 22, 2026
4eb990a
fix(dsl): unify type conversion logics in frontend
Zhendong404 Apr 22, 2026
485a6f8
fix(ptoas): make vpto backend own tile op expansion (#162)
Zhendong404 Apr 21, 2026
b139867
feat: support pto.pbitcast op
Apr 23, 2026
29aa419
fix(dsl): fix the order mode lowering of pto.vci
Zhendong404 Apr 23, 2026
91df010
feat: support copy_ubuf_to_ubuf / dma_copy lowering
Apr 23, 2026
c70acb0
fix(vpto): align vrelu i32 support (#220)
Zhendong404 Apr 23, 2026
187ba26
Fix DSL frontend vecscope auto inference
Zhendong404 Apr 23, 2026
7fa39b8
feat(tilelang-dsl): support constructor calls on static dtype bindings
Zhendong404 Apr 22, 2026
41136c4
fix(dsl): fix DSL frontend punpack lowering
Zhendong404 Apr 23, 2026
250edd5
bugfix: vbr/cmps with vreg<i8> accepts i16 as scalar operand
Apr 23, 2026
afdf08e
feat: vci support si8/si16/si32/f16/f32
Apr 23, 2026
ff91921
feat: remove dead code
Apr 23, 2026
3cc198e
feat: dsl supports for trems
Apr 23, 2026
931d515
align(tilelang-dsl): require enum dist for vlds/vsts
Zhendong404 Apr 24, 2026
b3f775d
chore(tileops): add missing license header for tcvt template
Zhendong404 Apr 24, 2026
be29113
Add a mixed Tile/VPTO online softmax kernel
Apr 23, 2026
0aa8fec
Refine mixed Tile/VPTO softmax kernels and CI fixes
Apr 24, 2026
236fc06
fix(pto): avoid false A5 trowarg vec overflow (#558)
Zhendong404 Apr 23, 2026
8b083b6
Fix tcolarg verifier element width constraints
Zhendong404 Apr 23, 2026
8ba20a7
feat(tileop): Add unary tileop templates (#168)
liggest Apr 24, 2026
7ae546f
feat(vpto): add vmatmal op and dependent copy op
FangRui0 Apr 21, 2026
00200ca
feature dma remove sid (#243)
mouliangyu Apr 24, 2026
be12ed0
fix(dsl): forward trandom rounds in tile expansion (#245) (#250)
Zhendong404 Apr 24, 2026
2e912fc
Add OP for TPartAdd & TPartMul (#213)
erhsh Apr 25, 2026
c06def7
Add OP for TPartMin & TPartMax (#230)
erhsh Apr 25, 2026
0e9dcef
fix(vpto): legalize integer cast ops after VPTO lowering (#240)
Zhendong404 Apr 24, 2026
df57d1f
fix(vpto): restore byte-scalar vdup HIVM ABI
Zhendong404 Apr 25, 2026
d229845
feat: cancel ci on update (#260)
mouliangyu Apr 25, 2026
e460399
fix(vpto): normalize scalar memref access before llvm emit (#247)
Zhendong404 Apr 25, 2026
4e4a5c9
feat: disable vpto ci
Apr 25, 2026
accc9e7
docs(vpto): add Cluster Programming Model section to Part I
Apr 25, 2026
8833309
docs(vpto): add ASCII cluster topology diagram to Cluster Programming…
Apr 25, 2026
4185970
docs(vpto): fix SC semaphore layout in cluster diagram
Apr 25, 2026
aad0cda
[feat] add rowsum rowmin rowmax rowargmax rowargmin (#255)
lwwangcgz Apr 25, 2026
0e6cbb5
add tcolmax tcolmin tileops lib implementation (#221)
ChaoyangJi Apr 25, 2026
b3a02ad
Add scalar ops (#191)
LLMZhangYC Apr 25, 2026
e172c35
feat: improve the func call in dsl. and support vdiv/vmod func
Apr 25, 2026
f4a7a97
add texpand/tfillpad/tfillpad_inplace/tfillpad_expand op (#167)
kangjiaming1 Apr 25, 2026
2d5c904
bugfix: vprelu should accept mask operand (#266)
mouliangyu Apr 25, 2026
56210dd
ST tests for TReLU, TLReLU , TPrelu, Tsel and Tselsand operators have…
yuqiha Apr 25, 2026
05726a2
add trowexpand op (#149)
pbbb205 Apr 25, 2026
bc588d7
feat: enable vpto sim
Apr 26, 2026
5ab14fe
fix(dsl): allow integer vdiv vector types
Zhendong404 Apr 25, 2026
5e5cb7c
feat: support vmrgsort4 emit
Apr 25, 2026
3ab979f
feat: support 64bits dma op
Apr 25, 2026
7a3e1f7
add tcolexpand series op (#169)
bingmeiyou Apr 27, 2026
49192e5
[Add] tadd tsub tmul tdiv tmax tmin tshl tshr tor tand txor tcmp trem…
Apr 27, 2026
f1b3ff8
[Add] tcmp trem tfmod
Apr 27, 2026
ae6c649
[Delete] tcmp tfmod trem
Apr 27, 2026
11652e1
[Delete] tcmp tfmod trem
Apr 27, 2026
8dd42c4
[Fix] pass CI
Apr 27, 2026
dc11557
[Fix] delete tcmp tfmod trem in Cmakelists
Apr 27, 2026
afd9137
[Fix] CI error in tmin
Apr 27, 2026
41b778e
Fix VPTO vcvt and vaxpy mask lowering
Zhendong404 Apr 27, 2026
1084d93
Fix installed TileLang resources and disable wheel CI
Zhendong404 Apr 25, 2026
e171da1
Fix TileLang soft-math helper lookup in installed layout
Zhendong404 Apr 27, 2026
2d56919
bugfix: fixup the mask lack (#291)
mouliangyu Apr 27, 2026
8374e48
[Fix] TPartMin & TPartMax add mem_bar
Apr 28, 2026
e0527a3
Fix saturation immediate encoding in VPTO LLVM emitter
Apr 28, 2026
1b8b890
Fix lit cases
Zhendong404 Apr 28, 2026
eb8da18
fix(dsl): allow mixed index and integer scalar binary ops (#246)
Zhendong404 Apr 25, 2026
6aff4bb
feat(vpto): support vecscope auto infer in the vpto backend
Zhendong404 Apr 27, 2026
c92cc7a
Support cross-file inline_proc import
Zhendong404 Apr 27, 2026
565a773
fix(vpto): support merged align state across scf.if (#300) (#308)
Zhendong404 Apr 29, 2026
c15307e
docs: refresh Tile Instruction specs and release bundles
Apr 29, 2026
d0fbe79
docs: move tensor_view_addr into tile spec
Apr 29, 2026
ff25ceb
docs: refresh v0.4 release spec notes
Apr 30, 2026
204602b
fix(vpto): force V300 ctrl mode for sat-sensitive vcvt
Zhendong404 Apr 29, 2026
0aaf34a
feat: add cube dma laod/store ops
FangRui0 Apr 25, 2026
0de473a
bugfix: fixup mix fatobj
Apr 29, 2026
83bc83d
fix(test/vpto): use pto.acc_store_gm for ACC to GM in cube vpto ST
FangRui0 Apr 30, 2026
6c03373
feat: add left/right_load_mx
FangRui0 Apr 30, 2026
c8bea93
docs: add NZ fractal layout section for cube buffers in Cluster Progr…
peanutchan Apr 30, 2026
ef62abf
docs: add Cube Internal Buffer Layout NZ Fractal Format section
peanutchan Apr 30, 2026
13a32a2
[Feat] enhance vcvt behavior for rowsum (#295)
lwwangcgz May 6, 2026
6c0c99a
[Add] tcmp tfmod trem (#321)
handsomeRobotSK May 6, 2026
973803d
fix tfillpad_inplace_template (#299)
kangjiaming1 May 6, 2026
7611078
Add trems/tcmps/tfmods (#283)
LLMZhangYC May 7, 2026
b3d8c68
Delete useless code and abbreviate tile_buf type in test cases (#332)
kangjiaming1 May 7, 2026
04d8025
add tcolargmax/min tileops lib implementation (#294)
ChaoyangJi May 7, 2026
8becc43
Add OP For TSort32 (#258)
erhsh May 7, 2026
43fde41
Fix default render dtype selection for AnyInt
Zhendong404 Apr 29, 2026
05eb014
Support scalar/index auto conversion
Zhendong404 Apr 29, 2026
6431a23
Add precision_mode attr plumbing for tile math ops
May 7, 2026
0f1a982
Fix PrecisionMode Python bindings
May 7, 2026
6800d5f
Remove PrecisionMode binding smoke test
May 7, 2026
972eebf
add op: tprelu trandom (#328)
yuqiha May 8, 2026
019cc5c
feat(tileop): Add more conversion paths for TCVT tileop template (#248)
liggest May 8, 2026
5dcde1b
add tilebuf static check
pbbb205 May 8, 2026
7b72160
cleanup(ptoas): drop duplicate pass registration
Zhendong404 May 8, 2026
f6a2f43
fix(dsl): support builtin vector operand matching (#340)
Zhendong404 May 9, 2026
d66b9e4
test: add fixpipe cube-cv mixed st case
FangRui0 May 6, 2026
65519be
test: add fixpipe cc-to-gm and cc-to-ub st case
FangRui0 May 7, 2026
b5082f2
test: add fixpipe quant ub cv st case
FangRui0 May 7, 2026
7a59eee
feat: add fp_load wrapper op
FangRui0 May 7, 2026
26c4a43
feat: fold fpc into acc_store wrappers
FangRui0 May 7, 2026
94cc6eb
feat: sync testcase
May 9, 2026
85f063e
feat: enable smoke test of tilelang dsl ci
May 10, 2026
7ed097d
feat(tilelang-dsl): add cube surface and vpto lowering support
Zhendong404 May 6, 2026
9c005bb
Enhance verification for multiple PTO operations in A5 architecture (…
bingmeiyou May 11, 2026
2069cb5
Implement ptoas VPTO fatobj emission
May 9, 2026
1ba058e
Support VPTO section split input
May 9, 2026
9213e97
test: switch validation suites to fatobj
May 11, 2026
cc3b1e2
chore: fix PR386 headers for VPTO helpers
May 11, 2026
fe79106
Remove legacy VPTO target CLI knobs
May 11, 2026
ada4d59
Add get_vms4_sr four-result support
May 12, 2026
998c095
Add HP (HIGH_PRECISION) support for TLog (#344)
erhsh May 12, 2026
9ee6649
Organize PTOAS test frameworks
May 12, 2026
edaa976
Fix VPTO lit checks for fatobj workflow
May 12, 2026
b640248
Move misplaced VPTO lit cases
May 12, 2026
66b2c9f
Fix stale PTO lit cases
May 12, 2026
5fc343f
Add texp high precision implementation (#343)
ChaoyangJi May 13, 2026
b168fd7
feat: fixpipe design
May 11, 2026
4c27a60
Add VPTO MAD semantic ops
May 12, 2026
98f2537
Finalize cube semantic docs and ops
May 13, 2026
62abae6
Rename VPTO MTE semantic ops (#364)
mouliangyu May 13, 2026
0d872ec
feat: fixup rebase mistakes
May 13, 2026
a72298a
Fix VPTO cube matmul validation cases
FangRui0 May 14, 2026
4cddda2
feat: support simt
Apr 26, 2026
2ad3417
add tsqrt high precision implementation (#367)
ChaoyangJi May 14, 2026
448a869
Add OP for TMrgSort (#262)
erhsh May 15, 2026
f382b0e
Add HP (HIGH_PRECISION) support for TDiv (#348)
erhsh May 16, 2026
0e539e3
Support index-type operands in tile op template expansion
TelGome May 21, 2026
51e9eb8
support dynamic set/wait flag
LLMZhangYC May 21, 2026
73d52d4
bugfix: fixup llvm build in ci
May 22, 2026
36ec9bc
Add lit for dynamic flagId
LLMZhangYC May 21, 2026
cd4c847
vpto-rebase: fixup ptoas outputFile
May 25, 2026
6309748
vpto-rebase: unify set/wait flag asm format
May 25, 2026
f1109c0
vpto-rebase: fixup memref addrspace
May 25, 2026
e132543
vpto-rebase: fixup license
May 25, 2026
bc87e02
feat: remove dead pass and docs
May 26, 2026
db2bf1f
feat: rename pto.aicore to pto.kernel
May 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
141 changes: 141 additions & 0 deletions .codex/skills/generate-vpto-release-doc/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
---
name: generate-vpto-release-doc
description: Generate or refresh bundled PTO ISA reference docs. Packages `docs/vpto-spec.md` together with `docs/isa/micro-isa/*.md` into the main repo doc `docs/PTO-micro-Instruction-SPEC.md`, packages `docs/isa/tile-op/*.md` into the companion repo doc `docs/PTO-tile-Instruction-SPEC.md`, and still supports emitting a legacy versioned snapshot under `docs/release/`.
---

# Generate VPTO Release Doc

Use this skill when the task is specifically about:
- creating or refreshing the main bundled micro-spec `docs/PTO-micro-Instruction-SPEC.md`
- creating or refreshing the standalone Tile Instruction bundle `docs/PTO-tile-Instruction-SPEC.md`
- emitting a legacy versioned snapshot under `docs/release/`
- regenerating downstream bundled docs from PTOAS sources through the same script

The main bundled micro-spec starts from `docs/vpto-spec.md`, strips draft-only metadata and appendix content, then inlines every chapter from `docs/isa/micro-isa/` under a dedicated detailed-reference section. `docs/PTO-tile-Instruction-SPEC.md` stays separate and all cross-doc links are rewritten to point at the bundled filenames.

Do not hand-edit bundled outputs; regenerate them through the script so link rewriting stays reproducible.

## Canonical Workflow

1. Pick the target version. The repo-doc bundle filenames do not carry a version suffix; the version is recorded in the version-history bullets inside each file.

Default output paths:

```bash
docs/PTO-micro-Instruction-SPEC.md # main bundled micro-spec
docs/PTO-tile-Instruction-SPEC.md # standalone Tile Instruction bundle
docs/release/vpto-spec-v<version>.md # optional legacy versioned snapshot
```

2. Run the bundled generator script.

Generate both repo-doc bundles (default):

```bash
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py --version 0.4
```

Generate just one repo-doc bundle:

```bash
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py --version 0.4 --target micro
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py --version 0.4 --target tileop
```

Generate only the legacy versioned snapshot:

```bash
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py --version 0.4 --target merged
```

Generate downstream docs into another directory while preserving old PTO-Gym filenames:

```bash
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py \
--version 0.4 \
--output-dir 3rdparty/PTO-Gym/docs \
--micro-output-name PTO-micro-Instruction-SPEC.md \
--tileop-output-name PTO-tile-Instruction-SPEC.md

python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py \
--version 0.4 \
--target merged \
--output-dir 3rdparty/PTO-Gym/docs \
--micro-output-name PTO-micro-Instruction-SPEC.md \
--tileop-output-name PTO-tile-Instruction-SPEC.md \
--merged-output-name vpto-spec.md
```

Custom version-bullet text:

```bash
python3 .codex/skills/generate-vpto-release-doc/scripts/generate_release_vpto_spec.py \
--version 0.4 \
--version-note 'Custom release note for this run'
```

3. Review each generated file.

Invariants for the main bundle (`docs/PTO-micro-Instruction-SPEC.md`):
- exactly one `#` level title at the top
- `[toc]` is present near the top
- the requested-version bullet is at the top of the version-history list
- beginning-of-file draft metadata (`Status`, `Base`, `Updated`) is removed
- appendix content is removed
- `docs/vpto-spec.md` contributes the overview / notation / summary sections
- `## Detailed ISA Group Reference` exists and inlines every chapter from `docs/isa/micro-isa/` in sorted order
- chapter headings are demoted by two levels so each `# N. ...` becomes `### N. ...`
- source-tree links into `isa/micro-isa/...` are rewritten to in-document `#micro-...` anchors
- source-tree links into `isa/tile-op/...` are rewritten to `PTO-tile-Instruction-SPEC.md#tile-...`

Invariants for the Tile Instruction bundle (`docs/PTO-tile-Instruction-SPEC.md`):
- exactly one `#` level title at the top
- `[toc]` is present near the top
- every chapter file from `docs/isa/tile-op/` is inlined in sorted order
- intra-bundle links resolve to `<a id="tile-XX-name"></a>` anchors
- cross-bundle links are rewritten to `PTO-micro-Instruction-SPEC.md#micro-XX-name`

Invariants for the legacy versioned snapshot:
- it carries the same bundled micro-spec content as the main repo doc
- it is emitted under `docs/release/` by default unless `--output-dir` overrides the destination
- Tile Instruction links are rewritten relative to the snapshot location

4. If the user wants extra release-note wording, patch only the version bullets or other small wording around the generated content. Prefer rerunning the script over hand-merging large sections.

## Source Mapping

| Source | Target |
|--------|--------|
| `docs/vpto-spec.md` + `docs/isa/micro-isa/*.md` | `docs/PTO-micro-Instruction-SPEC.md` |
| `docs/isa/tile-op/*.md` | `docs/PTO-tile-Instruction-SPEC.md` |
| `docs/vpto-spec.md` + `docs/isa/micro-isa/*.md` | `docs/release/vpto-spec-v<version>.md` (legacy versioned snapshot) |

## Merge Rules

For the main bundled micro-spec the script:
- emits a single top-level title
- prepends a target-specific version-bullet list
- inserts a `[toc]` marker
- starts from `docs/vpto-spec.md`
- strips draft metadata, appendix content, and now-misleading "see individual files" prose
- preserves the high-level overview and summary sections
- rewrites `isa/micro-isa/*.md` links to in-document anchors
- rewrites `isa/tile-op/*.md` links to the companion bundle filename + anchor
- appends a `## Detailed ISA Group Reference` section that inlines all `docs/isa/micro-isa/*.md` chapters in sorted order

For the standalone Tile Instruction bundle the script:
- emits a single top-level title
- prepends a target-specific version-bullet list
- inserts a `[toc]` marker
- inlines all `docs/isa/tile-op/*.md` files in sorted order
- demotes chapter headings by one level
- emits stable HTML anchors like `<a id="tile-XX-name"></a>`
- rewrites intra-bundle relative links to those anchors
- rewrites cross-bundle relative links to the bundled micro-spec filename + anchor

## Notes

- Repo-doc bundle filenames intentionally drop the version suffix; the version is recorded only in the per-file version-history bullets.
- Default version notes for known versions live inside the script; pass `--version-note` to add or override the note for the requested target.
- When chapter filenames or numbering change in `docs/isa/micro-isa/` or `docs/isa/tile-op/`, regenerate both repo-doc bundles and any legacy snapshots so links stay synchronized.
- If downstream consumers still require older filenames such as `pto-micro-instruction.md`, use `--micro-output-name` / `--tileop-output-name` instead of hand-renaming the generated files.
Loading
Loading