Skip to content

Commit 06453fc

Browse files
hyperpolymathclaude
andcommitted
docs(adr): record dual-purpose framing — scan store + ABI dogfood
Resolves the conflicting identities advertised across README/EXPLAINME/ TOPOLOGY by accepting that the repo serves two purposes and documenting the split. Closes #2 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 8a7b644 commit 06453fc

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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+
= ADR-0001: verisimdb-data carries two explicit purposes
4+
:revdate: 2026-05-13
5+
:status: Accepted
6+
7+
== Status
8+
9+
Accepted — 2026-05-13.
10+
11+
Resolves: https://github.com/hyperpolymath/verisimdb-data/issues/2[V-L1-J1].
12+
13+
== Context
14+
15+
This repository advertised three different identities across its top-level
16+
docs:
17+
18+
. `README.adoc` — "Git-backed flat-file storage for scan results and drift
19+
detection data" with panic-attacker scan ingest workflow.
20+
. `EXPLAINME.adoc` — "Uses the hyperpolymath ABI/FFI standard
21+
(Idris2 + Zig). Same pattern used across `proven`, `burble`, and
22+
`gossamer`."
23+
. `TOPOLOGY.md` — "Receives panic-attack scan results,
24+
hardware-crash-team findings, and drift detection snapshots… enables
25+
historical analysis of repository health and compliance drift over time."
26+
27+
The directory layout backs two of these stories with real content:
28+
29+
* `scans/` holds ~301 JSON files of scan results (production data).
30+
* `ffi/zig/` holds working Zig FFI code (`build.zig` + three `.zig` files).
31+
32+
The contractile and `.machine_readable/` scaffolding is org-wide
33+
infrastructure that applies to either purpose.
34+
35+
== Decision
36+
37+
The repository serves **two purposes**, explicitly declared in `README.adoc`:
38+
39+
. **Flat-file data store** for panic-attacker scan output and drift
40+
snapshots (`scans/`, `dispatch/`, `patterns/`, `recipes/`, `outcomes/`,
41+
`policy/`, `health/`).
42+
. **ABI dogfood site** for the hyperpolymath Idris2 + Zig ABI standard
43+
shared with `proven`, `burble`, and `gossamer` (`ffi/zig/`).
44+
45+
Both purposes coexist; neither is moved out. The acceptable layout is
46+
documented at the top of `README.adoc` and reflected in `TOPOLOGY.md`.
47+
48+
Verisimiser does *not* depend on `ffi/zig/` here; if a downstream consumer
49+
needs the Zig FFI extracted, that is a future ADR.
50+
51+
== Consequences
52+
53+
. `README.adoc`, `EXPLAINME.adoc`, and `TOPOLOGY.md` are brought into
54+
agreement on the two-purpose framing (one PR with this ADR).
55+
. The directory layout document in `README.adoc` lists which subtrees
56+
serve which purpose.
57+
. Future expansions to either purpose are fine — the repo is explicitly
58+
multi-purpose, not "drifting" between purposes.
59+
60+
== Alternatives considered
61+
62+
Scan-store only (move `ffi/zig/` out)::
63+
Rejected. The Zig FFI lives here for dogfooding reasons that predate
64+
verisimiser; relocating it costs more than documenting the dual purpose.
65+
66+
ABI dogfood only (move `scans/` out)::
67+
Rejected. The scan ingest workflow is wired up and producing data;
68+
moving 301 JSON files plus the ingest pipeline elsewhere has no payoff.
69+
70+
Split into two repos::
71+
Rejected for the same combined reason. Maybe revisit in a year if either
72+
purpose grows large enough to warrant its own repo and CI surface.

0 commit comments

Comments
 (0)