Skip to content

docs: retire the historical dashboard capture pack - #3963

Closed
luvs01 wants to merge 1 commit into
lidge-jun:devfrom
luvs01:agent/dashboard-capture-retention-20260908
Closed

docs: retire the historical dashboard capture pack#3963
luvs01 wants to merge 1 commit into
lidge-jun:devfrom
luvs01:agent/dashboard-capture-retention-20260908

Conversation

@luvs01

@luvs01 luvs01 commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

The historical 260904_dashboard_minimal review unit retains a live dashboard capture pack after its inventory and review conclusions were recorded. Retire the pack from the current tree: 28 PNG captures and 32 visible-text/interactive-control snapshots, totaling 4,513,616 bytes. The raw captures are unnecessary for the retained source inventory and review conclusions; this change does not assert that every capture contains sensitive information or remove Git history.

Update only the unit's inventory and review introduction. Preserve every route, source reference, control count, word count and original reviewer conclusion. Keep the Korean/1440-pixel capture conditions and the distinction between Storage's mid-scan skeleton and its source-based inventory. Remove the obsolete screenshot column; explain that bare filenames quoted in the reviewers' original reasoning are historical references, not current assets.

The 62-file scope is one historical documentation unit: 60 asset deletions and two Markdown edits. It contains no dashboard implementation, runtime, configuration, package or test changes.

Verification

  • Rebased onto dev 74f62f9c2914ead2fba474aa97734e322251bd46; head 5497cd9943c4b4c26e7b99926d9f0725b16f1cce. The historical unit's upstream contents did not change; both edited Markdown files retain identical bytes and all 60 retired assets remain absent after rebase.
  • Before applying the isolated retention change, all 62 current source blobs matched its declared preimage. The unrelated commits and files from the older proposal were excluded.
  • The current tree contains none of the 60 retired assets. The unit's indexed Markdown has no image links, asset links or assets/ references. Historical bare filenames in reviewer reasoning remain deliberately documented.
  • Direct comparison verifies that all 17 inventory rows retain their four substantive columns exactly. The screenshot column is the only removed table field.
  • Independent read-only review of both Markdown diffs found no required corrections and confirmed that capture conditions, Storage evidence limitations and original review conclusions are preserved.
  • Typecheck, git diff --check and the repository privacy scanner passed on the rebased head. The sparse checkout includes the changed Markdown, source, scripts and documentation; omitted unrelated files are outside this local scan. Images and raw text captures were not opened or displayed.
  • bun run --cwd docs-site build passed on the rebased head and produced 425 pages in 32.94 seconds.
  • The current 17-row/four-column comparison is exact, including the complete element-level notes below the table. All 60 retired assets are absent from the current tree. Full contributor CI is running. CodeRabbit reviewed this head and reported no findings, confirming the 17 rows/four columns, preserved evidence limits and 60 asset removals. The PR remains in draft until CI completes.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Review readiness checklist

  • All CI tests are green on my local testing.
  • I pushed my PR to the latest dev commit.
  • I resolved all correct Codex and CodeRabbit findings.
  • My PR is ready for review.

Summary by CodeRabbit

  • Documentation

    • Removed obsolete dashboard capture inventories and UI text snapshots from planning documentation.
    • Updated inventory notes to reflect that reviewed evidence packets and capture assets are no longer retained.
    • Preserved historical route, control-count, source, and review conclusions where applicable.
    • Clarified that storage’s initial display is documented separately from its source-based inventory.
  • Chores

    • Cleaned up generated evidence artifacts and accessibility inventories across dashboard, provider, model, usage, logs, integrations, and storage documentation.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 4d5b0696-72a1-46dc-aea9-edee65e9748e

📥 Commits

Reviewing files that changed from the base of the PR and between 5cd71ec and 29a69c9.

⛔ Files ignored due to path filters (28)
  • devlog/_plan/260904_dashboard_minimal/assets/011_sidebar_footer_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/011_star_in_update_dialog.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/021_dashboard_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/021_startup_autostart_row.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/031_models_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/031_models_disclosures_open.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/041_integrations_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_more_open.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/061_usage_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/071_startup_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/081_subagents_after.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/codex-set_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/integrations_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/logs_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/logs_debug_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/models_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/models_combos_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/models_routing_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/providers_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/startup_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/storage_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/subagents_1440.png is excluded by !**/*.png
  • devlog/_plan/260904_dashboard_minimal/assets/usage_1440.png is excluded by !**/*.png
📒 Files selected for processing (34)
  • devlog/_plan/260904_dashboard_minimal/000_inventory.md
  • devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md
  • devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_debug_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_debug_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_combos_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_combos_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/startup_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/startup_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/storage_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/storage_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt
💤 Files with no reviewable changes (32)
  • devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/storage_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_combos_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_combos_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_debug_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/startup_interactive.txt
  • devlog/_plan/260904_dashboard_minimal/assets/logs_debug_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/startup_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/storage_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt
  • devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The PR removes dashboard capture assets and updates the inventory and reviewer notes to describe the temporary evidence packet. The route inventory retains source, control, and text counts while removing screenshot references.

Changes

Dashboard evidence cleanup

Layer / File(s) Summary
Remove dashboard capture assets
devlog/_plan/260904_dashboard_minimal/assets/*
Dashboard text and interactive capture files are removed from the planning tree.
Update evidence documentation
devlog/_plan/260904_dashboard_minimal/000_inventory.md, devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md
The documents state that the temporary capture packet was removed. The route inventory removes screenshot columns and filenames while retaining other counts.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 29a69

This change removes historical dashboard captures and updates their documentation without changing application behavior, configuration, or runtime code. No current merge-blocking risk is identified.

Suggested reviewers: lidge-jun

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: retiring the historical dashboard capture pack. It matches the deletion of the dashboard assets and related documentation updates.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • review readiness checklist open (2/4 boxes ticked).

What to do

  • Tick all four boxes in the PR description once you're done (currently 2/4).

Review readiness checklist

  • ⬜ All CI tests are green on my local testing.
  • ✅ I pushed my PR to the latest dev commit.
  • ✅ I resolved all correct Codex and CodeRabbit findings.
  • ⬜ My PR is ready for review.

2/4 boxes ticked.

This PR stays in draft until every box above is ticked.

Hygiene

Deterministic PR hygiene checks passed.

@luvs01

luvs01 commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@lidge-jun

Copy link
Copy Markdown
Owner

리뷰 · 우선순위 38 / 80

이 PR은 역사 문서 유닛 devlog/_plan/260904_dashboard_minimal에 남아 있던 라이브 대시보드 캡처 팩을 트리에서 치웁니다. PNG 28장과 visible-text/interactive 스냅샷 32개(합계 약 4.5MB)를 지우고, 000_inventory.md / 001_subagent_opinions.md만 고쳐서 인벤토리·리뷰 결론·한글/1440 조건·Storage mid-scan vs source inventory 구분은 남깁니다. 스크린샷 열만 빼고, 본문에 남은 파일 이름 인용은 “예전에 있던 증거”라고 설명합니다. 대시보드 구현·런타임·설정·패키지·테스트는 건드리지 않습니다.

지금 dev는 릴리스 열차와 프로바이더/쿼터/Responses 호환이 앞에 있고, 문서-only retention 청소는 #3959/#3955 같은 최근 패턴과 같은 줄입니다. 다만 이 PR은 draft이고, 런타임 버그나 사용자 막힘과 무관합니다. privacy:scan이나 저장소 비대화 완화에는 도움이 되지만, dev tip을 막는 작업은 아닙니다. types.ts/config.ts 분할과도 무관합니다.

경로 60개 assets 삭제 - Git 히스토리의 바이너리는 그대로 남습니다. PR 본문도 “히스토리까지 지우지 않는다”고 명시했습니다. 트리에서만 빼는 목표와 맞습니다.

경로 000_inventory.md - 스크린샷 열 제거 후에도 17행의 네 핵심 열이 그대로인지 diff로 확인했다고 합니다. 머지 전 그 주장만 한 번 더 눈으로 보면 됩니다.

경로 draft - ready 표시와 CI(문서 전용) 확인 전에는 머지 큐에 올리지 않는 편이 낫습니다.

메인테이너의 판단이 필요한 지점

  • 지금 당장 트리 용량/프라이버시 정리로 넣을지, 아니면 다음 docs 묶음에 태울지
  • draft를 ready로 올린 뒤에도 별도 privacy 라벨/체크가 필요한지
  • 같은 유닛에 다른 민감 캡처가 더 있는지 한 번만 훑을지

너의 추천
급하지 않습니다. draft를 ready로 만들고 CI만 확인한 뒤, 다음 문서 청소 묶음에 넣으세요. 런타임 PR보다 뒤로 두어도 dev 방향과 충돌하지 않습니다.

이 댓글은 grok-bot이 작성했습니다

@luvs01
luvs01 force-pushed the agent/dashboard-capture-retention-20260908 branch from 29a69c9 to 438e2d0 Compare September 8, 2026 02:06
@luvs01
luvs01 force-pushed the agent/dashboard-capture-retention-20260908 branch from 438e2d0 to 5497cd9 Compare September 8, 2026 07:44
@luvs01

luvs01 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

Please review current head 5497cd9943c4b4c26e7b99926d9f0725b16f1cce, rebased onto dev 74f62f9c2914ead2fba474aa97734e322251bd46. The historical unit's upstream contents did not change, and both edited Markdown files retain identical bytes across the rebase. The 17 inventory rows and four substantive columns, element-level notes, capture conditions and Storage evidence limits remain preserved; all 60 retired assets remain absent. The documentation build produced 425 pages on this head, and typecheck/privacy/diff checks passed. Full contributor CI is starting.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='5497cd9943c4b4c26e7b99926d9f0725b16f1cce'
base='74f62f9c2914ead2fba474aa97734e322251bd46'
unit='devlog/_plan/260904_dashboard_minimal'

echo '== Commit identity and ancestry =='
git show -s --format='HEAD %H%nParents %P%nSubject %s' "$head"
git merge-base --is-ancestor "$base" "$head" && echo "BASE_IS_ANCESTOR=yes" || echo "BASE_IS_ANCESTOR=no"
git diff-tree --no-commit-id --name-status -r "$head"

echo
echo '== Change summary against stated base =='
git diff --stat "$base" "$head"
echo '-- changed paths --'
git diff --name-status "$base" "$head"

echo
echo '== Current unit tree =='
fd . "$unit" --type f | sort

echo
echo '== Edited Markdown diff with line context =='
git diff --unified=80 "$base" "$head" -- \
  "$unit/000_inventory.md" \
  "$unit/001_subagent_opinions.md"

echo
echo '== Current Markdown files with line numbers =='
for f in "$unit/000_inventory.md" "$unit/001_subagent_opinions.md"; do
  echo "-- $f --"
  nl -ba "$f"
done

echo
echo '== Deleted asset count and remaining current assets =='
deleted_assets=$(git diff --name-only --diff-filter=D "$base" "$head" -- "$unit/assets" | wc -l)
printf 'deleted_assets=%s\n' "$deleted_assets"
if test -d "$unit/assets"; then
  fd . "$unit/assets" --type f | sort
else
  echo 'assets_directory_absent=yes'
fi

echo
echo '== References to deleted asset basenames outside deleted files =='
tmp=$(mktemp)
git diff --name-only --diff-filter=D "$base" "$head" -- "$unit/assets" |
  xargs -r -n1 basename > "$tmp"
while IFS= read -r asset; do
  rg -n -F --glob '!devlog/_plan/260904_dashboard_minimal/assets/**' -- "$asset" . || true
done < "$tmp"
rm -f "$tmp"

echo
echo '== Markdown links targeting the retired assets directory =='
rg -n -P '\]\([^)]*260904_dashboard_minimal/assets|260904_dashboard_minimal/assets/' --glob '*.md' . || true

Length of output: 31770


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='5497cd9943c4b4c26e7b99926d9f0725b16f1cce'
base='74f62f9c2914ead2fba474aa97734e322251bd46'
unit='devlog/_plan/260904_dashboard_minimal'

echo '== Complete edited Markdown files with line numbers =='
for f in "$unit/000_inventory.md" "$unit/001_subagent_opinions.md"; do
  echo "-- $f --"
  awk '{ printf "%6d  %s\n", NR, $0 }' "$f"
done

echo
echo '== Deleted asset count, types, and byte total =='
git diff --name-only --diff-filter=D "$base" "$head" -- "$unit/assets/" > /tmp/deleted-dashboard-assets.txt
printf 'deleted_asset_count='
wc -l < /tmp/deleted-dashboard-assets.txt
printf 'deleted_png_count='
grep -Ec '\.png$' /tmp/deleted-dashboard-assets.txt || true
printf 'deleted_text_snapshot_count='
grep -Ec '\.txt$' /tmp/deleted-dashboard-assets.txt || true
git diff --numstat "$base" "$head" -- "$unit/assets/" |
  awk -F '\t' '
    $1 == "-" && $2 == "-" { next }
    { added += $1; deleted += $2 }
    END { printf "deleted_text_lines=%d\n", deleted }'

echo
echo '== Deleted binary byte total from base tree =='
git ls-tree -rl "$base" -- "$unit/assets/" |
  awk '{sum += $4} END {printf "deleted_base_bytes=%d\n", sum}'

echo
echo '== Remaining unit references to retired asset names =='
while IFS= read -r asset_path; do
  asset_name=${asset_path##*/}
  matches=$(grep -RInF --exclude-dir=assets -- "$asset_name" "$unit" || true)
  if [ -n "$matches" ]; then
    printf '%s\n' "$matches"
  fi
done < /tmp/deleted-dashboard-assets.txt

echo
echo '== Repository Markdown references to retired assets directory =='
grep -RInE --include='*.md' \
  '260904_dashboard_minimal/assets/|assets/[[:alnum:]_.-]+_(1440|text|interactive)\.(png|txt)' \
  . || true

echo
echo '== Markdown inline-link destinations that no longer exist =='
python3 - <<'PY'
import os, re
root = os.getcwd()
for directory, _, files in os.walk(root):
    if '/.git' in directory:
        continue
    for name in files:
        if not name.endswith('.md'):
            continue
        path = os.path.join(directory, name)
        try:
            text = open(path, encoding='utf-8').read()
        except UnicodeDecodeError:
            continue
        for line_no, line in enumerate(text.splitlines(), 1):
            for target in re.findall(r'\]\(([^ )#]+)', line):
                if '://' in target or target.startswith(('mailto:', '#')):
                    continue
                candidate = os.path.normpath(os.path.join(directory, target))
                if not os.path.exists(candidate):
                    print(f'{os.path.relpath(path, root)}:{line_no}: missing target: {target}')
PY

Length of output: 203150


🏁 Script executed:

#!/bin/bash
set -euo pipefail

head='5497cd9943c4b4c26e7b99926d9f0725b16f1cce'
base='74f62f9c2914ead2fba474aa97734e322251bd46'
unit='devlog/_plan/260904_dashboard_minimal'
prior_log='/tmp/coderabbit-shell-logs/shell-output-JAQFs0'

echo '== Prior-log sections before the broad link heuristic =='
sed -n '1,/== Markdown inline-link destinations that no longer exist ==/p' "$prior_log"

echo
echo '== Changed lines only =='
git diff --unified=0 "$base" "$head" -- \
  "$unit/000_inventory.md" \
  "$unit/001_subagent_opinions.md"

echo
echo '== Inventory table validation =='
awk '
  /^\| Route \| Source \| Interactive \| Words \|$/ { in_table=1; next }
  in_table && /^\|---\|---\|---\|---\|$/ { next }
  in_table && /^\|/ {
    rows++
    pipes=gsub(/\|/, "&")
    if (pipes != 5) invalid++
    next
  }
  in_table { in_table=0 }
  END {
    printf "inventory_data_rows=%d\n", rows
    printf "rows_with_invalid_column_count=%d\n", invalid
  }
' "$unit/000_inventory.md"

echo
echo '== References to each deleted asset outside the deleted directory =='
git diff --name-only --diff-filter=D "$base" "$head" -- "$unit/assets/" |
while IFS= read -r deleted; do
  name=${deleted##*/}
  grep -RInF --exclude-dir=assets -- "$name" "$unit" || true
done

echo
echo '== Links to deleted unit assets in the current tree =='
grep -RInE --include='*.md' \
  '(260904_dashboard_minimal/)?assets/[^ )]+(\.png|\.txt)' \
  "$unit" .github README.md docs-site 2>/dev/null || true

echo
echo '== Current assets directory status =='
if test -e "$unit/assets"; then
  echo 'assets_path_exists=yes'
  find "$unit/assets" -type f -print
else
  echo 'assets_path_exists=no'
fi

Length of output: 149613


@luvs01 Reviewed 5497cd9943c4b4c26e7b99926d9f0725b16f1cce.

No findings.

The commit is directly based on 74f62f9c2914ead2fba474aa97734e322251bd46. It changes only the two stated Markdown files and deletes the stated 60 assets: 28 PNG files and 32 text snapshots, totaling 4,513,616 bytes.

devlog/_plan/260904_dashboard_minimal/000_inventory.md retains 17 inventory rows. Each row has the four intended columns: Route, Source, Interactive, and Words. The capture conditions and the Storage mid-scan/source-inventory limitation remain clear.

devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md identifies remaining asset filenames as historical references. No current Markdown link targets the removed asset directory.

The hosted contributor CI remains pending and is the remaining merge gate.

⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

lidge-jun added a commit that referenced this pull request Sep 8, 2026
…lback test (#4053)

* test(cli): make stale-port status fixture deterministic

Carried from #3980 (author yansigit) for maintainer-side CI and sequential integration.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

* refactor(router): isolate API-key selection capture

Carried from #3897 (author parkjs101) for maintainer-side CI and sequential integration.
Closes #3894

Co-authored-by: parkjs101 <93533648+parkjs101@users.noreply.github.com>

* docs: retire the historical dashboard capture pack

Carried from #3963 (author luvs01) for maintainer-side CI and sequential integration.

Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>

* refactor(gui): stabilize model feedback callback dependencies

Carried from #3984 (author yansigit) for maintainer-side CI and sequential integration.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

* test(gui): pin the publishFeedback callback identity

#3984 changes publishFeedback to a useCallback and adds it to saveDisplayName's
dependency array, but shipped without coverage, so the hygiene gate flags
missing_regression_test. This source-oracle test asserts both halves and fails
on dev without the fix (0 pass / 2 fail), so the suppression cannot come back
unnoticed.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

* chore(assets): file the #3984 screenshot with the others

#3984 added its review screenshot under a new assets/pr-screenshots/ directory.
The repository's nineteen existing PR screenshots all live in
docs-site/public/pr-screenshots/, so this moves it there and keeps the new
top-level directory out of the tree.

Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>

---------

Co-authored-by: t <a@b.com>
Co-authored-by: yansigit <44089734+yansigit@users.noreply.github.com>
Co-authored-by: parkjs101 <93533648+parkjs101@users.noreply.github.com>
Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
@lidge-jun

Copy link
Copy Markdown
Owner

Landed on dev in 164bd2b via #4053, which carried four reviewed changes as one sequential integration branch. Your commit is preserved in the squash body with a Co-authored-by trailer, so the contribution stays attributed to you.

Verification at the merged head e52116316: Cross-platform CI run 34265891731 finished with 19 jobs successful and 0 failures, bun x tsc --noEmit exit 0, and the changed test files pass. An independent review confirmed the stacked tree is byte-identical to the union of the carried diffs.

Closing this PR because the change is already on dev. Thank you.

@lidge-jun lidge-jun closed this Sep 8, 2026
@lidge-jun

Copy link
Copy Markdown
Owner

Landed via #4053 at 164bd2b

@lidge-jun lidge-jun added the landed-via-maintainer Original PR closed after landing via a maintainer merge train label Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation landed-via-maintainer Original PR closed after landing via a maintainer merge train

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants