Skip to route content

Issue 100 · relationships before decoration

Explain what connects, what changes, and who controls the facts.

The guide records a shared grammar for architecture, runtime flow, sequence, lifecycle, and package relationships. Every visual is paired with an equivalent relation list, event table, transition table, or adjacency table.

01 · architecture and authority

Make boundaries, ownership and confidence visible.

An architecture map should explain what exists now, which relationships are proposals, and where authority leaves the illustrated product. The shape is never allowed to imply implementation status by itself.

Source revision
hara:runtime-boundary@62ceb4a16b4f361a
Authority
hara-lang/hara implementation and accepted runtime contracts
Nodes
10
Relations
9
Shared callable and host boundary Current implementation is solid; external authority is doubled; proposals are dashed.

Equivalent relation list

  1. Hara source read exact source Reader + front end

    current · source revision
  2. Reader + front end resolve ordinary callable Direct callable catalog

    current · catalog revision
  3. Direct callable catalog direct value Tree evaluator

    current · runtime test
  4. Direct callable catalog direct value Fiber evaluator

    current · runtime test
  5. Direct callable catalog direct value Bytecode VM

    current · VM test
  6. Direct callable catalog capability-fenced call Native CLI

    current · host receipt
  7. Direct callable catalog capability-fenced call Browser / Wasm

    current · browser receipt
  8. Package registry release identity Hara source

    external · registry receipt
  9. Direct callable catalog future transport Remote evaluator

    proposed · proposal only

02 · runtime and data flow

Distinguish values, commands, observations, receipts and handoffs.

Flow diagrams should make the session fence and the class of every movement inspectable. A returned value is not a command, and an unavailable handoff is not an execution failure.

Session
session:7c2d9a1e
Generation
4
Source
source:4f31d2c8
Backend
wasm-hbc
Capabilities
capabilities:browser-safe@3
Session command, observation and receipt flowEach stage names its output and state; the textual list remains the narrow-width primary view.
Value / artifactCommandObservationReceiptCross-product handoff

Equivalent ordered flow

  1. 1
    Load source

    exact source value

    artifact · current
  2. 2
    Attach capabilities

    capability fence

    command · current
  3. 3
    Run form

    command 147

    command · current
  4. 4
    Observe result

    value [2 3 4]

    observation · current
  5. 5
    Checkpoint boundary

    receipt 148

    receipt · current
  6. 6
    Publish share

    unavailable offline

    handoff · unavailable

03 · sequence and handoff

Keep actors, event order and returned facts exact.

A sequence view must preserve monotonic order, message class, source revision and timeout behavior. The event table is not a fallback of lesser value; it is the authoritative readable equivalent.

Sequence
141–148
Revision
sequence:playground-run@1
Lanes
5
Events
8
Playground run with exact session fencingCalls, messages, returned facts, receipts and timeouts use different line/symbol treatment.

Equivalent monotonic event table

Playground session events in exact order
Seq.FromToClassEventRevisionState
141personplaygroundcommandRun exact sourcesource:4f31d2c8current
142playgroundhostmessageCreate generation 4session:7c2d9a1ecurrent
143hostruntimecallEvaluate with browser-safe capabilitiescapabilities:browser-safe@3current
144runtimehostfactReturn value [2 3 4]runtime:hbc@12current
145hostreceiptsreceiptAppend observation receiptreceipt:145current
146receiptsplaygroundfactConfirm monotonic checkpointreceipt:146current
147playgroundpersonfactRender result and fenceview:147current
148playgroundreceiptstimeoutShare receipt unavailable offlinenetwork:noneunavailable

04 · lifecycle and recovery

Show terminal states, guards and forbidden transitions.

State diagrams should answer what can happen next, why a transition is allowed, what evidence proves it, and what requires a replacement identity rather than a visual reset.

Initial
idle
Revision
state:session-lifecycle@4
Allowed
9
Forbidden
3
Browser session lifecycleUse the step controls to demonstrate a legal path. Reduced motion changes feedback, not state meaning.
Current state Idle idle

Idle has no session identity. Create is the only enabled transition in this specimen path.

Allowed transitions

  1. idleready

    create · source and capability fence valid

    session-created receipt
  2. readyrunning

    run · no active command

    command-started event
  3. runningcompleted

    complete · result available

    observation receipt
  4. runningfailed

    fail · terminal error

    failure receipt
  5. runningcancelling

    cancel · command still active

    cancel-requested event
  6. cancellingfailed

    cancelled · terminal cancellation observed

    cancelled receipt
  7. readydisposed

    dispose · no active command

    dispose receipt
  8. completeddisposed

    dispose · generation terminal

    dispose receipt
  9. faileddisposed

    dispose · generation terminal

    dispose receipt

Forbidden transitions

  1. idlerunning

    A session identity and capability fence must exist first.

  2. completedrunning

    A terminal generation cannot restart; create a replacement generation.

  3. disposedready

    Disposed identity cannot be reactivated.

Equivalent transition table

Allowed browser-session transitions, guards and evidence
FromActionToGuardEvidence
IdlecreateReadysource and capability fence validsession-created receipt
ReadyrunRunningno active commandcommand-started event
RunningcompleteCompletedresult availableobservation receipt
RunningfailFailedterminal errorfailure receipt
RunningcancelCancellingcommand still activecancel-requested event
CancellingcancelledFailedterminal cancellation observedcancelled receipt
ReadydisposeDisposedno active commanddispose receipt
CompleteddisposeDisposedgeneration terminaldispose receipt
FaileddisposeDisposedgeneration terminaldispose receipt

05 · package and namespace graph

Keep dependency direction and stewardship distinct.

Package, namespace, runtime and maintainer nodes carry different authority. Direct, optional, incompatible and superseded edges need words and evidence—not one generic line between circles.

Registry revision
registry-fixture:packages@8
Nodes
9
Edges
10
Selected
release:0.4.2
Package, namespace, runtime and maintainer relationshipsSelect a node to inspect exact identity, ownership and adjacent relations.

Equivalent adjacency and evidence table

Package, namespace, runtime and maintainer relations
FromRelationToEdge stateFrom revisionTo revision
std.workexportswork.corecontainsrelease:0.4.2namespace:17
std.workexportswork.storecontainsrelease:0.4.2namespace:12
std.work.sqlitedepends onstd.workdirectrelease:0.2.0release:0.4.2
std.work.sqliteprovider implementationwork.storeoptionalrelease:0.2.0namespace:12
std.worksupportedRust nativecompatiblerelease:0.4.2target:rust@12
std.workportable subsetBrowser / Wasmpartialrelease:0.4.2target:wasm@9
std.work.sqliteprovider unavailableNative imageincompatiblerelease:0.2.0target:native-image@2
work.runtimemigrate towork.storesupersedednamespace:8namespace:12
@minapublisherstd.workmaintainsidentity:github@minarelease:0.4.2
@minapublisherstd.work.sqlitemaintainsidentity:github@minarelease:0.2.0

06 · shared grammar

Use one relation language across products.

Node shape, line treatment and annotation hierarchy are shared. Application-specific identities, events, transitions and dependency facts remain under their own authority.

Boundary and confidence legend

Every state combines words, symbols and line treatment.

Current boundary

Implemented and evidenced by the cited source revision.

current
Proposed boundary

A planned relationship that must not be presented as current behavior.

proposed
External authority

Identity or facts are controlled outside the illustrated product.

external
Unavailable path

The path cannot currently complete; this is not the same as failure.

unavailable
Degraded path

The path remains usable with explicitly reduced guarantees.

degraded

Annotation stack

Do not ask arrows and boxes to carry source or authority facts silently.

  1. 01
    Title

    What relationship or lifecycle is being explained.

    Plain-language purpose.
  2. 02
    Caption

    How to read the visual and what not to infer.

    Direction, status and scope.
  3. 03
    Legend

    Node, edge, symbol and state vocabulary.

    Words plus shape/line treatment.
  4. 04
    Evidence fence

    Source, exact revision, authority and generated-at context.

    No unfenced current claims.
  5. 05
    Callout

    A bounded exception, risk or handoff.

    Numbered and source-linked.
  6. 06
    Textual alternative

    Equivalent relations, events, transitions or adjacency.

    Complete without the visual.
01

Name the diagram, exact source revision and authority before asking the shape to carry meaning.

02

Use arrows, line style, symbols and words together; colour is a reinforcing cue only.

03

Separate current, proposed, external, unavailable and degraded boundaries explicitly.

04

Provide an equivalent ordered list, event table, transition table or adjacency table for every visual composition.

05

At narrow widths, prefer the textual alternative over shrinking labels and relations into illegibility.

06

Visual Language owns grammar and accessibility; products and registries own the facts and publication decisions.

Delivery behavior

The same explanation must survive screen, print and reduced capability.

Visual diagrams may use progressive disclosure on capable screens. Printed, low-bandwidth and narrow views use the exact title, evidence fence and textual alternative rather than a raster screenshot of tiny labels.

Wide screen
Overview visual + selected evidence inspector + textual equivalent.
680 px
Visual simplifies; labels remain outside edges; alternative moves directly below.
390 / 320 px
Ordered text, events, transitions or adjacency become primary; visual may be omitted.
Print / PDF
Static line treatment, numbered callouts, caption and source revision on the same page.
Reduced motion
No animated travel along edges; selection and state change use immediate structural feedback.
Machine projection
Expose stable node IDs, edge kinds, direction, state, revision and authority.

07 · ownership and adoption

Adopt the grammar; do not copy the fixture facts.

The public CSS supplies shared diagram semantics and responsive behavior. Each downstream product supplies its own exact node identities, relations, revisions, evidence, accessible alternative and publication decision.

Visual Language owns

Presentation grammar

Node and edge roles, line/symbol vocabulary, titles, captions, legends, evidence fences, focus, responsive transformation, print and reduced-motion treatment.

Products own

Task composition

Which diagram belongs in a page or workflow, what can be selected, how detail is disclosed, and which user action follows inspection.

Authorities own

Facts and receipts

Architecture, identities, versions, events, transitions, dependencies, compatibility, ownership, source revisions, receipts and current/proposed decisions.

Downstream diagram adoption map
Product familyPrimary diagram useRequired authority inputRequired accessible equivalent
WWW / DocsArchitecture explanations, concept maps and static low-bandwidth fallbacks.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
PlaygroundSession flow, runtime sequence, lifecycle and capability maps.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
SpecsNormative state machines, conformance flow and proposal lifecycle.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
PackagesDependency, namespace, compatibility and stewardship graphs.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
WorldSource, relay, moderation, ownership and accountable-bot diagrams.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
LearnConcept maps and progressive explanations, never hidden prerequisite authority.Exact identity, relation/state facts and source revision from the product authority.Relation list, event table, transition table or adjacency table.
  1. Pin a merged Visual Language revision.Import `v2.css` and `v2-diagrams.css` without copying protected tokens.
  2. Model stable identities first.Give every node, edge, lane, state and annotation a machine-readable ID.
  3. Fence authority.Record source revision, registry/runtime authority and whether facts are current, proposed or unavailable.
  4. Provide equivalence.Ship the relation/event/transition/adjacency alternative in the same release as the visual.
  5. Review five widths and two themes.Use `/guide/` and record route/theme/viewport evidence before downstream adoption.