* 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:
@@ -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,
|
||||
|
||||
104
tests/debugger-semantic-recall.test.cjs
Normal file
104
tests/debugger-semantic-recall.test.cjs
Normal 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');
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
1
tests/fixtures/golden-install-parity/pi.json
vendored
1
tests/fixtures/golden-install-parity/pi.json
vendored
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/antigravity.json
vendored
1
tests/fixtures/install-tree/antigravity.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/augment.json
vendored
1
tests/fixtures/install-tree/augment.json
vendored
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/claude.json
vendored
1
tests/fixtures/install-tree/claude.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/cline.json
vendored
1
tests/fixtures/install-tree/cline.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/codebuddy.json
vendored
1
tests/fixtures/install-tree/codebuddy.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/codex.json
vendored
1
tests/fixtures/install-tree/codex.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/copilot.json
vendored
1
tests/fixtures/install-tree/copilot.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/cursor.json
vendored
1
tests/fixtures/install-tree/cursor.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/hermes.json
vendored
1
tests/fixtures/install-tree/hermes.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/kilo.json
vendored
1
tests/fixtures/install-tree/kilo.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/kimi.json
vendored
1
tests/fixtures/install-tree/kimi.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/opencode.json
vendored
1
tests/fixtures/install-tree/opencode.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/pi.json
vendored
1
tests/fixtures/install-tree/pi.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/qwen.json
vendored
1
tests/fixtures/install-tree/qwen.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/trae.json
vendored
1
tests/fixtures/install-tree/trae.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/windsurf.json
vendored
1
tests/fixtures/install-tree/windsurf.json
vendored
@@ -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",
|
||||
|
||||
1
tests/fixtures/install-tree/zcode.json
vendored
1
tests/fixtures/install-tree/zcode.json
vendored
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user