Skip to content

fix(skills): make owner decisions understandable and dependency-closed - #219

Open
levineam wants to merge 4 commits into
mainfrom
SUP-3820/public-owner-decisions
Open

fix(skills): make owner decisions understandable and dependency-closed#219
levineam wants to merge 4 commits into
mainfrom
SUP-3820/public-owner-decisions

Conversation

@levineam

Copy link
Copy Markdown
Owner

Summary

jarvOS now turns a held skill-sync condition into an understandable owner decision instead of exposing a raw machine label such as needs_owner_input. It names the affected skill, explains why sharing stopped, lists the safe choices, and says what happens next. The same decision is available through the owner-gated jarvos_shared_skills interface, and a valid choice is checked against the current source digest before it can change anything.

The sync path also now treats skill dependencies and harness roots as one correctness boundary. A wrapper is not reported as available unless its declared dependency closure is complete, the destination is the harness's enrolled discoverable root, and a fresh observation matches the desired set. Unsafe or unresolved closures preserve existing files and remain non-complete.

Session-settled decisions carried from planning: owner decisions belong in the public skills/runtime-kit contracts, while selected-runtime launcher installation and live activation remain a separate deployment boundary.

Verification

  • npm --prefix modules/jarvos-skills test — 157/157 passed.
  • npm --prefix modules/jarvos-agent-context test — 64/64 passed, including a valid owner keep-local resolution and stale-reply rejection.
  • npm --prefix modules/jarvos-runtime-kit test — passed.
  • Isolated four-harness dogfood — Codex, OpenClaw, and Hermes proved model-visible; Claude truthfully remained verification_pending; desired and observed tuples matched; the second run was a no-op.
  • Runtime adapter checks — 4/4 passed.
  • Package parity — 5/5 passed.
  • git diff --check — passed.

Follow-up boundary

The public contract is ready for review. The private selected-runtime branch separately fail-closes owner-decision delivery until the activation session injects the host-bound acknowledgement adapter. No live Telegram delivery is claimed by this PR.

Related: Skill Owner Decisions and Parity Closeout (SUP-3820).

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