Commit fd99574
authored
feat: rowan HIR extraction (Phase 2) + MCP 9 tools + pre-commit hook (#119)
* feat(mcp): expand to 9 tools — get, coverage, schema, embed, snapshot, add (#98)
MCP server now exposes 9 tools over stdio:
- rivet_validate, rivet_list, rivet_stats (existing)
- rivet_get — single artifact lookup
- rivet_coverage — traceability coverage with optional rule filter
- rivet_schema — schema introspection (types, links, rules)
- rivet_embed — resolve computed embeds
- rivet_snapshot_capture — capture project snapshot
- rivet_add — create new artifact with auto-ID
All tools have proper JSON Schema inputSchema.
* feat(yaml): HIR extraction from rowan CST (Phase 2)
Walks rowan YAML CST to extract Vec<SpannedArtifact> with precise
byte spans for every field. Cross-validated against parse_generic_yaml().
Types: Span, SpannedArtifact, ParseDiagnostic, ParsedYamlFile
Entry: extract_generic_artifacts(source) -> ParsedYamlFile
Scalar conversion follows YAML 1.2 rules (true/false only, not yes/no).
10 tests: cross-validation, span accuracy, links, fields, tags,
empty list, missing id, quoted values, block span, null/tilde.
* feat: HIR extraction (Phase 2), MCP 9 tools, pre-commit hook, clippy fix
Phase 2 rowan HIR: extract_generic_artifacts() walks CST to produce
Vec<SpannedArtifact> with byte spans. 10 tests, cross-validated.
MCP server expanded to 9 tools: get, coverage, schema, embed,
snapshot_capture, add (+ original validate, list, stats).
Pre-commit hook script: scripts/pre-commit (cargo fmt + clippy).
Clippy allow for cloned_ref_to_slice_refs in convergence tests.1 parent 2b7acd4 commit fd99574
7 files changed
Lines changed: 1425 additions & 1 deletion
File tree
- .claude
- rivet-cli/src
- rivet-core/src
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
39 | 52 | | |
40 | 53 | | |
41 | 54 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
0 commit comments