Skip to content

Architecture And Decisions

Canon architecture packets capture bounded structural decisions with rationale, alternatives, consequences, and downstream traceability.

Architecture Packets

An architecture packet should answer:

  • what decision or structural question is being governed?
  • what system context applies?
  • what constraints matter?
  • which alternatives were considered?
  • why was the selected option chosen?
  • what consequences follow?
  • what evidence supports the decision?
  • what remains open?

The packet should be useful to implementers and reviewers, not just architects.

Decision Records

A decision record preserves the reasoning behind a choice.

Useful decision content:

  • decision title
  • status
  • context
  • selected option
  • rejected alternatives
  • rationale
  • consequences
  • evidence
  • approval state
  • downstream impact

Decision records should be traceable to the Canon run and packet that produced them.

Type 1 And Type 2 Decisions

Use decision reversibility to shape governance:

  • Type 1 decisions are hard to reverse, high consequence, or expensive to unwind.
  • Type 2 decisions are easier to reverse and can often be made with lighter governance.

Canon should make decision type explicit when it affects approval, evidence, or downstream reliance.

Rationale

Rationale is the reason a decision was made. It should not be a restatement of the decision.

Good rationale connects:

  • goals
  • constraints
  • tradeoffs
  • evidence
  • rejected alternatives
  • risk posture

Weak rationale says only that an option is simpler, cleaner, or preferred without showing why.

Alternatives

Alternatives keep architecture honest.

Record:

  • what was considered
  • why it was rejected
  • what would make it viable later
  • whether it has different risk or migration properties

If no alternatives are credible, explain why. Do not omit alternatives just to make the decision look obvious.

Consequences

Consequences are the cost of the decision.

Include:

  • implementation impact
  • operational impact
  • compatibility impact
  • migration or rollback constraints
  • new risks
  • review or verification needs
  • downstream packet dependencies

Consequences are often the most useful part of an architecture packet for future maintainers.

Downstream Traceability

Architecture decisions should remain connected to:

  • requirements or discovery packets
  • domain-language or domain-model packets
  • evidence refs
  • implementation or backlog packets
  • verification results
  • project memory promotions

Downstream tools should consume the decision with its authority and approval state, not as detached prose.

Released under the MIT License.