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
1 change: 1 addition & 0 deletions .machine_readable/arrival-pack/claude-md.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
Expand Down
1 change: 1 addition & 0 deletions .machine_readable/coaptation/coapt.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
Expand Down
1 change: 1 addition & 0 deletions .machine_readable/contractiles/adjust/adjust.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# adjust.k9.ncl — K9 trust-tier component of the adjust trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down
2 changes: 2 additions & 0 deletions .machine_readable/contractiles/bust/bust.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# bust.k9.ncl — K9 trust-tier component of the bust trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down Expand Up @@ -49,6 +50,7 @@ let base = import "../_base.ncl" in
allow_network = false,
allow_filesystem_write = false,
allow_subprocess = true,
signature_required = true, # K9-S008: required at 'Hunt
probe_scope = 'read_only,
},
},
Expand Down
1 change: 1 addition & 0 deletions .machine_readable/contractiles/dust/dust.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# dust.k9.ncl — K9 trust-tier component of the dust trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down
2 changes: 2 additions & 0 deletions .machine_readable/contractiles/intend/intend.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# intend.k9.ncl — K9 trust-tier component of the intend trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down Expand Up @@ -63,6 +64,7 @@ let base = import "../_base.ncl" in
allow_network = false,
allow_filesystem_write = false, # evidence sinks are indirected
allow_subprocess = true,
signature_required = true, # K9-S008: required at 'Hunt
},
},

Expand Down
2 changes: 2 additions & 0 deletions .machine_readable/contractiles/must/must.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# must.k9.ncl — K9 trust-tier component of the must trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down Expand Up @@ -57,6 +58,7 @@ let base = import "../_base.ncl" in
allow_network = false,
allow_filesystem_write = false,
allow_subprocess = true,
signature_required = true, # K9-S008: required at 'Hunt
probe_scope = 'read_only, # must probes NEVER mutate
probe_kinds_allowed = [
'file_existence,
Expand Down
2 changes: 2 additions & 0 deletions .machine_readable/contractiles/trust/trust.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# trust.k9.ncl — K9 trust-tier component of the trust trident
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
Expand Down Expand Up @@ -75,6 +76,7 @@ let base = import "../_base.ncl" in
allow_network = false, # verifications offline by default
allow_filesystem_write = false, # evidence sinks are indirected
allow_subprocess = true,
signature_required = true, # K9-S008: required at 'Hunt
authorised_probes_only = true, # probe section explicitly lists allowed targets + probe classes
probe_scope_enforcement = 'this_repo_only, # probes NEVER hit external systems
},
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/root-allow.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ CITATION.cff # citation metadata (surfaced at root by #96)

# ─── Build entry points (must live at root for their tooling) ────────────────
Justfile # delegates phases to build/just/*.just
coordination.k9 # repo-local session binding (template-mandated)
coordination.k9.ncl # repo-local session binding (template-mandated)

# ─── Conventional dotfiles (tool-required at root) ───────────────────────────
.editorconfig
Expand All @@ -57,7 +57,7 @@ ci/ # .gitlab-ci.yml, .pre-commit-config.yaml (root shims
docs/ # onboarding/, status/, governance/, ...
docs-template/ # template-only: scaffolding docs copied into new repos
machine-readable-design/ # template-only: design rationale for .machine_readable/ layout
session/ # dispatch.sh, custom-checks.k9, local-hooks.sh
session/ # dispatch.sh, custom-checks.k9.ncl, local-hooks.sh

# Source / test / artifact trees (project-specific but conventional)
src/
Expand Down
13 changes: 13 additions & 0 deletions .machine_readable/self-validating/methodology-guard.k9.ncl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
#
Expand All @@ -12,6 +13,18 @@ let methodology_guard = {
version = "1.0.0",
description = "Validates that agent work respects declared methodology constraints",

pedigree = {
schema_version = "1.0.0",
component_type = "validator:methodology-guard",
metadata = {
name = "methodology-guard",
version = "1.0.0",
},
security = {
leash = 'Yard,
},
},

checks = {
divergent_invariant_language = {
description = "No files in languages violating the divergent language invariant",
Expand Down
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 Down
43 changes: 0 additions & 43 deletions coordination.k9

This file was deleted.

50 changes: 50 additions & 0 deletions coordination.k9.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# Thin coordination bindings for central session-management standards

{
pedigree = {
schema_version = "1.0.0",
component_type = "session:coordination-binding",
metadata = {
name = "session-coordination",
version = "0.1.0",
},
security = {
leash = 'Kennel,
},
},

session_management = {
source_of_truth = "standards/3-practice/session-management-standards",
canonical_commands = [
"intake repo <path>",
"checkpoint change <path>",
"verify maintenance <path>",
"verify substantial <path>",
"verify release <path>",
"close planned <path>",
"close urgent <path>",
"recover repo <path>",
"handover full <path>",
"handover split <path>",
"handover model <path>",
"handover human <path>",
],
},

signals = [
{ name = "session.intake", command = "intake repo <path>" },
{ name = "session.checkpoint", command = "checkpoint change <path>" },
{ name = "session.verify.maintenance", command = "verify maintenance <path>" },
{ name = "session.verify.substantial", command = "verify substantial <path>" },
{ name = "session.verify.release", command = "verify release <path>" },
{ name = "session.close.planned", command = "close planned <path>" },
{ name = "session.close.urgent", command = "close urgent <path>" },
{ name = "session.recover", command = "recover repo <path>" },
{ name = "session.handover.full", command = "handover full <path>" },
{ name = "session.handover.split", command = "handover split <path>" },
{ name = "session.handover.model", command = "handover model <path>" },
{ name = "session.handover.human", command = "handover human <path>" },
],
}
2 changes: 1 addition & 1 deletion session/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Authoritative protocols live in:
This repo keeps only thin bindings:

* `+dispatch.sh+` maps canonical commands to central protocol paths.
* `+custom-checks.k9+` defines repo-local policy checks.
* `+custom-checks.k9.ncl+` defines repo-local policy checks as a Nickel record.
* `+local-hooks.sh+` provides optional repo-specific hook behavior.

=== Canonical Commands
Expand Down
15 changes: 0 additions & 15 deletions session/custom-checks.k9

This file was deleted.

52 changes: 52 additions & 0 deletions session/custom-checks.k9.ncl
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
K9!
# SPDX-License-Identifier: MPL-2.0
# Local repository session checks (thin policy layer)

{
pedigree = {
schema_version = "1.0.0",
component_type = "session:custom-checks",
metadata = {
name = "custom-session-checks",
version = "0.1.0",
},
security = {
leash = 'Kennel,
},
},

checks = [
{
id = "session-state-has-next-action",
applies_to = [
"close planned",
"close urgent",
"handover full",
"handover split",
"handover model",
"handover human",
],
requirement = "LAST-CANONICAL-COMMAND.md contains next intended action",
},
{
id = "session-state-has-residual-risks",
applies_to = [
"verify maintenance",
"verify substantial",
"verify release",
"recover repo",
],
requirement = "Residual risks field is not left blank",
},
{
id = "session-state-has-recommended-next-protocol",
applies_to = [
"intake repo",
"checkpoint change",
"recover repo",
"handover full",
],
requirement = "Recommended next protocol is set",
},
],
}
Loading