You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(shared-copies): ship the medium resolver and one rendered-view reference to every view lane #12667
Every view-lane plugin carries the resolver, registry, cascade and yaml-subset copies, and planning, architecture, discovery and debugging share one synced rendered-view reference.
Demo: The shared-copies check passes and each new copy imports.
The Brief (Problem, Goal, Constraints) is in the epic body.
Decisions
Q52: AC15 covers every view lane, planning chain first.
Key interfaces
Module layout
Module
Owns
Public contract
Consumers
View settings
medium resolution, publish trust filter, retired-file notices
C1 resolveMedium
every view lane
Medium registry
medium entries, fallback chain order, reachability probes, publish gate call
Dependency direction: skills -> view settings and renderer -> registries -> external providers (Artifact service, hosted publisher, tunnel), each contained in one registry entry. Registries never call skills. Each shared module has one canonical copy synced into each plugin (ADR 0019).
Net new: the three registries and the lane registration (no existing pattern holds a variant set for views); the redraw binding (none exists in lib/view-runtime.js); the PageInput shape outside the shared session; a design view kind in the builder.
Challenges a pattern: per-skill medium lists in ~20 skills and four unsynced rendered-view.md copies (single source of truth); lib/publish-gate.mjs trustedMedium and review's digest-policy.mjs resolveMedium as two resolvers with different rules; the 1:1 interview page's own settings chain (.claude/interview-surface.json) outside ADR 0075; docs/contracts/config-cascade/README.md:659 marking rendered-views "conforms".
Done when
AC4 / AC15 (enabling): the shared-copies script passes --check and --check-bump; for each new carrier the view-settings copy imports.
Out of scope
Changing any skill's behaviour (per-plugin slices)
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41576258964, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T04:37:16Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41581255310, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T05:40:38Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.
Closing: delivered across three PRs, each linked with Refs: #12667 (split so each review pass could read its diff whole; see #12965 for why pr-verify could not pass the last part).
Done-when, "AC4 / AC15 (enabling): the shared-copies script passes --check and --check-bump; for each new carrier the view-settings copy imports":
Part
PR
Carriers given the resolver copies
lib changes, every lane registered, existing carriers re-synced, and a test that runs every registered view-settings.mjs copy
--check and --check-bump: scripts/sync-shared-copies.sh --check passed on each PR's head (606, 620 and 643 registered copies), and --check-bump origin/main exited 0 on each.
Activity
melodic-automation-lanes commentedon Nov 3, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41576258964, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-11-03T04:37:16Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.github-actions commentedon Nov 3, 2026
melodic-automation-lanes commentedon Nov 3, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41581255310, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-11-03T05:40:38Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.github-actions commentedon Nov 3, 2026
21 remaining items
Merge main into feat/12667-shared-copies after batches A and B
kyle-sexton commentedon Nov 3, 2026
Closing: delivered across three PRs, each linked with
Refs: #12667(split so each review pass could read its diff whole; see #12965 for why pr-verify could not pass the last part).Done-when, "AC4 / AC15 (enabling): the shared-copies script passes --check and --check-bump; for each new carrier the view-settings copy imports":
view-settings.mjscopyrendered-view.mdcopy synced fromlib/rendered-view.md--checkand--check-bump:scripts/sync-shared-copies.sh --checkpassed on each PR's head (606, 620 and 643 registered copies), and--check-bump origin/mainexited 0 on each.lib/view-settings.test.mjs's "every registered copy imports its sibling modules and resolves" (feat(lib): sync the view-settings copies into adhd and ai-briefing #12917) runs everyview-settings.mjscopy listed inscripts/shared-copies.txt, all nine new carriers included; it passed 36 of 36 on chore(shared-copies): ship the medium resolver and one rendered-view reference to every view lane #12792's head and in itsci-statusruns.The per-plugin migrations this unblocks are #12668-#12741.
chore(shared-copies): ship the medium resolver and one rendered-view …
fix(shared-copies): name the plugin root as a placeholder in the rend…