Skip to content

docs(recipe): directory links pin the gate to >=0.8.0#21

Merged
txemi merged 2 commits into
mainfrom
docs/directory-links-in-gate-recipe
Jul 23, 2026
Merged

docs(recipe): directory links pin the gate to >=0.8.0#21
txemi merged 2 commits into
mainfrom
docs/directory-links-in-gate-recipe

Conversation

@txemi

@txemi txemi commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What

The elevating-your-link-gate recipe is the public reference everyone follows, and it didn't
mention directory links (feature 011, 0.8.0) at all. Two focused additions:

  • §1 (Read the gap) — a note that since 0.8.0 the gap also includes plain links to a folder that
    has a README.md; they robustify/heal like file links.
  • §6 (Flip the gate) — the critical version coupling: an older darnlink doesn't understand a
    directory link, so its repair pass treats a robust [x](foo/) <!-- uuid --> as broken and
    rewrites it to foo/README.md, silently destroying the folder link. So the gate binary itself
    must be ≥ 0.8.0 — bump the pin and robustify the directory links as one atomic step. Also points
    to --create-readme for README-less folders.

Why

This is a real gotcha lived in the field: bumping a live gate from 0.6.0 to a dir-link-aware version is
not optional once directory links exist — a stale gate mangles them. The reference should say so.

Docs only. Scoped to two note blocks to minimise conflict with the in-flight web-layer edits to the
same file. The --create-readme "skips downloaded/external folders" refinement will be added once that
PR lands.

The elevating-your-link-gate recipe is the public reference, and it didn't mention directory links
(0.8.0). Two additions: §1 notes the gap now includes plain links to folders-with-README; §6 adds the
critical version coupling — an older darnlink treats a robust directory link as broken and repairs it
into README.md, so the gate binary must be >=0.8.0 before you robustify the first one. Also points to
--create-readme for README-less folders. Docs only.
Copilot AI review requested due to automatic review settings July 23, 2026 05:52

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the elevating-your-link-gate recipe to explicitly cover directory links (folders with README.md) and to document the minimum darnlink version coupling required to avoid older gates rewriting directory links into README.md file links.

Changes:

  • Adds a §1 note that the “gap” (plain links flagged by --robustify) now includes directory links since 0.8.0.
  • Adds a §6 warning explaining why gates must run a dir-link-aware darnlink version (≥ 0.8.0) before directory links are robustified, and points to --create-readme for README-less folders.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/elevating-your-link-gate.md Outdated
Comment on lines +211 to +213
> rewrites it to `foo/README.md` (the file), silently destroying the folder link. **Pin your gate to
> `darnlink==0.8.0` (or later) before you robustify the first directory link** — bumping an already-live
> gate from an older pin, and robustifying the directory links, is one atomic step. A folder with no

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valid — fixed in 9012ec0: now reads 'require darnlink >= 0.8.0 (pin a concrete 0.8.0-or-newer release)', so the minimum-version requirement isn't phrased as an exact pin.

…on (Copilot #21)

'darnlink==0.8.0 (or later)' mixed an exact pin with a minimum. State it as 'require darnlink >= 0.8.0
(pin a concrete 0.8.0-or-newer release)'.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

> (anchored to its `README.md`'s uuid — [FORMAT.md §4.1](../FORMAT.md#41-directory-links) <!-- uuid: 9052d864-2a45-4ed4-8725-d8a394e7a7ef -->). Two consequences for the wall:
> **(1)** `--robustify` now flags plain **directory** links too, so they are part of the gap you close
> above; **(2)** the gate binary **itself** must be ≥ 0.8.0 — an older `darnlink` doesn't understand a
> directory link, so its `repair` pass treats a robust `[x](foo/) <!-- uuid -->` as *broken* and
@txemi

txemi commented Jul 23, 2026

Copy link
Copy Markdown
Owner Author

Verdict: ready to merge. Docs-only; Copilot's phrasing finding (minimum-version vs exact pin) fixed; re-review clean, CI green. Merging — the public recipe now covers directory links and the ≥0.8.0 gate coupling.

@txemi
txemi merged commit da53238 into main Jul 23, 2026
21 checks passed
@txemi
txemi deleted the docs/directory-links-in-gate-recipe branch July 23, 2026 06:13
txemi added a commit that referenced this pull request Jul 23, 2026
…(spec 014)

Bumps 0.9.1 → 0.10.0 (one minor per feature/spec, as with 011/012/013). Feature 014: --create-readme
no longer writes a README into a folder holding a darnlink-ignore-file'd (downloaded) file — the
provenance-based, surgical alternative to excluding a whole mirror. Also the recipe now documents
directory links + the >=0.8.0 gate coupling (#21).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants