traverse-framework / traverse-framework/registry
Amend Spec 001 FR-017: object-shaped ai.models with pinned HF/provenance attribution
- Dominant language
- Rust
- Stars
- 1
- Forks
- 1
- Avg merge
- 1h 17m
- Merged PRs (30d)
- 217
Description
## Summary
Implement decision-log **entry 124**: keep embedding quantized model weights; stop treating catalog JSON as the source of truth for model license/attribution. Official pins live on the capability contract.
## Decisions (owner brainstorm)
- Amend Spec **001 FR-017**: `ai.models` becomes an array of **objects** for newly ADDED `model_backed` contracts.
- Required per model object: `id`, `spdx_expression`, `attribution_required`, and either `huggingface_id`+`revision` **or** `source_url`.
- CI: **pin, don’t live-fetch** HF in required gates.
- Grandfather existing string `ai.models` on already-published versions.
- Catalog: prefer contract objects; keep `catalog/model-attribution.json` as legacy fallback only.
- Spec 025 remains capability-artifact-only (non-inheritance unchanged).
## Definition of Done
- [ ] Spec 001 FR-017 amended + owner-approved / registered in `approved-specs.json` as needed
- [ ] `capability_validation.py` accepts legacy `string[]`; requires object shape (+ required fields) on newly ADDED `model_backed` contracts
- [ ] Catalog SPA + static generator prefer contract model objects; fall back to `model-attribution.json` for string ids
- [ ] Docs (`capabilities/README.md`, catalog README) updated
- [ ] Unit tests for both shapes
- [ ] Decision-log entry 124 cited in PR
## Validation
- [ ] `pre_pr_check.sh` green
- [ ] Spot-check catalog on an agent with string models (fallback) and a fixture/object-shaped contract if added in-PR
## Governing Spec
- 001-registry-foundation
## Related
- Decision-log entry 124
- Traverse follow-up: CLI `capability publish` fail-fast for object models
- Does not replace Spec 025 capability `licensing`
Contributor guide
Research direction
Start with Spec 001 FR-017, decision-log entry 124, and capability_validation.py; then inspect the catalog SPA, static generator, catalog/model-attribution.json, approved-specs.json, and the documented README files. Run pre_pr_check.sh and locate existing validation and catalog tests. Done means both model shapes are covered, newly added model_backed contracts enforce the object requirements, legacy strings still use the fallback, and the listed docs and registration are updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- huggingface, python, rust
- Domain
- backend-api-design, documentation, frontend, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100