traverse-framework / traverse-framework/registry

Amend Spec 001 FR-017: object-shaped ai.models with pinned HF/provenance attribution

Open
#571 2 comments 0 reactions 0 assignees View on GitHub
agent:claude
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.