You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
recipes/distros/container-nesting.md still publishes the RETIRED CHARLY_BUILD_ENGINE in the candy's Env row #204
The contract retired that name: EngineConfig.Build, ResolvedRuntime.BuildEngine and the CHARLY_BUILD_ENGINE key are gone from spec/hostenv, and a leftover engine.build: docker is INERT (spec/hostenv/retired_build_selector_test.go). Nothing reads the variable any more, so the recipe teaches a knob that cannot be turned.
RCA
Mechanism: the page is GENERATED from the corpus body opencharly/marketplace/distros/skills/container-nesting/SKILL.md, which is itself generated from opencharly/layer-container-nesting's .agents/skills/container-nesting/SKILL.md. The retired name survives all three copies until the owner's tag advances, the corpus regenerates, and this repo's marketplace gitlink is bumped. The regeneration gate proves fidelity to the corpus — it does not prove the pinned corpus is free of a retired name, so the stale text passes every check on this repo's side.
Missed control: no per-repo sweep reaches a generated page; the retired-name claim lives with the owner of the knob, and each downstream copy is a separate surface that relays it unchanged.
Blast radius: every reader of the published recipe — the public docs site — is told to set a variable that has no effect.
Root fix: bump this repo's marketplace gitlink to the corpus tag that carries the regenerated body, then regenerate the recipe pages. Never hand-edit the page (it is a generated projection).
Ordering (producer-first)
opencharly/layer-container-nesting#16 (the producer: the cutover in the owning repo)
→ lands → tags
opencharly/marketplace (the corpus leg: advance the ref, regenerate) ← filed there as its own issue
→ lands → tags
opencharly/docs (this issue: bump the `marketplace` gitlink, regenerate the pages)
Filed by the retired-name sweep that found it, as the R1 non-blocking finding of opencharly/layer-container-nesting#16 — separable from that change (a different repo, its own gate) and not a defect in it.
Agent: charly · session ses_8efb271d-f2c0-47d3-85e3-2a1e00b11ae0 Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (analysed on a live system)
Claiming this issue for this session. The corpus leg has landed — opencharly/marketplace#601 merged as the squash b53310ddd6b46ba9bc2003e4d5fb110ac2c28889 (tag v2026.302.0951, changelog commit 3cf744b), validator PASS — so the site can now advance.
The work is one cutover in this repo: bump the marketplace gitlink from 197f42a57ab88fcaed6a044bf312d753a72062b2 to the corpus's default-branch tip 3cf744b, regenerate the site's pages with the deploy workflow's own recorded inputs, and ship the regenerated recipe page in the SAME PR — this repo's drift gate (.github/docs-corpus/check_drift.sh) regenerates and fails on any difference, so the regenerated pages must travel with the pin bump.
The pre-flight is done and green: running the deploy workflow's generation step locally against the workflow's OWN recorded pins (CHARLY_PIN=be7a505f476c1a5b0302d878e0b5686a2cde3e07, UMBRELLA_PIN=1c88fcf15f8fb9dd8b2814210472a63d3a79d0e2), the pinned plugin-docs CLI at v2026.289.0814 and the wiring candy built from .github/docs-corpus/pins.tsv, the regeneration is a byte-for-byte no-op on the committed tree (GENERATE_RC=0, DRIFT_RC=0) against the current corpus pin.
Expected diff: the recipes/distros/container-nesting.md page loses the retired CHARLY_BUILD_ENGINE=podman from the candy's Env row, and nothing else moves — the corpus changed exactly one projected body.
Next: bump the gitlink, regenerate, and gate the committed tree. The next update follows the PR.
Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (analysed on a live system)
Head.d42a49a2434f0dd6a2ab67bf1b75a6f9ee7b2d2e on feat/lcn-projection-204, off fresh origin/main (8459550). PR: #205.
Done. The marketplace gitlink advances from 197f42a57ab88fcaed6a044bf312d753a72062b2 to the corpus's default-branch tip 3cf744b9ef3dcaf5e3dadff01648db087385ef19 (the corpus republication landed as opencharly/marketplace#601, squash b53310d, tag v2026.302.0951, validator PASS), and the site's pages are regenerated in the same commit with the deploy workflow's own recorded inputs. The diff is two files: the gitlink, and src/content/docs/recipes/distros/container-nesting.md, whose Env row loses the retired CHARLY_BUILD_ENGINE=podman and keeps the three live contracts.
Proof. The generation at the workflow's recorded pins (CHARLY_PIN=be7a505f476c1a5b0302d878e0b5686a2cde3e07, UMBRELLA_PIN=1c88fcf15f8fb9dd8b2814210472a63d3a79d0e2), the pinned plugin-docs CLI v2026.289.0814 and the wiring candy from .github/docs-corpus/pins.tsv is a byte-for-byte no-op on the committed tree (GENERATE_RC=0), and bash .github/docs-corpus/check_drift.sh reports content: committed tree matches the pinned inputs (regeneration is a no-op) with DRIFT_RC=0. The repo's own check suites are green (the drift-gate test, the step-deadline checker with its self-test and mutation harness, the pin-currency test, the dependency-advisory checker), and the site builds from the committed tree on the pinned node 22.23.4: 1749 pages, dist/index.html present.
Next. The validator's verdict on #205; every finding will be fixed in one commit before the next push. The last link of the chain after this is the umbrella's layer-container-nesting and marketplace gitlinks.
Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (analysed on a live system)
Verdict: the org's charly/pr-validator returned PASS on the head — no blocking finding, one residual read-only note (the retired-selector claim rests on upstream artifacts this repo does not hold, which the reviewer states is a verification gap and not a defect in the change).
What landed: the marketplace gitlink 197f42a57a… → 3cf744b9ef…, and the regenerated src/content/docs/recipes/distros/container-nesting.md whose Env row drops CHARLY_BUILD_ENGINE=podman and keeps the three live contracts.
The claim, verified: the regeneration against the workflow's own recorded pins (CHARLY_PIN=be7a505f…, UMBRELLA_PIN=1c88fcf1…) is a byte-for-byte no-op on the committed tree (GENERATE_RC=0, DRIFT_RC=0), the repo's own check suites are green, the site builds (1749 pages), and the retired name's only remaining hit in this repo's tree is in CHANGELOG/ (history, exempt).
Activity
aitrawog commentedon Oct 29, 2026
CLAIM
Agent: charly · session
ses_8efb271d-f2c0-47d3-85e3-2a1e00b11ae0Claiming this issue for this session. The corpus leg has landed — opencharly/marketplace#601 merged as the squash
b53310ddd6b46ba9bc2003e4d5fb110ac2c28889(tagv2026.302.0951, changelog commit3cf744b), validator PASS — so the site can now advance.The work is one cutover in this repo: bump the
marketplacegitlink from197f42a57ab88fcaed6a044bf312d753a72062b2to the corpus's default-branch tip3cf744b, regenerate the site's pages with the deploy workflow's own recorded inputs, and ship the regenerated recipe page in the SAME PR — this repo's drift gate (.github/docs-corpus/check_drift.sh) regenerates and fails on any difference, so the regenerated pages must travel with the pin bump.The pre-flight is done and green: running the deploy workflow's generation step locally against the workflow's OWN recorded pins (
CHARLY_PIN=be7a505f476c1a5b0302d878e0b5686a2cde3e07,UMBRELLA_PIN=1c88fcf15f8fb9dd8b2814210472a63d3a79d0e2), the pinned plugin-docs CLI atv2026.289.0814and the wiring candy built from.github/docs-corpus/pins.tsv, the regeneration is a byte-for-byte no-op on the committed tree (GENERATE_RC=0,DRIFT_RC=0) against the current corpus pin.Expected diff: the
recipes/distros/container-nesting.mdpage loses the retiredCHARLY_BUILD_ENGINE=podmanfrom the candy'sEnvrow, and nothing else moves — the corpus changed exactly one projected body.Next: bump the gitlink, regenerate, and gate the committed tree. The next update follows the PR.
Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (analysed on a live system)
aitrawog commentedon Oct 29, 2026
STATUS — the site's PR is open; the validator is next.
Agent: charly · session
ses_8efb271d-f2c0-47d3-85e3-2a1e00b11ae0Head.
d42a49a2434f0dd6a2ab67bf1b75a6f9ee7b2d2eonfeat/lcn-projection-204, off freshorigin/main(8459550). PR: #205.Done. The
marketplacegitlink advances from197f42a57ab88fcaed6a044bf312d753a72062b2to the corpus's default-branch tip3cf744b9ef3dcaf5e3dadff01648db087385ef19(the corpus republication landed as opencharly/marketplace#601, squashb53310d, tagv2026.302.0951, validator PASS), and the site's pages are regenerated in the same commit with the deploy workflow's own recorded inputs. The diff is two files: the gitlink, andsrc/content/docs/recipes/distros/container-nesting.md, whoseEnvrow loses the retiredCHARLY_BUILD_ENGINE=podmanand keeps the three live contracts.Proof. The generation at the workflow's recorded pins (
CHARLY_PIN=be7a505f476c1a5b0302d878e0b5686a2cde3e07,UMBRELLA_PIN=1c88fcf15f8fb9dd8b2814210472a63d3a79d0e2), the pinned plugin-docs CLIv2026.289.0814and the wiring candy from.github/docs-corpus/pins.tsvis a byte-for-byte no-op on the committed tree (GENERATE_RC=0), andbash .github/docs-corpus/check_drift.shreportscontent: committed tree matches the pinned inputs (regeneration is a no-op)withDRIFT_RC=0. The repo's own check suites are green (the drift-gate test, the step-deadline checker with its self-test and mutation harness, the pin-currency test, the dependency-advisory checker), and the site builds from the committed tree on the pinned node 22.23.4: 1749 pages,dist/index.htmlpresent.Next. The validator's verdict on #205; every finding will be fixed in one commit before the next push. The last link of the chain after this is the umbrella's
layer-container-nestingandmarketplacegitlinks.Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (analysed on a live system)
aitrawog commentedon Oct 29, 2026
RESOLVED
Agent: charly · session
ses_8efb271d-f2c0-47d3-85e3-2a1e00b11ae0The site's corpus pin now carries the corpus republication, and the retired builder selector is gone from the published page.
docs(refs)!: the container-nesting recipe drops the retired builder selector, headd42a49a2434f0dd6a2ab67bf1b75a6f9ee7b2d2e, merged asa4675b56a5a64d1cd3eb8a88132260c68a8fed74on 2026-10-29.charly/pr-validatorreturned PASS on the head — no blocking finding, one residual read-only note (the retired-selector claim rests on upstream artifacts this repo does not hold, which the reviewer states is a verification gap and not a defect in the change).marketplacegitlink197f42a57a…→3cf744b9ef…, and the regeneratedsrc/content/docs/recipes/distros/container-nesting.mdwhoseEnvrow dropsCHARLY_BUILD_ENGINE=podmanand keeps the three live contracts.CHARLY_PIN=be7a505f…,UMBRELLA_PIN=1c88fcf1…) is a byte-for-byte no-op on the committed tree (GENERATE_RC=0,DRIFT_RC=0), the repo's own check suites are green, the site builds (1749 pages), and the retired name's only remaining hit in this repo's tree is inCHANGELOG/(history, exempt).v2026.302.0925) → corpus chore(refs)!: the container-nesting body is published without the retired builder selector marketplace#601 (landed, squashb53310d, tagv2026.302.0951) → this site's leg.Issue closed by hand: the merge was performed by the GitHub App, which does not honour
Closes #N.Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (fully tested and validated)