terraphim / terraphim/terraphim-ai

Phase 4: Nightly extraction -- automated workflow crystallisation via ADF

Open
#696 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
62
Forks
5
Avg merge
2h 27m
Merged PRs (30d)
1

Description

Parent Epic

Part of #692 (Operational Skill Store)

Summary

Add a new Core-tier ADF agent that runs nightly to automatically discover and crystallise successful multi-step workflows from session history into reusable procedures. This closes the loop -- instead of manual capture-success, the system learns from its own history.

What Changes

New ADF agent: procedure-crystalliser

Tier: Core (cron-scheduled, runs nightly)
CLI: terraphim-agent (uses sessions + learn subcommands)

Nightly workflow:

  1. terraphim-agent sessions import -- refresh session cache
  2. Scan recent sessions for successful multi-step sequences (exit code 0 chains)
  3. Classify sequences by task type using KG concept matching
  4. Deduplicate against existing procedures (Aho-Corasick)
  5. Store novel sequences as new CapturedProcedure entries
  6. Run learn health across all procedures
  7. Generate daily report: new procedures, degraded procedures, statistics
Orchestrator config addition
[[agents]]
name = "procedure-crystalliser"
tier = "Core"
cli = "terraphim-agent"
schedule = "0 2 * * *"   # 02:00 daily
working_dir = "/home/alex/terraphim-ai"
Session extraction API in terraphim_sessions
pub async fn extract_successful_sequences(
    since: DateTime<Utc>,
    min_steps: usize,
) -> Vec<CommandSequence>;

Affected Crates

  • terraphim_orchestrator (new agent config)
  • terraphim_sessions (extraction API)
  • terraphim_agent (orchestration entry point)

Dependencies

  • Phase 1 (#693) -- CapturedProcedure type
  • Phase 3 (#695) -- health monitoring
  • #637 Paperclip leverage into ADF (orchestrator infrastructure)
  • #639 Session persistence for Claude Code agents
  • #683 Tree-structured session storage

Acceptance Criteria

  • procedure-crystalliser agent defined in orchestrator config
  • Session extraction API returns successful command sequences
  • KG-based task type classification for discovered sequences
  • Aho-Corasick deduplication prevents storing known procedures
  • Daily report generated with new/degraded procedure counts
  • Integration test with sample session data

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing structures in terraphim_orchestrator, terraphim_sessions, and terraphim_agent, then trace the sessions and learn subcommands used by the nightly workflow. Implement the procedure-crystalliser configuration, successful-sequence extraction, classification, deduplication, health checks, and daily report, and validate the result with integration tests using sample session data.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ai, backend, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.