Skip to content

experiment: evaluate pipeline execution quality with simplified permission model #282

@nextlevelshit

Description

@nextlevelshit

Summary

Investigate whether removing or simplifying Wave's allow/deny permission lists improves pipeline execution quality. The hypothesis is that permission restrictions cause inconsistent outcomes, confuse the Claude Code adapter, and trigger unnecessary permission errors.

Background

Wave currently enforces tool permissions via allow and deny lists in persona definitions, which are projected into both settings.json and runtime CLAUDE.md. However:

  1. Inconsistent outcomes — permission denials may cause personas to take suboptimal alternative paths
  2. Adapter confusion — Claude Code may misinterpret restrictions or lose tool access entirely (see: deny: ["Bash(*)"] removes Write AND Edit)
  3. Permission errors — overly restrictive lists block legitimate operations

Existing mitigations (worktree isolation, bubblewrap sandbox) already limit blast radius.

Original description:

we want to investigate and try to narrow down the core functionalities of wave and reduce any noise, that makes the outcome 1. inconsistent 2. confuses the adapter (claude code) 3. and leads to permission issues

we have already worktrees and running in a sandbox, so the blast radius should be enough reduced

Experiment Design

  • Run a representative set of pipelines (speckit-flow, gh-rewrite, wave-review) with current permissions
  • Run the same pipelines with deny: [] (no restrictions) and behavioral-only CLAUDE.md guidance
  • Compare: success rate, output quality, token usage, error frequency
  • Document which specific deny rules caused problems vs. which provided genuine safety value

Acceptance Criteria

  • Side-by-side comparison results documented
  • Decision recorded: keep, simplify, or remove allow/deny lists
  • If simplified: updated persona definitions committed
  • go test -race ./... passes after any changes

Related

  • Known issue: deny: ["Bash(*)"] removes Write AND Edit tools entirely
  • Worktree isolation already prevents cross-workspace contamination
  • Bubblewrap sandbox restricts filesystem and network access at OS level

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions