Skip to content

Commit ba0a2fe

Browse files
Jonathan D.A. Jewellclaude
andcommitted
refactor: rename stackur to stapeln (Swedish for 'the stack')
- Renamed project from stackur to stapeln to avoid conflict with existing tools - stapeln follows Nordic naming pattern (Swedish) - Added PAGES.md with 3-page architecture: - Page 1: Paragon view (vertical stack designer) - Page 2: Cisco view (network topology designer) - Page 3: Settings (preferences and defaults) New features: - Multi-shape containers (box, oval, gateway) - Nested container support (sidecars) - Security interface visualization - Simulation mode (animated packet flow) - Gap analysis (weak point detection) - Tauri desktop app architecture - Supply chain visualization at bottom - Cerro Torre at pinnacle (top) Weak points addressed that NO other tool covers: - Build-time verification - Transparency logging - Policy as code - Zero-copy IPC - Formal proofs (Idris2) - Attestation chaining - Resource affinity - Type safety - Visual security indicators - Audit trail - Compliance reports Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent c26f586 commit ba0a2fe

5 files changed

Lines changed: 451 additions & 30 deletions

File tree

ARCHITECTURE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# stackur Architecture
1+
# stapeln Architecture
22

33
## Overview
44

5-
stackur is a visual drag-and-drop container stack designer built with:
5+
stapeln is a visual drag-and-drop container stack designer built with:
66

77
- **Frontend**: ReScript-TEA (The Elm Architecture) + Deno
88
- **Backend**: Elixir (Phoenix) + Ephapax + Idris2 + Rust
@@ -134,7 +134,7 @@ noPortConflicts : (s : Stack) -> Dec (UniquePortBindings s)
134134
defmodule Stackur.Validator.Idris do
135135
# Calls compiled Idris2 executable via Port
136136
def prove_correctness(stack_json) do
137-
Port.open({:spawn_executable, "/usr/local/bin/stackur-prover"},
137+
Port.open({:spawn_executable, "/usr/local/bin/stapeln-prover"},
138138
[:binary, :use_stdio, {:args, [stack_json]}])
139139
end
140140
end
@@ -149,7 +149,7 @@ end
149149
- Memory safety guarantees
150150

151151
```rust
152-
// backend/native/stackur_codegen/src/lib.rs
152+
// backend/native/stapeln_codegen/src/lib.rs
153153
use rustler::{Encoder, Env, Term};
154154
use toml::Value;
155155

@@ -172,7 +172,7 @@ fn compose_toml_from_stack(stack: &Stack) -> Result<Value, String> {
172172
**Elixir NIF wrapper**:
173173
```elixir
174174
defmodule Stackur.Codegen do
175-
use Rustler, otp_app: :stackur, crate: "stackur_codegen"
175+
use Rustler, otp_app: :stapeln, crate: "stapeln_codegen"
176176

177177
def generate_compose_toml(_stack_json), do: :erlang.nif_error(:nif_not_loaded)
178178
def generate_docker_compose(_stack_json), do: :erlang.nif_error(:nif_not_loaded)

ECOSYSTEM.scm

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
;; ECOSYSTEM.scm - stackur's position in the verified container ecosystem
2+
;; ECOSYSTEM.scm - stapeln's position in the verified container ecosystem
33

44
(ecosystem
55
(version "1.0")
6-
(name "stackur")
6+
(name "stapeln")
77
(type "ui-tool")
88
(purpose "Visual drag-and-drop designer for creating container stacks using verified containers")
99

1010
(position-in-ecosystem
1111
(role "developer-tool")
1212
(layer "ui-orchestration")
13-
(description "stackur provides a graphical interface for designing multi-container stacks using Cerro Torre, Svalinn, selur, and Vörðr. It generates compose.toml files for selur-compose and validates stack configurations using formal verification."))
13+
(description "stapeln provides a graphical interface for designing multi-container stacks using Cerro Torre, Svalinn, selur, and Vörðr. It generates compose.toml files for selur-compose and validates stack configurations using formal verification."))
1414

1515
(related-projects
1616
((name . "selur-compose")
1717
(relationship . "sibling-standard")
18-
(description . "stackur generates compose.toml files that selur-compose consumes for deployment"))
18+
(description . "stapeln generates compose.toml files that selur-compose consumes for deployment"))
1919
((name . "cerro-torre")
2020
(relationship . "sibling-standard")
21-
(description . "stackur includes Cerro Torre as a draggable component for .ctp bundle creation"))
21+
(description . "stapeln includes Cerro Torre as a draggable component for .ctp bundle creation"))
2222
((name . "svalinn")
2323
(relationship . "sibling-standard")
24-
(description . "stackur models Svalinn as an edge gateway component in the stack"))
24+
(description . "stapeln models Svalinn as an edge gateway component in the stack"))
2525
((name . "selur")
2626
(relationship . "sibling-standard")
27-
(description . "stackur represents selur as the IPC bridge layer between components"))
27+
(description . "stapeln represents selur as the IPC bridge layer between components"))
2828
((name . "vordr")
2929
(relationship . "sibling-standard")
30-
(description . "stackur models Vörðr as the container runtime/orchestrator"))
30+
(description . "stapeln models Vörðr as the container runtime/orchestrator"))
3131
((name . "verified-container-spec")
3232
(relationship . "protocol-specification")
33-
(description . "stackur validates generated stacks against verified-container-spec schemas"))
33+
(description . "stapeln validates generated stacks against verified-container-spec schemas"))
3434
((name . "rescript-tea")
3535
(relationship . "inspiration")
3636
(description . "TEA architecture for predictable UI state management"))
@@ -62,22 +62,22 @@
6262
(integration-points
6363
((component . "selur-compose")
6464
(method . "compose-toml-export")
65-
(description . "stackur exports compose.toml files that selur-compose can deploy"))
65+
(description . "stapeln exports compose.toml files that selur-compose can deploy"))
6666
((component . "cerro-torre")
6767
(method . "ct-cli-integration")
68-
(description . "stackur can invoke ct commands for bundle creation"))
68+
(description . "stapeln can invoke ct commands for bundle creation"))
6969
((component . "podman")
7070
(method . "api-client")
71-
(description . "stackur can deploy directly to Podman via HTTP API"))
71+
(description . "stapeln can deploy directly to Podman via HTTP API"))
7272
((component . "docker")
7373
(method . "api-client")
74-
(description . "stackur can deploy directly to Docker via HTTP API"))
74+
(description . "stapeln can deploy directly to Docker via HTTP API"))
7575
((component . "nerdctl")
7676
(method . "cli-wrapper")
77-
(description . "stackur can deploy via nerdctl CLI")))
77+
(description . "stapeln can deploy via nerdctl CLI")))
7878

7979
(what-this-is
80-
"A visual drag-and-drop web application for designing container stacks using the verified-container-spec ecosystem. Users drag components (Cerro Torre, Svalinn, selur, Vörðr, Podman/Docker/nerdctl) onto a canvas, connect them, configure them, and stackur generates compose.toml files for deployment. The backend uses Elixir/Phoenix for API, Ephapax for linear type validation, AffineScript for resource constraints, Idris2 for formal proofs, and Rust for code generation. The frontend is pure ReScript-TEA running on Deno. Named 'stackur' (Icelandic for 'stack' with designer suffix) to match the Nordic naming theme.")
80+
"A visual drag-and-drop web application for designing container stacks using the verified-container-spec ecosystem. Users drag components (Cerro Torre, Svalinn, selur, Vörðr, Podman/Docker/nerdctl) onto a canvas, connect them, configure them, and stapeln generates compose.toml files for deployment. The backend uses Elixir/Phoenix for API, Ephapax for linear type validation, AffineScript for resource constraints, Idris2 for formal proofs, and Rust for code generation. The frontend is pure ReScript-TEA running on Deno. Named 'stapeln' (Icelandic for 'stack' with designer suffix) to match the Nordic naming theme.")
8181

8282
(what-this-is-not
8383
"Not a container runtime (use Podman/Docker/nerdctl). Not a CLI tool (use selur-compose for CLI). Not a replacement for compose files (generates them). Not a general-purpose diagram tool (specific to verified containers). Not a monitoring dashboard (focused on design/configuration). Not a CI/CD system (generates configs for deployment)."))

0 commit comments

Comments
 (0)