Skip to main content

features-zettel-ids

Use when interacting with dodder ZettelIds (two-part IDs like `ceroplastes/midtown`), seeding a new repo via `dodder init -yin` / `-yang`, choosing predictable or random ID allocation, or interpreting "zettel ids exhausted" errors at the command line.

Informações da origem

Repositório
amarbel-llc/dodder
Última atividade na origem
20 de maio de 2026 às 19:36
Idioma detectado do SKILL.md
inglês
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
features-zettel_ids
description
Use when interacting with dodder ZettelIds (two-part IDs like `ceroplastes/midtown`), seeding a new repo via `dodder init -yin` / `-yang`, choosing predictable or random ID allocation, or interpreting "zettel ids exhausted" errors at the command line.
# ZettelId System Dodder assigns each zettel a unique two-part string identifier (e.g. `ceroplastes/midtown`). Each repo has a finite pool of available IDs, fixed at `dodder init` time; once that pool is empty, no more zettels can be created in that repo. ## ID Format A ZettelId has the form `left/right`, where both halves are non-empty identifiers. The left and right halves are drawn from two word lists called **Yin** (left side) and **Yang** (right side). The same word list pair is used for the lifetime of the repo. ## Seeding the ID Pool At `dodder init` time the Yin and Yang word lists are copied from files passed via the `-yin` and `-yang` flags. The total ID space for the repo equals `len(Yin) * len(Yang)` --- two 200-word lists give 40 000 possible zettel IDs. ```bash dodder init \ -yin path/to/yin.txt \ -yang path/to/yang.txt \ ... ``` The lists are immutable after init: once a repo is created, you cannot swap in a different Yin/Yang to enlarge the pool. Pick lists large enough for the lifetime of the repo (or accept that you may need to spin up a new repo when you run out). ## Allocation Modes Two modes, controlled by a CLI config flag: - **Random (default).** Each new zettel gets an unpredictable ID from the remaining pool. Preferred for human use --- gives zettels memorable, non-sequential names. - **Predictable.** Always picks the next ID in deterministic order. Used by tests and tooling that want stable output. ## Exhaustion When the pool is empty, `dodder new` (and anything else that mints zettels) fails with `zettel ids exhausted`. There is no in-place expansion path --- remediation is repo-level (start a new repo with a larger Yin/Yang, or archive existing zettels into a different store).
Ver no GitHub