Learning

Architecture and Reasoning

Ask All the Architecture Questions

Ask six questions across different representations.

Downloads

“We implemented entry” leaves several questions unanswered. Which session? Under whose policy? At what time? Using which source of facts?

Zachman is a way to classify architectural descriptions. It combines six questions with six transformations from an idea to an operating instance. It is not a sequence of release tasks.

Question Ask About the Workshop
What What are an account, session and pending confirmation?
How What work establishes registration and permits entry?
Where Where are identity checked and session facts held?
Who Who chooses policy, initiates work and owns the follow-up?
When What triggers entry, and when does permission expire?
Why Why may someone enter before confirmation?

Now compare representations of one decision:

Representation Example
Business meaning A participant may enter before confirming, with a valid session.
Logical model Entry depends on current session validity, independently of pending confirmation.
Rust specification Select CookieValid and apply it in the entry handler.
Running occurrence This particular session is active at tick 3 and is admitted.

The last row needs an observation. A policy sentence or type selection cannot substitute for it.

The complete worked map covers all 36 intersections. Use it as a reference; this lesson's comparison is enough to begin asking which representation a claim belongs to.

Engineering Depth
type OpenWorkshop<P> = Workshop<Google<P>, WithoutPassword, CookieValid>;

This selection answers a technical question about the chosen realization. It does not answer “who authorized this policy?” or “is this actual session valid?” Those answers have different owners and evidence.

Compare that selection with a runtime entry check:

if !account.active {
    return Err(EntryFailure::Revoked);
}
if self.workshop.now >= account.expires {
    return Err(EntryFailure::Expired);
}
if !E::permits(account.confirmed) {
    return Err(EntryFailure::ConfirmationRequired);
}

The selected E supplies the confirmation rule. The account's active flag and expiry supply current facts. Code alone also leaves the deployment question open: this reference stores facts in memory, so it cannot support a claim of restart recovery.

Your Reflection

Someone points to ConfirmedOnly as proof that the owner approved requiring confirmation. What kind of evidence is missing?

Worked Discussion

The type shows a configured technical selection, not the business decision that authorized it. Trace the selection back to the owner's intended meaning. Then trace it forward to initial and later entry behavior. The map connects these representations without pretending they are the same fact.

Navigation