The VCDesign core
Decisions
A human closes each Δ with one of six words. No other vocabulary is used. Every decision passes one judgment gate.
Norms: core.yaml decision and closure_loop; policies.yaml judgment_gate, enforcement, temporal_governance. Record format: schema_log.yaml.
1. A human closes the decision
- The final decider of every decision is human. Whatever an AI produces about a case is a proposal until a human closes the decision (axiom A3).
- A closed decision authorizes a scope of execution through its declaration. No execution may exceed the scope authorized by a decision closed by a human. Execution within that scope needs no further decision; a change that would exceed it is observed as a Δ and re-decided (axiom A2).
- A guard verdict at a boundary (pass / deny / unknown) checks one crossing; it is not a decision. Unknown stops and escalates and is never treated as pass.
2. The six words
The six words are the canonical Decision. VCDesign maps each to a handling of the declaration and a next state (implementation.md §3).
| Decision | Meaning | Declaration | Next state |
|---|---|---|---|
| Proceed | Continue with the current structure and declaration | Kept as is, including corrections that do not change the chapter | active |
| Expand | Widen target, scale or connections based on an observed Positive Δ | Widen blast_radius (before / after). Requires an observed Positive Δ and confirmed recovery capability | active |
| Limit | There is value but the spread is too wide; narrow target, authority, scale or period | Narrow blast_radius (before / after) | active |
| Reframe | Redefine value, target, boundary or premises | Define a new chapter: premises, boundary, owner and declaration | reframed |
| Defer | Hold with responsibility until the material for judgment is ready | Set a temporary owner and the next review time | deferred |
| Retire | End it because it does not lead to the next value | Release responsibility and hand over what remains to a new holder. Includes deciding not to start | retired |
A confirmed Δ stays under responsibility until a decision closes it. Defer is a closure path with an owner and a review time, not an escape.
3. The judgment gate
Every decision is closed by a human through this single gate. Its checks follow the canonical Review Output (Upside / Downside / Continuity / Asymmetry / Decision) in the order of the five principles. Long-term and short-term decisions differ only in the depth of the check; there is no separate gate.
| Principle | What is checked |
|---|---|
| Keep | value_intent is declared; residual_assets are declared with holders |
| Find | spread_signals.expected is declared; a Positive Δ is recorded separately from the average outcome |
| Close | blast_radius is declared; failure_domain is declared if shared; upstream conclusions are revalidated |
| Try | reversibility is declared; the halt path is confirmed |
| Pass on | the decision basis is recorded; the re-derivation basis is recorded for long-lived cases |
4. What each decision requires
| Decision | Requires (judgment_gate.per_decision) |
|---|---|
| Proceed | Nothing beyond the gate's checks |
| Expand | An observed Positive Δ (spread_signals observed or unexpected) / recovery capability confirmed for the widened scope / blast_radius before and after |
| Limit | blast_radius narrowed, before and after |
| Reframe | The existing chapter is not sustainable / new premises and boundary / a new owner / supervisor approval if structural |
| Defer | A reason / a temporary owner / the next review time (default ceiling 7 days, after which the supervisor forces closure) |
| Retire | No hidden dependency / responsibility released / related chapters notified / what remains handed over |
5. Expand and Limit update the declaration
Expand and Limit are decisions that update the blast_radius declaration without changing the chapter, recorded as before and after. Expand widens the declaration; Limit narrows it.
- A "small trial" without a narrowed declaration is not Limit. It is a trial without a ceiling and is stopped at the judgment gate.
- An average effect alone never justifies Expand.
An Expand record from a fictional parts factory (excerpt from point-vs-line-improvement.md; values translated):
decision:
value: expand
positive_delta_refs: [reuse_cost_decline, unsolicited_pull]
declaration_update:
before:
scope: data collection on lines 1–3 only (never writes to control systems)
max_loss: {unit: hours_data_gap, value: 8}
after:
scope: data collection on lines 1–4 and read-only feed to quality control (never writes to control systems)
max_loss: {unit: hours_data_gap, value: 8}
approved_by: {role: plant_manager}
decided_by: {role: plant_manager}
6. Positive Δ and Expand
"Propagable" does not mean "spread automatically".
- Observing a Positive Δ and holding it with a named holder are never stopped, quarantined or blocked.
- Spreading it is the decision Expand, which requires an observed Positive Δ and confirmation that the widened scope can still be recovered.
- When preconditions are missing, what is stopped is the Expand decision, not the observation or holding.
- An upside whose cause is unknown is marked unknown by the boundary guard and never justifies widening.
7. Hard stops
The judgment gate stops the propagation of a Negative Δ and an Expand decision that lacks its preconditions (judgment_gate.hard_stops). It never stops observing or holding a Positive Δ.
- A fatal downside (regardless of whether an owner exists)
- No owner
- No human final decider
- Irreversible without a declared max loss
- Expand without an observed Positive Δ
- Expand beyond recovery capability
Blocking applies only to a Negative Δ and to the decision Expand. Findings about observing or holding a Positive Δ are at most a warning (policies.yaml enforcement).
8. Recording decisions
- Each decision records its basis from the Upside / Downside / Continuity / Asymmetry viewpoints (
decision.basis). A decision without a basis is detected by the metric decision_without_basis. - System state can be rolled back; responsibility records are append-only. The proposal, the decision and its basis, the owner, the evidence at the time, the guard verdict and the reason for a rollback are never deleted. A correction adds a new record; it never erases one (
temporal_governance).
9. Anti-patterns
- Expand on average success only
- A trial without a declaration (an "experiment" without a ceiling)
- Defer without an owner or a review time
- Retire that hides active dependencies