Skip to content

Fix Vale 3.15+ dicpath resolution — drop stray StylesPath from package .vale.ini - #4

Merged
spier merged 1 commit into
mainfrom
fix-vale315-stylespath-shadow
Jul 11, 2026
Merged

Fix Vale 3.15+ dicpath resolution — drop stray StylesPath from package .vale.ini#4
spier merged 1 commit into
mainfrom
fix-vale315-stylespath-shadow

Conversation

@rrrutledge

Copy link
Copy Markdown
Contributor

Summary

Every repo that consumes this package's ISC.zip (InnerSourcePatterns, InnerSourceLearningPath, managing-innersource-projects) has been hitting vale: unable to resolve dicpath on every file since Vale 3.15.0 (released 2026-06-12) — unrelated to any PR's content. InnerSourcePatterns and InnerSourceLearningPath are actively broken today; managing-innersource-projects pulls the same unpinned releases/latest package and will hit it on its next vale run.

Root cause

ISC/.vale.ini's StylesPath = styles line was written for developing this package standalone and was harmless once distributed — older Vale never read a package's own .vale.ini as live config for consumers.

Vale 3.15.0 changed vale sync to create/honor the configured StylesPath (vale-cli/vale#1106). As a side effect, it now also installs this inner .vale.ini as a real sub-config for consumers (.vale-config/0-ISC.ini). Sync flattens this package's files into the consumer's StylesPath, so StylesPath = styles no longer points anywhere real — and it shadows the consumer's actual StylesPath when the Spelling check resolves dicpath: dictionaries, failing on every file in every consuming repo.

Fix

Drop the stray StylesPath line. Verified locally: reproduced the failure with Vale 3.15.1 against InnerSourcePatterns, removed this line from the synced sub-config, and vale went from the dicpath crash straight to real spell-check output (flagging real typos like "Ingka", "Moulis", "Contribfest").

Note on rollout

The Release workflow fires automatically on push to main under ISC/**, so merging this PR publishes a new release immediately — every consumer on releases/latest (all three above) picks it up on their next vale sync. InnerSourcePatterns currently has a stopgap version-pin (#916 there) that this fix supersedes; closing that once this is out.

ISC/.vale.ini's `StylesPath = styles` was meant only for developing
this package standalone. Vale <=3.14 never read a package's own
.vale.ini as live config, so it was harmless once distributed.

Vale 3.15.0 changed `vale sync` to create/honor the configured
StylesPath (vale-cli/vale#1106), which now also installs this inner
.vale.ini as a real sub-config for consumers (as
.vale-config/0-ISC.ini). Sync flattens this package's files, so the
stray `StylesPath = styles` no longer points anywhere real, and it
shadows the consumer's actual StylesPath when the Spelling check
resolves `dicpath: dictionaries` - failing with "unable to resolve
dicpath" on every file, in every consuming repo, regardless of
content.

Verified locally: reproduced the failure with Vale 3.15.1 against
InnerSourcePatterns, removed this line from the synced sub-config, and
vale ran real spell-checking again with no dicpath error.

Confirmed broken today in InnerSourceCommons/InnerSourcePatterns
(since 2026-06-15) and InnerSourceCommons/InnerSourceLearningPath
(since 2026-06-22); InnerSourceCommons/managing-innersource-projects
pulls the same unpinned `releases/latest` package and will hit this
on its next vale run.
@rrrutledge

Copy link
Copy Markdown
Contributor Author

Heads up: the vale check on this PR will stay red — it fails on unable to resolve dicpath, but that's this repo's own self-check (README.md) hitting the currently published (still-broken) releases/latest package, since the fix only ships once this merges. Chicken-and-egg: merging is what publishes the release this check needs to pass. (fail_on_error: false is set, but vale erroring outright — vs. just reporting lint issues — still surfaces as a failed status via reviewdog.) Safe to merge past it.

@spier
spier merged commit 4477aa4 into main Jul 11, 2026
1 check failed
@spier

spier commented Jul 11, 2026

Copy link
Copy Markdown
Member

Amazing @rrrutledge. I tried to fix this for a bit but was not able to find the issue.

I did not test this myself now but your reasoning sounds so convincing that I just merge this.

Fingers crossed that vale works again now :)

@spier

spier commented Jul 11, 2026

Copy link
Copy Markdown
Member

I re-ran a vale check on the InnerSourcePatterns repo that previously failed. Now it works!
https://github.com/InnerSourceCommons/InnerSourcePatterns/actions/runs/29149156721/job/86545641356

Also re-ran the check on this PR here, also works:
https://github.com/InnerSourceCommons/isc-styles/actions/runs/29119874148/job/86545478399

I did not check if spelling issues are correctly annotated now, but at least the action does not fail anymore :) So I am just assuming that it is all working now.

@spier
spier deleted the fix-vale315-stylespath-shadow branch July 11, 2026 12:46
@rrrutledge

Copy link
Copy Markdown
Contributor Author

Thanks, @spier! So did you wire this up to all of the repos that use it? Patterns, learning path, and managing innersource projects book?

@spier

spier commented Jul 14, 2026

Copy link
Copy Markdown
Member

In theory there is nothing more to wire up, as all repos use the latest release of isc-styles.

I just tried to run the existing config on the LearningPath and it works as is:
https://github.com/InnerSourceCommons/InnerSourceLearningPath/actions/runs/29308396812/job/87006723056

However it would be better to update the workflows to change from errata-ai/vale-action to vale-cli/vale-action because that repository was renamed. https://github.com/vale-cli/vale-action

Apparently not urgent though, as the workflow still works at the moment.

@spier

spier commented Jul 26, 2026

Copy link
Copy Markdown
Member

Just FYI: I updated all repos to use the GHA vale-cli/vale-action@v2 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants