Ask a general-purpose assistant whether a mechanism is legal and it will answer. Fluently. With a rule number. The rule number is sometimes real and sometimes not, and there is nothing in the answer that tells you which. For a team facing inspection, a confident wrong citation is worse than no answer at all.
The same failure shows up in code. A model will happily write a shooter subsystem for a robot that has no shooter, using motor ports that are already taken. It reads as plausible right up until it is flashed to the robot.
The goal was never an assistant that knows more. It was one that will say the thing it cannot know.
Refract splits the work into five skills. Each one is bound to a specific body of evidence, and none of them is allowed to answer outside it. Team config reads the repository and the bill of materials. Rule check reads a tagged copy of the Competition Manual and traverses cross-references. Hardware lookup reads structured spec tables and runs the arithmetic in a script rather than in prose.
Code generation and code review sit on top of those three. They are not allowed to run until the configuration has been confirmed — not inferred, confirmed. That single gate removes the entire category of code written for a robot that does not exist.
Pick a question a team might actually ask. This is the routing logic Refract applies before it answers anything.
Alliance selection built for real FTC competition — OPR, Bayesian shrinkage, Monte Carlo.
A behaviour-tree engine for FTC with zero heap allocation on the tick path.
Where all of this tooling actually gets used — Team IK19859, control systems.