registrystack / registrystack/registry-stack
Support versioned semantic profile packages and pinned vocabulary artifacts
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 2 h 55 min
- PR fusionados (30 d)
- 130
Descripción
Tracked by #590. Depends on the 1.0 concept contract in #589.
## Outcome
A Registry project can select one or more authoritative semantic profiles, pin their vocabulary artifacts and mappings to exact reviewed versions and digests, and validate Manifest concepts without mutable runtime network access.
PublicSchema is one possible authority. EU SEMIC, FHIR, SDMX, national vocabularies, and local extensions are equally supportable through the same contract.
## Requirements
- Define a versioned semantic-profile artifact or an additive extension of `registry-manifest-profile/v1`.
- Represent profile identity, version, review state, vocabulary namespaces, artifact provenance, content digests, licenses, and supported concept mappings.
- Give mappings explicit relations such as exact, close, broader, or narrower. Multiple concept references must not imply equivalence.
- Resolve and validate profile packages locally from release-pinned or project-pinned inputs. No Relay startup-time HTTP vocabulary lookup.
- Validate that referenced concepts exist in the pinned artifacts where the artifact format supports deterministic checking.
- Support local extensions without allowing them to redefine protected external namespaces.
- Make profile selection and effective versions visible through deterministic explanation output.
- Preserve all existing `vocabularies`, `profiles`, and `concepts` behavior.
## Acceptance criteria
- [ ] A documented profile package pins at least one PublicSchema artifact and one EU SEMIC artifact by version and SHA-256 digest.
- [ ] A valid Manifest can select either profile independently or use both.
- [ ] Unknown terms, namespace conflicts, digest mismatches, and unsupported mapping relations produce field-addressed diagnostics.
- [ ] Validation works offline from the pinned package.
- [ ] Repeated compilation of the same inputs produces identical effective profile output.
- [ ] Existing beta manifests compile unchanged without a semantic profile package.
- [ ] Profile schema, CLI reference, fixtures, and generated documentation are updated together.
## Non-goals
- Privacy classification fields
- Runtime authorization or redaction
- Automatic concept selection
- Declaring PublicSchema as a globally hardcoded default
- Treating PublicSchema's partial external views as authoritative copies of external standards
Guía de contribución
Línea de trabajo
Empieza leyendo el contrato de conceptos 1.0 en #589 y la incidencia de seguimiento #590; después, inspecciona el comportamiento existente de vocabularios, perfiles y conceptos. Usa el esquema de perfiles, la referencia de CLI, los fixtures y la documentación generada como puntos de integración; el trabajo estará terminado cuando los paquetes fijados de PublicSchema y EU SEMIC se validen sin conexión con diagnósticos deterministas y el comportamiento de beta-manifest no cambie.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- backend-api-design, cli, documentation
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 30/100