wrightproduct-v0

A model that turns a product idea into the full PM + staff-engineer chain, including the multi-agent work assignments a coding team can execute.

Brief  →  PRD  →  Technical Design  →  ADRs  →  Task Breakdown  →  Agent Orchestration

Fine-tuned from Qwen/Qwen3-30B-A3B-Instruct-2507 (Apache-2.0) on a curated set of real software design documents (Kubernetes KEPs, Python PEPs, Rust RFCs, Kafka KIPs, public ADRs) rewritten into the contract above, plus synthetic scenarios generated by an open-weight teacher.

What it does

Given a brief (idea, users, constraints), it produces:

  1. PRD — problem, goals/non-goals, numbered requirements with MoSCoW priority and testable acceptance criteria, success metrics, scope phasing, risks, and honest open questions.
  2. Technical Design — C4 overview, a requirements-traceability table linking every design element to an R#, data model, APIs, key flows, non-functionals, alternatives considered, rollout and observability.
  3. ADRs — one per significant choice, each with Context / Decision / Alternatives / Consequences.
  4. Task Breakdown — epics and tasks T1..Tn with estimates, dependencies and requirement coverage.
  5. Agent Orchestration — the piece that makes this executable by other coding agents: one ready-to-paste work assignment per task (goal, R#s, interfaces allowed/forbidden, inputs to read), plus coordination protocol and acceptance gates.

Why it exists

General models with a good prompt are strong at prose but leaky on the contract: they write tasks without pairing them to work assignments, invent metrics instead of asking, and size the design for a team the brief never mentioned. This model is fine-tuned to hold the contract and to ask when it does not know.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

name = "imgovind/wrightproduct-v0"
tok = AutoTokenizer.from_pretrained(name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    name, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True
)

messages = [
    {{"role": "system", "content": "You are a staff product manager and staff software architect."}},
    {{"role": "user", "content": brief_yaml}},
]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=8000, do_sample=True, temperature=0.2)
print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))

On a Mac (MLX)

This repo ships an MLX 4-bit copy under mlx/. With mlx-lm:

mlx_lm.generate --model imgovind/wrightproduct-v0/mlx --prompt "..."

Or merge the adapter yourself:

python phase2_finetune/export_mlx.sh checkpoints/sft/full/adapter checkpoints/mlx

Contract

The output is one markdown document with five H1 sections in order: # PRD, # Technical Design, # ADRs, # Task Breakdown, # Agent Orchestration. wrightproduct.contract.validate() checks it mechanically.

Training data provenance

Source Kind Licence
Kubernetes KEPs, Python PEPs, Rust RFCs, Kafka KIPs, public ADRs real design docs, rewritten Apache-2.0 / MIT / CC0 / public-domain (per item, recorded)
Synthetic scenarios generated by Qwen/Qwen3-30B-A3B-Instruct-2507 (Apache-2.0) generated

No commercial-API outputs are in the training set. Evaluation baselines used a frontier model and are recorded separately under evals/results/, never in data/.

Evaluation

Scored against a frozen 155-scenario brief set with a 13-criterion rubric (PRD quality, design, traceability, calibration, honesty, agent orchestration). Baseline (Qwen3-30B-A3B + strong prompt): 4.45 / 5 with 2,159 TASK_NO_ASSIGNMENT contract violations across 155 documents.

See evals/reports/ for the full numbers.

Limitations

  • Trained for software / SaaS products. Other domains are out of scope for v0.
  • The model asks when facts are missing; it does not retrieve current technology facts. Pair it with retrieval if you need up-to-date stack advice.
  • 30B total / 3B active MoE: requires ~18 GB for 4-bit, ~60 GB for bf16.

Licence

Weights are Apache-2.0 (same as the base model). Training code is in the wrightproduct repository.

Downloads last month
-
Safetensors
Model size
31B params
Tensor type
BF16
·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for imgovind/wrightproduct-v0

Finetuned
(123)
this model