-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0-AI-MANIFEST.a2ml
More file actions
63 lines (58 loc) · 3.03 KB
/
0-AI-MANIFEST.a2ml
File metadata and controls
63 lines (58 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# SPDX-License-Identifier: PMPL-1.0-or-later
# 0-AI-MANIFEST — AI Agent Entry Point for civic-connect
# Last updated: 2026-02-20
# Canonical File Locations
# ========================
# SCM files ONLY in `.machine_readable/`:
# .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/AGENTIC.a2ml, .machine_readable/6a2/NEUROSYM.a2ml, .machine_readable/6a2/PLAYBOOK.a2ml
# NEVER create SCM files in the repository root.
#
# Sub-projects:
# civic-stream/ — Government API integration core
# indieweb2-bastion/ — Hardened ingress, oDNS, GraphQL DNS, provenance
#
# Planning docs:
# docs/planning/ — CivicConnect vision and handover materials
#
# Container config:
# Containerfile (NEVER Dockerfile)
# compose.toml (selur-compose, NEVER docker-compose)
# Critical Invariants (NEVER violate)
# ====================================
# 1. Post-quantum crypto is mandatory for all signing and encryption
# 2. No plaintext DNS queries — all DNS via Oblivious DNS
# 3. SurrealDB provenance graph must be append-only for audit trail
# 4. IPFS content hashes must match provenance records
# 5. Consent must be explicit and auditable for all data processing
# 6. Self-hosted infrastructure only — no cloud provider dependencies
# 7. Chainguard wolfi-base images for all containers
# 8. PMPL-1.0-or-later license on all original code
# Repository Structure
# ====================
# civic-connect/
# ├── civic-stream/ — Government API integration
# ├── indieweb2-bastion/ — Hardened bastion (oDNS, GraphQL DNS, SurrealDB)
# │ ├── graphql-dns-api/ — Rust/Axum GraphQL DNS endpoint
# │ ├── odns-rs/ — Oblivious DNS proxy + resolver (Rust)
# │ ├── services/ — Consent API (Deno), webmention limiter (Rust)
# │ ├── policy/ — Nickel policy contracts
# │ ├── contracts/ — Smart contracts (Solidity, Motoko)
# │ ├── surrealdb/ — SurrealDB schema and provenance
# │ └── container/ — Containerfile, stapeln config
# ├── .machine_readable/ — SCM files (STATE, META, ECOSYSTEM, etc.)
# ├── docs/ — Documentation
# │ └── planning/ — CivicConnect vision docs
# ├── contractiles/ — k9, dust, lust, must, trust
# └── .github/workflows/ — CI/CD (17 standard RSR workflows)
# Session Startup Sequence
# ========================
# 1. Read this file (AI.a2ml)
# 2. Read `.machine_readable/6a2/STATE.a2ml` for current project status
# 3. Read `.machine_readable/6a2/ECOSYSTEM.a2ml` for tech stack
# 4. Read `.machine_readable/6a2/META.a2ml` for architecture decisions
# 5. Read .claude/CLAUDE.md for development instructions
# 6. Check TOPOLOGY.md for visual architecture map
# Lifecycle Hooks
# ===============
# on-enter: Read .machine_readable/6a2/STATE.a2ml, check for blockers
# on-exit: Update .machine_readable/6a2/STATE.a2ml with session outcomes, update session-history