fix: implement the session-close Tags:-line exclusion announced in v0.113.1 - #97
Merged
Merged
Conversation
….113.1 Phase 8.6 check #2 resolved every [[Target]] on a page as a page link, including wikilinks on the Tags: line. Vaults tag with wikilink syntax for tags that intentionally have no page, so the check reported the vault's own convention as breakage. Observed 2026-08-20: [[OmniFocus]] was flagged on a generated recurring task. It is one of 14 unresolved tag names across that vault's 74 generated tasks. The false flag sent the operator to edit the task's source template, where the one-file change would have created drift against 73 siblings. v0.113.1 already described this fix in its changelog, but the code never landed - the bullet was folded into a commit touching CHANGELOG.md and commands/sync-progress.md only. This lands the rule itself.
There was a problem hiding this comment.
{
"verdict": "approve",
"summary": "The PR correctly implements the Tags:-line wikilink exclusion in `session-close` Phase 8.6 check #2. The `^Tags:` pattern is precise, the exclusion is correctly scoped to wikilinks on that line only, and the diff is minimal and clean — exactly 2 files, 6 lines added, no unintended side effects. The new paragraph is well-grounded with the real-world observed case (OmniFocus tag across 14 generated tasks).",
"comments": [],
"concerns_addressed": [
"correctness: The `^Tags:` pattern correctly identifies the Tags line — anchored at line start, matches the literal `Tags:` prefix used by vault convention. The exclusion applies only to wikilinks on that line, not to other link types or other lines.",
"correctness: Diff shows exactly the intended change — CHANGELOG.md (+4 lines for the Unreleased entry) and commands/session-close.md (+2 lines for the exclusion rule paragraph). No side effects, no unrelated changes."
]
}Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Phase 8.6 check #2 in
commands/session-close.mdresolved every[[Target]]on a page as a page link, including wikilinks on theTags:line. Vaults tag with wikilink syntax for tags that intentionally have no page, so the check reported the vault's own convention as breakage.Check #2 now skips wikilinks on a line matching
^Tags:— body links only.Why it matters
Observed 2026-08-20:
[[OmniFocus]]was flagged on a generated recurring task. It turned out to be one of 14 unresolved tag names across that vault's 74 generated tasks ([[Backup]]×7,[[Planning]]×5,[[Review]]×4,[[Finance]]×4, …) — house style, not a broken link.The cost was not just noise. The false flag sent the operator to "fix" the task's source template in another repo, where the proposed one-file change would have created drift against 73 sibling schedules. A check that manufactures work is worse than no check.
Note on v0.113.1
v0.113.1's changelog already describes this fix, but the code never shipped — that bullet was folded into a commit touching
CHANGELOG.mdandcommands/sync-progress.mdonly, nevercommands/session-close.md. So the release announced a fix that was absent. This PR lands the rule itself. The v0.113.1 section is left as written rather than rewritten after release; the new## Unreleasedbullet records what happened.Verification
Markdown-only, 2 lines added. Local
make precommitwas not used as a gate: this machine hasgolangci-lint v1.64.8while the repo bumped tov2.12.2, so it fails on nine untouchedpkg/ops/*.gofiles. Master's CI is green and the diff cannot affect Go lint. CI on this PR is the real check.