Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.25.0'
go-version: '1.23.0'
cache: true

- name: Set up Node.js
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ jobs:
- name: Copy web UI to dist
run: cp -r web-app/out server/web/dist

- name: Set up Go 1.25.0
- name: Set up Go 1.23.0
uses: actions/setup-go@v5
with:
go-version: '1.25.0'
go-version: '1.23.0'
cache: true

- name: Run GoReleaser
Expand Down
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
golang 1.25.0
nodejs 22.0.0
golang 1.23.0
node 22.0.0
buf 1.41.0
42 changes: 37 additions & 5 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,39 @@

---

## ✅ COMPLETE: Permissions Extension (MDD)

**Status**: Stories 1-3 ✅ COMPLETE
**Priority**: P1 - Modularize classification for multi-CLI support
**Epic ID**: FEATURE-PERMISSIONS-MDD
**Progress**: 100% (Shared package and standalone hooks complete)

### ✅ Completed Work:

#### Sprint 1: Shared Package (COMPLETE)
- [x] ✅ Create `pkg/classifier` with core logic and command parsing
- [x] ✅ 100% test coverage for `pkg/classifier` (tests passing)
- [x] ✅ Refactor main `stapler-squad` server to use `pkg/classifier`
- [x] ✅ Remove redundant classification logic from `server/services/`

#### Sprint 2: Standalone CLI (COMPLETE)
- [x] ✅ Implement `ssq-hooks` CLI with `check`, `serve`, and `proxy` subcommands
- [x] ✅ Implement rule export mechanism in `RulesStore` to `~/.config/stapler-squad/rules.json`
- [x] ✅ Fix `proxy` output for shell evaluation (command to stdout, logs to stderr)
- [x] ✅ Add `install` command to `ssq-hooks` for easy setup

#### Sprint 3: Multi-CLI Integration (COMPLETE)
- [x] ✅ Create `scripts/hooks/open-code-proxy.sh` wrapper
- [x] ✅ Create `scripts/hooks/install-gemini-hook.sh` for Gemini CLI
- [x] ✅ Implement deep security analysis (AST parsing enhancements)

**Strategic Value**:
- **Interoperability**: One classifier rules them all (Claude, Gemini, Open Code)
- **Modularity**: Standalone permissions engine usable without the full TUI/Web UI
- **Security**: Centralized policy enforcement across different AI tools

---

## ✅ COMPLETE: Web UI Implementation

**Status**: Stories 1-5 complete, all MVP features implemented
Expand Down Expand Up @@ -98,10 +131,9 @@

### 🟡 Open Bugs (Require Investigation)

**BUG-009** [HIGH]: Session Package Test Failures 🔍 Investigating
- **Impact**: Core session management tests failing, unknown production impact
- **Tests Affected**: `TestInstance_FieldAccess`, `TestInstance_Lifecycle`, `TestInstance_Serialization`
- **Investigation Needed**: 4-7 hours (capture output, analyze, fix)
**BUG-009** [HIGH]: Session Package Test Failures ✅ FIXED
- **Impact**: Core session management tests were failing, resolved
- **Result**: Tests now pass.
- **Priority**: P1 - Critical for core domain integrity

**BUG-010** [HIGH]: tmux Banner and Prompt Detection Failures 🔍 Investigating
Expand Down Expand Up @@ -1824,7 +1856,7 @@ Do an end-to-end smoke test. If the UI renders and approve/deny work, the core f

## Context Notes

**Last Updated**: 2026-03-20
**Last Updated**: 2026-04-05
**Current Phase**: Architecture refactoring wave complete; tmux user options metadata implemented (uncommitted); Approval Stories 5-6 pending
**Next Milestone**: Wire ScanFromUserOptions() into server startup (2h); Approval Story 5 smoke test then Review Queue Integration

Expand Down
Loading
Loading