Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Tasks with no open blockers - ready to work on. Use `/ready` to refresh this lis
- Notes: GH#415. pip3 install --user blocked by PEP 668 on modern Ubuntu/Debian. Fix fallback chain: uv -> pipx -> venv+symlink -> pip3 --user (legacy). Affects setup.sh lines ~2408-2432. Workaround: manual venv at ~/.aidevops/.agent-workspace/work/cisco-scanner-env/.
- [ ] t139 bug: memory-helper.sh recall fails on hyphenated queries #bugfix #memory ~30m (ai:20m test:10m) logged:2026-02-07
- Notes: GH#414. Hyphens in FTS5 queries interpreted as NOT operator. "qs-agency" becomes "qs NOT agency" causing column resolution error. Fix: quote hyphenated terms before passing to FTS5 MATCH clause.
- [ ] t138 aidevops update output overwhelms tool buffer on large updates #bugfix #setup ~30m (ai:20m test:10m) logged:2026-02-07
- [x] t138 aidevops update output overwhelms tool buffer on large updates #bugfix #setup ~30m (ai:20m test:10m) logged:2026-02-07 completed:2026-02-07
- Notes: GH#398. Raw git pull diff stat exceeds 51KB tool output limit on large updates (e.g. 500 file rename). Fix: quiet pull + filtered commit log (feat/fix/refactor only, head -20) in cmd_update(). Low severity, only affects large updates.
- [x] t137 Deploy opencode-config-agents.md template via setup.sh #setup #deploy #templates ~30m (ai:20m test:10m) logged:2026-02-07 completed:2026-02-07
- Notes: templates/opencode-config-agents.md exists but setup.sh doesn't deploy it to ~/.config/opencode/AGENTS.md. Add deploy step to setup.sh that copies template to config dir (create dir if needed). Consider whether setup.sh should manage the full content or just the initial reference line. Related: PR #419 (runtime context hint). BLOCKED: Max retries exceeded: backend_infrastructure_error
Expand Down Expand Up @@ -94,7 +94,7 @@ Tasks with no open blockers - ready to work on. Use `/ready` to refresh this lis
- Notes: BLOCKED by supervisor: Max retries exceeded: backend_infrastructure_error - [ ] t135.5.1 git rm --cached .scannerwork/ and .playwright-cli/ ~10m
- [ ] t135.5.2 Add .playwright-cli/ to .gitignore ~5m
- [ ] t135.5.3 Verify .scannerwork/ already in .gitignore ~5m
- [ ] t135.6 P1-C: Fix CI workflow code-quality.yml issues ~1h blocked-by:none
- [x] t135.6 P1-C: Fix CI workflow code-quality.yml issues ~1h blocked-by:none completed:2026-02-07
- [ ] t135.6.1 Fix .agent typo to .agents on line 31 ~5m
- [ ] t135.6.2 Fix references to non-existent .agents/spec and docs/ ~10m
- [ ] t135.6.3 Add enforcement steps (shellcheck, json validation) that fail the build ~45m blocked-by:t135.6.1,t135.6.2
Expand Down
23 changes: 21 additions & 2 deletions aidevops.sh
Original file line number Diff line number Diff line change
Expand Up @@ -554,10 +554,29 @@ cmd_update() {
fi
else
print_info "Pulling latest changes..."
if git pull --ff-only origin main; then
local new_version
local old_hash
old_hash=$(git rev-parse HEAD)

if git pull --ff-only origin main --quiet; then
local new_version new_hash
new_version=$(get_version)
new_hash=$(git rev-parse HEAD)
print_success "Updated to version $new_version"

# Print bounded summary of meaningful changes
if [[ "$old_hash" != "$new_hash" ]]; then
local total_commits
total_commits=$(git rev-list --count "$old_hash..$new_hash")
echo ""
print_info "Changes since $current_version ($total_commits commits):"
git log --oneline "$old_hash..$new_hash" \
| grep -E '^[a-f0-9]+ (feat|fix|refactor|perf|docs):' \
| head -20
if [[ "$total_commits" -gt 20 ]]; then
echo " ... and more (run 'git log --oneline' in $INSTALL_DIR for full list)"
fi
Comment on lines +568 to +577

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The current logic for displaying the commit summary can lead to confusing output. If there are more than 20 total commits but none of them are 'meaningful' (i.e., matching the grep filter), the script will display an empty list followed by an '... and more' message.

To make the output clearer, I suggest counting the meaningful commits first and only displaying the summary and the '... and more' message based on that count. This avoids ambiguity and provides a better user experience.

Suggested change
local total_commits
total_commits=$(git rev-list --count "$old_hash..$new_hash")
echo ""
print_info "Changes since $current_version ($total_commits commits):"
git log --oneline "$old_hash..$new_hash" \
| grep -E '^[a-f0-9]+ (feat|fix|refactor|perf|docs):' \
| head -20
if [[ "$total_commits" -gt 20 ]]; then
echo " ... and more (run 'git log --oneline' in $INSTALL_DIR for full list)"
fi
local total_commits
total_commits=$(git rev-list --count "$old_hash..$new_hash")
# Count meaningful commits to avoid confusing output if none are found.
# `|| true` prevents script exit if grep finds no matches.
local meaningful_commits_count
meaningful_commits_count=$(git log --oneline "$old_hash..$new_hash" | grep -cE '^[a-f0-9]+ (feat|fix|refactor|perf|docs):' || true)
if [[ "${meaningful_commits_count:-0}" -gt 0 ]]; then
echo ""
print_info "Changes since $current_version ($total_commits commits, $meaningful_commits_count meaningful):"
git log --oneline "$old_hash..$new_hash" \
| grep -E '^[a-f0-9]+ (feat|fix|refactor|perf|docs):' \
| head -20
if [[ "$meaningful_commits_count" -gt 20 ]]; then
echo " ... and more (run 'git log --oneline' in $INSTALL_DIR for full list)"
fi
fi

fi

echo ""
print_info "Running setup to apply changes..."
bash "$INSTALL_DIR/setup.sh"
Expand Down
Loading