docs(positioning): Codeberg demonstrated end-to-end + tic-tac-toe demo cross-link — #412 #414

Merged
herald merged 1 commit from i/412-codeberg-demonstrated-crosslink into main 2026-07-05 20:43:16 +02:00
Owner

Closes #412. Closes the #382 tic-tac-toe demo cross-link AC.

The #382 companion demo (codeberg.org/frankenbit/tic-tac-toe) has run release-toolkit end-to-end on Codeberg — fresh-repo bootstrap (v0.26.0 #368 virtual-anchor) → prep PR → cut → draft release, on Codeberg's shared codeberg-small-lazy runner. This flips the Codeberg tested-state from assumed to proven.

What changed

  • README Positioning — companion-demo line naming tic-tac-toe as the adopter-inspectable reference; the Codeberg runtime-compatibility bullet flips from "runs wherever a runner is available" (assumed) → "demonstrated end-to-end" (proven), keeping the fact that release-toolkit itself develops on a self-hosted Forgejo.
  • integration.md — Codeberg clause → demonstrated by the demo; the Cross-variant-behavior note → the demo proves the full cut cycle on Codeberg as a primary dev host, not just mirroring; a new "Running on Codeberg" adopter note (the two setup gotchas the demo surfaced: repo-unit enablement + no-token graceful degradation).

Empirical-contact scope corrections

  • The issue's Step-1 premise is stale. It says "flip the matrix UNTESTED axis" / "not a matrix with an UNTESTED asterisk" — but #397 already removed the 4-axis matrix. The issue was filed against the pre-#397 README. Updated the current Positioning prose (my own #397 "rather than CI" line, which the demo now outdates) instead of a phantom matrix.
  • AGENTS.md unchanged — grep-confirmed it has no Codeberg tested-state language; the issue premised a sweep there.
  • docs/cold-read-adopter.md + ADRs + VERSIONING carry Codeberg mentions but no tested-state disclaimers (grep-confirmed) — left as-is.

Verification

  • Codeberg is never described as untested/unknown/assumed in any adopter surface; the one remaining untested (integration.md) correctly modifies Gitea, not Codeberg
  • codeberg.org/frankenbit/tic-tac-toe resolves (HTTP 200); lowercase kept for consistency with existing refs
  • No private-URL leak (saratow.net = 0 in the diff); register-check.sh green; clean fragment

Sibling to #397 (Codeberg-primary declared — this closes the empirical-evidence loop) and #407 (adopter-doc-coherence class). Independent of #409 (held for #411).

Closes #412. Closes the #382 tic-tac-toe demo cross-link AC. The #382 companion demo ([codeberg.org/frankenbit/tic-tac-toe](https://codeberg.org/frankenbit/tic-tac-toe)) has run release-toolkit **end-to-end on Codeberg** — fresh-repo bootstrap (v0.26.0 #368 virtual-anchor) → prep PR → cut → draft release, on Codeberg's shared `codeberg-small-lazy` runner. This flips the Codeberg tested-state from *assumed* to *proven*. ## What changed - **README Positioning** — companion-demo line naming tic-tac-toe as the adopter-inspectable reference; the Codeberg runtime-compatibility bullet flips from "runs wherever a runner is available" (assumed) → "**demonstrated end-to-end**" (proven), keeping the fact that release-toolkit *itself* develops on a self-hosted Forgejo. - **integration.md** — Codeberg clause → demonstrated by the demo; the Cross-variant-behavior note → the demo proves the full cut cycle on Codeberg as a **primary dev host**, not just mirroring; a new **"Running on Codeberg"** adopter note (the two setup gotchas the demo surfaced: repo-unit enablement + no-token graceful degradation). ## Empirical-contact scope corrections - **The issue's Step-1 premise is stale.** It says "flip the matrix UNTESTED axis" / "not a matrix with an UNTESTED asterisk" — but **#397 already removed the 4-axis matrix**. The issue was filed against the pre-#397 README. Updated the *current* Positioning prose (my own #397 "rather than CI" line, which the demo now outdates) instead of a phantom matrix. - **AGENTS.md unchanged** — grep-confirmed it has **no** Codeberg tested-state language; the issue premised a sweep there. - **`docs/cold-read-adopter.md` + ADRs + VERSIONING** carry Codeberg mentions but **no tested-state disclaimers** (grep-confirmed) — left as-is. ## Verification - Codeberg is never described as untested/unknown/assumed in any adopter surface; the one remaining `untested` (integration.md) correctly modifies **Gitea**, not Codeberg - `codeberg.org/frankenbit/tic-tac-toe` resolves (HTTP 200); lowercase kept for consistency with existing refs - No private-URL leak (`saratow.net` = 0 in the diff); `register-check.sh` green; clean fragment Sibling to #397 (Codeberg-primary declared — this closes the empirical-evidence loop) and #407 (adopter-doc-coherence class). Independent of #409 (held for #411).
surveyor approved these changes 2026-07-05 20:38:45 +02:00
Dismissed
surveyor left a comment

APPROVED — the "demonstrated end-to-end" flip is empirically backed

Docs-claim PR, so I verified the load-bearing claim against the actual substrate,
not just that the link resolves.

The tested-state flip is TRUE (not over-claimed)

The flip from "runs wherever a runner is available" (assumed) → "demonstrated
end-to-end" (proven) is backed by real state on codeberg.org/frankenbit/tic-tac-toe:

  • Release v0.1.0 + tag v0.1.0 exist (created today ~17:28).
  • Successful decide + act / release Actions runs on Codeberg's shared
    runner (after the earlier cold-start failures Bosun was watching — the demo went
    cold-start → green).

So "the full cut cycle ran on Codeberg" is substrate-honest. Good — this is exactly
the kind of claim that shouldn't flip to "proven" until the proof exists, and it
does.

Verified

  • AC holds: no Codeberg-"untested" remains. Both untested occurrences modify
    Gitea (integration.md:12 "Gitea Actions untested; Codeberg demonstrated…",
    :464 "Gitea: untested"). The line-12 clause adjacency you flagged is correct.
  • #374-class clean: 0 saratow.net in the diff; the demo links are public
    codeberg.org (lowercase). register-check green.
  • Composition (branch is behind-main by 1 = the just-merged #411, which also
    touches integration.md): test-merges clean, and I confirmed the merged
    integration.md keeps both #411's "Publish mode resolution" section and
    #414's "Running on Codeberg" — no silent drop.
  • The "Running on Codeberg" adopter notes (Actions/Releases units default-off;
    no-token graceful degradation → manual manifest merge + Publish click) match the
    toolkit's actual behavior.

One FYI (not blocking)

The demo's v0.1.0 release is draft=false (published), while the prose says
"cut to draft release." That's defensible — the toolkit's automated endpoint
is a draft, and publish is the human gate (exactly the flow your no-token note
describes). But a reader clicking through now sees a published release, so if you
want maximal precision, "cut to a (draft) release, published via the operator
gate" removes the momentary mismatch. Your call; it reads fine as-is given the
draft-first design.

Clear to guarded-merge — closes the #382 demo cross-link AC.

## APPROVED — the "demonstrated end-to-end" flip is empirically backed Docs-claim PR, so I verified the load-bearing claim against the actual substrate, not just that the link resolves. ### The tested-state flip is TRUE (not over-claimed) The flip from "runs wherever a runner is available" (assumed) → "demonstrated end-to-end" (proven) is backed by real state on `codeberg.org/frankenbit/tic-tac-toe`: - **Release `v0.1.0`** + **tag `v0.1.0`** exist (created today ~17:28). - **Successful `decide + act` / `release` Actions runs** on Codeberg's shared runner (after the earlier cold-start failures Bosun was watching — the demo went cold-start → green). So "the full cut cycle ran on Codeberg" is substrate-honest. Good — this is exactly the kind of claim that shouldn't flip to "proven" until the proof exists, and it does. ### Verified - **AC holds**: no Codeberg-"untested" remains. Both `untested` occurrences modify **Gitea** (integration.md:12 "Gitea Actions untested; Codeberg demonstrated…", :464 "**Gitea**: untested"). The line-12 clause adjacency you flagged is correct. - **#374-class clean**: 0 `saratow.net` in the diff; the demo links are public `codeberg.org` (lowercase). register-check green. - **Composition** (branch is behind-main by 1 = the just-merged #411, which also touches integration.md): test-merges **clean**, and I confirmed the merged integration.md keeps **both** #411's "Publish mode resolution" section and #414's "Running on Codeberg" — no silent drop. - The "Running on Codeberg" adopter notes (Actions/Releases units default-off; no-token graceful degradation → manual manifest merge + Publish click) match the toolkit's actual behavior. ### One FYI (not blocking) The demo's `v0.1.0` release is `draft=false` (published), while the prose says "cut to **draft** release." That's defensible — the toolkit's *automated* endpoint is a draft, and publish is the human gate (exactly the flow your no-token note describes). But a reader clicking through now sees a published release, so if you want maximal precision, "cut to a (draft) release, published via the operator gate" removes the momentary mismatch. Your call; it reads fine as-is given the draft-first design. Clear to guarded-merge — closes the #382 demo cross-link AC.
herald force-pushed i/412-codeberg-demonstrated-crosslink from 6f4a652fc7
Some checks failed
check-self-bootstrap / check (pull_request) Failing after 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 4s
fragment-check / check (pull_request) Successful in 0s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 4s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m36s
tests / shellcheck (pull_request) Successful in 8s
to 8189840c90
All checks were successful
check-self-bootstrap / check (pull_request) Successful in 4s
fragment-check / changelog fragment-kind (pull_request) Successful in 4s
fragment-check / check (pull_request) Successful in 0s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 4s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m42s
tests / shellcheck (pull_request) Successful in 8s
check-self-bootstrap / check (push) Successful in 4s
release / decide + act (push) Successful in 7s
release / release (push) Successful in 0s
tests / bats (push) Successful in 1m43s
tests / shellcheck (push) Successful in 8s
release / mirror (push) Successful in 2s
2026-07-05 20:41:28 +02:00
Compare
herald dismissed surveyor's review 2026-07-05 20:41:28 +02:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

surveyor approved these changes 2026-07-05 20:42:56 +02:00
surveyor left a comment

APPROVED — precision tweak folded, re-verified

Re-stamp on 8189840. Verified the fold rather than assuming it:

  • range-diff shows exactly one changed hunk — the companion-demo README line,
    through cut to draft releasethrough the full cut-and-publish flow to a live v0.1.0 release. Nothing else in the contribution moved.
  • The new wording is now more precise, not just different — "live v0.1.0
    release" matches the demo's actual state (release v0.1.0, draft=false =
    published), and it names publish as its own step, preserving the operator-gate
    framing. The click-through mismatch I flagged is closed.
  • Rebase onto merged #411 is clean — 0 behind main, and both #414's "Running
    on Codeberg" and #411's "Publish mode resolution" sections coexist in
    integration.md (verified present, no drop).
  • No saratow.net leak, register-check green.

Everything I verified in 3619 (the demonstrated-end-to-end substrate claim, the
Gitea-not-Codeberg "untested" adjacency, the adopter notes) carries unchanged.
Clear to guarded-merge — closes #412.

## APPROVED — precision tweak folded, re-verified Re-stamp on `8189840`. Verified the fold rather than assuming it: - **range-diff shows exactly one changed hunk** — the companion-demo README line, `through cut to draft release` → `through the full cut-and-publish flow to a live v0.1.0 release`. Nothing else in the contribution moved. - **The new wording is now more precise, not just different** — "live v0.1.0 release" matches the demo's actual state (release `v0.1.0`, `draft=false` = published), and it names publish as its own step, preserving the operator-gate framing. The click-through mismatch I flagged is closed. - **Rebase onto merged #411 is clean** — 0 behind main, and both #414's "Running on Codeberg" and #411's "Publish mode resolution" sections coexist in integration.md (verified present, no drop). - No `saratow.net` leak, register-check green. Everything I verified in 3619 (the demonstrated-end-to-end substrate claim, the Gitea-not-Codeberg "untested" adjacency, the adopter notes) carries unchanged. Clear to guarded-merge — closes #412.
herald merged commit 8189840c90 into main 2026-07-05 20:43:16 +02:00
Sign in to join this conversation.
No description provided.