Skip to content

Commit ed96ef2

Browse files
author
MSCodeBase Agent
committed
docs(diary): record PR #20 merge, green CI, issues #21/#22 auto-closed
1 parent 4726ff7 commit ed96ef2

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

‎AGENT_DIARY.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,20 @@
2929

3030
---
3131

32+
---
33+
34+
## [2026-09-02] - PR #20 merged green; issues #21/#22 auto-closed
35+
**Status:** Fixed (merged to main, CI fully green)
36+
**Root Cause:** PR #20 (two-pass symbol resolution) introduced 4 CI failures:
37+
1. git_hooks_installer.py:54 - premature """ closed the PRE_COMMIT_HOOK literal -> 91 invalid-syntax (escaped-quote bug; surrounding escaped quotes are intentional, this one wasn't).
38+
2. graph_resolver.py - 5 F401 unused imports + 1 BLE001 (except Exception).
39+
3. test_graph_adapter_node_selection.py tie-test asserted hardcoded Windows path D:/.../pkg_a/impl.py; adapter normalizes file_path via Path.resolve(), so on Linux CI the value differed -> clean-state job failed.
40+
4. test_modification_guard.py:505 - E731 lambda in class attr (ruff lints src/ AND tests/).
41+
**Fix:** reused escaped quotes; trimmed imports + narrowed except; tie-test asserts chosen.file_path.endswith(pkg_a/impl.py) (platform-stable); lambda->def (4cb1b695, 9659f591).
42+
**Guard:** CI Lint(ruff) runs `ruff check src/ tests/` -> verify BOTH incl. tests, not just src/ (checked src/ only first pass).
43+
**Result:** PR #20 merged; issues #21 (ambiguous writes refuse) & #22 (fail-closed anchors / head-freshness) auto-closed via Fixes footer in commit B (cb88c961).
44+
**verified_from_clean_state:** ✅ yes - CI on head 9659f591: test(ubuntu 3.14) PASS, test(windows 3.14) PASS, clean-state PASS, ruff check src/ tests/ PASS; full pre-commit gate-zero for both fix commits.
45+
3246
## [2026-08-31] — Blast radius fix: bare-callee edges now reach qualified method node
3347
**Status:** ✅ Fixed (13+67 tests green, ruff clean; local, not pushed)
3448
**Root Cause:** `impact_analysis("Class.method")` returned 0 callers because the parser intentionally emits BARE callee (`_extract_callee_name`, parser.py:1239-1247, takes last identifier → `list_articles` for `self.devto.list_articles()`), while the definition node is QUALIFIED (`DevToClient.list_articles`). `_candidate_starts` only fanned out to full-qualified matches (`%.DevToClient.list_articles`), so the bare node holding the real CALLS edges never entered the BFS start set — blast radius systematically under-estimated for any object-method call. Confirmed by real parser run on DEV.to/core/pipeline.py:85/135 → callee `list_articles` (bare).

0 commit comments

Comments
 (0)