Skip to content

Commit 7144680

Browse files
author
Jonathan D.A. Jewell
committed
Auto-commit: Sync changes [2026-02-21]
1 parent 4f9de53 commit 7144680

File tree

9 files changed

+206
-948
lines changed

9 files changed

+206
-948
lines changed

README.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,3 +1122,8 @@ Community feedback adjusts the final score by up to ±10%
11221122

11231123
[.text-center]
11241124
_"Trust, but verify. Then verify again."_
1125+
1126+
1127+
== Architecture
1128+
1129+
See link:TOPOLOGY.md[TOPOLOGY.md] for a visual architecture map and completion dashboard.

TOPOLOGY.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
2+
<!-- TOPOLOGY.md — Project architecture map and completion dashboard -->
3+
<!-- Last updated: 2026-02-19 -->
4+
5+
# Checky Monkey — Project Topology
6+
7+
## System Architecture
8+
9+
```
10+
┌─────────────────────────────────────────┐
11+
│ USERS / CLIENTS │
12+
│ (Browser Ext, CLI, Web HUD) │
13+
└───────────────────┬─────────────────────┘
14+
15+
16+
┌─────────────────────────────────────────┐
17+
│ INTERFACE LAYER │
18+
│ ┌───────────┐ ┌───────────────────┐ │
19+
│ │ Web │ │ API Gateway │ │
20+
│ │ Frontend │ │ (GraphQL/REST) │ │
21+
│ └─────┬─────┘ └────────┬──────────┘ │
22+
└────────│─────────────────│──────────────┘
23+
│ │
24+
▼ ▼
25+
┌─────────────────────────────────────────┐
26+
│ CORE LOGIC (HASKELL) │
27+
│ │
28+
│ ┌───────────┐ ┌───────────────────┐ │
29+
│ │ Analysis │ │ Ingress │ │
30+
│ │ Engine │ │ Gateway │ │
31+
│ └─────┬─────┘ └────────┬──────────┘ │
32+
│ │ │ │
33+
│ ┌─────▼─────┐ ┌────────▼──────────┐ │
34+
│ │ CUBS │ │ Distribution │ │
35+
│ │ Logic │ │ (IPFS/HTTP) │ │
36+
│ └─────┬─────┘ └────────┬──────────┘ │
37+
└────────│─────────────────│──────────────┘
38+
│ │
39+
▼ ▼
40+
┌─────────────────────────────────────────┐
41+
│ DATA LAYER │
42+
│ ┌───────────┐ ┌───────────────────┐ │
43+
│ │ CUBS DB │ │ PostgreSQL │ │
44+
│ │ (Content) │ │ (Metadata) │ │
45+
│ └───────────┘ └───────────────────┘ │
46+
└─────────────────────────────────────────┘
47+
48+
┌─────────────────────────────────────────┐
49+
│ REPO INFRASTRUCTURE │
50+
│ Nix / flake.nix .machine_readable/ │
51+
│ Justfile Tri-Perimeter CF │
52+
└─────────────────────────────────────────┘
53+
```
54+
55+
## Completion Dashboard
56+
57+
```
58+
COMPONENT STATUS NOTES
59+
───────────────────────────────── ────────────────── ─────────────────────────────────
60+
CORE ENGINE (HASKELL)
61+
Ingress Gateway ████░░░░░░ 40% Greasy Fork/Git scrapers pending
62+
Analysis Engine ██████░░░░ 60% Static analyzer scaffolding
63+
CUBS Logic ████████░░ 80% Content hashing stable
64+
Distribution (IPFS) ████░░░░░░ 40% Kubo integration active
65+
66+
INTERFACES & DB
67+
API Gateway (Servant) ██████████ 100% GraphQL/REST types stable
68+
Web Frontend (ReScript) ██░░░░░░░░ 20% UI components prototyping
69+
PostgreSQL Schema ██████████ 100% Relational metadata verified
70+
71+
REPO INFRASTRUCTURE
72+
Nix Development Env ██████████ 100% Reproducible builds verified
73+
Justfile ██████████ 100% Build/Test automation
74+
.machine_readable/ ██████████ 100% STATE.a2ml tracking
75+
76+
─────────────────────────────────────────────────────────────────────────────
77+
OVERALL: █████░░░░░ ~50% Core pipeline functional, UI pending
78+
```
79+
80+
## Key Dependencies
81+
82+
```
83+
Ingress ──────► Analysis Engine ──────► CUBS Store ──────► Distribution
84+
│ │ │
85+
▼ ▼ ▼
86+
Metadata Sync ─────────► API Layer ────────► Clients
87+
```
88+
89+
## Update Protocol
90+
91+
This file is maintained by both humans and AI agents. When updating:
92+
93+
1. **After completing a component**: Change its bar and percentage
94+
2. **After adding a component**: Add a new row in the appropriate section
95+
3. **After architectural changes**: Update the ASCII diagram
96+
4. **Date**: Update the `Last updated` comment at the top of this file
97+
98+
Progress bars use: `` (filled) and `` (empty), 10 characters wide.
99+
Percentages: 0%, 10%, 20%, ... 100% (in 10% increments).
Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
K9!
22
# SPDX-License-Identifier: PMPL-1.0-or-later
3-
# K9 Kennel-level template: Pure data configuration
4-
# Security Level: Kennel (data-only, no execution)
5-
# No signature required - safe for any use
3+
# K9 Kennel Template — Restricted Data Configuration.
4+
#
5+
# SECURITY LEVEL: 'Kennel'
6+
# This module is restricted to pure data evaluation. It is forbidden
7+
# from performing execution, network access, or filesystem writes.
68

79
{
810
pedigree = {
911
schema_version = "1.0.0",
10-
component_type = "TODO: describe component type (e.g., 'build-config', 'metadata')",
12+
# ATTENUATION: Explicitly denies all side-effect capabilities.
1113
security = {
1214
leash = 'Kennel,
1315
trust_level = "data-only",
@@ -16,39 +18,22 @@ K9!
1618
allow_subprocess = false,
1719
},
1820
metadata = {
19-
name = "TODO: component-name",
21+
name = "Base Configuration Template",
2022
version = "1.0.0",
21-
description = "TODO: Brief description of what this component contains",
22-
author = "Jonathan D.A. Jewell <jonathan.jewell@open.ac.uk>",
23+
description = "Foundational template for kennel-restricted components.",
2324
},
2425
},
2526

26-
# Your configuration data here
27+
# CONFIGURATION: Declarative data values only.
2728
config = {
28-
# Example: Pure data values
2929
setting_1 = "value",
3030
setting_2 = 42,
3131
setting_3 = true,
32-
33-
nested = {
34-
key = "value",
35-
},
36-
37-
list = [
38-
"item1",
39-
"item2",
40-
],
4132
},
4233

43-
# Optional: Export format specification
34+
# EXPORT: Defines the target format for serialization.
4435
export = {
45-
format = "json", # or "yaml", "toml"
36+
format = "json",
4637
destination = "output.json",
4738
},
4839
}
49-
50-
# Usage:
51-
# 1. Fill in TODO items above
52-
# 2. Add your configuration data to config = { ... }
53-
# 3. Validate: nickel typecheck your-file.k9.ncl
54-
# 4. Export: nickel export your-file.k9.ncl > output.json

0 commit comments

Comments
 (0)