Snapshot: 2026-10-23, after open-array M3. master =
557addb (open multi-dimensional views); origin/master =
b3d049f. The open-array M1/M2/M3 work is local and not pushed
yet; earlier exceptions/pointer/functionException/finally work is also
local where noted. 309 tags (307 v3-* checkpoints).
Mental model:
Branches move; tags don't. Only
masteris active. Tags are labels on commits (checkpoints), not lines of development.
| Branch | State | What it is |
|---|---|---|
master |
c0c227c + docs, 1 commit ahead of origin |
The only active branch; all current work is here. |
ast-stage-c |
0f611c0 (2026-10-08), local only |
Old stage branch, fully merged into master. Stale. |
generics-inc1 |
6639c19, 6 commits behind origin/generics-inc1 |
Old generics work, fully merged into master. Stale. |
resolve-check |
95ca4d6, in sync with origin |
Old branch merged into master. Stale. |
git branch --merged master lists all of them: nothing is unmerged.
The old branches may be deleted locally with
git branch -d ast-stage-c generics-inc1 resolve-check (optional and
harmless).
Remote branches: origin/master, origin/generics-inc1,
origin/resolve-check (there is no origin/ast-stage-c).
Each points at the commit that landed a feature, all with green gates:
| Tag | Commit | Work |
|---|---|---|
v3-corpus-triage |
aa4f49b |
PIM multi-index arrays, typed subranges, ordinal FOR (+12) |
v3-empty-string |
f87bcc9 |
ISO "" as CHAR (+6) |
v3-libc-prototypes |
c02fd41 |
typed libc prototypes, printf varargs (+6) |
v3-system-types |
713650f |
SYSTEM sized types + qualified SYSTEM (+8) |
v3-proc-types |
f236600 |
ISO procedure-type syntax (+4) |
v3-byte |
7621f16 |
true 8-bit BYTE/SBYTE |
v3-word16 |
a5d0f16 |
true 16-bit WORD16/CARDINAL16/INTEGER16 |
v3-sysclock |
4d05afe |
ISO SysClock (+2) |
v3-smallfix |
87e8605 |
small conformance items (+6) |
v3-rangechecks |
54d84b9 |
runtime subrange range checks (+3 trap tests) |
v3-packedset |
6b2df4c |
ISO PACKEDSET, 1/2/4-byte storage |
v3-exceptions |
02b3763 |
ISO exceptions M1–M4: parser, runtime, libraries, traps |
v3-ptrchain |
e804e57 |
self-referential record layout and p^.next^.value |
v3-function-exception |
4238f67 |
result function falling off its end |
v3-finally |
c0c227c |
module FINALLY / termination |
v3-open-arrays-m2 |
4616e51 |
fixed rank-2/3 flat storage + views |
v3-open-arrays-m3 |
557addb |
open multi-array views + call conversion |
These are immutable checkpoints. Useful commands:
git show --stat v3-smallfix
git diff v3-sysclock v3-smallfix # what the last step changed
| Tag | Points at | Meaning |
|---|---|---|
v3-session-2026-10-19 |
c9c1121 |
Previous session's final summary. |
v3-session-2026-10-23 |
2d1c658 |
Moving session tag, advanced once for the range-check summary. |
v3-session-2026-10-23-end |
adba8eb |
Immutable PACKEDSET/range-check stop point (earlier the same day). |
v3-session-2026-10-23-exceptions-end |
96a3080 |
Final immutable 2026-10-23 exceptions session tag. |
v3-session-2026-10-22 |
c2664ac |
Moving session tag. Advanced several times and force-pushed to the final commit. |
v3-session-2026-10-22-final |
0e81019 |
Early checkpoint created before the session continued (byte/word16/SysClock/smallfix came after). Historical noise now. |
v3-session-2026-10-22-end |
c2664ac |
Final immutable session tag. Use this one. |
For "where did the 2026-10-23 session end?":
v3-session-2026-10-23-end;v3-session-2026-10-23 is the earlier range-check checkpoint and is
a moving tag by convention.For "where did the 2026-10-22 session end?":
v3-session-2026-10-22-end (or master, same commit);v3-session-2026-10-22 is equivalent now, but it is a moving tag
by convention — avoid moving tags in the future;v3-session-2026-10-22-final is not the end; it is an earlier
checkpoint at 0e81019.To remove the stale checkpoint (tag only, no commits/code):
git tag -d v3-session-2026-10-22-final
git push origin :refs/tags/v3-session-2026-10-22-final
The project convention is one v3-* tag per green step across all
sessions (two-phase parse slices, generics increments, Unicode, stdlib,
…). They are a searchable history of passing states, not branches.
git tag --list | wc -l = 307 (305 v3-*) is expected; only the
recent ones above matter for the current session.
master = 557addb (open-array M3), 5 commits ahead of
origin/master (b3d049f): the open-array design, M1/M2, M3 and
their docs follow-ups.v3-finally, v3-open-arrays-m2 and v3-open-arrays-m3 are local;
push them with master when ready. Earlier
exception/pointer/functionException tags are already on the remote.master and read
docs/handoff-2026-10-23-next.md; continue with open-array M4.