fix(docs): remove a stray conflict marker from the changelog - #1881
Conversation
A botched conflict resolution left `>>>>>>> theirs` in CHANGELOG.md. The file is not only repo furniture: `Fountain.Docs` declares it on its `extra_resources:` line and `docs/changelog.md` pulls it in as a snippet, so the marker is embedded at compile time and served to readers at /docs/changelog. The paragraph above it is intact and the bullet below it is the next entry, so the marker is vestigial and the line simply goes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S9jevFQT5MkF3rJUieeiHW
BinaryBourbon
left a comment
There was a problem hiding this comment.
Verified the whole claim chain, in a worktree off pr-1881. Approving.
The marker is vestigial
git log -S'>>>>>>> theirs' -- CHANGELOG.md traces it to 9da64a10 (the #1839 stack tip), where the entire surrounding block — the runtime_command entry, the free-string rationale, the Agent.model client note — arrives in a single hunk with the marker as its last line. The resolver kept theirs wholesale and dropped the <<<<<<< / ======= pair but not the tail, so no ours content was lost. The paragraph above the marker is complete and the bullet below it is the next entry, exactly as the PR body says.
It is also the only one: all three marker forms across main's CHANGELOG.md match line 67 and nothing else; on this branch they match nothing.
It is live on the public manual
The embedding claim holds — extra_resources: ["CHANGELOG.md"] in apps/fountain/lib/fountain/docs.ex:48, docs/changelog.md is a bare --8<-- "CHANGELOG.md", and docs/nav.yml:150 mounts it at Changelog: changelog.md.
>>>>>>> is seven nested blockquotes in markdown, so it renders as an indented box holding the word "theirs" in the middle of the unreleased notes. Production right now:
$ curl -s https://managoat.com/docs/changelog | grep -B2 -A2 theirs
<blockquote><blockquote><p>theirs</p></blockquote></blockquote>
CI
All six partitions green, plus static analysis, the release/contract job and the SDK clients. mergeable: MERGEABLE, blocked only on REVIEW_REQUIRED.
One gap this PR correctly leaves alone
No conflict-marker guard exists anywhere in the tree — a grep for the marker patterns across .ex, .exs, .sh, .yml, .py and .mjs finds no check.
CHANGELOG.md also sits in a seam. The changes job keeps it off the docs-only allowlist on purpose (ci.yml:115, right call — the release-bump flow must not skip the suite), but that also leaves docs_touched false for a changelog-only diff, so Docs and Docs prose gates both skipped on this PR. The prose linters cover docs/ and not the repo root, so the one file that is both a published docs page and prose-gate-exempt is where this landed.
The fix for the class is a tree-wide marker check rather than a changelog one, so it belongs in its own PR. Filed separately.
|
Follow-up for the class gap noted in the review: #1898. |
CHANGELOG.mdline 67 onmaincontains a leftover>>>>>>> theirsconflict marker from a botched resolution.This is not just repo furniture.
Fountain.Docsdeclares the repo-root changelog on itsextra_resources:line (apps/fountain/lib/fountain/docs.ex:48) anddocs/changelog.mdpulls it in as a snippet, withChangelog: changelog.mdindocs/nav.yml. So the marker is embedded at compile time and served to readers at/docs/changelog.The paragraph above it (the
Agent.modelclient note) is intact and the bullet below it is the next entry, so the marker is vestigial — the line just goes. No other markers in the file.Found while rebasing the #1635 stack; unrelated to it, so it lands on its own.
🤖 Generated with Claude Code
https://claude.ai/code/session_01S9jevFQT5MkF3rJUieeiHW