=== Pre-dispatch validator regression baseline ===
{"version":"2.0.0","folder":"/Users/michelkerkmeester/MEGA/Development/Code_Environment/Public/.opencode/specs/system-spec-kit/026-graph-and-context-optimization","level":3,"levelMethod":"explicit","config":null,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 4 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 3 explicitly declared"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"error","message":"1 frontmatter_memory_block issue(s) found"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"18 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"warn","message":"AI protocol incomplete (0/4 components)"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 3"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '026-graph-and-context-optimization' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"error","message":"Section count validation errors"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"21 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"All template headers match in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity freshness skipped: implementation-summary.md missing"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}],"phases":[{"name":"000-release-cleanup","level":1,"errors":2,"warnings":3,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 3 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"ANCHORS_VALID","status":"pass","message":"No memory or spec document files found (skipped)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"No TOC-restricted spec documents found (skipped)"},{"rule":"PHASE_LINKS","status":"warn","message":"4 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"pass","message":"No declared level found in spec.md (using inferred level)"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '000-release-cleanup' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"warn","message":"graph-metadata.json is missing"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"pass","message":"Spec doc references, metadata, and handover targets resolve cleanly"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"No spec documentation files found (skipped)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"No spec documents found to check (skipped)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Canonical-save root-spec check not applicable to this folder"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Canonical-save source-doc check not applicable to this folder"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"Canonical-save lineage check not applicable to this folder"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Canonical-save packet-identity check not applicable to this folder"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity freshness skipped: implementation-summary.md missing"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"001-research-and-baseline","level":3,"errors":4,"warnings":3,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 4 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 3 explicitly declared"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"pass","message":"Phase links valid (6 phases verified)"},{"rule":"AI_PROTOCOL","status":"warn","message":"AI protocol incomplete (0/4 components)"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 3"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '001-research-and-baseline' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"error","message":"Section count validation errors"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"54 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"Template source headers present in all 1 spec files"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"All template headers match in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"002-resource-map-deep-loop-fix","level":3,"errors":5,"warnings":4,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 4 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 3 explicitly declared"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"5 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"warn","message":"AI protocol incomplete (0/4 components)"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 3"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '002-resource-map-deep-loop-fix' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"error","message":"Section count validation errors"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"20 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"All template headers match in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"003-continuity-memory-runtime","level":1,"errors":4,"warnings":5,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 2 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 1 explicitly declared"},{"rule":"ANCHORS_VALID","status":"warn","message":"1 non-blocking anchor deviation(s) in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"22 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 1"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '003-continuity-memory-runtime' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"6 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"warn","message":"1 non-blocking template header deviation(s) in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity timestamp is newer than graph-metadata; treating as benign clock drift"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"004-runtime-executor-hardening","level":1,"errors":4,"warnings":4,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 2 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 1 explicitly declared"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"warn","message":"1 spec_doc_sufficiency issue(s) found"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"pass","message":"Phase links valid (3 phases verified)"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 1"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '004-runtime-executor-hardening' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"4 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"All template headers match in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"005-memory-indexer-invariants","level":3,"errors":2,"warnings":1,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"pass","message":"All required files present for Level 3"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 3 explicitly declared"},{"rule":"PRIORITY_TAGS","status":"pass","message":"All checklist items have priority context"},{"rule":"EVIDENCE_CITED","status":"pass","message":"All completed P0/P1 items have evidence"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 6 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"pass","message":"No phase folders detected (non-phased spec)"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocols present and complete (4/4)"},{"rule":"COMPLEXITY_MATCH","status":"pass","message":"Complexity level consistent with content (Level 3; phases=6, tasks=49, stories=4, scenarios=19)"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '005-memory-indexer-invariants' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"pass","message":"Level consistent across all files (Level 3)"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"pass","message":"Section counts appropriate for Level 3"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"1 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"Template source headers present in all 6 spec files"},{"rule":"TEMPLATE_HEADERS","status":"warn","message":"12 non-blocking template header deviation(s) in 6 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Canonical-save root-spec check not applicable to this folder"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Canonical-save source-doc check not applicable to this folder"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity freshness skipped: implementation-summary.md missing"},{"rule":"EVIDENCE_MARKER_LINT","status":"error","message":"Evidence marker lint validator failed to execute"}]},{"name":"006-graph-impact-and-affordance-uplift","level":3,"errors":6,"warnings":3,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 4 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 3 explicitly declared"},{"rule":"ANCHORS_VALID","status":"error","message":"2 required anchor(s) missing"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"23 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"warn","message":"AI protocol incomplete (0/4 components)"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 3"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '006-graph-impact-and-affordance-uplift' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"error","message":"Section count validation errors"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"14 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"Template source headers present in all 1 spec files"},{"rule":"TEMPLATE_HEADERS","status":"error","message":"9 structural template deviation(s) found in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity freshness skipped: implementation-summary.md missing"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"005-code-graph","level":1,"errors":3,"warnings":3,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 3 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"ANCHORS_VALID","status":"pass","message":"No memory or spec document files found (skipped)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"No TOC-restricted spec documents found (skipped)"},{"rule":"PHASE_LINKS","status":"warn","message":"14 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"pass","message":"No declared level found in spec.md (using inferred level)"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '005-code-graph' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"pass","message":"Spec doc references, metadata, and handover targets resolve cleanly"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"No spec documentation files found (skipped)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"No spec documents found to check (skipped)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"error","message":"Live packet root has metadata but no canonical root spec.md"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"006-skill-advisor","level":1,"errors":5,"warnings":4,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 2 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 1 explicitly declared"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"error","message":"1 frontmatter_memory_block issue(s) found"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"8 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 1"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '006-skill-advisor' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"4 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"pass","message":"All template headers match in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"007-hook-parity","level":1,"errors":4,"warnings":6,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"error","message":"Missing 2 required file(s)"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 1 explicitly declared"},{"rule":"ANCHORS_VALID","status":"warn","message":"1 non-blocking anchor deviation(s) in 1 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"error","message":"2 frontmatter_memory_block issue(s) found"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"warn","message":"3 phase link issue(s) found"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 1"},{"rule":"COMPLEXITY_MATCH","status":"warn","message":"Content metrics may not match declared Level 1"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '007-hook-parity' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"error","message":"Level consistency errors"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 1"},{"rule":"SPEC_DOC_INTEGRITY","status":"pass","message":"Spec doc references, metadata, and handover targets resolve cleanly"},{"rule":"TEMPLATE_SOURCE","status":"error","message":"Template source header missing in 1 file(s)"},{"rule":"TEMPLATE_HEADERS","status":"warn","message":"1 non-blocking template header deviation(s) in 1 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Live packet root exposes a canonical spec.md surface"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Live packet root graph metadata has non-empty derived.source_docs"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"warn","message":"Continuity last_updated_at lags graph-metadata derived.last_save_at by more than the 10-minute heuristic policy budget"},{"rule":"EVIDENCE_MARKER_LINT","status":"pass","message":"Evidence marker lint passed: all markers closed with balanced brackets"}]},{"name":"010-phase-parent-documentation","level":2,"errors":2,"warnings":2,"passed":false,"results":[{"rule":"FILE_EXISTS","status":"pass","message":"All required files present for Level 2"},{"rule":"PLACEHOLDER_FILLED","status":"pass","message":"No unfilled placeholders found"},{"rule":"SECTIONS_PRESENT","status":"pass","message":"All required sections found"},{"rule":"LEVEL_DECLARED","status":"pass","message":"Level 2 explicitly declared"},{"rule":"PRIORITY_TAGS","status":"pass","message":"All checklist items have priority context"},{"rule":"EVIDENCE_CITED","status":"pass","message":"All completed P0/P1 items have evidence"},{"rule":"ANCHORS_VALID","status":"pass","message":"All anchor pairs valid in 4 file(s)"},{"rule":"FRONTMATTER_MEMORY_BLOCK","status":"pass","message":"All spec-doc frontmatter memory blocks are structurally valid"},{"rule":"MERGE_LEGALITY","status":"pass","message":"No merge plan supplied; legality check skipped"},{"rule":"SPEC_DOC_SUFFICIENCY","status":"pass","message":"All targeted spec-doc anchors meet the sufficiency baseline"},{"rule":"CROSS_ANCHOR_CONTAMINATION","status":"pass","message":"No routing payload supplied; contamination check skipped"},{"rule":"POST_SAVE_FINGERPRINT","status":"pass","message":"No post-save payload supplied; fingerprint check skipped"},{"rule":"TOC_POLICY","status":"pass","message":"TOC policy passed: no TOC headings in non-research spec documents"},{"rule":"PHASE_LINKS","status":"pass","message":"No phase folders detected (non-phased spec)"},{"rule":"AI_PROTOCOL","status":"pass","message":"AI protocol check not applicable for Level 2"},{"rule":"COMPLEXITY_MATCH","status":"pass","message":"Complexity level consistent with content (Level 2; phases=3, tasks=33, stories=0, scenarios=0)"},{"rule":"FOLDER_NAMING","status":"pass","message":"Folder name '010-phase-parent-documentation' follows naming convention"},{"rule":"FRONTMATTER_VALID","status":"pass","message":"Frontmatter validation passed"},{"rule":"LEVEL_MATCH","status":"pass","message":"Level consistent across all files (Level 2)"},{"rule":"GRAPH_METADATA_PRESENT","status":"pass","message":"graph-metadata.json is present and passes the rollout shape check"},{"rule":"NORMALIZER_LINT","status":"pass","message":"No local normalizeScope*/getOptionalString declarations found outside allowed files"},{"rule":"LINKS_VALID","status":"pass","message":"Wikilink validation skipped (set SPECKIT_VALIDATE_LINKS=true to enable)"},{"rule":"SECTION_COUNTS","status":"warn","message":"Section counts below expectations for Level 2"},{"rule":"SPEC_DOC_INTEGRITY","status":"error","message":"57 spec documentation integrity issue(s) found"},{"rule":"TEMPLATE_SOURCE","status":"pass","message":"Template source headers present in all 4 spec files"},{"rule":"TEMPLATE_HEADERS","status":"warn","message":"1 non-blocking template header deviation(s) in 4 file(s)"},{"rule":"CANONICAL_SAVE_ROOT_SPEC_REQUIRED","status":"pass","message":"Canonical-save root-spec check not applicable to this folder"},{"rule":"CANONICAL_SAVE_SOURCE_DOCS_REQUIRED","status":"pass","message":"Canonical-save source-doc check not applicable to this folder"},{"rule":"CANONICAL_SAVE_LINEAGE_REQUIRED","status":"pass","message":"save_lineage is present for the refreshed graph metadata"},{"rule":"CANONICAL_SAVE_PACKET_IDENTITY_NORMALIZED","status":"pass","message":"Packet identity is normalized across continuity, description, and graph surfaces"},{"rule":"CONTINUITY_FRESHNESS","status":"pass","message":"Continuity freshness skipped: implementation-summary.md missing"},{"rule":"EVIDENCE_MARKER_LINT","status":"error","message":"Evidence marker lint validator failed to execute"}]}],"phaseCount":11,"summary":{"errors":47,"warnings":41,"info":0},"passed":false,"strict":true}
