Skip to content

Move ownership diagrams ​

Move ownership

Start with how the application begins, then follow data between its folders. Open an operation to see its decisions, calls, failures and cleanup. Its explanation supplies the exact contract and linked dependencies.

This view includes 2 application source files. Package and interface boundaries show checked contracts; their runtime implementations are not expanded. The views describe the checked program, not desired requirements or a recorded execution.

Where execution begins ​

Providers ​

Console is provided by SystemConsole. The same instance is shared.

Startup ​

It calls make and stores the result in owned first (Resource). It calls consume with value from first using injected Console for console. It calls make and stores the result in owned second (Resource). It prints "end of main". source

Data flow ​

100%
Mermaid source
flowchart TD
    n0["Startup"]
    n1["resource"]
    n0 -->|"consume(value) / make → own Resource"| n1

Package boundaries ​

resource package calls
100%
Mermaid source
flowchart LR
    n0["August libraries"]
    n1["resource"]
    n1 -->|"Console.write(value)"| n0

Follow the data ​

Each row opens the complete operations and call sites behind one pair of logical units. A grouped arrow records calls between those units; connected arrows need not belong to the same execution path.

FromToOperationsRead
Startupresource2Inputs, results and call sites
resourceAugust libraries1Inputs, results and call sites

Data crossing these boundaries (3 contracts) ​

Startup → resource ​

2 operations, 3 sites

consume

Inputs: value: own Resource. Result: void.

Caller or entryEvidence
StartupCall site · Caller explanation

make

No caller-supplied inputs. Result: own Resource.

Caller or entryEvidence
StartupCall site · Caller explanation
StartupCall site · Caller explanation

resource → August libraries ​

1 operation, 1 site

Console.write · interface dispatch

Inputs: value: string. Result: void.

Caller or entryEvidence
consumeCall site · Caller explanation

Open a module ​

ModuleRead
main.augFlow and sequences · Explanation
resource.augFlow and sequences · Explanation

These are static call boundaries, not a request trace. Interface implementations and foreign internals stop at their checked contracts. Dotted arrows defer a callback or browser action. Imports alone do not imply a call.

Last updated:

The world runs on language