feat: log corpus receiver — accept Turnstone push batches, label for logreading fine-tune #61
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Avocet receives push batches from consented Turnstone nodes, stores log entries with consent metadata, and provides a labeling UI to annotate failure type + plain-language explanation for logreading fine-tune training.
Design spec:
circuitforge-plans/turnstone/superpowers/specs/2026-05-11-log-corpus-pipeline-design.mdNew DB tables
corpus_sources— registered Turnstone nodes + consent tokens + owner metadatacorpus_batches— received push batches with source + watermarkcorpus_entries— individual log entries, one per row, with label stateNew API module:
app/data/log_corpus.pyLabeling UI: new Log Corpus tab
Label fields per entry:
Matches existing bucket-drag ASMR labeling pattern where possible. Display: service name + timestamp + severity + log text.
Fine-tune integration
GET /api/corpus/exportoutputs JSONL compatible with existing SFT harness:New job type:
type = "logreading"inapp/train/train.py.Seed data
On first run: populate
corpus_sourceswith consent tokens for xanderland + orchard nodes.Privacy
corpus_sources.active = false+ deleting entriesSee also: turnstone#6 (push exporter)