- Q-Meeting-50M-Sovereign β Meeting notes structurer β attendees, decisions, actions
- What this model does, in one sentence
- Honest performance
- What it's used for β real workflows
- What problem this actually solves
- Integration paths
- Example
- What this is NOT
- Proprietary Qovaryx technology β built on our own scratch base
- Architecture (Qovaryx proprietary)
- How to load it (Python)
- License & posture
- Sibling specialists in the Qovaryx Compact Specialist Suite
- Official site & community
- What this model does, in one sentence
Q-Meeting-50M-Sovereign β Meeting notes structurer β attendees, decisions, actions
Built by JE Horizon β sovereign 50M specialist
Part of the Q-Office-Suite, a family of small sovereign-base specialists trained from scratch at 50M parameters. Not bundled in the Qovaryx desktop app β published here for transparency + research.
- Read the research: https://qovaryx.jehorizon.com/research
- Main site: https://qovaryx.jehorizon.com
Drop a meeting note. Pull out attendees, decisions, action items. Strict JSON.
What this model does, in one sentence
Given a meeting note, extracts a structured JSON with the requested fields: attendees, decisions, actions (with owner + due), and topic. Strict shape, no extra keys.
Honest performance
- Task: meeting note structuring
- Metric:
json_content(extracted JSON object equals gold (canonicalized)) - Holdout: n=60 rows, never seen in training, scored row-by-row
- Score: 100.0% mean
- Bootstrap CI 95% lower bound: 1.000
- Gate threshold: 0.95
- Verdict: PASS at point estimate AND at bootstrap CI lower bound
What it's used for β real workflows
- Post-standup auto-summary β ASR transcript of a 15-min standup β JSON attendees, decisions, actions with owner+due. Drop the JSON into a Slack thread or your project tool.
- Customer call structuring β After a sales/support call, extract who-said-they-would-do-what with the owner names and dates from the transcript.
- Action-item extraction β Trained to surface only the action items, not summarize the whole meeting. Use as a focused step in a larger summarization pipeline.
- Decision-log JSON β Steering-committee call β {topic, decisions[]}; feed straight into a decisions wiki.
What problem this actually solves
Generic meeting summaries are too verbose and lose the operationally useful parts (who owns what, by when). Q-Meeting is the focused JSON-extractor that sits at the END of an ASR + summary pipeline, pulling the four canonical fields that downstream automation actually needs.
Integration paths
- After Whisper / ASR β Send the transcript through Q-Meeting; route the JSON to your project-mgmt tool.
- Q-Office-Suite runtime β POST /run/q-meeting with the note body.
- Email-thread digester β Run end-of-day on a project email thread; extract the day's commitments.
Example
Input:
Notes: Alice, Bob met. Decided: ship Friday. Action: Alice writes spec by Tue.
JSON {attendees, decisions, actions}.
Output:
{"attendees": ["Alice", "Bob"], "decisions": ["ship Friday"], "actions": [{"owner": "Alice", "due": "Tue"}]}
What this is NOT
- Not a general-purpose chatbot. This head does one job and does it consistently. Free-text generation outside the trained task surface will degrade.
- Not a replacement for a verifier. This is one component in the Qovaryx cluster-shell architecture. The decision-acceptance discipline lives in the wrapper, not in the head.
- Not reproducible from this card. Weights and audit are public; the crystal corpus, eval gate constants, and training hyperparameters are not.
Proprietary Qovaryx technology β built on our own scratch base
This is a 53.5M-parameter sovereign specialist in the Qovaryx Compact Specialist Suite. It is full-fine-tuned from tjarvis91/qovaryx-50m-scratch-base β our own scratch-trained base, not a borrowed foundation model.
- Base: Qovaryx 50M scratch base. Pretrained from random initialization on 491.5M tokens. Not SmolLM2. Not Qwen. Not Llama. Not Mistral. Not Phi. No HuggingFace foundation. No closed-source weights. Every parameter traces back to a Qovaryx training run on Qovaryx hardware.
- Tokenizer: Qovaryx
english_v1BPE (vocab 32000), built in-house against our own pretraining corpus. - Architecture: Qovaryx FinanceDecoder β 12 decoder blocks, GQA, RoPE, SwiGLU FFN, RMSNorm, MTP heads, decision head.
- Recipe: Qovaryx crystallization discipline β train the law before replaying the noise.
- Runs on CPU. No GPU required at inference.
Architecture (Qovaryx proprietary)
- 53.5M parameters
- 12 decoder blocks, d_model=512, n_head=8, GQA n_kv_head=2
- SwiGLU FFN, RoPE positional, RMSNorm
- Multi-token prediction (MTP) auxiliary heads
- Decision head for routed-decision tasks
- Tokenizer: Qovaryx
english_v1BPE, vocab 32000 (in-house build) - Pretrained from
qovaryx-50m-scratch-basestep 60000 β 491.5M tokens - Full fine-tune (no LoRA, no QLoRA, no adapter): every parameter was updated on the Qovaryx crystal corpus for this specialist
How to load it (Python)
import torch
from tokenizers import Tokenizer
from bleeding_edge.model.decoder import FinanceDecoder, DecoderConfig
tok = Tokenizer.from_file("tokenizer.json")
ckpt = torch.load("pytorch_model.pt", map_location="cpu", weights_only=False)
cfg = DecoderConfig(**{k: v for k, v in ckpt["model_cfg"].items() if k in DecoderConfig.__dataclass_fields__})
cfg.vocab_size = tok.get_vocab_size()
model = FinanceDecoder(cfg).eval()
state = {k.removeprefix("_orig_mod."): v for k, v in ckpt["model_state"].items()}
model.load_state_dict(state, strict=False)
prompt = "Notes: Alice, Bob met. Decided: ship Friday. Action: Alice writes spec by Tue.\nJSON {attendees, decisions, actions}."
ids = tok.encode(prompt).ids
cur = torch.tensor([ids], dtype=torch.long)
with torch.no_grad():
for _ in range(120):
nxt = int(torch.argmax(model(cur, return_decision=False).logits[:, -1, :], dim=-1))
if nxt == 0: break
cur = torch.cat([cur, torch.tensor([[nxt]])], dim=1)
print(tok.decode(cur[0].tolist()[len(ids):]))
License & posture
Apache 2.0 for the published weights, model card, and example code.
The Qovaryx scratch base build pipeline, the crystallization corpus, the eval gate constants, the cluster routing policy, and the protected runtime entrypoint are Qovaryx proprietary technology and are not included in this release. Same posture as every previous Qovaryx public release: ship the weights and the audit, not the recipe.
Sibling specialists in the Qovaryx Compact Specialist Suite
All ten specialists share the qovaryx-50m-scratch-base and the same audit discipline. Use one directly; use all ten through the cluster shell.
- Q-Triage β ticket routing
- Q-DocCite β document citation
- Q-Invoice β invoice extraction
- Q-ToolCall β agent tool-calls
- Q-Meeting β meeting structuring
- Q-FinCite β 10-K/10-Q citation
- Q-CmdSafe β command safety triage
- Q-SheetExtract β spreadsheet extraction
- Q-Coder β Python code skeletons
- Q-RAG β relevance filter for RAG; beats BGE-reranker-large on its holdout
Official site & community
The full Qovaryx runtime that orchestrates this specialist behind a single decision-acceptance gate ships from:
- Site: https://qovaryx.jehorizon.com
- Download (desktop beta): https://qovaryx.jehorizon.com/download.html
- Research: https://qovaryx.jehorizon.com/research
- Discord: https://discord.gg/PtuHZDv5ju
- Ko-fi (we cover GPU bills): https://ko-fi.com/tjarvis91
- Research devlog: https://github.com/thron-j/qovaryx-ai-research
If you find a failure mode this card doesn't cover, open a discussion on this repo or come to the Discord β that's how the next crystal corpus gets written.
- Downloads last month
- 51
Model tree for tjarvis91/Q-Meeting-50M-Sovereign
Base model
tjarvis91/qovaryx-50m-scratch-base