Skip to content

Commit 68d5567

Browse files
Albert Schulzclaude
andcommitted
Bring CTXP spec source in-repo + add PDF GitHub Action
Moves the AsciiDoc spec into this repo as self-contained sources so the PDF can be built without the internal doc repo: - spec/tn-ctxp-format.adoc (root) + spec/ctxp-format.adoc (body), with the doc-repo includes (common/config.adoc, drawio-image.adoc) inlined or dropped and the 4 figures embedded as PNGs under spec/images/. - .github/workflows/pdf.yml builds the PDF with asciidoctor-pdf and uploads it as an artifact (and is the canonical way to regenerate it). - spec/tn-ctxp-format.pdf regenerated from the self-contained sources. - README documents the source layout + local build command. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b1d7f03 commit 68d5567

9 files changed

Lines changed: 495 additions & 0 deletions

File tree

.github/workflows/pdf.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: spec-pdf
2+
3+
on:
4+
push:
5+
paths:
6+
- 'spec/**'
7+
- '.github/workflows/pdf.yml'
8+
pull_request:
9+
paths:
10+
- 'spec/**'
11+
- '.github/workflows/pdf.yml'
12+
workflow_dispatch:
13+
14+
jobs:
15+
build-pdf:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- uses: ruby/setup-ruby@v1
21+
with:
22+
ruby-version: '3.3'
23+
24+
- name: Install asciidoctor-pdf
25+
run: gem install --no-document asciidoctor-pdf rouge
26+
27+
- name: Build CTXP spec PDF
28+
run: |
29+
asciidoctor-pdf \
30+
-a git-commit="${GITHUB_SHA::8}" \
31+
-a attribute-missing=warn \
32+
--failure-level=ERROR \
33+
spec/tn-ctxp-format.adoc \
34+
-o spec/tn-ctxp-format.pdf
35+
36+
- uses: actions/upload-artifact@v4
37+
with:
38+
name: tn-ctxp-format-pdf
39+
path: spec/tn-ctxp-format.pdf
40+
if-no-files-found: error

README.adoc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,17 @@ for the full set of curated example traces and explanations.
4848

4949
The authoritative format specification is in link:spec/tn-ctxp-format.pdf[`spec/tn-ctxp-format.pdf`].
5050

51+
Its AsciiDoc source lives in link:spec/[`spec/`] (link:spec/tn-ctxp-format.adoc[`tn-ctxp-format.adoc`]
52+
+ link:spec/ctxp-format.adoc[`ctxp-format.adoc`] + diagrams under link:spec/images/[`spec/images/`]).
53+
The PDF is regenerated by the `spec-pdf` GitHub Action on every change under `spec/`; to build it
54+
locally:
55+
56+
[source,sh]
57+
----
58+
gem install asciidoctor-pdf rouge
59+
asciidoctor-pdf spec/tn-ctxp-format.adoc -o spec/tn-ctxp-format.pdf
60+
----
61+
5162
== Tooling (Accemic)
5263

5364
Accemic provides a CTXP exporter/decoder tool for converting native hardware trace formats to CTXP and

spec/ctxp-format.adoc

Lines changed: 402 additions & 0 deletions
Large diffs are not rendered by default.
55.1 KB
Loading
94.4 KB
Loading

spec/images/ctxp-example.png

16.9 KB
Loading

spec/images/data-model.png

104 KB
Loading

spec/tn-ctxp-format.adoc

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
= Technical Note: CTXP Format
2+
:title-page:
3+
:toc: left
4+
:sectnums:
5+
:source-highlighter: rouge
6+
:icons: font
7+
:xrefstyle: short
8+
:latest: 1.1.0
9+
ifndef::git-commit[:git-commit: dev]
10+
Version {latest} ~ Build {git-commit}
11+
{localdate}
12+
13+
:sectnums!:
14+
== Revision History
15+
[cols=",,",options="header"]
16+
|===
17+
| Version | Date | Changes
18+
| {latest} | 2026-05-21 | Add instrumentation / DAQ events (`DAQ_DATA`, `DAQ_COUNTER`, `DAQ_LAST_PC`) and the ACT-CAP/DAQ native-mapping table. Make the address optional on the sized memory events (value-only accesses).
19+
| 1.0.0 | 2026-01-12 | Initial release.
20+
|===
21+
:sectnums:
22+
23+
== Licensing and Usage
24+
This document is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
25+
You are free to share (copy and redistribute the material in any medium or format) and adapt (remix, transform, and build upon the material) for any purpose, including commercial use, provided that appropriate credit is given, a link to the license is provided, and any changes made are indicated.
26+
27+
Usage of this document is subject to the following conditions:
28+
29+
* Attribution is required. Any use or distribution of this document, or derivatives thereof, must include clear attribution to the original authors and source.
30+
* Commercial use is allowed, but the authorship and source must always be referenced in any publication or product that incorporates this material.
31+
* No additional restrictions. You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
32+
33+
The full license text is available at: https://creativecommons.org/licenses/by/4.0/
34+
35+
== Disclaimer
36+
This document is provided “as is”. The authors and publishers make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability, or availability of this document or the information contained herein. Any reliance you place on such information is strictly at your own risk. The authors and publishers do not accept any liability for any loss or damage, including without limitation, indirect or consequential loss or damage, arising from the use of this document.
37+
38+
include::ctxp-format.adoc[leveloffset=+1]
39+
40+
== Acknowledgment
41+
42+
The CTXP format was developed as part of the TRISTAN project, a European Union research initiative involving 46 partners to advance the RISC-V ecosystem. See https://tristan-project.eu/ for more information.

spec/tn-ctxp-format.pdf

-166 KB
Binary file not shown.

0 commit comments

Comments
 (0)