From 3805d83e81b97630432206823ad894e79ec0b846 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Jul 2026 17:28:19 +0000 Subject: [PATCH 1/3] Log doc-audit run for meta-audit tracking Records this run's findings (PR #706) in the meta-audit history log. --- .claude/skills/meta-audit/history/doc-audit.jsonl | 1 + 1 file changed, 1 insertion(+) diff --git a/.claude/skills/meta-audit/history/doc-audit.jsonl b/.claude/skills/meta-audit/history/doc-audit.jsonl index 5eaa8660..4b204c0b 100644 --- a/.claude/skills/meta-audit/history/doc-audit.jsonl +++ b/.claude/skills/meta-audit/history/doc-audit.jsonl @@ -9,3 +9,4 @@ {"type":"run","date":"2026-07-05","commit_sha":"a2512c810159c5b21040be8d4ea683165c019336","pr_url":"https://github.com/stphung/quest/pull/693","agent_count":6,"scope":["CLAUDE.md","docs/*.md","docs/dossiers/*.md","README.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md"],"findings":[{"location":"src/ui/CLAUDE.md:86","claim":"Module Structure table omits src/ui/vessel_transition_fx.rs","correct_value":"vessel_transition_fx.rs exists on disk (5-beat launch transition animation, Act 2 kill-switch gated); added row after vessel_scene.rs","severity":"HIGH","category":"missing-file-in-inventory","auto_fixed":true},{"location":"src/main_helpers/CLAUDE.md:19","claim":"persistence.rs entry only documents save_all()","correct_value":"persistence.rs also exposes save_files() (JSON-only save), commit_save() (git commit only), and spawn_background_save() (spawns a background thread for autosave)","severity":"MEDIUM","category":"missing-function-in-doc","auto_fixed":true},{"location":"src/main_helpers/CLAUDE.md:30","claim":"save_all() is the single save entry point, called from input routing on NeedsSave* results and on quit","correct_value":"main.rs also calls save_files()/commit_save() directly at ~10 call sites, and the 30s autosave goes through spawn_background_save(), not save_all()","severity":"MEDIUM","category":"stale-behavior-description","auto_fixed":true},{"location":"src/main_helpers/CLAUDE.md:15","claim":"cloud_ops.rs entry only documents reload_account_state()","correct_value":"cloud_ops.rs also exposes spawn_cloud_push() (spawns a background thread to push all branches to cloud)","severity":"LOW","category":"missing-function-in-doc","auto_fixed":true},{"location":"src/achievements/CLAUDE.md:30","claim":"Prestige milestones: FirstPrestige..Prestige10000 (18 milestones), omitting P100","correct_value":"AchievementId has 19 Prestige variants; P100 (Eternal) sits between PrestigeXC (P90) and Prestige150 per milestones.rs:124","severity":"MEDIUM","category":"stale-enum-count","auto_fixed":true},{"location":"src/vessel/CLAUDE.md:182","claim":"RIFTGLASS_BASE_HOURS_TO_FULL described as a voyage_simulator/ferryman_tests strategy_sweep-validated starting value","correct_value":"src/vessel/colony.rs:84-89 doc comment says it is NOT yet simulator-validated against the era's ~3-real-month pacing target; the referenced ferryman_tests are #[ignore]d manual tuning sweeps, not automated validation","severity":"MEDIUM","category":"doc-contradicts-source-comment","auto_fixed":true}]} {"type":"run","date":"2026-07-06","commit_sha":"f46170dfd04eab6bc0662510163c68a31d27e153","pr_url":"https://github.com/stphung/quest/pull/697","agent_count":6,"scope":["CLAUDE.md","docs/*.md","docs/dossiers/*.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md","README.md"],"findings":[{"location":"src/dungeon/CLAUDE.md:93","claim":"Defeat boss -> `boss_defeated = true` -> dungeon complete","correct_value":"Defeat boss -> dungeon cleared (`state.active_dungeon = None`), emits `DungeonEvent::DungeonComplete` -> dungeon complete","severity":"MEDIUM","category":"stale-claim","auto_fixed":true},{"location":"src/items/CLAUDE.md:90","claim":"Base attribute ranges at ilvl 10 ..., 1-3 random attributes","correct_value":"Attribute count varies by rarity per the table below (Common 1 .. Legendary 4-6), not a flat 1-3","severity":"LOW","category":"stale-claim","auto_fixed":true},{"location":"src/achievements/CLAUDE.md:34","claim":"Challenges: 4 difficulties per game type (Chess, Morris, Gomoku, Minesweeper, Rune, Go, FlappyBird, Snake, ContainmentBreach, SigilSurge, SigilMatrix, ShardFusion) + GrandChampion","correct_value":"List omitted RunicLights and VaultWarden, both present in AchievementId's 240 variants","severity":"MEDIUM","category":"stale-type-variant","auto_fixed":true},{"location":"src/utils/CLAUDE.md:19","claim":"UpdateInfoStatus: UpdateAvailable(UpdateInfo), UpToDate, or CheckFailed(String)","correct_value":"UpToDate is a struct variant: UpToDate { current_and_previous, current_and_previous_times }","severity":"MEDIUM","category":"stale-type-variant","auto_fixed":true},{"location":"README.md:4,116","claim":"Repo is MIT licensed (badge + footer text)","correct_value":"No LICENSE file exists in the repo and Cargo.toml has no license field -- claim is currently unsubstantiated","severity":"LOW","category":"missing-file","auto_fixed":false}]} {"type":"run","date":"2026-07-07","commit_sha":"55f5cb9f07c1a2211154289d424960484d660614","pr_url":"https://github.com/stphung/quest/pull/702","agent_count":6,"scope":["CLAUDE.md","openspec/README.md","docs/dossiers/act1-ascent.md","docs/dossiers/act2-pilgrimage.md","README.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md"],"findings":[{"location":"CLAUDE.md:17, openspec/README.md:22","claim":"OpenSpec baseline is 20 capabilities, 197 requirements, 500+ scenarios","correct_value":"20 capabilities, 208 requirements, 498 scenarios","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/challenges/CLAUDE.md:88","claim":"tick_stages.rs Stage 1 duplicates only the chess/morris/gomoku/go dispatch logic instead of calling facade.rs","correct_value":"Stage 1 also dispatches Shard Fusion (shard_fusion::tick_shard_fusion), a case facade.rs does not cover","severity":"MEDIUM","category":"stale-description","auto_fixed":true},{"location":"src/dungeon/CLAUDE.md:103","claim":"generate_dungeon_enemy/elite/boss live in combat/logic.rs","correct_value":"these functions live in combat/enemy_generation.rs","severity":"LOW","category":"wrong-file-attribution","auto_fixed":true}]} +{"type":"run","date":"2026-07-08","commit_sha":"e5a70f04aa2e757d78403b29337784c1da54aa03","pr_url":"https://github.com/stphung/quest/pull/706","agent_count":6,"scope":["CLAUDE.md","README.md","docs/dossiers/act1-ascent.md","docs/dossiers/act2-pilgrimage.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md"],"findings":[{"location":"src/deep/CLAUDE.md","claim":"No documentation of mercenary quality promotion anywhere in the module doc","correct_value":"mercenaries.rs implements a full promotion system (promotion_missions_required, promotion_guild_rank_required, promotion_cost, can_promote, promote_mercenary, promote_merc_by_id) wired into input/deep_input.rs","severity":"HIGH","category":"missing-module-doc","auto_fixed":true},{"location":"README.md:4,116","claim":"MIT License badge and \"Open source under the MIT License\" statement","correct_value":"No LICENSE file exists in the repo and Cargo.toml has no license field","severity":"MEDIUM","category":"stale-readme-claim","auto_fixed":false},{"location":"src/core/CLAUDE.md:11","claim":"discoveries.rs # Discovery rolls (dungeons, fishing spots, Haven, Soulforge, The Deep)","correct_value":"discoveries.rs only contains try_discover_dungeon(); fishing/Haven/Soulforge/Deep discovery live in their own modules","severity":"MEDIUM","category":"stale-module-description","auto_fixed":true},{"location":"src/deep/CLAUDE.md:91-99","claim":"GuildRank table lists only Required Breakthrough as the gate","correct_value":"economy.rs::guild_upgrade_cost() also requires Warband Marks (200/500/1200/3000)","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/input/CLAUDE.md:19","claim":"voyage_input.rs description predates Dock/Reckoning/Record views and Jump/BuyDrive/BuyCapacity/BuyWard result variants","correct_value":"VoyageView gained Record/Reckoning/Dock variants; VoyageInputResult gained Jump/BuyDrive/BuyCapacity/BuyWard variants (commit 3afd852)","severity":"MEDIUM","category":"stale-type-or-enum","auto_fixed":true},{"location":"CLAUDE.md:219 (+ src/combat/CLAUDE.md:57)","claim":"Boss death resets to subzone 1","correct_value":"Boss death retreats to Subzone 1 of the highest zone with a defeated boss (Zone 1 if none) per resolve_combat_retreat()","severity":"MEDIUM","category":"stale-type-or-enum","auto_fixed":true},{"location":"docs/dossiers/act1-ascent.md:168","claim":"the player is quicker than any of them [enemy roles]","correct_value":"Zone boss ties the player's attack pace (1.5s each) and the dungeon boss is faster (1.4s) per core/constants.rs","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/items/CLAUDE.md:117","claim":"God item power scoring is deferred (#272)","correct_value":"Issue #272 is closed as not_planned, not deferred/pending","severity":"MEDIUM","category":"stale-external-reference","auto_fixed":true},{"location":"CLAUDE.md:188","claim":"XP gain: Only from defeating enemies (200-400 XP per kill)","correct_value":"200-400 ticks of passive XP per kill, scaled by prestige multiplier + Haven bonus (matches core/CLAUDE.md's own phrasing)","severity":"LOW","category":"stale-constant","auto_fixed":true},{"location":"src/zones/CLAUDE.md:226","claim":"UI displays a POST row for zones 12-30","correct_value":"No 'POST' string exists anywhere in src/; actual UI is a Zone gauge plus a gate-hint row","severity":"LOW","category":"stale-integration-point","auto_fixed":true},{"location":"src/power_cores/CLAUDE.md","claim":"Key Functions list missing fill_ratio()","correct_value":"types.rs::fill_ratio(elapsed, fill_secs) exists and is used by ui/stats_prestige.rs","severity":"LOW","category":"missing-module-doc","auto_fixed":true},{"location":"src/dungeon/CLAUDE.md:12","claim":"facade.rs # DungeonInput struct and tick_dungeon_facade() for decoupled dungeon ticking","correct_value":"DungeonInput is defined but never constructed/used anywhere in the repo; tick_dungeon_facade() takes loose params directly","severity":"LOW","category":"stale-type-or-enum","auto_fixed":true},{"location":"README.md:63","claim":"make setup # First time: configure git hooks","correct_value":"make setup also installs the OpenSpec CLI via the openspec-setup target","severity":"LOW","category":"stale-readme-claim","auto_fixed":false}]} From 43b0a4032f5aa164d00fd03ec3d9118a624f209f Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Jul 2026 17:34:24 +0000 Subject: [PATCH 2/3] meta-audit: fix doc-audit scope rot, add openspec/README.md scope gap Agent 1's Scope: line still named 6 docs/*.md files (system-design, core-systems, secondary-systems, balancing, challenge-minigames, infrastructure) that were deleted on 2026-07-04 when OpenSpec became the source of truth (#675) -- predating 4 of the last 5 evaluated doc-audit runs. Updated it to reflect the current docs/*.md contents. Also closes a scope gap: openspec/README.md carries its own copy of the capability/requirement/scenario counts (independent of CLAUDE.md's copy), and PR #702 already caught it drifting on its own -- formalized it into the scope-universe and Agent 1's Scope: line so coverage isn't incidental. Re-verified all 20 sampled findings from the 5 runs since the last eval marker (PR666, PR693, PR697, PR702, PR706) against source as of each run's commit -- zero inaccuracies found across the sample. --- .claude/skills/doc-audit/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/doc-audit/SKILL.md b/.claude/skills/doc-audit/SKILL.md index 12e4f1f9..678984f5 100644 --- a/.claude/skills/doc-audit/SKILL.md +++ b/.claude/skills/doc-audit/SKILL.md @@ -3,7 +3,7 @@ name: doc-audit description: Multi-agent developer documentation audit — finds stale constants, missing files, and outdated types across CLAUDE.md files, README.md, and docs/. Use when docs are stale, after adding features, or before releases. --- - + # Audit Developer Documentation @@ -25,7 +25,7 @@ Spawn 6 Explore agents simultaneously. Each agent cross-references documentation **Agent 1 — Root & Architecture** -Scope: `CLAUDE.md`, `docs/*.md` (system-design, core-systems, secondary-systems, balancing, challenge-minigames, decisions, infrastructure), `docs/dossiers/*.md` +Scope: `CLAUDE.md`, `docs/*.md` (currently: `decisions.md`, `README.md` — the old system-design/core-systems/secondary-systems/balancing/challenge-minigames/infrastructure docs were retired in favor of `openspec/specs/` on 2026-07-04, #675), `docs/dossiers/*.md`, `openspec/README.md` (capability/requirement/scenario count claims drift independently from CLAUDE.md's copy of the same numbers — see history) Check: Module navigation table completeness, key constants accuracy, dependency versions, architecture descriptions. From 09f021064c86922ab5030976aec7e874fce109d7 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Jul 2026 17:35:02 +0000 Subject: [PATCH 3/3] meta-audit: log doc-audit eval_marker (5 runs covered) Marks PR666/693/697/702/706 as evaluated -- 20/20 sampled findings confirmed accurate, scope rot and a scope gap fixed. --- .claude/skills/meta-audit/history/doc-audit.jsonl | 1 + 1 file changed, 1 insertion(+) diff --git a/.claude/skills/meta-audit/history/doc-audit.jsonl b/.claude/skills/meta-audit/history/doc-audit.jsonl index 4b204c0b..e2e6630c 100644 --- a/.claude/skills/meta-audit/history/doc-audit.jsonl +++ b/.claude/skills/meta-audit/history/doc-audit.jsonl @@ -10,3 +10,4 @@ {"type":"run","date":"2026-07-06","commit_sha":"f46170dfd04eab6bc0662510163c68a31d27e153","pr_url":"https://github.com/stphung/quest/pull/697","agent_count":6,"scope":["CLAUDE.md","docs/*.md","docs/dossiers/*.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md","README.md"],"findings":[{"location":"src/dungeon/CLAUDE.md:93","claim":"Defeat boss -> `boss_defeated = true` -> dungeon complete","correct_value":"Defeat boss -> dungeon cleared (`state.active_dungeon = None`), emits `DungeonEvent::DungeonComplete` -> dungeon complete","severity":"MEDIUM","category":"stale-claim","auto_fixed":true},{"location":"src/items/CLAUDE.md:90","claim":"Base attribute ranges at ilvl 10 ..., 1-3 random attributes","correct_value":"Attribute count varies by rarity per the table below (Common 1 .. Legendary 4-6), not a flat 1-3","severity":"LOW","category":"stale-claim","auto_fixed":true},{"location":"src/achievements/CLAUDE.md:34","claim":"Challenges: 4 difficulties per game type (Chess, Morris, Gomoku, Minesweeper, Rune, Go, FlappyBird, Snake, ContainmentBreach, SigilSurge, SigilMatrix, ShardFusion) + GrandChampion","correct_value":"List omitted RunicLights and VaultWarden, both present in AchievementId's 240 variants","severity":"MEDIUM","category":"stale-type-variant","auto_fixed":true},{"location":"src/utils/CLAUDE.md:19","claim":"UpdateInfoStatus: UpdateAvailable(UpdateInfo), UpToDate, or CheckFailed(String)","correct_value":"UpToDate is a struct variant: UpToDate { current_and_previous, current_and_previous_times }","severity":"MEDIUM","category":"stale-type-variant","auto_fixed":true},{"location":"README.md:4,116","claim":"Repo is MIT licensed (badge + footer text)","correct_value":"No LICENSE file exists in the repo and Cargo.toml has no license field -- claim is currently unsubstantiated","severity":"LOW","category":"missing-file","auto_fixed":false}]} {"type":"run","date":"2026-07-07","commit_sha":"55f5cb9f07c1a2211154289d424960484d660614","pr_url":"https://github.com/stphung/quest/pull/702","agent_count":6,"scope":["CLAUDE.md","openspec/README.md","docs/dossiers/act1-ascent.md","docs/dossiers/act2-pilgrimage.md","README.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md"],"findings":[{"location":"CLAUDE.md:17, openspec/README.md:22","claim":"OpenSpec baseline is 20 capabilities, 197 requirements, 500+ scenarios","correct_value":"20 capabilities, 208 requirements, 498 scenarios","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/challenges/CLAUDE.md:88","claim":"tick_stages.rs Stage 1 duplicates only the chess/morris/gomoku/go dispatch logic instead of calling facade.rs","correct_value":"Stage 1 also dispatches Shard Fusion (shard_fusion::tick_shard_fusion), a case facade.rs does not cover","severity":"MEDIUM","category":"stale-description","auto_fixed":true},{"location":"src/dungeon/CLAUDE.md:103","claim":"generate_dungeon_enemy/elite/boss live in combat/logic.rs","correct_value":"these functions live in combat/enemy_generation.rs","severity":"LOW","category":"wrong-file-attribution","auto_fixed":true}]} {"type":"run","date":"2026-07-08","commit_sha":"e5a70f04aa2e757d78403b29337784c1da54aa03","pr_url":"https://github.com/stphung/quest/pull/706","agent_count":6,"scope":["CLAUDE.md","README.md","docs/dossiers/act1-ascent.md","docs/dossiers/act2-pilgrimage.md","src/core/CLAUDE.md","src/combat/CLAUDE.md","src/character/CLAUDE.md","src/zones/CLAUDE.md","src/dungeon/CLAUDE.md","src/fishing/CLAUDE.md","src/items/CLAUDE.md","src/challenges/CLAUDE.md","src/haven/CLAUDE.md","src/enhancement/CLAUDE.md","src/ascension/CLAUDE.md","src/stormglass/CLAUDE.md","src/deep/CLAUDE.md","src/power_cores/CLAUDE.md","src/god_items/CLAUDE.md","src/loom/CLAUDE.md","src/vessel/CLAUDE.md","src/ui/CLAUDE.md","src/input/CLAUDE.md","src/utils/CLAUDE.md","src/main_helpers/CLAUDE.md","src/achievements/CLAUDE.md","src/history/CLAUDE.md"],"findings":[{"location":"src/deep/CLAUDE.md","claim":"No documentation of mercenary quality promotion anywhere in the module doc","correct_value":"mercenaries.rs implements a full promotion system (promotion_missions_required, promotion_guild_rank_required, promotion_cost, can_promote, promote_mercenary, promote_merc_by_id) wired into input/deep_input.rs","severity":"HIGH","category":"missing-module-doc","auto_fixed":true},{"location":"README.md:4,116","claim":"MIT License badge and \"Open source under the MIT License\" statement","correct_value":"No LICENSE file exists in the repo and Cargo.toml has no license field","severity":"MEDIUM","category":"stale-readme-claim","auto_fixed":false},{"location":"src/core/CLAUDE.md:11","claim":"discoveries.rs # Discovery rolls (dungeons, fishing spots, Haven, Soulforge, The Deep)","correct_value":"discoveries.rs only contains try_discover_dungeon(); fishing/Haven/Soulforge/Deep discovery live in their own modules","severity":"MEDIUM","category":"stale-module-description","auto_fixed":true},{"location":"src/deep/CLAUDE.md:91-99","claim":"GuildRank table lists only Required Breakthrough as the gate","correct_value":"economy.rs::guild_upgrade_cost() also requires Warband Marks (200/500/1200/3000)","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/input/CLAUDE.md:19","claim":"voyage_input.rs description predates Dock/Reckoning/Record views and Jump/BuyDrive/BuyCapacity/BuyWard result variants","correct_value":"VoyageView gained Record/Reckoning/Dock variants; VoyageInputResult gained Jump/BuyDrive/BuyCapacity/BuyWard variants (commit 3afd852)","severity":"MEDIUM","category":"stale-type-or-enum","auto_fixed":true},{"location":"CLAUDE.md:219 (+ src/combat/CLAUDE.md:57)","claim":"Boss death resets to subzone 1","correct_value":"Boss death retreats to Subzone 1 of the highest zone with a defeated boss (Zone 1 if none) per resolve_combat_retreat()","severity":"MEDIUM","category":"stale-type-or-enum","auto_fixed":true},{"location":"docs/dossiers/act1-ascent.md:168","claim":"the player is quicker than any of them [enemy roles]","correct_value":"Zone boss ties the player's attack pace (1.5s each) and the dungeon boss is faster (1.4s) per core/constants.rs","severity":"MEDIUM","category":"stale-constant","auto_fixed":true},{"location":"src/items/CLAUDE.md:117","claim":"God item power scoring is deferred (#272)","correct_value":"Issue #272 is closed as not_planned, not deferred/pending","severity":"MEDIUM","category":"stale-external-reference","auto_fixed":true},{"location":"CLAUDE.md:188","claim":"XP gain: Only from defeating enemies (200-400 XP per kill)","correct_value":"200-400 ticks of passive XP per kill, scaled by prestige multiplier + Haven bonus (matches core/CLAUDE.md's own phrasing)","severity":"LOW","category":"stale-constant","auto_fixed":true},{"location":"src/zones/CLAUDE.md:226","claim":"UI displays a POST row for zones 12-30","correct_value":"No 'POST' string exists anywhere in src/; actual UI is a Zone gauge plus a gate-hint row","severity":"LOW","category":"stale-integration-point","auto_fixed":true},{"location":"src/power_cores/CLAUDE.md","claim":"Key Functions list missing fill_ratio()","correct_value":"types.rs::fill_ratio(elapsed, fill_secs) exists and is used by ui/stats_prestige.rs","severity":"LOW","category":"missing-module-doc","auto_fixed":true},{"location":"src/dungeon/CLAUDE.md:12","claim":"facade.rs # DungeonInput struct and tick_dungeon_facade() for decoupled dungeon ticking","correct_value":"DungeonInput is defined but never constructed/used anywhere in the repo; tick_dungeon_facade() takes loose params directly","severity":"LOW","category":"stale-type-or-enum","auto_fixed":true},{"location":"README.md:63","claim":"make setup # First time: configure git hooks","correct_value":"make setup also installs the OpenSpec CLI via the openspec-setup target","severity":"LOW","category":"stale-readme-claim","auto_fixed":false}]} +{"type":"eval_marker","date":"2026-07-08","pr_url":"https://github.com/stphung/quest/pull/708","runs_covered":5}