reqmd Package: schema

Package: schema

approved 63Leaf

63 requirements · 2 nested · 3 items

X Reqmd.source File
X Reqmd.source Line
X Reqmd.symbol Kind

This file is auto-generated by reqmd-code. Do not edit by hand.

IMP-schema-BuiltinAttr-335448c BuiltinAttr

#

missing coverage

BuiltinAttr describes a single reqmd built-in attribute.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
19
X Reqmd.symbol Kind
type
Status
approved

IMP-schema-builtinDefs-c113c63 builtinDefs

#

missing coverage

builtinDefs is the canonical list of all reqmd built-in attributes.

Order defines the display order: trace first (most common), then theremaining attributes in the order they were added to the tool.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
28
X Reqmd.symbol Kind
var
Status
approved

IMP-schema-builtinSet-7d54e71 builtinSet

#

missing coverage

builtinSet is a name → true map for fast lookup.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
84
X Reqmd.symbol Kind
var
Status
approved

IMP-schema-init-60f7e1e init

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
86
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-IsBuiltin-11dd61b IsBuiltin

#

missing coverage

IsBuiltin returns true if name is a reserved reqmd built-in attribute.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
94
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-RejectBuiltinRedefinition-4335d76 RejectBuiltinRedefinition

#

missing coverage

RejectBuiltinRedefinition checks a user schema's attrs map for anyattribute names that are reserved by reqmd. Returns an error listingall redefined names, or nil if the schema is clean.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
101
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-BuiltinPropertyDefs-06f06a6 BuiltinPropertyDefs

#

missing coverage

BuiltinPropertyDefs returns a JSON Schema properties map containingall built-in attribute definitions. The returned map can be mergedinto a schema's "properties" field.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
118
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-BuiltinNames-55fc6b1 BuiltinNames

#

missing coverage

BuiltinNames returns the sorted list of built-in attribute names.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
127
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-InjectBuiltins-a14f691 InjectBuiltins

#

missing coverage

InjectBuiltins adds all built-in property definitions to the givenJSON Schema map's "properties" field, creating it if needed.It does not modify the schema's "required" list — built-ins arealways optional.

Must be called after Normalize and before Compile (JSON marshal).

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin.go
X Reqmd.source Line
142
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestIsBuiltin-fb6a98f TestIsBuiltin

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
8
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestRejectBuiltinRedefinition_Empty-9f4ed04 TestRejectBuiltinRedefinition_Empty

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
32
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestRejectBuiltinRedefinition_Clean-0f42f8c TestRejectBuiltinRedefinition_Clean

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
41
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestRejectBuiltinRedefinition_RejectsBuiltins-f038a39 TestRejectBuiltinRedefinition_RejectsBuiltins

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
51
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestBuiltinPropertyDefs-2f44e2a TestBuiltinPropertyDefs

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
68
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestBuiltinNames-9684d55 TestBuiltinNames

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
80
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestInjectBuiltins_EmptySchema-8a82c34 TestInjectBuiltins_EmptySchema

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
94
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestInjectBuiltins_ExistingProps-9e6cff3 TestInjectBuiltins_ExistingProps

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
109
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestRejectBuiltinRedefinition_JSONSchema-0525396 TestRejectBuiltinRedefinition_JSONSchema

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
130
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestBuiltinNames_IncludesStatus-b611ee1 TestBuiltinNames_IncludesStatus

#

missing coverage

T1: BuiltinNames must include "status".

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
149
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestStatus_BuiltInInjectedWithEnum-028e347 TestStatus_BuiltInInjectedWithEnum

#

missing coverage

T2: Compile injects the built-in status attribute with the canonicalenum [draft, approved] into an empty schema. A subsequent validateaccepts both values and rejects everything else.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
159
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-contains-eebd9c5 contains

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
182
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-containsStr-6eb2fb0 containsStr

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/builtin_test.go
X Reqmd.source Line
186
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-Compiled-e02bd77 Compiled

#

Compiled holds a compiled schema ready for validation and property introspection.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
42
X Reqmd.symbol Kind
type
Status
approved

IMP-schema-PropertyNames-1706eb4 PropertyNames

#

PropertyNames returns the ordered list of property names from the schema:required fields first (in schema order), then optional fieldsalphabetically, then built-in attributes at the end.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
248
X Reqmd.symbol Kind
method
Status
approved

IMP-schema-Validate-dc2b0c7 Validate

#

Validate checks a requirement's attrs against the compiled schema.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
304
X Reqmd.symbol Kind
method
Status
approved

IMP-schema-Compile-cf14b49 Compile

#

missing coverage

Compile validates the schema, injects built-in attrs, and compiles itagainst JSON Schema 2020-12. schemaPath is the directory containing theschema file.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
49
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-statusAdditionPattern-9bc9ec4 statusAdditionPattern

#

missing coverage

statusAdditionPattern matches the lowercase-only requirement forx-reqmd.additional-status-values entries: starts with a lowercase letter,then lowercase letters, digits, hyphen, or underscore.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
111
X Reqmd.symbol Kind
var
Status
approved

IMP-schema-requiresTraceFromTokenPattern-04bb454 requiresTraceFromTokenPattern

#

missing coverage

requiresTraceFromTokenPattern mirrors the built-in requires-trace-fromitem pattern: lowercase letters, digits, hyphen, or underscore. Documentdefaults name document-ids or levels, which follow the same shape.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
116
X Reqmd.symbol Kind
var
Status
approved

IMP-schema-collectRequiresTraceFromDefault-9bf7ba8 collectRequiresTraceFromDefault

#

missing coverage

collectRequiresTraceFromDefault reads x-reqmd.requires-trace-from (thedocument-wide default coverage expectation) from a normalized schema map,validates each token, and returns the cleaned slice. A bare string isaccepted and treated as a one-token list. The empty list is allowed (itmeans every requirement in the document opts out of downstream coverage).Returns nil (no error) when the key is absent.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
124
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-collectStatusAdditions-f44c619 collectStatusAdditions

#

missing coverage

collectStatusAdditions reads x-reqmd.additional-status-values from anormalized schema map, validates each entry (lowercase only, noduplication, no built-in collision), and returns the cleaned slice.Returns nil (no error) when the field is absent or empty — emptyadditions are a no-op.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
176
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-applyStatusAdditions-c04654b applyStatusAdditions

#

missing coverage

applyStatusAdditions appends the validated extension values to thebuilt-in status enum in the schema's properties. Called afterInjectBuiltins so the built-in definition is already present.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
223
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-orderedPropertyNames-3c943f8 orderedPropertyNames

#

missing coverage

orderedPropertyNames is the single implementation of the property-orderconvention: required fields in schema order, then remaining propertykeys sorted alphabetically, then built-in attribute names not alreadylisted. Shared by PropertyNames (compiled schema) and ExtractProperties(raw schema map) so the ordering rule lives in one place.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
261
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-propertyKeySet-9047e5c propertyKeySet

#

missing coverage

propertyKeySet converts a property map (either form) into a key set fororderedPropertyNames. The compiled schema uses *jsonschema.Schemavalues, the raw map uses any.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
295
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-Normalize-45f2527 Normalize

#

missing coverage

Normalize validates a schema and checks for built-in redefinition.The schema must be valid JSON Schema 2020-12 (in YAML map form).It is returned as-is; built-in attrs are injected later by Compile.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
326
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-ExtractProperties-cf4b9c4 ExtractProperties

#

missing coverage

ExtractProperties extracts property order from a raw JSON Schema map.Uses the google/jsonschema-go library to parse the schema struct.Required fields first (in schema's required order), then optionalfields alphabetically, then built-in attributes at the end.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
351
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-Title-85fc48a Title

#

missing coverage

Title extracts a human-readable title from a parsed schema.Uses "id—title","id — title", "id", or "title" from the JSON Schema.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
379
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-ExtractXReqmd-ba67a24 ExtractXReqmd

#

missing coverage

ExtractXReqmd reads the x-reqmd extension block from a parsed schema.Returns nil if the key is absent. All fields are optional.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema.go
X Reqmd.source Line
397
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-validSchema-2914ec9 validSchema

#

missing coverage

validSchema is a valid JSON Schema 2020-12 in YAML map form.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
9
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_HappyPath-33e4447 TestCompile_HappyPath

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
28
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_BadSchema-b42fe2a TestCompile_BadSchema

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
39
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestValidate_ValidAttrs-90b6e61 TestValidate_ValidAttrs

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
47
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestValidate_MissingRequired-eec25ac TestValidate_MissingRequired

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
65
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestValidate_WrongEnum-326c419 TestValidate_WrongEnum

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
87
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestValidate_NilAttrs-6bcbc16 TestValidate_NilAttrs

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
106
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestProperties_NilSchema-309dfbe TestProperties_NilSchema

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
121
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestProperties_EmptySchema-2e9908c TestProperties_EmptySchema

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
128
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestProperties_Ordering-b2905a2 TestProperties_Ordering

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
142
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestProperties_OnlyRequired-34bcd49 TestProperties_OnlyRequired

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
167
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestProperties_NoRequired-4f78a40 TestProperties_NoRequired

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
190
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_StatusAdditionsAccepted-70f42ac TestCompile_StatusAdditionsAccepted

#

missing coverage


Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
219
X Reqmd.symbol Kind
function
Status
approved

Status built-in: extension mechanism (additional-status-values)

T8 / T17: additional-status-values accepted and applied to the built-instatus enum. Empty array is a no-op (T17), values extend the enum(T8) so the validator accepts them.

IMP-schema-TestCompile_StatusAdditionsEmptyIsNoop-4cd6cc2 TestCompile_StatusAdditionsEmptyIsNoop

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
242
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_StatusAdditionsRejectsBuiltins-6a05643 TestCompile_StatusAdditionsRejectsBuiltins

#

missing coverage

T9: built-in collision rejected as config-error.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
257
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_StatusAdditionsRejectsCapitalized-cf7278f TestCompile_StatusAdditionsRejectsCapitalized

#

missing coverage

T10: capitalized additions rejected (lowercase-only is config-error).

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
274
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_StatusAdditionsRejectsDuplicates-e40694d TestCompile_StatusAdditionsRejectsDuplicates

#

missing coverage

T18: duplicate additions rejected.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
295
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_StatusBuiltInIsInjectedAndRedefinitionRejected-787195e TestCompile_StatusBuiltInIsInjectedAndRedefinitionRejected

#

missing coverage

T12: user schema with properties: {status: ...} triggers thebuilt-in redefinition check.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
314
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_AdditionalPropertiesFalseAcceptsBuiltInStatus-19061c7 TestCompile_AdditionalPropertiesFalseAcceptsBuiltInStatus

#

missing coverage

T15: schemas with additionalProperties: false (e.g. 00-aspice,01-stakeholder) must still accept the new built-in status attribute.The built-in is injected before the additionalProperties check runs,so it's not flagged as an "additional" property.

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
335
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-compileWithRTF-989abb7 compileWithRTF

#

missing coverage


Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
371
X Reqmd.symbol Kind
function
Status
approved

x-reqmd.requires-trace-from document default

IMP-schema-TestCompile_RequiresTraceFromDefaultAccepted-d9d1299 TestCompile_RequiresTraceFromDefaultAccepted

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
382
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestCompile_RequiresTraceFromDefaultRejected-2a1d672 TestCompile_RequiresTraceFromDefaultRejected

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
394
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestExtractXReqmd_RequiresTraceFromScalarNormalized-27d851f TestExtractXReqmd_RequiresTraceFromScalarNormalized

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
418
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestExtractXReqmd_RequiresTraceFromEmptyStaysDistinct-4a6082b TestExtractXReqmd_RequiresTraceFromEmptyStaysDistinct

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
429
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestExtractXReqmd_RequiresTraceFromAbsentIsNil-1ce84e6 TestExtractXReqmd_RequiresTraceFromAbsentIsNil

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
443
X Reqmd.symbol Kind
function
Status
approved

IMP-schema-TestExtractXReqmd_MalformedDefaultDoesNotDropBlock-cf54ac7 TestExtractXReqmd_MalformedDefaultDoesNotDropBlock

#

missing coverage

Details
X Reqmd.imported
true
X Reqmd.source File
internal/schema/schema_test.go
X Reqmd.source Line
454
X Reqmd.symbol Kind
function
Status
approved