Skip to content

Commit e3edd25

Browse files
committed
docs: add decision ops section with oracul integration guide
1 parent 6636b26 commit e3edd25

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ Drag a file into the terminal - VectorPad intercepts the path, classifies the fi
140140
| `stash` | Idea persistence with Jaccard similarity clustering and uniqueness scoring |
141141
| `negativespace` | Negative space detection: flag missing constraint classes in directives |
142142
| `flight` | Flight recorder: append-only launch log with metrics and outcome annotation |
143+
| `oracul` | Oracul API client, sentence-to-CaseFiling mapper, preflight gate |
144+
| `config` | Persistent settings (API keys, endpoints) at `~/.vectorpad/config.json` |
143145
| `detect` | Capability detection for pastewatch and contextspectre binaries |
144146
| `attach` | File attachment pipeline: detect path, classify, preview, serialize |
145147
| `tui` | Three-panel Bubbletea interface with responsive breakpoints |
@@ -167,6 +169,40 @@ See the full [glossary](https://github.com/ppiankov/contextspectre/blob/main/doc
167169

168170
Optional integration with [Pastewatch](https://github.com/ppiankov/pastewatch) scans outbound payloads for secrets before they enter a context window.
169171

172+
## Decision ops: VectorPad + Oracul
173+
174+
VectorPad can submit classified cases to [Oracul](https://oracul.app) for multi-model deliberation. Oracul runs a council of models that challenge, strengthen, and split reasoning branches before issuing a verdict artifact.
175+
176+
**Requires an Oracul API key.** Oracul is a paid service. Get a key at [oracul.app](https://oracul.app).
177+
178+
```bash
179+
# Configure
180+
vectorpad config set oracul.api_key <your-key>
181+
182+
# Classify and submit
183+
echo "Should we use Kafka or RabbitMQ?" | vectorpad submit --to oracul
184+
185+
# Save verdict as a git-trackable artifact
186+
echo "Should we use Kafka or RabbitMQ? Must handle 10k msgs/sec." \
187+
| vectorpad submit --to oracul --output decisions/message-broker.oracul.json
188+
189+
# Export CaseFiling JSON without submitting (offline, no API key needed)
190+
echo "Should we use Kafka?" | vectorpad export --format oracul
191+
```
192+
193+
The submit command classifies your text, maps sentence tags to a structured case filing (CONSTRAINT becomes constraints, DECISION becomes the decision, SPECULATION becomes known risks), runs a preflight check, then sends it to Oracul's `/v1/consult` endpoint.
194+
195+
Verdict artifacts are plain JSON. Put them in a `decisions/` directory and commit them alongside the code they affect:
196+
197+
```bash
198+
git add decisions/message-broker.oracul.json
199+
git commit -m "decision: message broker selection"
200+
```
201+
202+
`git log decisions/` is your decision history. `git blame` tells you when and why. PRs can include a decision artifact alongside the implementation.
203+
204+
VectorPad is the authoring tool. Oracul is the deliberation engine. Git is the ledger.
205+
170206
## Known limitations
171207

172208
- **Classifier is pattern-based.** Sentences without signal words ("must", "should", "will we", "maybe") classify as EXPLANATION by default. This is intentional - false negatives are safer than false positives
@@ -183,6 +219,7 @@ Optional integration with [Pastewatch](https://github.com/ppiankov/pastewatch) s
183219
- [x] Phase 5 - negative space detection, drift timeline in TUI, flight recorder, constraint pinning
184220
- [x] Phase 6 - scope declaration, pressure heat map, vector decomposition, contextspectre feedback loop
185221
- [x] Phase 7 - claim registry (SQLite stash, Ollama embeddings, cosine similarity)
222+
- [x] Phase 8 - Oracul integration (submit, export, config, preflight gate)
186223

187224
## License
188225

0 commit comments

Comments
 (0)