Skip to content

docs(adr-0004): note server-side arm constraint (staged-skill drift) - #297

Merged
jeonghun-jj-lee merged 1 commit into
mainfrom
docs/adr-0004-arm-target-constraint
Aug 8, 2026
Merged

docs(adr-0004): note server-side arm constraint (staged-skill drift)#297
jeonghun-jj-lee merged 1 commit into
mainfrom
docs/adr-0004-arm-target-constraint

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

Appends to ADR-0004's Accepted costs section: the arm target (/session/:id/command) resolves against the server's command set, not the extension's staged skill paths. Documents the pre-flight guard and the constraint that non-extension-hosted servers must re-stage skills on extension updates.

Closes the docs layer of #296.

@jeonghun-jj-lee
jeonghun-jj-lee merged commit 33a200f into main Aug 8, 2026
6 checks passed
aarontrowbridge added a commit that referenced this pull request Sep 7, 2026
…gative path, mid-session re-bind, turn-boundary auto

S2 (spec-20260907-011500 D2, #859): the plan-exit confirm surface, first-
class on the app overlay (the fork #297 slice-b intent, ported to the
substrate — composed on the EXISTING /amicode/* route family and the app's
agent binding, never a new engine contract).

- GET/POST /amicode/posture (+ /dismiss): a DUMB READER of the compiled
  plan's STAMPED posture_recommendation — the service never re-derives,
  never keyword-guesses; an unstamped plan reads null and the offer stays
  quiet. plan.auto_switch = confirm | auto rides the ops-dir prefs file
  (fail-safe to confirm). Dismissal is per-plan_hash (a recompile re-arms).
- The indicator view-model (pure, headless-tested): named states absent /
  quiet / offer; the confirm surface carries the NEGATIVE path one click
  each — confirm / dismiss / wrong—actually <other mode> / stay in plan;
  a MIXED-shape recommendation names BOTH modes (the user picks — no
  silent coin-flip); dismissed → ambient again.
- Switch mechanics (the Tab-switch contract, made product):
  local.agent.set IS the mid-session re-bind; in-session it also lands the
  posture change on the session record (session.update metadata — the
  ADR-0011 vNext additive surface, fire-and-forget). plan.auto_switch=auto
  defers the click to the TURN BOUNDARY (never mid-generation), announces,
  drops when a newer plan supersedes; ONLY the agent binding changes — the
  session's draft and pending questions ride along untouched.
- Bidirectional (D2): the collapsed indicator in develop/research carries
  the walk-back-to-plan affordance.
- Ambient-when-ignored (the observability clause): quiet until there is a
  recommendation; the offer banner is the one thing that asserts itself;
  renders NOTHING when the route does not exist (older extension).
- Mounted twice: home flyout (acts on the default/draft posture) and the
  session header's titlebar-right portal (the mid-session re-bind surface).
- i18n ×18 locales (15 keys, parity-checked); manifest hash registration
  for all 23 touched overlay files (#848 gate — drift gate PASS).

Refs #859
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