Variable: strictSpecMetadataSchema
conststrictSpecMetadataSchema:ZodObject<{constraints:ZodOptional<ZodArray<ZodString,"atleastone">>;contentHashes:ZodEffects<ZodRecord<ZodString,ZodString>,Record<string,string>,Record<string,string>>;context:ZodOptional<ZodArray<ZodString,"many">>;dependsOn:ZodOptional<ZodArray<ZodEffects<ZodString,string,string>,"many">>;description:ZodString;generatedBy:ZodOptional<ZodEnum<["core","agent"]>>;keywords:ZodOptional<ZodArray<ZodString,"many">>;rules:ZodOptional<ZodArray<ZodObject<{requirement:ZodString;rules:ZodArray<ZodString,"atleastone">; },"strip",ZodTypeAny, {requirement:string;rules: [string,...string[]]; }, {requirement:string;rules: [string,...string[]]; }>,"many">>;scenarios:ZodOptional<ZodArray<ZodObject<{given:ZodOptional<ZodArray<ZodString,"many">>;name:ZodString;requirement:ZodString;then:ZodArray<ZodString,"atleastone">;when:ZodOptional<ZodArray<ZodString,"many">>; },"strip",ZodTypeAny, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }>,"many">>;title:ZodString; },"passthrough",ZodTypeAny,objectOutputType<{constraints:ZodOptional<ZodArray<ZodString,"atleastone">>;contentHashes:ZodEffects<ZodRecord<ZodString,ZodString>,Record<string,string>,Record<string,string>>;context:ZodOptional<ZodArray<ZodString,"many">>;dependsOn:ZodOptional<ZodArray<ZodEffects<ZodString,string,string>,"many">>;description:ZodString;generatedBy:ZodOptional<ZodEnum<["core","agent"]>>;keywords:ZodOptional<ZodArray<ZodString,"many">>;rules:ZodOptional<ZodArray<ZodObject<{requirement:ZodString;rules:ZodArray<ZodString,"atleastone">; },"strip",ZodTypeAny, {requirement:string;rules: [string,...string[]]; }, {requirement:string;rules: [string,...string[]]; }>,"many">>;scenarios:ZodOptional<ZodArray<ZodObject<{given:ZodOptional<ZodArray<ZodString,"many">>;name:ZodString;requirement:ZodString;then:ZodArray<ZodString,"atleastone">;when:ZodOptional<ZodArray<ZodString,"many">>; },"strip",ZodTypeAny, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }>,"many">>;title:ZodString; },ZodTypeAny,"passthrough">,objectInputType<{constraints:ZodOptional<ZodArray<ZodString,"atleastone">>;contentHashes:ZodEffects<ZodRecord<ZodString,ZodString>,Record<string,string>,Record<string,string>>;context:ZodOptional<ZodArray<ZodString,"many">>;dependsOn:ZodOptional<ZodArray<ZodEffects<ZodString,string,string>,"many">>;description:ZodString;generatedBy:ZodOptional<ZodEnum<["core","agent"]>>;keywords:ZodOptional<ZodArray<ZodString,"many">>;rules:ZodOptional<ZodArray<ZodObject<{requirement:ZodString;rules:ZodArray<ZodString,"atleastone">; },"strip",ZodTypeAny, {requirement:string;rules: [string,...string[]]; }, {requirement:string;rules: [string,...string[]]; }>,"many">>;scenarios:ZodOptional<ZodArray<ZodObject<{given:ZodOptional<ZodArray<ZodString,"many">>;name:ZodString;requirement:ZodString;then:ZodArray<ZodString,"atleastone">;when:ZodOptional<ZodArray<ZodString,"many">>; },"strip",ZodTypeAny, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }, {given?:string[];name:string;requirement:string;then: [string,...string[]];when?:string[]; }>,"many">>;title:ZodString; },ZodTypeAny,"passthrough">>
Defined in: packages/core/src/domain/services/parse-metadata.ts:62
Strict schema for writing metadata.json — used by SaveSpecMetadata.
title and description are required; other fields are optional but validated when present.