enhance(#1964): semantic knowledge-base recall via MemPalace (keyword fallback) (#2416)

* test(#1964): add failing-first semantic-recall contract tests

Epic #1957 Phase 3C (final). Source-text-is-the-product contract tests:
semantic recall via MemPalace (top-k meaning-similar prior resolutions, catches
same-root-cause/different-wording cases), indexing resolved sessions at archive,
graceful degradation to keyword matching when MemPalace is absent,
knowledge-base.md stays the durable plain-text source of truth, agent Phase 0 /
Matching Logic is semantic-first (the stale 'keyword overlap, not semantic
similarity' claim must go), and no new embedding/vector infra (reuse MemPalace).

Failing-first: reference, the Matching Logic reframe, the Phase 0 consolidation,
and the archive indexing step do not yet exist.

* feat(#1964): semantic knowledge-base recall via MemPalace (keyword fallback)

Epic #1957 Phase 3C (FINAL). Replaces keyword-overlap matching with semantic
recall: at Phase 0 the debugger queries MemPalace with the current symptoms
and surfaces the top-k meaning-similar prior resolutions, catching the
same-root-cause/different-wording cases keyword overlap missed (the self-noted
'keyword overlap, not semantic similarity' limitation). Resolved sessions are
indexed into MemPalace at archive (symptoms + root_cause(s) + fix + recurrence
guard). knowledge-base.md remains the durable plain-text source of truth; when
MemPalace is absent the debugger falls back to keyword-overlap matching
(logged, never a silent skip). No new embedding/vector infrastructure —
MemPalace is reused.

Size-neutral agent edits: the Matching Logic section reframed (keyword-only ->
semantic-first + keyword-fallback + @-include); Phase 0's three keyword bullets
consolidated into one semantic-first bullet; one MemPalace-indexing step added
at archive. Agent at 57222 B (122 B headroom — final phase). Full rules in
gsd-core/references/debugger-semantic-recall.md. INVENTORY + manifest +
agent-size baseline + install-parity goldens + AGENTS.md updated.

* fix(#1964): address orthogonal review (invocation mechanism, index Resolution-not-symptoms + redaction, fallback detail)

- HIGH: the 'query MemPalace' instruction was WHAT-level only; the agent has
  no MCP tools. Added an Invocation section naming the Bash CLI
  (mempalace search --wing <wing>) + MCP-when-registered + wing resolution
  (config.mempalace.wing -> project_code -> project dir), matching every other
  MemPalace integration. Without this the feature silently degraded to keyword
  matching even when MemPalace was present.
- MEDIUM (security x2): index the agent-authored Resolution summary
  (root_cause + fix + recurrence_guard), NOT raw user-supplied Symptoms —
  excludes attacker-controlled prose from the cross-session index AND reduces
  secret/PII leakage. Redact secret-shaped values before indexing. Stated the
  write order (KB append + commit MUST succeed before indexing).
- LOW: restored 'identifiers' + 'case-insensitive' to the keyword fallback;
  added a test asserting the fallback mechanics survived the Phase 0
  consolidation (Error patterns field, 2+ token overlap, identifiers,
  case-insensitive).

* chore(#1964): ratchet agent-size baseline downward (leaner archive bullet shrank gsd-debugger.md 57222->57197)

* chore(#1964): backfill changeset pr number (PR #2416)
This commit is contained in:
Tom Boucher
2026-07-18 19:01:04 -04:00
committed by GitHub
parent c67f301867
commit dd5a2211c9
44 changed files with 255 additions and 24 deletions

View File

@@ -6,7 +6,7 @@
"gsd-code-reviewer.md": 16870,
"gsd-codebase-mapper.md": 21485,
"gsd-debug-session-manager.md": 17161,
"gsd-debugger.md": 56835,
"gsd-debugger.md": 57197,
"gsd-doc-classifier.md": 11717,
"gsd-doc-synthesizer.md": 13154,
"gsd-doc-verifier.md": 12403,

View File

@@ -0,0 +1,104 @@
// allow-test-rule: source-text-is-the-product (see #1964)
// Agent .md + reference .md files — their text IS what the runtime loads.
// Testing text content tests the deployed semantic-recall contract.
// Per CONTRIBUTING.md exception matrix. Covers epic #1957 Phase 3C (#1964).
'use strict';
const { describe, test } = require('node:test');
const assert = require('node:assert/strict');
const fs = require('node:fs');
const path = require('node:path');
const ROOT = process.cwd();
const AGENT = path.join(ROOT, 'agents/gsd-debugger.md');
const REFERENCE = path.join(ROOT, 'gsd-core/references/debugger-semantic-recall.md');
describe('semantic knowledge-base recall via MemPalace (#1964, epic #1957 Phase 3C)', () => {
describe('reference extract exists and is wired in', () => {
test('gsd-core/references/debugger-semantic-recall.md exists', () => {
assert.ok(fs.existsSync(REFERENCE), 'debugger-semantic-recall.md reference must exist');
});
test('gsd-debugger.md @-includes the semantic-recall reference', () => {
const content = fs.readFileSync(AGENT, 'utf8');
assert.ok(
content.includes('@~/.claude/gsd-core/references/debugger-semantic-recall.md'),
'gsd-debugger.md must @-include the semantic-recall reference from the knowledge_base_protocol / Matching Logic'
);
});
});
describe('semantic recall via MemPalace (criterion 1 — same root cause, different wording)', () => {
test('reference documents querying MemPalace for meaning-similar prior resolutions', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/mempalace/i.test(content), 'must name MemPalace as the semantic-memory surface');
assert.ok(/semantic/i.test(content), 'must document semantic (not keyword) recall');
assert.ok(/top-?k|meaning.similar|semantically.similar/i.test(content),
'must document surfacing top-k meaning-similar prior resolutions');
});
test('reference states the payoff: catches lexically-different / same-root-cause cases', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/different.{0,30}word|lexically|same root cause|wording/i.test(content),
'must state that semantic recall catches same-root-cause/different-wording cases keyword overlap misses (the self-noted limitation)');
});
test('reference documents indexing resolved sessions into MemPalace at archive', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/index|archive|store|capture/i.test(content),
'must document that resolved sessions are indexed into MemPalace at archive time');
});
});
describe('graceful degradation — MemPalace absent falls back to keyword matching (criterion 2)', () => {
test('reference documents the keyword fallback when MemPalace is unavailable', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/fall[\s-]?back|fallback|when.*(?:absent|unavailable)|degrade/i.test(content),
'must document degradation to keyword matching when MemPalace is absent');
assert.ok(/keyword/i.test(content), 'must name keyword matching as the fallback');
});
test('the keyword-fallback mechanics survived the Phase 0 consolidation', () => {
// Guards against the consolidation dropping the extraction detail the
// fallback path needs. The reference must still document the Error
// patterns field scan + the 2+ token threshold + identifiers + case-insensitive.
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/error patterns/i.test(content), 'fallback must scan the Error patterns field');
assert.ok(/2\+ token overlap/i.test(content), 'fallback must keep the 2+ token overlap threshold');
assert.ok(/identifier/i.test(content), 'fallback must keep identifier extraction (highest-signal token)');
assert.ok(/case-insensitive/i.test(content), 'fallback must keep the case-insensitive qualifier');
});
test('knowledge-base.md remains the durable plain-text source of truth', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/knowledge-base\.md|durable|plain[\s-]?text|source of truth/i.test(content),
'must state that knowledge-base.md remains the durable plain-text source of truth (semantic recall is layered on top)');
});
});
describe('agent wiring — Phase 0 / Matching Logic is semantic-first', () => {
test('gsd-debugger.md knowledge_base_protocol describes semantic-first matching', () => {
const content = fs.readFileSync(AGENT, 'utf8');
// The Matching Logic section must now lead with semantic recall, not "keyword overlap, not semantic"
assert.ok(/semantic/i.test(content), 'agent must reference semantic recall');
assert.ok(/mempalace/i.test(content), 'agent must name MemPalace');
assert.ok(/fall[\s-]?back|fallback/i.test(content), 'agent must describe the keyword fallback');
});
test('the stale "keyword overlap, not semantic similarity" claim is gone', () => {
const content = fs.readFileSync(AGENT, 'utf8');
assert.ok(
!/keyword overlap, not semantic similarity/i.test(content),
'the old "Matching is keyword overlap, not semantic similarity" claim must be removed (it is now semantic-first)'
);
});
});
describe('no new embedding/vector infrastructure (Choose Boring / Zawinski)', () => {
test('reference states MemPalace is reused — no new vector store', () => {
const content = fs.readFileSync(REFERENCE, 'utf8');
assert.ok(/reuse|no new|without adding|existing.*(?:semantic|memory|capability)/i.test(content),
'must state MemPalace is reused rather than adding new embedding/vector infrastructure');
});
});
});

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "a700d295bbf110a9",
"agents/gsd-codebase-mapper.md": "afdae82284cb21b4",
"agents/gsd-debug-session-manager.md": "8a7ae327a00d47cd",
"agents/gsd-debugger.md": "b4d6a994d6c433c4",
"agents/gsd-debugger.md": "9c8f34fc022b2616",
"agents/gsd-doc-classifier.md": "fca19595590391df",
"agents/gsd-doc-synthesizer.md": "0e5184bbcf0dca02",
"agents/gsd-doc-verifier.md": "888c6ac870cb91a6",
@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "745e517012e03d23",
"gsd-core/references/debugger-sbfl.md": "de9cd1bd0e1485c6",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "bc8a6f2e1f787ff5",
"agents/gsd-codebase-mapper.md": "85ea778ad9cf7e66",
"agents/gsd-debug-session-manager.md": "1d966d0bbf22660c",
"agents/gsd-debugger.md": "7141e0c61747befe",
"agents/gsd-debugger.md": "584692481a9f5e0f",
"agents/gsd-doc-classifier.md": "262a94b947a4e2aa",
"agents/gsd-doc-synthesizer.md": "01f90ea9b0d05d7d",
"agents/gsd-doc-verifier.md": "b3433e0db51e1c60",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -7,7 +7,7 @@
"agents/gsd-code-reviewer.md": "e2c45baa8c0b5f6d",
"agents/gsd-codebase-mapper.md": "f96958e5f85b93fb",
"agents/gsd-debug-session-manager.md": "d5fbb343fac38729",
"agents/gsd-debugger.md": "13cfdb9e8caa78d9",
"agents/gsd-debugger.md": "d6785173fbeee901",
"agents/gsd-doc-classifier.md": "a76778bdde1c7f72",
"agents/gsd-doc-synthesizer.md": "8b0b6fc187c9d353",
"agents/gsd-doc-verifier.md": "4232dcf9076e3566",
@@ -137,6 +137,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -7,7 +7,7 @@
"agents/gsd-code-reviewer.md": "d626a828e8de3648",
"agents/gsd-codebase-mapper.md": "8c2e9f2ce3aedf78",
"agents/gsd-debug-session-manager.md": "1e23cdf4376bed3c",
"agents/gsd-debugger.md": "54cb91f574d020ed",
"agents/gsd-debugger.md": "064815a723abac0c",
"agents/gsd-doc-classifier.md": "a636ae9594b25770",
"agents/gsd-doc-synthesizer.md": "dfb95eedfb3789bf",
"agents/gsd-doc-verifier.md": "4232dcf9076e3566",
@@ -66,6 +66,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -11,7 +11,7 @@
"agents/gsd-code-reviewer.md": "e5ec12d4d409e800",
"agents/gsd-codebase-mapper.md": "e5b7941bdda53c91",
"agents/gsd-debug-session-manager.md": "444fa983fdc85325",
"agents/gsd-debugger.md": "815a2b65d85c29dd",
"agents/gsd-debugger.md": "427daaf994a596ba",
"agents/gsd-doc-classifier.md": "5011d7358d2b2848",
"agents/gsd-doc-synthesizer.md": "e59cdd669876582d",
"agents/gsd-doc-verifier.md": "b60290c9d9f6d8d2",
@@ -70,6 +70,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "98872822b7f1ef08",
"gsd-core/references/debugger-sbfl.md": "6e4975ee50973c23",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "5342fcc0da974696",
"agents/gsd-codebase-mapper.md": "b995bf01af0193d2",
"agents/gsd-debug-session-manager.md": "8a495718576f24e6",
"agents/gsd-debugger.md": "dbf1b89a5ef6a7ea",
"agents/gsd-debugger.md": "e454548710419254",
"agents/gsd-doc-classifier.md": "c2bf59af9467810b",
"agents/gsd-doc-synthesizer.md": "b2a179bf3c9bd636",
"agents/gsd-doc-verifier.md": "e74d930905a782ea",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -86,8 +86,8 @@
"agents/gsd-codebase-mapper.toml": "a4609f3ac66c2081",
"agents/gsd-debug-session-manager.md": "8a336fd497d2e6b2",
"agents/gsd-debug-session-manager.toml": "277a54c7661ff018",
"agents/gsd-debugger.md": "ad9aa9530c891872",
"agents/gsd-debugger.toml": "b05785c9a4dad6f6",
"agents/gsd-debugger.md": "b2a4aff97b1b87e3",
"agents/gsd-debugger.toml": "dcf71d070a325e67",
"agents/gsd-doc-classifier.md": "2745bc04d7b93666",
"agents/gsd-doc-classifier.toml": "3fe5ec83f62b586e",
"agents/gsd-doc-synthesizer.md": "4f545f2e916458ad",
@@ -173,6 +173,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "ee363ec47be68922",
"gsd-core/references/doc-conflict-engine.md": "257aba80c93854d4",
"gsd-core/references/domain-probes.md": "4901deac8eac0f49",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.agent.md": "fa1e7c421c78eae1",
"agents/gsd-codebase-mapper.agent.md": "949bc73f2a7ea44d",
"agents/gsd-debug-session-manager.agent.md": "e669e5d76bfd7810",
"agents/gsd-debugger.agent.md": "1f5cd5c6d3d7d1aa",
"agents/gsd-debugger.agent.md": "f7d0307490617a8a",
"agents/gsd-doc-classifier.agent.md": "aea81c0ba00e06cf",
"agents/gsd-doc-synthesizer.agent.md": "6ae32e4db005696d",
"agents/gsd-doc-verifier.agent.md": "0230208ae7ab1a08",
@@ -68,6 +68,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "62089f91dfa470bd",
"gsd-core/references/debugger-sbfl.md": "5bb65a8653bf2e06",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "f29d6edbac0a01b6",
"agents/gsd-codebase-mapper.md": "d49c91fdab4efc70",
"agents/gsd-debug-session-manager.md": "c723ce1b8691296f",
"agents/gsd-debugger.md": "3a568af40765db29",
"agents/gsd-debugger.md": "bd40d58a35995f22",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "9934ec11845d41c3",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "d5f1796cde97e7d2",
"gsd-core/references/debugger-sbfl.md": "838445590aab52e3",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "5ef947ca5baed775",
"agents/gsd-codebase-mapper.md": "feccaeeacd05e34b",
"agents/gsd-debug-session-manager.md": "d46222bd8037b695",
"agents/gsd-debugger.md": "ef869f69333fdcd9",
"agents/gsd-debugger.md": "3b00e344e8200dce",
"agents/gsd-doc-classifier.md": "29b563a146c9d22c",
"agents/gsd-doc-synthesizer.md": "652beb928e93fa1d",
"agents/gsd-doc-verifier.md": "d3d8457bdd44bf10",
@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "8318008696c1e0b2",
"gsd-core/references/debugger-sbfl.md": "70e699200f6197e0",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "922c08885bc78662",
"agents/gsd-codebase-mapper.md": "0ccbf6a685804979",
"agents/gsd-debug-session-manager.md": "42a775633c9b1b34",
"agents/gsd-debugger.md": "753165cedae67dd6",
"agents/gsd-debugger.md": "aab7ddbbdc75f6c8",
"agents/gsd-doc-classifier.md": "6256bbc0b887f60f",
"agents/gsd-doc-synthesizer.md": "212aaf89a34b51d7",
"agents/gsd-doc-verifier.md": "8016f792d0766b77",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -45,7 +45,7 @@
"agents/subagents/gsd-codebase-mapper.yaml": "bce1c6d15f55c477",
"agents/subagents/gsd-debug-session-manager.md": "cec62a7fd99ab1c3",
"agents/subagents/gsd-debug-session-manager.yaml": "aab147717b5082e7",
"agents/subagents/gsd-debugger.md": "ce8ab001fde869cb",
"agents/subagents/gsd-debugger.md": "2021c72a39d56fe5",
"agents/subagents/gsd-debugger.yaml": "6d02d7feb90cad43",
"agents/subagents/gsd-doc-classifier.md": "632dc6c61bafa63e",
"agents/subagents/gsd-doc-classifier.yaml": "a4e9cf7025b57503",
@@ -131,6 +131,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "2249774416314c57",
"agents/gsd-codebase-mapper.md": "948612acd505e87f",
"agents/gsd-debug-session-manager.md": "e4b96ea41c74c479",
"agents/gsd-debugger.md": "e7f3e6c558756918",
"agents/gsd-debugger.md": "f08bcc712bc98469",
"agents/gsd-doc-classifier.md": "fb776cfbb7e991b0",
"agents/gsd-doc-synthesizer.md": "2389f388d291c2eb",
"agents/gsd-doc-verifier.md": "65bbc2ae6b9ace29",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "097c2da83d697566",
"gsd-core/references/debugger-sbfl.md": "391e732abf32786a",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -34,6 +34,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "27eeeee6cb600e9b",
"agents/gsd-codebase-mapper.md": "032ff8ac55466a74",
"agents/gsd-debug-session-manager.md": "c1c9c5f538acb941",
"agents/gsd-debugger.md": "2a6bf0bb1a964771",
"agents/gsd-debugger.md": "41bdbb009989d3a0",
"agents/gsd-doc-classifier.md": "bdf3d54082424e76",
"agents/gsd-doc-synthesizer.md": "96c383b74a60fbbe",
"agents/gsd-doc-verifier.md": "da9ab6f3ec27778a",
@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "07ad93b8bcad3c34",
"gsd-core/references/debugger-sbfl.md": "061b719c754a12d3",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "338c46ab59c4e45f",
"agents/gsd-codebase-mapper.md": "8529d8a1ede8bbfb",
"agents/gsd-debug-session-manager.md": "913a370b529ec717",
"agents/gsd-debugger.md": "7a2fd82d5f328d23",
"agents/gsd-debugger.md": "2d6762c3a0974a31",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "e51e50892963ccc7",
@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "4bf1af239ae875f3",
"gsd-core/references/debugger-sbfl.md": "23d7a3bb15bc8b7c",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "efc0d2dee321c654",
"agents/gsd-codebase-mapper.md": "cfa2bbfaf264e1fd",
"agents/gsd-debug-session-manager.md": "86d75b269a6c40e7",
"agents/gsd-debugger.md": "77a2f8edc9193e54",
"agents/gsd-debugger.md": "7f9bd63ccb6e57c2",
"agents/gsd-doc-classifier.md": "a6ab02b8f45f9d0b",
"agents/gsd-doc-synthesizer.md": "fd3c18addbc8265d",
"agents/gsd-doc-verifier.md": "ede2f297b73b5a86",
@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "b5d7c4a5804327c3",
"gsd-core/references/debugger-sbfl.md": "071651eaf7414a4c",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "883d0a1b9d9ff96e",
"gsd-core/references/domain-probes.md": "762b965e84035b72",

View File

@@ -8,7 +8,7 @@
"agents/gsd-code-reviewer.md": "7d94fe8bfa6661aa",
"agents/gsd-codebase-mapper.md": "7cc9d387f29c46e1",
"agents/gsd-debug-session-manager.md": "dc4e8a556dbf1708",
"agents/gsd-debugger.md": "95854ad0457494f2",
"agents/gsd-debugger.md": "7840ed78e3f662a8",
"agents/gsd-doc-classifier.md": "146acf4d176134b5",
"agents/gsd-doc-synthesizer.md": "b1f5e2eb28fa3659",
"agents/gsd-doc-verifier.md": "7ed4d9611f678a95",
@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md": "7dcf3ddbe3591250",
"gsd-core/references/debugger-repro-hardening.md": "fdf55a6cee9b1792",
"gsd-core/references/debugger-sbfl.md": "a7d0cd5940d6d2cd",
"gsd-core/references/debugger-semantic-recall.md": "4add324d495cb25c",
"gsd-core/references/decimal-phase-calculation.md": "46b5ba045852c474",
"gsd-core/references/doc-conflict-engine.md": "67d019d23e17f934",
"gsd-core/references/domain-probes.md": "62d23ed1992c48a9",

View File

@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -137,6 +137,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -66,6 +66,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -70,6 +70,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -173,6 +173,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -68,6 +68,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -131,6 +131,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -34,6 +34,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -67,6 +67,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",

View File

@@ -138,6 +138,7 @@
"gsd-core/references/debugger-rca-branching.md",
"gsd-core/references/debugger-repro-hardening.md",
"gsd-core/references/debugger-sbfl.md",
"gsd-core/references/debugger-semantic-recall.md",
"gsd-core/references/decimal-phase-calculation.md",
"gsd-core/references/doc-conflict-engine.md",
"gsd-core/references/domain-probes.md",