aboutsummaryrefslogtreecommitdiff
path: root/adr
diff options
context:
space:
mode:
Diffstat (limited to 'adr')
-rw-r--r--adr/ADR-0001-modular-monolith.md5
-rw-r--r--adr/ADR-0002-behavior-not-abi.md5
-rw-r--r--adr/ADR-0003-raw-and-interpreted-data.md5
-rw-r--r--adr/ADR-0004-synthetic-and-licensed-tests.md5
-rw-r--r--adr/ADR-0005-deterministic-reference-runtime.md5
-rw-r--r--adr/ADR-0006-error-policy.md5
-rw-r--r--adr/ADR-0007-safe-sdl-opengl.md5
7 files changed, 35 insertions, 0 deletions
diff --git a/adr/ADR-0001-modular-monolith.md b/adr/ADR-0001-modular-monolith.md
new file mode 100644
index 0000000..82c36b9
--- /dev/null
+++ b/adr/ADR-0001-modular-monolith.md
@@ -0,0 +1,5 @@
+# ADR-0001: Modular Monolith
+
+Status: accepted
+
+FParkan is implemented as one Cargo workspace with local crates grouped by domain. Binaries and adapters compose domain crates; domain crates do not import platform, windowing, OpenGL, GUI, or application packages.
diff --git a/adr/ADR-0002-behavior-not-abi.md b/adr/ADR-0002-behavior-not-abi.md
new file mode 100644
index 0000000..aea3c7e
--- /dev/null
+++ b/adr/ADR-0002-behavior-not-abi.md
@@ -0,0 +1,5 @@
+# ADR-0002: Behavior Compatibility, Not ABI Compatibility
+
+Status: accepted
+
+The project targets clean-room behavior compatibility for formats, resource lookup, loading order, deterministic runtime behavior, and presentation command semantics. It does not reproduce original DLL boundaries, exports, calling conventions, object layouts, RVAs, or native singleton access patterns.
diff --git a/adr/ADR-0003-raw-and-interpreted-data.md b/adr/ADR-0003-raw-and-interpreted-data.md
new file mode 100644
index 0000000..5938b83
--- /dev/null
+++ b/adr/ADR-0003-raw-and-interpreted-data.md
@@ -0,0 +1,5 @@
+# ADR-0003: Raw And Interpreted Data
+
+Status: accepted
+
+Legacy data models keep raw bytes distinct from validated structure and interpreted domain views. Writers preserve raw data unless an explicit editing profile requests canonical rebuilding.
diff --git a/adr/ADR-0004-synthetic-and-licensed-tests.md b/adr/ADR-0004-synthetic-and-licensed-tests.md
new file mode 100644
index 0000000..0084ac4
--- /dev/null
+++ b/adr/ADR-0004-synthetic-and-licensed-tests.md
@@ -0,0 +1,5 @@
+# ADR-0004: Synthetic And Licensed Tests
+
+Status: accepted
+
+Synthetic tests run everywhere and contain no proprietary data. Licensed corpus tests require an explicit local manifest and fail when requested without configuration. Reports contain metrics and fingerprints, not payload dumps or absolute game roots.
diff --git a/adr/ADR-0005-deterministic-reference-runtime.md b/adr/ADR-0005-deterministic-reference-runtime.md
new file mode 100644
index 0000000..5e89d30
--- /dev/null
+++ b/adr/ADR-0005-deterministic-reference-runtime.md
@@ -0,0 +1,5 @@
+# ADR-0005: Deterministic Reference Runtime
+
+Status: accepted
+
+Stages 0-5 use a single-threaded deterministic reference profile. Stable ordering, explicit ticks, named random streams, and canonical captures are part of the contract. Wall-clock time, pointer addresses, hash iteration order, and GPU handles are not semantic inputs.
diff --git a/adr/ADR-0006-error-policy.md b/adr/ADR-0006-error-policy.md
new file mode 100644
index 0000000..1080497
--- /dev/null
+++ b/adr/ADR-0006-error-policy.md
@@ -0,0 +1,5 @@
+# ADR-0006: Error Policy
+
+Status: accepted
+
+Missing required resources, malformed bytes, unsupported documented branches, capability mismatches, and budget failures are structured errors. Runtime code must not silently skip mandatory objects or convert corrupted data into empty success values.
diff --git a/adr/ADR-0007-safe-sdl-opengl.md b/adr/ADR-0007-safe-sdl-opengl.md
new file mode 100644
index 0000000..f82c424
--- /dev/null
+++ b/adr/ADR-0007-safe-sdl-opengl.md
@@ -0,0 +1,5 @@
+# ADR-0007: Safe SDL/OpenGL Boundary
+
+Status: provisional
+
+Workspace-owned code forbids `unsafe`. SDL/OpenGL adapters must use maintained external crates behind a safe project API. The current repository still contains legacy demo code scheduled for replacement; new adapter crates are placeholders until a fully audited safe facade is selected and proven on all target profiles.