Skip to content

feat(learn): add suggestion approval workflow Refs #85#833

Merged
AlexMikhalev merged 1 commit intomainfrom
task/85-suggestion-approval-workflow
Apr 22, 2026
Merged

feat(learn): add suggestion approval workflow Refs #85#833
AlexMikhalev merged 1 commit intomainfrom
task/85-suggestion-approval-workflow

Conversation

@AlexMikhalev
Copy link
Copy Markdown
Contributor

Summary

  • Add SuggestionStatus enum (Pending/Approved/Rejected) as a field on SharedLearning, orthogonal to TrustLevel
  • Add 4 store methods: list_pending(), list_by_status(), approve(), reject() on SharedLearningStore
  • Add learnings/suggest.rs with JSONL-based SuggestionMetrics (append/read/summary)
  • Add 8 CLI subcommands under learn suggest: list, show, approve, reject, approve-all, reject-all, metrics, session-end
  • All new code gated behind shared-learning feature flag
  • 12 new tests, 0 regressions

Design

SuggestionStatus answers "what did the human decide?" while TrustLevel answers "how well-validated is this knowledge?". They overlap at L3/Approved but diverge at Rejected -- a learning can be L2 (peer-validated) but still rejected by the human.

Test plan

  • cargo test -p terraphim_types -- 76 passed
  • cargo test -p terraphim_agent --features shared-learning -- 338 passed
  • cargo test -p terraphim_agent --test cli_auto_route -- 2 passed (regression fix verified)
  • cargo clippy -p terraphim_agent --features shared-learning -- -D warnings -- clean
  • cargo fmt -- --check -- clean
  • Compiles with and without shared-learning feature

Refs #85 (Gitea)

…efs #85

- Add SuggestionStatus enum (Pending/Approved/Rejected) to terraphim_types
- Add suggestion_status, rejection_reason, bm25_confidence fields to SharedLearning
- Add list_pending(), list_by_status(), approve(), reject() to SharedLearningStore
- Add learnings/suggest.rs with SuggestionMetrics (JSONL append/read/summary)
- Add SuggestSub CLI enum with 8 subcommands: list, show, approve, reject,
  approve-all, reject-all, metrics, session-end
- All gated behind shared-learning feature flag
- 12 new tests, 0 regressions

Part of Epic #81 (knowledge suggestion lifecycle)
@AlexMikhalev AlexMikhalev enabled auto-merge (squash) April 22, 2026 20:56
@AlexMikhalev AlexMikhalev merged commit e6605b0 into main Apr 22, 2026
24 checks passed
@AlexMikhalev AlexMikhalev deleted the task/85-suggestion-approval-workflow branch April 22, 2026 21:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant