Skip to content

the site's corpus is behind the rule's new form: advance the vendored corpus pin to the corpus that carries it, and regenerate #181

Closed

Description

@aitrawog

The site's corpus is behind the rule's new form: advance the vendored corpus pin and regenerate

This is leg D of a four-repo cutover (producer-first, AGENTS.md Part II #3). Leg A authored the sentence that describes the new rule (opencharly/layer-charly-internals, merged and tagged); leg B shipped the linter and the corpus it describes (opencharly/marketplace#569, merged 7bc431b, tag v2026.297.0356); leg C is the umbrella's gitlink bumps (opencharly/opencharly#653). This issue is the docs' leg.

What is stale

The site publishes the skill recipes from the vendored marketplace corpus, and the vendored pin is behind the corpus that carries this cutover's change. The ellipsis rule of the org's PR-body linter now has a form — it fires on the AUTHOR's elision (an elided $ command line, an elided head command's output, a dropped line of the paste) and ALLOWS a program's own token — and the sentence that says so is in the corpus. Until this leg lands, the published recipes teach the rule's old shape.

What changes

The gate

The deploy workflow's own deploy job, on this PR: the drift-gate self-test, the regeneration, the drift gate, npm ci, the Astro build and the site verification. The local proof is the same commands with the same inputs, plus a SECOND regeneration on the committed tree that must be a no-op.

Related, and deliberately not in this scope

Activity

  1. aitrawog commented on Oct 24, 2026

    @aitrawog
    ContributorAuthor

    CLAIM

    Taking this one: the docs' consumer leg of the ellipsis cutover, in a session worktree off fresh origin/main (5e26799), on branch feat/ellipsis-537-docs.

    What is done. Nothing yet — the claim comes before the work.

    What is next. The marketplace gitlink advances to the corpus's merged main (the merge that carries the linter and the refs list), src/content/docs is regenerated with the deploy workflow's exact inputs — the pinned charly source at its CI-time commit, the pinned umbrella narrative, the pinned plugin-docs generator, the wiring candy built from .github/docs-corpus/pins.tsv — and the regenerated pages are committed in the same change, because the deploy workflow's drift gate is fail-closed.

    Producer-first. The producer is landed and tagged: opencharly/marketplace#569, merge 7bc431b, tag v2026.297.0356. Nothing here waits on a producer.

    One thing to watch, and it is this repo's own. The deploy workflow's regeneration step can hang (#162), and it deadlocks the validator's auto-merge arming when it does. That is why the local proof runs the regeneration with the same inputs BEFORE the push, rather than discovering it in CI.

    Agent: charly
    Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (fully tested and validated)

  2. self-assigned this
    on Oct 24, 2026
  3. aitrawog commented on Oct 24, 2026

    @aitrawog
    ContributorAuthor

    STATUS

    The docs leg of the ellipsis cutover is open as a PR. Head ab999e8e9179ab17fff1ab31a8b4b3ca264b9d57 on feat/ellipsis-537-docs; base origin/main 5e2679908610feab7c83db3215af3f8419f779a1.

    Done

    • The vendored corpus pin advanced af08be9 → 42b8789 — the corpus's merged main, which carries the ellipsis rule's new form (pr_body_lint's ellipsis rule cannot tell a program's own output from an author's ellipsis marketplace#537, merge 7bc431b, tag v2026.297.0356).
    • The eleven recipe pages that pin moves were regenerated with the deploy workflow's exact inputs and committed in the same change, because the drift gate is fail-closed.
    • The change-class gate ran on the committed tree: the regeneration (exit 0), a SECOND regeneration on the committed tree (exit 0, and git status --porcelain=v1 --untracked-files=all -- src/content/docs printed no line at all), the drift gate (content: committed tree matches the pinned inputs (regeneration is a no-op)., exit 0), the drift gate's own self-test (6 tests, OK), and the site build (npm ci + npm run build, 1699 pages, exit 0).
    • The corpus pin is the corpus's merged main, read from the remote.

    One content change worth naming here. Two pages — recipes/hermes/playwright-layer.md and recipes/infrastructure/tmux-layer.md — lose their openclaw-full "Used In Boxes" line. That line is gone in the CORPUS's own skill bodies, in the same commit the pin advance carries: the DRAIN moved those two bodies to their new owning repos (opencharly/layer-playwright, opencharly/layer-tmux, both DIRECT refs in the corpus's refs list), and the new owners' bodies do not carry the line. These pages are that corpus's projection, so they publish it. Whether the box openclaw-full still composes those two layers is the owning repos' question — opencharly/layer-openclaw@v2026.296.0942 composes only openclaw and the openclaw: check verb — and this PR publishes the corpus, it does not decide that.

    Next

    • The org validator's verdict on this PR. Every finding will be read in full and fixed (or rebutted on the thread) before any next push.
    • This issue closes when the PR lands, with its RESOLVED record.

    Next update: when the validator's report lands, or at the next round's end.

    Agent: charly
    Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (fully tested and validated)

  4. aitrawog commented on Oct 24, 2026

    @aitrawog
    ContributorAuthor

    RESOLVED

    The docs leg of the ellipsis cutover is landed. PR #182 merged at
    2026-10-24T04:39:32Z as bb4f006, and the merge-time tag v2026.297.0439 was written
    against it. The vendored corpus pin now reads 42b8789 — the corpus's merged main, which
    carries the ellipsis rule's new form (opencharly/marketplace#537, merge 7bc431b, tag
    v2026.297.0356) — and the eleven recipe pages the corpus moves were regenerated with the
    deploy workflow's exact inputs and committed in the same change.

    The validator's two observations on that PR are dispositioned (the full record is on the
    PR thread): the drained pages' empty ## Used In Boxes section is the SOURCE bodies' own
    shape, projected faithfully — the measurement is 132 corpus bodies carrying the heading and
    25 carrying it EMPTY — and the part that is not the projection's to decide is filed as
    opencharly/marketplace#570; and the body's own deploy.md row under-described that file,
    which is corrected in place, together with the two drained-page rows and the prose above the
    table.

    The gate that owned this change class ran on the merged tree: the regeneration (exit 0),
    a second regeneration on the committed tree (exit 0, and git status --porcelain=v1 --untracked-files=all -- src/content/docs printed no line at all), the drift gate
    (content: committed tree matches the pinned inputs (regeneration is a no-op)., exit 0), the
    drift gate's own self-test (6 tests, OK), and the site build (npm ci + npm run build,
    1699 pages, exit 0).

    Next. The wave's consumer leg: the umbrella's docs gitlink advances to this merge, in
    the umbrella's own PR (the producer is merged and tagged, so the pin is free to move).

    Agent: charly
    Assisted-by: Claude Code minimax/minimax-m3.1-flash:cloud (fully tested and validated)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions