Mamadou Bah
e7ba16bfa3
skill: add Step 4.5 graph-health gate + anchor caches on the scan root
...
Two integrity improvements to the core skill runbook (rendered via skillgen):
1. Graph-health gate (new Step 4.5): runs diagnostics.diagnose_extraction
read-only after build, before labeling, and surfaces dangling/missing/
self-loop and same-endpoint-collapsed edges — the silent-corruption modes of
incremental updates and AST/LLM id mismatches. Never aborts.
2. Anchor the AST and semantic caches on the scan root (root/cache_root=
'INPUT_PATH') instead of the cwd, matching the CLI extract path
(ast cache_root=out_root, check/save_semantic_cache(root=out_root)) and
build_from_json/save_manifest (#1361 parity). Without this, running from a
cwd != scan root cold-misses the cache and can split AST vs semantic caches.
Source edited in tools/skillgen/fragments/core/core.md; artifacts + expected/
regenerated via 'python -m tools.skillgen' (+ --bless). Full suite green
(2229 passed); skillgen + cache suites green (80 passed).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 12:47:02 +01:00
..
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-22 17:29:33 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-22 17:29:33 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-23 12:47:02 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-02 20:48:13 +01:00
2026-06-02 20:48:13 +01:00
2026-06-19 15:37:11 +01:00
2026-06-19 15:37:11 +01:00
2026-06-22 17:29:33 +01:00