Propósito
Esta guía es el contrato de descubribilidad para los paquetes de referencia de Decision Gate respaldados por OpenAPI. Responde, para cada paquete:
- ¿Dónde está el archivo OpenAPI canónico?
- ¿Es creado a mano o proviene de una fuente superior?
- ¿Qué prueba del sistema hace cumplir la integridad del catálogo y del espejo fuera de línea?
- ¿Dónde están los documentos de la API para lectores humanos?
Contrato Canónico
La fuente de verdad legible por máquina es:
references/openapi/reference_library.json
Validado por esquema:
references/openapi/reference_library.schema.json
Cada paquete listado allí debe pasar controles de puerta dura en:
system-tests/src/suites/openapi_reference_library.rs
Catálogo Actual de Paquetes
| ID del paquete | Dominio | OpenAPI canónico | Espejos | Prueba del sistema | Documentación upstream |
|---|---|---|---|---|---|
courtlistener-legal-citation-v1 | Verificación de citas legales | references/openapi/courtlistener-legal-citation-v1/openapi.json | system-tests/tests/fixtures/legal_citation/courtlistener_reference_openapi.json y examples/agentic/legal-citation-verification/courtlistener_reference_openapi.json | openapi_reference_library_canonical_and_mirrors_are_byte_equal en system-tests/src/suites/openapi_reference_library.rs | Descripción general de REST, Búsqueda de citas, Raíz de API (v4) |
Cobertura y Metadatos de Ejecución
Cada entrada de paquete declara metadatos de investigación de fixture:
execution_modes: el modo de catálogo actualmente soportado esoffline_fixturesolamente.coverage: recuentos deterministas obligatorios:operationsfabricated_casesknown_good_casesambiguous_casesinvalid_cases
live_mode: solo metadatos de captura de la fuente; la política de CI actual esdisabled:enabled_by_envrequired_envoptional_envci_policy(manual_onlyodisabled)
Para CourtListener, COURTLISTENER_API_TOKEN pertenece solo al script de captura de fixture manual independiente. No es una ruta de credenciales de tiempo de ejecución de DG, y el paquete no se puede habilitar como proveedor a través de la configuración.
Regla de Autorización de Proyección (Canónica)
Los metadatos de proyección se evalúan en el esquema de respuesta normalizado/resuelto. Los metadatos de proyección a nivel de componente referenciados a través de $ref son de primera clase y preferidos.
No duplique esquemas de respuesta en línea solo para satisfacer las verificaciones del importador. Mantenga una ubicación de proyección canónica (generalmente el esquema de componente referenciado) y refleje eso byte por byte en las copias de paquetes canónicos/sistema/ejemplo.
Política de Procedencia de la Fuente
Para cada paquete, el catálogo provenance debe declarar explícitamente el origen:
hand_authored_fixtureupstream_openapi_snapshotgenerated_from_upstream_docs
CourtListener actualmente utiliza hand_authored_fixture.
Cobertura de Hard-Gate
La CI estándar impone puertas deterministas fuera de línea:
- El JSON del catálogo es válido según el esquema.
- Todos los caminos catalogados existen.
- Los artefactos OpenAPI canónicos y reflejados son byte-iguales (incluyendo
operation_fixture_corpus.jsony archivos de manifiesto de captura de origen). - El catálogo
system_test_nameexiste enDocs/generated/testing/proof_catalog.json. - El catálogo
docs_pathsexiste enDocs/verification/registry.toml. - Las URL de upstream son absolutas
https://y completas en metadatos. - La cobertura y los metadatos de captura de origen son estructuralmente válidos y CI en vivo está deshabilitado.
No se realizan verificaciones de conectividad de red en vivo en la CI estándar.
Nueva Lista de Verificación de Paquete (Listo para PubMed/arXiv)
Utiliza esta lista de verificación al agregar DG + PubMed, DG + arXiv, o similar:
- Crear directorio canónico: references/openapi/<pack-id>/
- Añade los archivos canónicos:
openapi.jsoncitation_cases.json(o corpus determinista equivalente al dominio)README.md
- Añade copias espejo en:
- system-tests/tests/fixtures/<domain_pack>/
- examples/agentic/<domain-pack>/
- Agregar/extender la suite de pruebas del sistema en
system-tests/src/suites/. - Registrar la suite en
system-tests/tests/providers.rs. - Actualice la declaración de prueba de Rust adyacente a la suite y regenere
system-tests/TEST_MATRIX.md. - Agregar entrada de paquete a
references/openapi/reference_library.json. - Asegúrese de que
docs_pathsestén registrados enDocs/verification/registry.toml. - Incluya enlaces de markdown nombrados a la documentación de la API upstream en el README del paquete.
- Declare
execution_modes,coverageylive_modemetadata.
Plantilla de Metadatos
{
"pack_id": "<kebab-case-pack-id>",
"version": "v1",
"domain": "<domain>",
"status": "experimental",
"provenance": "hand_authored_fixture",
"canonical_openapi_path": "references/openapi/<pack-id>/openapi.json",
"system_fixture_openapi_path": "system-tests/tests/fixtures/<pack>/openapi.json",
"example_openapi_path": "examples/agentic/<pack>/openapi.json",
"system_suite_path": "system-tests/src/suites/<suite>.rs",
"system_test_name": "<exact_test_name>",
"docs_paths": [
"Docs/guides/openapi_reference_library.md"
],
"upstream_docs": [
{
"label": "<human label>",
"url": "https://...",
"kind": "rest_overview",
"verified_on_utc": "2026-02-21"
}
],
"execution_modes": [
"offline_fixture"
],
"coverage": {
"operations": 4,
"fabricated_cases": 6,
"known_good_cases": 3,
"ambiguous_cases": 1,
"invalid_cases": 1
},
"live_mode": {
"enabled_by_env": "COURTLISTENER_LIVE",
"required_env": [
"COURTLISTENER_API_TOKEN"
],
"optional_env": [
"COURTLISTENER_BASE_URL"
],
"ci_policy": "disabled"
},
"notes": "<deterministic note>"
}
Documentación relacionada
- El libro de jugadas de ejecución de red tipificada fue eliminado con el corte duro del perfil inicial. Esta biblioteca de referencia es solo material de investigación hasta que PF-08 se abra y califique una familia de adquisición de red.
- Guía de referencia de citación legal
- Manual de ejecución de citas legales