@agentplatform/agentic-contract-validation
v0.2.0
Published
Agentic Platform shared validation contract package
Readme
agentic-contract-validation
agentic-contract-validation은 Agentic Platform의 공통 validation contract 패키지입니다.
이 패키지는 검증 실행 엔진이 아니라, domain module과 validation capability가 함께 사용하는 rule/profile/provider manifest 타입, 공통 code, profile registry를 제공합니다.
현재 범위
| 구분 | 상태 |
| --- | --- |
| 패키지 skeleton | 포함 |
| build/typecheck | 포함 |
| validation severity code | 포함 |
| validation type code | 포함 |
| validation execution mode code | 포함 |
| rule/profile/provider manifest contract | 포함 |
| validation provider/profile/rule registry | 포함 |
| validationProfiles seed apply handler | 포함 |
| result reference contract | 포함 |
| validator 실행 엔진 | 제외 |
| validation result 저장 | 제외 |
| report rendering | 제외 |
| waiver/exception 승인 | 제외 |
| CLI | 1차 구현 제외 |
| Adapter | 1차 구현 제외 |
책임
agentic-contract-validation
- ValidationRuleContract
- ValidationProfileContract
- ValidationProviderManifest
- ValidationSeverityCode
- ValidationTypeCode
- ValidationExecutionModeCode
- ValidationContractRegistry
- applyAgenticSeed(validationProfiles)
- ValidationResultReference비책임
| 제외 항목 | 담당 후보 |
| --- | --- |
| validator runner | agentic-capability-validation |
| validation run/result 저장 | agentic-capability-validation |
| artifact instance 상태 연결 | agentic-domain-artifact |
| document block 조회 | agentic-domain-document |
| LLM 평가 context 조립 | agentic-capability-agent-client, agentic-runtime |
기본 API 예시
import {
defineValidationProfile,
defineValidationProviderManifest,
defineValidationRule,
getValidationContractPackageInfo
} from "agentic-contract-validation";
console.log(getValidationContractPackageInfo());
const rule = defineValidationRule({
ruleId: "ARTIFACT_STANDARD.TABLE.REQUIRED_COLUMNS",
providerModule: "agentic-domain-artifact-standard",
validationTypeCode: "SCHEMA",
executionModeCode: "AUTOMATED",
severityCode: "ERROR",
appliesToTypeCode: "TABLE_SCHEMA",
appliesToRef: "business_process_definition.table.l4_processes",
parameters: {
requiredColumns: ["sequence_no", "process_id", "process_name", "purpose"]
},
message: "필수 table column이 누락되었습니다.",
remediation: "산출물 표준의 table schema에 맞게 누락 column을 추가하십시오."
});
const profile = defineValidationProfile({
profileId: "business_process_definition.default",
providerModule: "agentic-domain-artifact-standard",
targetDomain: "artifact-standard",
rules: [rule]
});
const manifest = defineValidationProviderManifest({
providerId: "agentic-domain-artifact-standard.validation",
providerModule: "agentic-domain-artifact-standard",
version: "0.2.0",
profiles: [profile]
});
console.log(manifest);Registry 및 Seed Apply 예시
validationProfiles seed section은 provider manifest와 profile/rule registry로 저장할 수 있습니다.
import {
applyAgenticSeed,
initializeValidationContractDatabase,
openValidationContractDatabase,
ValidationContractRegistry
} from "agentic-contract-validation";
initializeValidationContractDatabase();
await applyAgenticSeed({
sourcePackageName: "agentic-methodology-ai-agent-sdlc",
sourcePackageVersion: "0.2.0",
bundleCode: "ai-agent-sdlc-build-planning",
bundleVersion: "0.2.0",
sourceSection: "validationProfiles",
targetOperation: "register_validation_profiles",
mode: "apply",
itemPayload: [
{
profileId: "ai_agent_sdlc.build_planning_seed_structure",
providerModule: "agentic-methodology-ai-agent-sdlc",
targetDomain: "methodology",
rules: [
{
ruleId: "AI_AGENT_SDLC.BUILD_PLANNING.FOUR_STAGES_REQUIRED",
validationTypeCode: "STRUCTURE",
executionModeCode: "AUTOMATED",
severityCode: "ERROR",
appliesToTypeCode: "stage_seed",
message: "Build Planning seed must contain required stages."
}
]
}
]
});
const db = openValidationContractDatabase();
const registry = new ValidationContractRegistry(db);
console.log(registry.listProviderManifests());
db.close();Seed에서 NAMING, REFERENCE 같은 legacy type이 들어오면 각각 POLICY, REFERENCE_INTEGRITY로 정규화하고 원본 값은 rule metadata에 보존합니다.
의존성 방향
agentic-contract-validation
↑
├─ agentic-domain-document
├─ agentic-domain-artifact-standard
├─ agentic-domain-methodology
├─ agentic-domain-artifact
└─ agentic-capability-validationDomain package는 validation 실행 엔진이 아니라 contract package를 의존합니다.
