Skip to content

Commit f793ff4

Browse files
committed
Move A7 to Zig 0.16 and simplify docs
1 parent f3e29f4 commit f793ff4

69 files changed

Lines changed: 955 additions & 3390 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ concurrency:
1515

1616
env:
1717
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
18-
ZIG_VERSION: "0.15.2"
19-
ZIG_URL: https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz
20-
ZIG_SHA256: 02aa270f183da276e5b5920b1dac44a63f1a49e55050ebde3aecc9eb82f93239
18+
ZIG_VERSION: "0.16.0"
19+
ZIG_URL: https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz
20+
ZIG_SHA256: 70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00
2121

2222
jobs:
2323
python:

.github/workflows/release.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ concurrency:
1515

1616
env:
1717
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
18-
ZIG_VERSION: "0.15.2"
19-
ZIG_URL: https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz
20-
ZIG_SHA256: 02aa270f183da276e5b5920b1dac44a63f1a49e55050ebde3aecc9eb82f93239
18+
ZIG_VERSION: "0.16.0"
19+
ZIG_URL: https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz
20+
ZIG_SHA256: 70e49664a74374b48b51e6f3fdfbf437f6395d42509050588bd49abe52ba3d00
2121

2222
jobs:
2323
build-release:
@@ -106,22 +106,23 @@ jobs:
106106
run: tar -czf dist/a7-docs-site.tar.gz -C site dist
107107

108108
- name: Archive release example artifacts
109-
run: tar -czf dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz -C build release
109+
run: tar -czf dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz -C build release
110110

111111
- name: Verify release archive contents
112112
run: |
113+
example_count="$(uv run python scripts/project_status.py --field example_count)"
113114
uv run python scripts/verify_archive_contents.py dist/a7-docs-site.tar.gz \
114115
--require dist/llms.txt \
115116
--require dist/llms-full.txt \
116117
--require dist/docs/index.md \
117118
--require dist/docs/agent-usage.md \
118119
--require dist/docs/release.md \
119120
--require dist/docs/status.md
120-
uv run python scripts/verify_archive_contents.py dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz \
121+
uv run python scripts/verify_archive_contents.py dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz \
121122
--require release/zig/src/001_hello.zig \
122123
--require release/zig/bin/001_hello \
123-
--require-glob-count 'release/zig/src/*.zig=38' \
124-
--require-glob-count 'release/zig/bin/*=38'
124+
--require-glob-count "release/zig/src/*.zig=${example_count}" \
125+
--require-glob-count "release/zig/bin/*=${example_count}"
125126
126127
- name: Generate release checksums
127128
run: |
@@ -132,7 +133,7 @@ jobs:
132133
--require "$sdist" \
133134
--require "$wheel" \
134135
--require dist/a7-docs-site.tar.gz \
135-
--require dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz
136+
--require dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz
136137
uv run python scripts/verify_release_manifest.py dist/SHA256SUMS
137138
138139
- name: Generate release artifact attestations
@@ -143,7 +144,7 @@ jobs:
143144
dist/a7_py-*.tar.gz
144145
dist/a7_py-*.whl
145146
dist/a7-docs-site.tar.gz
146-
dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz
147+
dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz
147148
148149
- name: Upload release bundles
149150
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
@@ -152,7 +153,7 @@ jobs:
152153
path: |
153154
dist/SHA256SUMS
154155
dist/a7-docs-site.tar.gz
155-
dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz
156+
dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz
156157
if-no-files-found: error
157158
retention-days: 7
158159

@@ -196,4 +197,4 @@ jobs:
196197
dist/a7_py-*.tar.gz
197198
dist/a7_py-*.whl
198199
dist/a7-docs-site.tar.gz
199-
dist/a7-example-artifacts-linux-x86_64-zig0.15.2-release.tar.gz
200+
dist/a7-example-artifacts-linux-x86_64-zig0.16.0-release.tar.gz

AGENTS.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# AGENTS.md
22

33
Guidance for coding agents working in this repository. Keep changes consistent
4-
with `README.md` and `RELEASE.md`; those are the authoritative user-facing docs.
4+
with `README.md` and `docs/RELEASE.md`; those are the authoritative user-facing docs.
55
For terminal/curl workflows, `site/public/llms.txt`,
66
`site/public/llms-full.txt`, and `site/public/docs/index.md` are the
77
agent-readable docs entry points derived from the authoritative docs.
@@ -41,7 +41,7 @@ non-trivial.
4141

4242
The public docs site also ships Markdown entry points for agent tooling under
4343
`site/public/llms.txt`, `site/public/llms-full.txt`, and `site/public/docs/`.
44-
Keep those files aligned with `README.md`, `RELEASE.md`, and user-visible site
44+
Keep those files aligned with `README.md`, `docs/RELEASE.md`, and user-visible site
4545
navigation when docs structure changes.
4646

4747
## A7 Source Rules
@@ -65,7 +65,7 @@ navigation when docs structure changes.
6565
or prefix `*` as reference operations; pass lvalues directly to `ref`
6666
parameters and use ordinary field access after nil checks.
6767
- Native release archives are named with platform/toolchain context
68-
(`a7-example-artifacts-linux-x86_64-zig0.15.2-<profile>.tar.gz`); keep
68+
(`a7-example-artifacts-linux-x86_64-zig0.16.0-<profile>.tar.gz`); keep
6969
any docs or scripts that reference these filenames in sync.
7070
- This rule applies to A7 source only. Compiler internals already use
7171
iterative AST traversals; keep them that way.
@@ -76,18 +76,17 @@ After making major changes (new language features, bug fixes, backend
7676
additions, refactors), ensure the following docs are up to date before
7777
committing:
7878

79-
1. **CHANGELOG.md** — add an entry for the change
79+
1. **docs/CHANGELOG.md** — add a short release-facing entry
8080
2. **README.md** — update usage, feature lists, or examples if affected
8181
3. **docs/SPEC.md** — update if language semantics or syntax changed
82-
4. **MISSING_FEATURES.md** — mark completed gaps or document new ones
83-
5. **TODO.md** — check off completed items or add newly discovered work
84-
6. **site/public/llms.txt**, **site/public/llms-full.txt**, and
82+
4. **docs/STATUS.md** — update current gaps, priorities, or roadmap
83+
5. **site/public/llms.txt**, **site/public/llms-full.txt**, and
8584
**site/public/docs/** — update agent/curl.md entry points if site
8685
navigation, release commands, CLI behavior, or public docs structure
8786
changed
8887

8988
Keep examples and docs aligned across `README.md`, `docs/SPEC.md`,
90-
`CHANGELOG.md`, `MISSING_FEATURES.md`, `TODO.md`, `site/public/llms.txt`,
89+
`docs/CHANGELOG.md`, `docs/STATUS.md`, `site/public/llms.txt`,
9190
`site/public/llms-full.txt`, and `site/public/docs/` — drift between them is
9291
treated as a bug.
9392

0 commit comments

Comments
 (0)