TanStack / TanStack/intent

Design explicit acceptance and review of changed skill content

Open
#235 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
331
Forks
22
Avg merge
12h 17m
Merged PRs (30d)
51

Description

Problem

Current permission selects a source or skill name, not a reviewed content snapshot. An allowed skill can change without a version change and load immediately. This is documented name-based trust behavior, not a bypass of an existing content lock.

Evidence

Replacing an allowed SKILL.md body while preserving package name and version changed the content returned by loadIntentSkill on the next call.

Sources: permission matching, live content read. #204 previously explored broader accepted-state work; #220 and #221 explicitly exclude byte-level content verification.

Verified against main at 206e987 (@tanstack/intent 0.3.8), Node v24.12.0 on macOS arm64. Tests used installed dependencies and synthetic local fixtures.

Acceptance criteria

  • Define the user flow for reviewing, accepting, and refusing changed content before choosing a storage format.
  • Define source identity and the acceptance boundary for SKILL.md, referenced resources, scripts, new files, deletions, and path escapes.
  • Specify what happens when package version stays unchanged but accepted content changes.
  • Distinguish content equality, publisher provenance, and instruction safety in diagnostics and documentation.
  • Define who may update acceptance state and what host/filesystem protections are required for a hard authority boundary.
  • A proposed implementation slice includes visible review/refusal behavior and tests, not storage-only plumbing.

Scope and priority

Priority: High. Type: feature design.

Separate design and follow-up release, not a v0.4.0 dependency. Reuse #222 for policy explanations and #229 for command-authority work. Do not widen #221 into content drift. No hosted registry, Git sources, native delivery synchronization, or claim that a hash proves safety.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading packages/intent/src/core/source-policy.ts and packages/intent/src/core/intent-core.ts, then review the related decisions in issues #204, #220, #221, #222, and #229. Define the review and acceptance flow, identity boundaries, diagnostics, authority protections, and an implementation slice with visible refusal behavior and tests; done means the acceptance criteria are specified without adding storage-only plumbing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.