feat(ai-sdk): searchControls — recall control sources on implementation questions (#39)
CI / detect-changes (push) Successful in 5s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Successful in 6s
CI / validate-canonical-controls (push) Successful in 3s
CI / loc-budget (push) Successful in 18s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Has been skipped
CI / test-go (push) Successful in 58s
CI / iace-gt-coverage (push) Successful in 15s
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / detect-changes (push) Successful in 5s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Successful in 6s
CI / validate-canonical-controls (push) Successful in 3s
CI / loc-budget (push) Successful in 18s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Has been skipped
CI / test-go (push) Successful in 58s
CI / iace-gt-coverage (push) Successful in 15s
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
This commit was merged in pull request #39.
This commit is contained in:
@@ -92,3 +92,32 @@ func applyControlRoles(out []LegalSearchResult) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// isControlPoolRole reports whether a role belongs to the control-pool surfaced on
|
||||
// implementation questions (the four "how to implement" roles).
|
||||
func isControlPoolRole(role string) bool {
|
||||
switch role {
|
||||
case roleOperationalReq, roleProceduralReq, roleControlStandard, roleImplGuidance:
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// controlRoleOf classifies a raw Qdrant payload into a source_role, so searchControls can
|
||||
// filter its deep dense pull to the control-pool BEFORE hits are mapped to LegalSearchResult.
|
||||
func controlRoleOf(payload map[string]interface{}) string {
|
||||
article := getString(payload, "article")
|
||||
if article == "" {
|
||||
article = getString(payload, "section")
|
||||
}
|
||||
return classifyRole(LegalSearchResult{
|
||||
RegulationShort: getString(payload, "regulation_short"),
|
||||
RegulationName: getString(payload, "regulation_name_de"),
|
||||
ArticleLabel: getString(payload, "article_label"),
|
||||
Article: article,
|
||||
Category: getString(payload, "category"),
|
||||
SourceClass: getString(payload, "source_class"),
|
||||
AuthorityWeight: getInt(payload, "authority_weight"),
|
||||
IsRecital: getBool(payload, "is_recital"),
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user