Grace-marketplace grace-fix
Debug an issue using GRACE semantic navigation. Use when encountering bugs, errors, or unexpected behavior - navigate through the graph, verification plan, and semantic blocks to analyze the mismatch and apply a targeted fix.
install
source · Clone the upstream repo
git clone https://github.com/osovv/grace-marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/osovv/grace-marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/grace/grace-fix" ~/.claude/skills/osovv-grace-marketplace-grace-fix-63ef00 && rm -rf "$T"
manifest:
skills/grace/grace-fix/SKILL.mdsource content
Debug an issue using GRACE semantic navigation.
Process
Step 1: Locate via Knowledge Graph
From the error/description, identify which module is likely involved:
- Read
for module overviewdocs/knowledge-graph.xml - Read
for relevant scenarios, test files, or log markers if availabledocs/verification-plan.xml - Read
for the canonicaldocs/operational-packets.xml
shape if availableFailurePacket - Follow CrossLinks to find the relevant module(s)
- Read the MODULE_CONTRACT of the target module
If the optional
grace CLI is available, you may use:
to resolve likely module IDs from stack traces, paths, verification refs, or dependency namesgrace module find <query> --path <project-root>
to pull the shared/public module and verification snapshotgrace module show M-XXX --path <project-root> --with verification
when you already know the governed file and need its local/private navigation surfacegrace file show <path> --path <project-root> --contracts --blocks
Step 2: Navigate to Block
If the error contains a log reference like
[Module][function][BLOCK_NAME]:
- Search for
in the codebase — this is the exact locationSTART_BLOCK_BLOCK_NAME - Read the containing function's CONTRACT for context
If the failure came from a named verification scenario or test:
- read the matching
entry inV-M-xxxdocs/verification-plan.xml - open the mapped test file and expected evidence for that scenario
If no log reference:
- Use MODULE_MAP to find the relevant function
- Read its CONTRACT
- Identify the likely BLOCK by purpose
Step 3: Analyze
Read the identified block, its CONTRACT, and relevant verification entry. Determine:
- What the block is supposed to do (from CONTRACT)
- What evidence should prove that behavior (from tests, traces, or log markers)
- What it actually does (from code)
- Where the mismatch is
Step 4: Fix
Apply the fix WITHIN the semantic block boundaries. Do NOT restructure blocks unless the fix requires it.
Step 5: Update Metadata
After fixing:
- Add a CHANGE_SUMMARY entry with what was fixed and why
- If the fix changed the function's behavior — update its CONTRACT
- If the fix changed module dependencies — update knowledge-graph.xml CrossLinks
- If the fix changed tests, commands, or required markers — update
docs/verification-plan.xml - Run the relevant module-local verification commands
- If the failure revealed weak tests, weak logs, or poor execution-trace visibility — use
to strengthen automated checks before considering the issue fully closed$grace-verification
Important
- Never fix code without first reading its CONTRACT
- Never change a CONTRACT without user approval
- If the bug is in the architecture (wrong CONTRACT) — escalate to user, don't silently change it