Skip to content

feat(configuration): support be-concise 0.10 dictionary, tuner, and missing settings - #24

Merged
yannelli merged 2 commits into
mainfrom
feat/be-concise-0.10-controls
Oct 5, 2026
Merged

yannelli merged 2 commits into
mainfrom
feat/be-concise-0.10-controls

Conversation

@yannelli

@yannelli yannelli commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Adds Configuration controls for the be-concise settings the plugin did not expose, including the 0.10.0 dictionary and writing tuner. The form has Limits, Checks, Style, Dictionary, Exceptions, Logging, and Tune sections, plus a JSON view. A control appears only when the installed be-concise defaults has its key, because validateConfig rejects unknown keys on older installs. docs/be-concise-0.10.md lists each control, the version that added it, and the merge rule each list control follows.

The Dictionary section edits features.dictionary.entries per layer. Inherited entries offer Turn off here and Copy here, and a failed save shows the be-concise error on the entry it names. The Tune section sends up to 20 pasted samples to a new concise.tune RPC, which runs tools/tune.mjs in a child Node.js process because it imports the project's pattern packs. Apply to draft merges the proposed delta into the selected file with the upstream mergeDelta rules.

Activity shows session-context records that only send rules as Rules sent (decision context), so they no longer raise the composer pill. post-test-filter records show as Filtered, and the filter list includes every decision in the log with its count. The daemon environment list now includes BEC_FEATURE_* variables that name dictionary.

The Playground shows a verdict and one row per hook with its decision, reason, and findings, and the raw response is behind a toggle. Each finding takes its fix from the runner's matches list, because the runner copies one fix to every finding on the same line and category. Unsaved configuration drafts stay when you switch tabs, and the Configuration tab label shows a dot while the selected project has an unsaved draft.

The README install section uses the npm release, with an update command and a version pin. A new Older Paseo versions table lists the Git tag and --ref command for Paseo 0.8.0 and 0.7.2, and docs/npm-publishing.md records the Paseo sources behind it. The configuration and playground README banners show the new UI. docs/banners/render.mjs rebuilds them from the captures in docs/banners/captures/.

Testing

  • npm run check with be-concise 0.10.0: typecheck and 46 tests, including a 0.10 settings round trip, tuner runs, and client helper tests in test/config-ui.test.mts
  • be-concise 0.9.0: backend tests pass with the 0.10 tests skipped, a save passes, defaults has no features.dictionary, and the tuner returns the version error
  • Paseo 0.11.0-beta.4 web app with an isolated daemon, light theme, 1280×900 and 390×844: every section, dictionary add, edit, save, and discard, layer switches, tuner apply, Playground results, and Activity filters
  • Not checked: dark theme, native mobile apps, the desktop app, and Windows

…issing settings

Add Configuration sections for checks, style, dictionary, exceptions,
logging, and the 0.10 writing tuner, gated on the installed defaults.
Add the concise.tune RPC, show session rules as "Rules sent" in Activity,
show a per-hook Playground result, and refresh two README banners.
@yannelli yannelli self-assigned this Oct 5, 2026
@yannelli
yannelli marked this pull request as ready for review October 5, 2026 05:08
@yannelli
yannelli merged commit 651193c into main Oct 5, 2026
1 check passed
@yannelli
yannelli deleted the feat/be-concise-0.10-controls branch October 5, 2026 05:13
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.

1 participant