Skip to content
zit Check-in [5a35874240]
Login

Check-in [5a35874240]

Overview
Comment:landing: pin the stack-depth bound the indent trusts

The cycle panic was in the indent computation, and rewriting it made the panic go away without my being able to explain the arithmetic -- 32*2 into a 64-byte buffer should not overflow. This asserts the bound directly, so the renderer's assumption is checked rather than believed.

Timelines: family | ancestors | descendants | both | strata
Files: files | file ages | folders
SHA3-256: 5a358742404eecc0f7454a3bceaaccf808f48c51335dc44e11ba78b12c8e3291
User & Date: dmestas on 2026-08-24 20:23:00.834
Other Links: branch diff | manifest | tags
Context
2026-08-24
21:41
merge strata: stacked landings (#144) check-in: 2e060aa7c0 user: dmestas tags: trunk
20:23
landing: pin the stack-depth bound the indent trusts

The cycle panic was in the indent computation, and rewriting it made the panic go away without my being able to explain the arithmetic -- 32*2 into a 64-byte buffer should not overflow. This asserts the bound directly, so the renderer's assumption is checked rather than believed. closed check-in: 5a35874240 user: dmestas tags: strata

20:10
landing: cycles, unresolvable targets, and already-contained branches

Three holes found by walking the scenario space rather than the happy path.

A retarget could make a cycle. Every segment in one then refuses forever, each waiting on the next, and 'ls' panicked outright computing an indent for a chain with no bottom. Cycles are now refused, direct and indirect.

A retarget accepted a branch name that does not resolve, minting a permanent record aimed at nothing -- the check 'open' has always made before minting one.

A branch already contained in its target reported 'did not merge cleanly; resolve and commit'. There was nothing to resolve: 'merge' had said 'already up to date'. The record could then only be closed by rejecting it, recording the opposite of what happened. It now settles as accepted with no merge, which is what is true. Reachable from a stack by landing the top segment first -- it carries the ones below it in. check-in: b450374bce user: dmestas tags: strata

Changes