Skip to content

fix: restore real skip-list defaults in scan_config.yaml#127

Merged
manager-identity[bot] merged 1 commit into
mainfrom
fix/scan-config-populate-defaults
May 11, 2026
Merged

fix: restore real skip-list defaults in scan_config.yaml#127
manager-identity[bot] merged 1 commit into
mainfrom
fix/scan-config-populate-defaults

Conversation

@manager-identity
Copy link
Copy Markdown
Contributor

Summary

  • config/scan_config.yaml (bundled by commit d313677 on 2026-04-25) shipped with empty skip_dirs / skip_files / skip_patterns / ignore_projects / protected_projects. The graph builder at scripts/discovery/graph_builder.py:54-58 reads those lists; with them empty, every rebuild for ~2 weeks ingested venv/.venv/node_modules/.git, build output, and projects explicitly excluded from scans (openclaw, dreamhost-backup, github-repos, nanoclaw, etc.), collapsing the project graph into a single dense hairball.
  • This PR populates the lists with the real defaults already used by project-scaffolding/config/scan_config.yaml, completing the intent of d313677 (project-tracker self-contained for graph scanning) without behavioural regression.
  • After fix: data/graph.json 44 MB → 3.3 MB (4,500 nodes / 8,241 edges with clean project galaxies); brain.db graph 236,022 edges → 90,288 edges.

Test plan

  • tests/test_config_and_cron_fallbacks.py::test_graph_builder_uses_bundled_scan_config_without_warning passes (no "Config not found" warning, CONFIG_PATH is bundled and exists).
  • tests/test_config_and_cron_fallbacks.py::test_config_runtime_defaults_are_project_tracker_local passes (no project-scaffolding in runtime defaults).
  • python -c "import yaml; c=yaml.safe_load(open('config/scan_config.yaml'))"skip_dirs 27 entries, ignore_projects 7 entries (openclaw, dreamhost-backup, github-repos, kaperion, nanoclaw, writing, fci-plugins).
  • ./pt graph build --force produces healthy graph (90,288 edges, distinct project communities); data/graph.json rebuild produces clean galaxies as confirmed by visual diff against 2026-04-25 baseline screenshot.

Related

  • Closes #6060
  • Completes commit d313677 (which moved CONFIG_PATH to bundled location but shipped empty defaults)

Commit d313677 (2026-04-25) bundled config/scan_config.yaml inside
project-tracker to drop the cross-project dependency on
project-scaffolding, but shipped it with empty skip_dirs / skip_files /
skip_patterns / ignore_projects / protected_projects. Every graph
rebuild for the past two weeks ingested vendored deps (venv, .venv,
node_modules, .git), build output (dist, build, .next), and projects
that were explicitly excluded (openclaw, dreamhost-backup, github-repos,
etc.), collapsing the project graph from clean per-project galaxies
into a single dense hairball.

Populate the bundled YAML with the real defaults that were already
working in project-scaffolding/config/scan_config.yaml. This completes
the intent of d313677 — project-tracker is now genuinely self-contained
for graph scanning, with no behavioural regression.

After fix:
- data/graph.json: 44 MB / hairball → 3.3 MB / 4,500 nodes / 8,241
  edges with distinct project communities.
- brain.db graph: 236,022 edges → 90,288 edges.
- tests/test_config_and_cron_fallbacks.py regression tests pass.

Closes #6060.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@manager-identity manager-identity Bot added the bug Something isn't working label May 11, 2026
@manager-identity manager-identity Bot merged commit 70d53a1 into main May 11, 2026
2 checks passed
@manager-identity manager-identity Bot deleted the fix/scan-config-populate-defaults branch May 11, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants