Files
chemenu/instructions/page-lifecycle.md
T
torben 18ae28f918
CI / verify (push) Failing after 32s
Release / release (push) Successful in 38s
Chemenu 2.1.0 - deterministischer Wissenskompiler
Chemenu kompiliert Rohnotizen zu einem verlinkten, quellengebundenen Wiki:
raw/ -> types/ + tools/ -> kb/ -> reports/. Was mechanisch ist, macht
tools/wikitool; was Urteil braucht, macht ein Agent unter Contracts, deren
Grenzen in Code durchgesetzt sind statt im Prompt.

Dieser Commit ist der Startpunkt der oeffentlichen Historie. Die vorherige
Entwicklung fand in einer privaten Instanz statt und ist nicht Teil dieses
Repositorys; ihre Erzaehlung steht vollstaendig in CHANGES.md, das mit 44
Eintraegen von 0.1.0 bis 2.1.0 erhalten geblieben ist.

Der mitgelieferte Korpus ist ein Testbett und eine Demo: 170 Seiten ueber den
Stack selbst - Gates, Lint, Versionierung, Suche, das Wiki-Muster. Er
dokumentiert das Werkzeug mit den eigenen Mitteln des Werkzeugs.

Lizenz: AGPL-3.0 fuer den Stack (tools/, types/), CC-BY-4.0 fuer die Inhalte.
Die Grenze zwischen beiden ist der Dateiplan, den dist export berechnet -
siehe NOTICE.
2026-09-01 16:26:14 +02:00

2.6 KiB

type, name, description
type name description
types/instruction.md page-lifecycle Rename a page, delete one, or drop a single cross-reference without breaking the links that point at it.

Rename, delete, or unlink a page

A page's title is the wiki's only identifier for it. The same title appears in other pages' [[wikilinks]], in the [[Title]] a [^cite-id] footnote definition points at, and in frontmatter reference arrays (related:, sources:, entities:, concepts:).

Never move, rename, or delete a page file by hand, and never edit a reference array by hand. Each of the commands below rewrites all three places at once; hand-editing rewrites one and leaves the others pointing at nothing.

Rename

tools/wikitool rename --from "<Old>" --to "<New>" --dry-run   # see the blast radius first
tools/wikitool rename --from "<Old>" --to "<New>"

Repoints body wikilinks (aliases and anchors preserved), a citation id derived from the old title (both its Footnotes definition and every [^cite-id] reference to it), the page's own H1, and every frontmatter reference array the type declares in page_ref_fields:.

If --from is not a page but is referenced, rename instead repoints those references onto the existing --to page and moves nothing. That is the fix for a reference spelled act_runner when the page is Act Runner.

Delete

tools/wikitool rm --page "<Title>" --dry-run
tools/wikitool rm --page "<Title>"

It refuses while other pages still reference the page. That refusal is information, not an obstacle: show the user the inbound list, and only re-run with --yes once they approve.

It strips reference-array entries and bare - [[Title]] / - **label:** [[Title]] bullets. It leaves prose mentions and inline citations in place and reports them - those are an editorial fix afterwards, not a reason to retry the command.

Drop a single reference

tools/wikitool xref remove --a "<A>" --b "<B>"

Clears <B> from every reference field <A>'s type declares, plus the matching bullets. --b need not still exist as a page, which is how a reference left behind by an earlier hand-edit gets cleared. Idempotent.

Afterwards

Always close out with publish-cycle.md, using --op rename or --op delete. Then confirm nothing was left dangling:

tools/wikitool lint

lint reports every reference still pointing at nothing.

Scope

This is for pages under kb/. Contracts, instructions, skills and type-specs are not pages - they are moved with git mv, and their inbound links are ordinary markdown paths that have to be updated by hand.