Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
3329fa3
chore: add docs/ to gitignore (local design specs)
jhonatanjunio Apr 6, 2026
4cc0c11
chore: add .worktrees/ to gitignore
jhonatanjunio Apr 6, 2026
5aa41ab
ci(workflow): create/update PR from develop to main on push
claudioemmanuel Apr 6, 2026
79842b7
docs(readme): add changelog, contribution workflow, and benchmark notes
claudioemmanuel Apr 6, 2026
a334e35
docs(readme): merge README updates
claudioemmanuel Apr 6, 2026
4d39105
ci(workflow): avoid failing promote job when PR creation is not permi…
claudioemmanuel Apr 6, 2026
8fcef74
ci(workflow): merge promote workflow fix
claudioemmanuel Apr 6, 2026
e84a4e9
ci: trigger promote workflow (test)
claudioemmanuel Apr 6, 2026
5ead662
feat: cross-platform wrap — shell_command() helper, cfg(unix) signal …
jhonatanjunio Apr 6, 2026
ed59c71
feat: add home_dir() helper with USERPROFILE fallback for Windows
jhonatanjunio Apr 6, 2026
d558953
refactor: use session::home_dir() in config and init (Windows compat)
jhonatanjunio Apr 6, 2026
8754e63
docs: add Windows support and Rust install instructions to README
jhonatanjunio Apr 6, 2026
34f298a
feat: add Windows support to install.sh and release.yml
jhonatanjunio Apr 6, 2026
4e4106b
Merge remote-tracking branch 'upstream/main'
jhonatanjunio Apr 6, 2026
710e4e2
merge: incorporate upstream Copilot CLI and OpenCode support
jhonatanjunio Apr 6, 2026
f60e10c
docs: update Windows installation instructions and prerequisites in R…
jhonatanjunio Apr 6, 2026
611005d
Merge pull request #9 from jhonatanjunio/main
claudioemmanuel Apr 6, 2026
2b97b23
Merge remote-tracking branch 'origin/main' into develop
claudioemmanuel Apr 7, 2026
6785045
ci: auto-delete branches after PR merge
claudioemmanuel Apr 7, 2026
7eec523
feat(context): aggressive token-engine — adaptive intensity, redundan…
claudioemmanuel Apr 7, 2026
2dde4ac
feat(context): adaptive intensity always picks Ultra
claudioemmanuel Apr 7, 2026
759725c
feat: compress-md, caveman persona, squeez update, track-result hook
claudioemmanuel Apr 7, 2026
910627e
Merge pull request #10 from claudioemmanuel/feat/context-engine
claudioemmanuel Apr 7, 2026
24cee40
Merge pull request #12 from claudioemmanuel/feat/compress-md-persona-…
claudioemmanuel Apr 7, 2026
c67daa8
docs: update README with PR1+PR2 features, fresh benchmarks, changelog
claudioemmanuel Apr 7, 2026
1de324d
ci: PR template, linked-issue enforcement, no-claude-trailer check
claudioemmanuel Apr 7, 2026
590b076
fix: resolve gap analysis — new handlers, wider redundancy window, to…
claudioemmanuel Apr 7, 2026
b7233b7
Merge pull request #15 from claudioemmanuel/fix/gap-improvements
claudioemmanuel Apr 7, 2026
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
19 changes: 19 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Linked issue

Closes #<!-- REQUIRED: link to an open issue. PRs without a linked issue will not be merged. -->

## Summary

<!-- What does this PR do? 2-3 bullets. -->

## Test plan

- [ ] `cargo test` passes
- [ ] `bash bench/run.sh` — all fixtures ≥30% reduction, ≤100ms latency
- [ ] `bash bench/run_context.sh` — all context scenarios pass (if touching context engine)

## Checklist

- [ ] Issue is linked above
- [ ] CI is green
- [ ] No `Co-Authored-By:` trailers in commit messages
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ jobs:
cp target/release/squeez "$HOME/.claude/squeez/bin/squeez"
- name: Run benchmarks
run: bash bench/run.sh
- name: Run context-engine benchmarks
run: bash bench/run_context.sh
33 changes: 33 additions & 0 deletions .github/workflows/cleanup-branches.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Delete branch after merge

on:
pull_request:
types: [closed]

jobs:
delete-branch:
if: github.event.pull_request.merged == true && github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Delete merged branch
uses: actions/github-script@v7
with:
script: |
const branch = context.payload.pull_request.head.ref;
const protected = ['main', 'develop'];
if (protected.includes(branch)) {
console.log(`Skipping protected branch: ${branch}`);
return;
}
try {
await github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${branch}`,
});
console.log(`Deleted branch: ${branch}`);
} catch (e) {
console.log(`Branch already deleted or not found: ${branch}`);
}
24 changes: 24 additions & 0 deletions .github/workflows/no-claude-trailer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: No Claude trailer

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
check-commits:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fail if any commit has Claude Co-Authored-By trailer
run: |
base="${{ github.event.pull_request.base.sha }}"
head="${{ github.event.pull_request.head.sha }}"
bad=$(git log "$base".."$head" --format="%B" | grep -iE "^Co-Authored-By:.*noreply@anthropic\.com" || true)
if [ -n "$bad" ]; then
echo "ERROR: commit messages contain Claude Co-Authored-By trailers."
echo "Remove them with: git rebase -i <base> and edit the commit messages."
exit 1
fi
echo "No Claude trailers found — OK"
26 changes: 26 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: PR Checks

on:
pull_request:
types: [opened, edited, synchronize, reopened]

jobs:
require-linked-issue:
if: github.base_ref == 'develop' || github.base_ref == 'main'
runs-on: ubuntu-latest
steps:
- name: Check for linked issue
uses: actions/github-script@v7
with:
script: |
const body = context.payload.pull_request.body || '';
// Accept "Closes #N", "Fixes #N", "Resolves #N" (case-insensitive)
const linked = /(?:closes|fixes|resolves)\s+#\d+/i.test(body);
if (!linked) {
core.setFailed(
'This PR has no linked issue.\n' +
'Add "Closes #<issue-number>" to the PR description before merging.'
);
} else {
console.log('Linked issue found — OK');
}
54 changes: 54 additions & 0 deletions .github/workflows/promote-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Promote develop to main
on:
push:
branches: [develop]
permissions:
contents: write
pull-requests: write
jobs:
create_pr:
runs-on: ubuntu-latest
steps:
- name: Create or update PR to main (using PAT)
if: ${{ secrets.PR_CREATION_TOKEN != '' }}
uses: actions/github-script@v6
with:
github-token: ${{ secrets.PR_CREATION_TOKEN }}
script: |
const prTitle = 'Promote develop to main';
const prBody = 'Automated PR to propose changes from develop to main. Review and merge according to repo policy.';
const { data: prs } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
head: `${context.repo.owner}:develop`,
base: 'main',
});
if (prs.length === 0) {
await github.rest.pulls.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: prTitle,
head: 'develop',
base: 'main',
body: prBody,
});
} else {
const pr = prs[0];
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr.number,
title: prTitle,
body: prBody,
});
}

- name: Skip automatic promotion (no token)
if: ${{ secrets.PR_CREATION_TOKEN == '' }}
run: |
echo "Automatic promotion to main skipped: PR_CREATION_TOKEN secret not set."
echo "To enable automatic promotion, either:"
echo " 1) Enable 'Allow GitHub Actions to create and approve pull requests' in the repository Settings → Actions → General (recommended), or"
echo " 2) Create a Personal Access Token (PAT) with 'repo' scope and add it as a repository secret named 'PR_CREATION_TOKEN'."
echo "Create secret via GH CLI: gh secret set PR_CREATION_TOKEN --body '<your-token>'"
19 changes: 18 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,23 @@ jobs:
name: squeez-linux-aarch64
path: squeez-linux-aarch64

build-windows-x86_64:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build --release --target x86_64-pc-windows-msvc
- name: Rename binary
run: mv target/x86_64-pc-windows-msvc/release/squeez.exe squeez-windows-x86_64.exe
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: squeez-windows-x86_64
path: squeez-windows-x86_64.exe

release:
needs: [build-macos, build-linux-x86_64, build-linux-aarch64]
needs: [build-macos, build-linux-x86_64, build-linux-aarch64, build-windows-x86_64]
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -75,11 +90,13 @@ jobs:
cd squeez-macos-universal && sha256sum squeez-macos-universal > ../checksums.sha256 && cd ..
cd squeez-linux-x86_64 && sha256sum squeez-linux-x86_64 >> ../checksums.sha256 && cd ..
cd squeez-linux-aarch64 && sha256sum squeez-linux-aarch64 >> ../checksums.sha256 && cd ..
cd squeez-windows-x86_64 && sha256sum squeez-windows-x86_64.exe >> ../checksums.sha256 && cd ..
- name: Upload to release
uses: softprops/action-gh-release@v1
with:
files: |
squeez-macos-universal/squeez-macos-universal
squeez-linux-x86_64/squeez-linux-x86_64
squeez-linux-aarch64/squeez-linux-aarch64
squeez-windows-x86_64/squeez-windows-x86_64.exe
checksums.sha256
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@
/bin/
*.DS_Store
.omc/
docs/
.worktrees/

# Bench reports (regenerated on every run)
bench/report.md
bench/report_context.md

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ name = "squeez"
path = "src/lib.rs"

[dependencies]

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[profile.release]
Expand Down
Loading
Loading