Commit bed366e
authored
Sentinel: CodingAgent + Demo Pipeline E2E (Claude Code → LoRA training)
* initial work on senteinels
Rust (Pipeline Engine)
┌────────────────────────────────────────────┬────────────────────────────────────────────────────────────────────┐
│ File │ Action │
├────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────┤
│ workers/.../sentinel/types.rs │ Added CodingAgent variant with 12 fields to PipelineStep enum │
├────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────┤
│ workers/.../sentinel/steps/coding_agent.rs │ New — delegates to TS via execute_ts_json("sentinel/coding-agent") │
├────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────┤
│ workers/.../sentinel/steps/mod.rs │ Added module + dispatch arm │
├────────────────────────────────────────────┼────────────────────────────────────────────────────────────────────┤
│ shared/generated/sentinel/PipelineStep.ts │ Auto-regenerated by ts-rs │
└────────────────────────────────────────────┴────────────────────────────────────────────────────────────────────┘
TypeScript (Provider Architecture)
┌──────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────────────────────┐
│ File │ Action │
├──────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ system/sentinel/coding-agents/CodingAgentProvider.ts │ Interface: CodingAgentProvider, CodingAgentConfig, CodingAgentResult │
├──────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ system/sentinel/coding-agents/ClaudeCodeProvider.ts │ SDK wrapper — spawns child process, streams messages, captures interactions │
├──────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ system/sentinel/coding-agents/CodingAgentRegistry.ts │ Dynamic registry — no switch, no enum, providers self-register │
├──────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────┤
│ system/sentinel/coding-agents/index.ts │ Barrel + auto-registration of built-in providers │
└──────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────────────────────┘
Command (sentinel/coding-agent)
┌─────────────────────────────────────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────┐
│ File │ Action │
├─────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────┤
│ commands/sentinel/coding-agent/shared/SentinelCodingAgentTypes.ts │ Params, Result, static executor │
├─────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────┤
│ commands/sentinel/coding-agent/server/SentinelCodingAgentServerCommand.ts │ Resolves provider, executes, emits events, captures training data │
├─────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────┤
│ commands/sentinel/coding-agent/browser/SentinelCodingAgentBrowserCommand.ts │ Delegates to server │
└─────────────────────────────────────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────┘
Bindings
┌──────────────────────────────────────────┬─────────────────────────────────────────┐
│ File │ Action │
├──────────────────────────────────────────┼─────────────────────────────────────────┤
│ workers/.../bindings/modules/sentinel.ts │ Added codingagent to PipelineStep union │
└──────────────────────────────────────────┴─────────────────────────────────────────┘
Verification
- 109 Rust tests pass (0 failures)
- TypeScript compiles clean (strict mode)
- SDK installed: @anthropic-ai/claude-agent-sdk added to package.json
* cleanup for stability stuff i think
* Sentinel docs overhaul + gap analysis vs 10 agentic coding tools
Canonical SENTINEL-ARCHITECTURE.md rewritten to match actual Rust/TS
implementation: all 10 step types documented (was 6), variable
interpolation syntax corrected from $variable to {{variable}},
runtime/safety/commands sections updated with real structs and
commands, CodingAgent step type added throughout.
7 supporting docs updated with status headers pointing to canonical
doc. Superseded docs marked. Academy step-type count fixed (6/10).
New SENTINEL-GAP-ANALYSIS.md compares our sentinel system against
Claude Code, Codex, Aider, OpenCode, GSD, SWE-agent, OpenHands,
Cline, Cursor, and Sweep. Identifies 7 gaps (codebase understanding,
context management, multi-agent isolation, quality scoring, multi-
provider support, developer UX, persona integration depth) and 6
unique strengths (pipeline composition, LoRA training, Academy
dual-sentinel, training capture, persona ownership, event-based
inter-agent communication). Includes 5-phase prioritized roadmap
and research references for distillation pipeline hardening.
* Demo pipeline E2E: Claude Code builds software → LoRA trains local AI
Sentinel demo system proven end-to-end: setup → milestones (CodingAgent
loop with test feedback) → training-export → genome/train. Pipeline ran
successfully on task-tracker project (3 milestones, all passed, adapter
trained with loss=2.49).
Key additions:
- DemoPipeline builder + DemoTypes (pipeline orchestration)
- genome/training-export command (accumulator buffer → JSONL → disk)
- genome/demo-run command (entry point for demo pipelines)
- task-tracker project (3 milestones, 14+ deterministic tests)
- Shell allowFailure flag (test runners don't kill loops)
- Interpolation fix: {{steps.N}} searches by step_index not array
position (loop sub-steps shift positions in shared results array)
- ClaudeCodeProvider: strip ANTHROPIC_API_KEY for OAuth auth
- Startup self-healing: Postgres DB health check + auto-create + auto-seed1 parent 0558cec commit bed366e
File tree
62 files changed
+4575
-414
lines changed- docs
- src
- browser
- commands
- genome
- demo-run
- browser
- server
- training-export
- browser
- server
- sentinel/coding-agent
- browser
- server
- docs
- personas
- generator
- projects/task-tracker
- scaffold
- tests
- scripts
- server
- system/sentinel
- coding-agents
- pipelines
- workers/continuum-core
- bindings/modules
- src/modules/sentinel
- steps
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
62 files changed
+4575
-414
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
| 132 | + | |
132 | 133 | | |
133 | 134 | | |
134 | 135 | | |
| 136 | + | |
135 | 137 | | |
136 | 138 | | |
137 | 139 | | |
| |||
181 | 183 | | |
182 | 184 | | |
183 | 185 | | |
| 186 | + | |
184 | 187 | | |
185 | 188 | | |
186 | 189 | | |
| |||
890 | 893 | | |
891 | 894 | | |
892 | 895 | | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
893 | 901 | | |
894 | 902 | | |
895 | 903 | | |
| |||
905 | 913 | | |
906 | 914 | | |
907 | 915 | | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
908 | 921 | | |
909 | 922 | | |
910 | 923 | | |
| |||
1150 | 1163 | | |
1151 | 1164 | | |
1152 | 1165 | | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
1153 | 1171 | | |
1154 | 1172 | | |
1155 | 1173 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
Lines changed: 156 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
0 commit comments