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

-

Downloads are not tracked for this model. How to track
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-lora

Finetuned
(123)
this model