Skip to content

Commit e3a45e2

Browse files
hyperpolymathclaude
andcommitted
docs: add TOPOLOGY.md
Document purpose, module structure, and data flow for this -iser tool. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 523d168 commit e3a45e2

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

TOPOLOGY.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
2+
<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> -->
3+
# TOPOLOGY.md — oblibeniser
4+
5+
## Purpose
6+
7+
oblibeniser makes state-mutating operations reversible and auditable via Oblíbený (Czech: "favourite"). Every operation targeted by an `oblibeniser.toml` manifest gets an automatic inverse function, enabling undo/redo with configurable stack depth, hash-chained audit trails for tamper-evident logging, and time-travel debugging by navigating operation history. It targets systems where correctability and auditability are first-class requirements.
8+
9+
## Module Map
10+
11+
```
12+
oblibeniser/
13+
├── src/
14+
│ ├── main.rs # CLI entry point (clap): init, validate, generate, build, run, info
15+
│ ├── lib.rs # Library API
16+
│ ├── manifest/mod.rs # oblibeniser.toml parser
17+
│ ├── codegen/mod.rs # Oblíbený inverse wrapper, audit trail module generation
18+
│ └── abi/ # Idris2 ABI bridge stubs
19+
├── examples/ # Worked examples
20+
├── verification/ # Proof harnesses
21+
├── container/ # Stapeln container ecosystem
22+
└── .machine_readable/ # A2ML metadata
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
oblibeniser.toml manifest
29+
30+
┌────▼────┐
31+
│ Manifest │ parse + validate operation definitions and reversibility config
32+
│ Parser │
33+
└────┬────┘
34+
│ validated reversibility config
35+
┌────▼────┐
36+
│ Analyser │ derive inverse functions, compute hash-chain schema
37+
└────┬────┘
38+
│ intermediate representation (forward + inverse pairs)
39+
┌────▼────┐
40+
│ Codegen │ emit generated/oblibeniser/ (inverse wrappers, audit trail module,
41+
│ │ verification script, undo/redo stack)
42+
└─────────┘
43+
```

0 commit comments

Comments
 (0)