Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ fi
export PROJECT_NAME="{{PROJECT_NAME}}"
export RSR_TIER="infrastructure"
# export DATABASE_URL="..."
# export API_KEY="..."
# Set secrets like API keys via .env (gitignored), never inline here.

# Source .env if it exists (gitignored)
dotenv_if_exists
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ method = "ci-triggered"
target = "binary" # Rust CLI binary; Zig FFI shared library

[incident-response]
# 1. Check .machine_readable/6a2/STATE.a2ml for current status
# 1. Check .machine_readable/descriptiles/STATE.a2ml for current status
# 2. Review recent commits and CI results
# 3. Run `just validate` to check compliance
# 4. Run `just security` to audit for vulnerabilities
Expand Down
1 change: 1 addition & 0 deletions .machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Cross-repo maintenance baseline (machine-readable canonical)

[metadata]
project = "dafniser"
version = "1.1.0"
last-updated = "2026-02-24"
scope = "cross-repo"
Expand Down
6 changes: 3 additions & 3 deletions 0-AI-MANIFEST.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Part of the hyperpolymath -iser family (https://github.com/hyperpolymath/iserise

### Machine-Readable Metadata: `.machine_readable/` ONLY

These 6 a2ml files MUST exist in `.machine_readable/6a2/` directory ONLY:
These 6 a2ml files MUST exist in `.machine_readable/descriptiles/` directory ONLY:
1. **STATE.a2ml** - Project state, progress, blockers
2. **META.a2ml** - Architecture decisions, governance
3. **ECOSYSTEM.a2ml** - Position in ecosystem, relationships
Expand Down Expand Up @@ -111,7 +111,7 @@ dafniser/
├── docs/
│ └── architecture/
│ └── TOPOLOGY.md # Module topology and data flow diagram
└── .machine_readable/ # ALL machine-readable metadata (6a2/ subdirectory)
└── .machine_readable/ # ALL machine-readable metadata (descriptiles/ subdirectory)
```

## CORE INVARIANTS
Expand All @@ -131,7 +131,7 @@ dafniser/

1. Read THIS file (0-AI-MANIFEST.a2ml) first
2. Understand canonical location: `.machine_readable/`
3. Read `.machine_readable/6a2/STATE.a2ml` for current project state
3. Read `.machine_readable/descriptiles/STATE.a2ml` for current project state
4. State understanding of canonical locations

## ATTESTATION PROOF
Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* [x] Idris2 ABI module stubs (Types, Layout, Foreign)
* [x] Zig FFI bridge stubs with build.zig
* [x] README with architecture overview
* [x] Machine-readable metadata (6a2 files)
* [x] Machine-readable metadata (descriptiles)

== Phase 1: Specification Parser
* [ ] Define `dafniser.toml` schema for function specs (pre/postconditions, invariants)
Expand Down
112 changes: 56 additions & 56 deletions container/deploy.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# deploy.k9.ncl — {{PROJECT_NAME}} deployment component (Hunt level)
#
Expand All @@ -12,61 +13,6 @@
# k9-svc validate container/deploy.k9.ncl
# k9-svc deploy container/deploy.k9.ncl --env production

# The component's pedigree (self-description across five layers)
let component_pedigree = {
# ─────────────────────────────────────────────────────────────
# L1: The Snout — Identity
# ─────────────────────────────────────────────────────────────
metadata = {
name = "{{SERVICE_NAME}}-deploy",
version = "{{VERSION}}",
breed = "application/vnd.k9+nickel",
magic_number = "K9!",
description = "{{PROJECT_NAME}} deployment component (Hunt level)",
},

# ─────────────────────────────────────────────────────────────
# L2: The Scent — Target Environment
# ─────────────────────────────────────────────────────────────
target = {
os = 'Linux,
is_edge = false,
requires_podman = true,
min_memory_mb = 256,
},

# ─────────────────────────────────────────────────────────────
# L3: The Leash — Security
# ─────────────────────────────────────────────────────────────
security = {
trust_level = 'Hunt,
allow_network = true,
allow_filesystem_write = true,
allow_subprocess = true,
# In production, replace with a real Ed25519 signature.
signature = "PLACEHOLDER-SIGNATURE-REQUIRED-FOR-HUNT",
},

# ─────────────────────────────────────────────────────────────
# L4: The Gut — Self-Validation
# ─────────────────────────────────────────────────────────────
validation = {
checksum = "sha256:placeholder",
pedigree_version = "1.0.0",
hunt_authorized = false, # Must be set true after handshake
},

# ─────────────────────────────────────────────────────────────
# L5: The Muscle — Deployment Recipes
# ─────────────────────────────────────────────────────────────
recipes = {
install = "just container-build",
validate = "just container-verify",
deploy = "just container-up",
migrate = "just container-build && just container-up",
},
} in

# Deployment configuration
let deployment = {
# Target environments (dev / staging / production)
Expand Down Expand Up @@ -143,7 +89,61 @@ echo "K9: Rollback complete."

# Export the component
{
pedigree = component_pedigree,
# The component's pedigree (self-description across five layers)
pedigree = {
# ─────────────────────────────────────────────────────────────
# L1: The Snout — Identity
# ─────────────────────────────────────────────────────────────
metadata = {
name = "{{SERVICE_NAME}}-deploy",
version = "{{VERSION}}",
breed = "application/vnd.k9+nickel",
magic_number = "K9!",
description = "{{PROJECT_NAME}} deployment component (Hunt level)",
},

# ─────────────────────────────────────────────────────────────
# L2: The Scent — Target Environment
# ─────────────────────────────────────────────────────────────
target = {
os = 'Linux,
is_edge = false,
requires_podman = true,
min_memory_mb = 256,
},

# ─────────────────────────────────────────────────────────────
# L3: The Leash — Security
# ─────────────────────────────────────────────────────────────
security = {
trust_level = 'Hunt,
allow_network = true,
allow_filesystem_write = true,
allow_subprocess = true,
# In production, replace with a real Ed25519 signature.
signature = "PLACEHOLDER-SIGNATURE-REQUIRED-FOR-HUNT",
},

# ─────────────────────────────────────────────────────────────
# L4: The Gut — Self-Validation
# ─────────────────────────────────────────────────────────────
validation = {
checksum = "sha256:placeholder",
pedigree_version = "1.0.0",
hunt_authorized = false, # Must be set true after handshake
},

# ─────────────────────────────────────────────────────────────
# L5: The Muscle — Deployment Recipes
# ─────────────────────────────────────────────────────────────
recipes = {
install = "just container-build",
validate = "just container-verify",
deploy = "just container-up",
migrate = "just container-build && just container-up",
},
},

deployment = deployment,
scripts = scripts,

Expand Down
1 change: 1 addition & 0 deletions docs/governance/MAINTENANCE-CHECKLIST.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Cross-repo maintenance baseline (machine-readable canonical)

[metadata]
project = "dafniser"
version = "1.1.0"
last-updated = "2026-02-24"
scope = "cross-repo"
Expand Down
Loading