{% extends "base.html" %} {% block title %}Save — FreeWeight{% endblock %} {% block content %}

{{ draft.name }}

{% include "partials/_wizard_steps.html" %}

7. {{ step.heading }}

{% if error %} {% endif %} {% if goal %}

Written

Your goal pack is at:

{{ goal.pack_path }}

Its goal_hash is {{ goal.goal_hash }}. That hash is what separates results: change a criterion, a weight, a rule parameter or the jury, and the hash changes, and FreeWeight will not average the old numbers with the new ones.

This file is yours. It is plain JSON: open it in an editor, diff it in git, copy it to another machine. Nothing about it points back into FreeWeight, and a pack you edit by hand loads in this wizard again without loss.

What is in it

{% for criterion in goal.pack.criteria %} {% endfor %}
CriterionRung WeightScored by
{{ criterion.name }} {{ criterion.rung.value }} {{ '%.0f' % (criterion.weight * 100) }}% {{ criterion.rule_type or 'a jury' }}

Next

{{ cost }}

A failed calibration gate is a useful answer, not a rejection: the run still executes, every sample stays inspectable, and the report names the criteria the jury disagreed with you on most. What it will not do is emit capability evidence from a rubric nobody can measure yet.

{% else %}

Name it, and FreeWeight writes the pack. The slug becomes a directory name, a URL and the capability its evidence is emitted under — user.<slug> — so it is worth picking one you will recognise.

{% include "partials/_csrf.html" %}

{% endif %} {% endblock %}