🚧 Early alpha Under active construction. Everything here may change without notice β€” except the appcast URL. That one's forever.

Aetower

Docs

Aetower module breakdown

This document defines a concrete initial repository layout and module ownership plan for Aetower.

Current status: aetower-collector, aetower-identity, aetower-attribution, aetower-friction, and aetower-history are split into dedicated workspace crates, while aetower-core remains the composition layer for engine, adapters, pipeline, and benchmarks.

The design target is:

1. Repository layout


Aetower/
β”œβ”€β”€ AADR.md
β”œβ”€β”€ docs/
β”‚   └── module-breakdown.md
β”œβ”€β”€ rust/
β”‚   β”œβ”€β”€ Cargo.toml
β”‚   β”œβ”€β”€ crates/
β”‚   β”‚   β”œβ”€β”€ aetower-model/
β”‚   β”‚   β”œβ”€β”€ aetower-time/
β”‚   β”‚   β”œβ”€β”€ aetower-collector/
β”‚   β”‚   β”œβ”€β”€ aetower-identity/
β”‚   β”‚   β”œβ”€β”€ aetower-attribution/
β”‚   β”‚   β”œβ”€β”€ aetower-friction/
β”‚   β”‚   β”œβ”€β”€ aetower-history/
β”‚   β”‚   β”œβ”€β”€ aetower-adapters/
β”‚   β”‚   β”œβ”€β”€ aetower-bridge/
β”‚   β”‚   β”œβ”€β”€ aetower-engine/
β”‚   β”‚   └── aetower-diagnostics/
β”‚   └── bindings/
β”‚       └── uniffi/
β”œβ”€β”€ macos/
β”‚   β”œβ”€β”€ AetowerApp/
β”‚   β”œβ”€β”€ AetowerUI/
β”‚   β”œβ”€β”€ AetowerBridge/
β”‚   └── Aetower.xcodeproj
└── scripts/
    β”œβ”€β”€ build-rust.sh
    β”œβ”€β”€ package-macos.sh
    └── generate-uniffi.sh

The split is intentional:

2. Rust workspace design

The Rust side should be a workspace with small crates and strict dependency direction.

Dependency rule:

2.1 aetower-model

Responsibility:

Owns:

Constraints:

Why it exists:

2.2 aetower-time

Responsibility:

Owns:

Constraints:

Why it exists:

2.3 aetower-collector

Responsibility:

Owns:

Likely internal modules:

Constraints:

Determinism rules:

2.4 aetower-identity

Responsibility:

Owns:

Likely internal modules:

Constraints:

Why it exists:

2.5 aetower-attribution

Responsibility:

Owns:

Likely internal modules:

Constraints:

Efficiency rules:

2.6 aetower-friction

Responsibility:

Owns:

Likely internal modules:

Constraints:

Why it exists:

2.7 aetower-history

Responsibility:

Owns:

Likely internal modules:

Constraints:

Efficiency rules:

2.8 aetower-adapters

Responsibility:

Owns:

Likely internal modules:

Adapter contract:

Why it exists:

2.9 aetower-diagnostics

Responsibility:

Owns:

Why it exists:

2.10 aetower-engine

Responsibility:

Owns:

Suggested pipeline per tick:

  1. acquire monotonic tick timestamp
  2. collect raw samples
  3. resolve identity
  4. attribute entity metrics
  5. merge adapter context from freshest compatible adapter outputs
  6. compute friction
  7. update history
  8. publish immutable snapshot

Constraints:

2.11 aetower-bridge

Responsibility:

Owns:

FFI rules:

Why it exists:

3. macOS app design

The Swift side should be thin.

Rule:

3.1 AetowerApp

Responsibility:

Should not own:

3.2 AetowerBridge

Responsibility:

Why it exists:

3.3 AetowerUI

Responsibility:

Suggested feature modules:

View-model rules:

4. Data flow

The intended steady-state data flow is:


macOS collectors
  -> raw samples
  -> identity resolution
  -> attribution
  -> adapter merge
  -> friction calculation
  -> history update
  -> immutable snapshot
  -> UniFFI bridge
  -> Swift snapshot store
  -> SwiftUI render

Important:

5. Scheduling model

Determinism and efficiency depend on disciplined scheduling.

Suggested schedules:

Rules:

6. Caching strategy

Caching is required for performance, but it must not undermine correctness.

Safe caches:

Invalidation triggers:

7. Snapshot design rules

Snapshots should be:

Recommended snapshot contents:

Avoid:

8. Suggested first implementation slice

Build this first:

Rust

Swift

Excluded from first slice

This first slice is enough to validate the product thesis.

9. Concrete ownership boundaries

These boundaries should remain strict:

If those boundaries erode, determinism and performance will erode with them.

10. Efficiency checklist for implementation

Every new module should be evaluated against:

This checklist should be enforced early, not after the architecture is already diluted.

Aetower is a free early-alpha download for macOS 14+ (Apple silicon).

Download for macOS