Repository navigation
refactor(architecture): resolve the view medium through the shared resolver - #12991
melodic-automation-lanes[bot] wants to merge 3 commits into
Conversation
Lane-Activity: work-resolve-issue/resolve-issue
| "userConfig": { | ||
| "medium": { | ||
| "type": "string", | ||
| "title": "Preferred delivery medium", | ||
| "description": "Where the map-* views and the improve report go. auto (default): a local file; terminal: no page; file: a local file; artifact: a private Artifact (the improve report stays a local file); hosted is read as artifact. A team rendered-views file never publishes.", | ||
| "default": "auto", | ||
| "options": ["auto", "terminal", "file", "artifact", "hosted"] | ||
| } | ||
| }, |
There was a problem hiding this comment.
manifest userConfig: flag, a new medium option is added to an existing plugin
This is not on the inert list, so this lane flags it by default. Here is what it does. Every installed user of architecture gets a new medium option on update, with "default": "auto" (line 14). Its value goes into the map-* and improve skill text as ${user_config.medium}. The skill then passes it as --option to the shared resolver, lib/view-settings.mjs resolve --lane architecture.
I read the code that consumes the value, and the default does not widen anything:
- For this lane,
autoresolves to the registry's local default. Seelib/view-registry.mjs:49:lane("architecture", [...], false, "file"). - A publishing value counts only from the argument, from userConfig or from the personal override. See
lib/view-settings.mjs:200(gateExplicit). - A team rendered-views file never publishes (
lib/view-settings.mjs:241-247).
Under the old per-skill cascade, a tracked team file in a scanned repository could set the map-* views' medium. The resolver now ignores a publishing team value, so this narrows publishing. The value comes from the user's own config on their own machine, so no cross-trust input reaches the command. No code starts running on update: no hooks, MCP servers, monitors or dependencies are added.
severity: IMPORTANT
claude-lane: claude-security-review
|
claude-security-review reviewed Security review: PR #12991 at
|
| "title": "Preferred delivery medium", | ||
| "description": "Where the map-* views and the improve report go. auto (default): a local file; terminal: no page; file: a local file; artifact: a private Artifact (the improve report stays a local file); hosted is read as artifact. A team rendered-views file never publishes.", | ||
| "default": "auto", | ||
| "options": ["auto", "terminal", "file", "artifact", "hosted"] |
There was a problem hiding this comment.
manifest userConfig.medium options: flag. This adds a userConfig field that has an options list. That can raise the lowest Claude Code client version that can load the architecture plugin, but neither the PR description nor the fragment names that version. Planning already uses options, but this plugin hasn't so far, so anyone who installs only architecture now needs the newer client too.
Fix: state the version floor in the PR description, or in the .changes/architecture/... fragment, citing the user configuration reference.
claude-lane: claude-review
| @@ -0,0 +1,11 @@ | |||
| --- | |||
| bump: minor | |||
There was a problem hiding this comment.
manifest version: flag. bump: minor is lower than this change needs.
Architecture 1.4.0 (plugins/architecture/CHANGELOG.md:28) made ~/.claude/rendered-views.md and the team/overlay .claude/rendered-views*.md files a supported way to choose where the deepening report goes. This PR stops reading them.
How it breaks: a user whose ~/.claude/rendered-views.md says medium: terminal gets no HTML report today. After upgrading, they get view: file (plugin default) and a report is written. They only see a one-time notice. A setting that used to work and now silently stops is a breaking change under SemVer.
Planning shipped the same retirement in its 1.0.0, with the files listed under ### Removed (plugins/planning/CHANGELOG.md:119-122).
Fix:
- Make this
bump: major. - Move the "no longer read" sentence under a
### Removedheading.
claude-lane: claude-review
|
claude-review reviewed Code review: PR #12991 (full review at
|
Lane-Activity: pr-unblock/fix-ci
|
The pr-unblock lane stopped
When a retry on this head can change the outcome, the lane runs one on its own, up to its per-head cap, and edits this comment if it stops again; a run that does not stop clears the status. When no retry can (a review thread the lane does not take or settle, or a failing check after the retries are spent), a person resolves the threads or gets the checks green, then dispatches the workflow below: that run finds the cause gone and clears the status. On a pull request the lanes App opened, the dispatchers start that run once per stop; on any other, a person does. A new commit to the branch starts clean. To run it again on this head now, dispatch the gh workflow run pr-unblock.yml -R melodic-software/claude-code-plugins -f pr-number=12991 -f activity=address-feedback |
|
Unattended merge: native auto-merge leaves this pull request unarmed at head |
Lane-Activity: pr-unblock/resolve-conflicts
|
Hold: the fix lane escalated this PR (needs-session), so PR Lane Automation is building an owner-login replacement from main that merges this head, resolves its conflicts and fixes its open threads. Releases when: the replacement merges, and then this PR is closed as superseded. |
Closes #12672
Summary
Opened by the work-resolve-issue lane. The run's own summary:
The run went past its turn budget (turns=118 max-turns=113): the work may be too big for one run.
Not verified
Fix
mediumuserConfig option (default auto), mirroring planning'smediumoption (render() format from scripts/sync-plugin-options-docs.py; plugin-options-docs check passes)Resolver lane: --lane architecturein the Architecture section; new 'The deepening report' subsection (resolve with --medium as --argument, what to do on a usage exit 2, and what each medium does to the report)mediumoption ${user_config.medium}, and its report line is printedmediumoption value and links the reference's 'The deepening report' sectionview: terminal (userConfig)plus the retired-file noticeVerification
The runner ran each check from the base copy against 0fd08fb:
The run reports:
Left out: the items under Not verified.
Related
#12672