TanStack / TanStack/intent

Avoid parsing skill metadata rejected by effective policy

Open
#237 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

Policy-controlled discovery scans skill metadata before applying permission and exclusion rules, doing work for content that will never be exposed.

Evidence

With intent.skills: [] and 100 installed skill packages, listIntentSkills returned zero skills but reported 101 package manifest reads. scanForPolicedIntents calls the raw scanner before policy resolution, and registration discovers skills before filtering.

Sources: scan ordering, registration.

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

  • Measure package reads, skill-file reads, output, and elapsed time before and after on the same fixtures.
  • Resolve and validate policy before policy-controlled metadata parsing.
  • Agent-visible discovery does not parse denied skill files.
  • Preserve traversal needed to locate permitted transitive packages through unlisted parents.
  • Preserve human review of hidden candidates and current policy diagnostics through an explicit appropriate discovery path.
  • Show identical permitted results and a measured reduction in denied-content work, with no weakening of path or policy checks.

Scope and priority

Priority: Medium. Type: performance.

Follow-up optimization after policy correctness fixes. No persistent cache, broad scanner rewrite, or new dependency solely to optimize this path.

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 with packages/intent/src/core/source-policy.ts at scanForPolicedIntents and packages/intent/src/discovery/register.ts around registration. Reproduce the synthetic-fixture measurements for package reads, skill-file reads, output, and elapsed time, then trace policy resolution and transitive traversal. Done means denied skill files are not parsed, permitted results and diagnostics remain unchanged, and the measured reduction is documented by tests or fixtures.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
cli, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.