From a27e0c2846fae9a501b2b6329c61d1f8bda4d6c3 Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2026 23:56:23 +0100 Subject: [PATCH] Add K9 pedigrees and required project metadata (#74) Fix CI compliance failures by converting session coordination and custom-check definitions to valid K9 syntax, adding K9 headers and pedigree metadata to validation and deployment components, and replacing missing or placeholder project metadata in the A2ML configuration and maintenance checklist. Validation was not run. [View coding task](https://app.coderabbit.ai/code/tasks/55b2658f-c7b6-478c-a1f5-7ea803231158?source=coding_agent_github_pr_description) Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> (cherry picked from commit ef6276073b88cb3093a51b624540d7b37499a0bd) --- .machine_readable/ECOSYSTEM.a2ml | 4 +- .machine_readable/META.a2ml | 2 +- .../self-validating/methodology-guard.k9.ncl | 7 ++ container/deploy.k9.ncl | 8 +- coordination.k9 | 81 ++++++++++--------- docs/governance/MAINTENANCE-CHECKLIST.a2ml | 1 + session/custom-checks.k9 | 56 ++++++++++--- 7 files changed, 103 insertions(+), 56 deletions(-) diff --git a/.machine_readable/ECOSYSTEM.a2ml b/.machine_readable/ECOSYSTEM.a2ml index 0059aed..f51f5b8 100644 --- a/.machine_readable/ECOSYSTEM.a2ml +++ b/.machine_readable/ECOSYSTEM.a2ml @@ -2,7 +2,7 @@ ;; Ecosystem position and relationships (ecosystem (version "1.0.0") - (name "{{REPO}}") + (name "fraying-model-computational-testbed") (type "library") - (purpose "{{REPO_DESCRIPTION}}") + (purpose "Enumerate global knot-resolution states and compute fragment-count distributions") (related-projects)) diff --git a/.machine_readable/META.a2ml b/.machine_readable/META.a2ml index e64e280..09fd82e 100644 --- a/.machine_readable/META.a2ml +++ b/.machine_readable/META.a2ml @@ -2,7 +2,7 @@ ;; Architecture decisions and development practices (meta (version "1.0.0") - (project "{{REPO}}") + (project "fraying-model-computational-testbed") (architecture-decisions) (development-practices (code-review "required") diff --git a/.machine_readable/self-validating/methodology-guard.k9.ncl b/.machine_readable/self-validating/methodology-guard.k9.ncl index 1cf4fcb..aba0be0 100644 --- a/.machine_readable/self-validating/methodology-guard.k9.ncl +++ b/.machine_readable/self-validating/methodology-guard.k9.ncl @@ -1,3 +1,4 @@ +K9! # SPDX-License-Identifier: MPL-2.0 # Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> # @@ -8,6 +9,12 @@ # Usage: k9 validate methodology-guard let methodology_guard = { + pedigree = { + schema_version = "1.0.0", + name = "methodology-guard", + leash = 'Yard, + }, + name = "methodology-guard", version = "1.0.0", description = "Validates that agent work respects declared methodology constraints", diff --git a/container/deploy.k9.ncl b/container/deploy.k9.ncl index 0ad0d04..f5a77cb 100644 --- a/container/deploy.k9.ncl +++ b/container/deploy.k9.ncl @@ -1,3 +1,4 @@ +K9! # SPDX-License-Identifier: MPL-2.0 # deploy.k9.ncl — {{PROJECT_NAME}} deployment component (Hunt level) # @@ -143,7 +144,12 @@ echo "K9: Rollback complete." # Export the component { - pedigree = component_pedigree, + pedigree = component_pedigree & { + name = "{{SERVICE_NAME}}-deploy", + version = "{{VERSION}}", + leash = 'Hunt, + signature_required = true, + }, deployment = deployment, scripts = scripts, diff --git a/coordination.k9 b/coordination.k9 index ba31125..213da6c 100644 --- a/coordination.k9 +++ b/coordination.k9 @@ -1,43 +1,44 @@ +K9! +# SPDX-License-Identifier: MPL-2.0 # Thin coordination bindings for central session-management standards -session_management: - source_of_truth: "standards/session-management-standards" - canonical_commands: - - "intake repo " - - "checkpoint change " - - "verify maintenance " - - "verify substantial " - - "verify release " - - "close planned " - - "close urgent " - - "recover repo " - - "handover full " - - "handover split " - - "handover model " - - "handover human " +{ + pedigree = { + schema_version = "1.0.0", + name = "session-coordination", + leash = 'Kennel, + }, -signals: - - name: "session.intake" - command: "intake repo " - - name: "session.checkpoint" - command: "checkpoint change " - - name: "session.verify.maintenance" - command: "verify maintenance " - - name: "session.verify.substantial" - command: "verify substantial " - - name: "session.verify.release" - command: "verify release " - - name: "session.close.planned" - command: "close planned " - - name: "session.close.urgent" - command: "close urgent " - - name: "session.recover" - command: "recover repo " - - name: "session.handover.full" - command: "handover full " - - name: "session.handover.split" - command: "handover split " - - name: "session.handover.model" - command: "handover model " - - name: "session.handover.human" - command: "handover human " + session_management = { + source_of_truth = "standards/session-management-standards", + canonical_commands = [ + "intake repo ", + "checkpoint change ", + "verify maintenance ", + "verify substantial ", + "verify release ", + "close planned ", + "close urgent ", + "recover repo ", + "handover full ", + "handover split ", + "handover model ", + "handover human ", + ], + }, + + signals = [ + { name = "session.intake", command = "intake repo " }, + { name = "session.checkpoint", command = "checkpoint change " }, + { name = "session.verify.maintenance", command = "verify maintenance " }, + { name = "session.verify.substantial", command = "verify substantial " }, + { name = "session.verify.release", command = "verify release " }, + { name = "session.close.planned", command = "close planned " }, + { name = "session.close.urgent", command = "close urgent " }, + { name = "session.recover", command = "recover repo " }, + { name = "session.handover.full", command = "handover full " }, + { name = "session.handover.split", command = "handover split " }, + { name = "session.handover.model", command = "handover model " }, + { name = "session.handover.human", command = "handover human " }, + ], +} diff --git a/docs/governance/MAINTENANCE-CHECKLIST.a2ml b/docs/governance/MAINTENANCE-CHECKLIST.a2ml index bbcb38a..0d74d53 100644 --- a/docs/governance/MAINTENANCE-CHECKLIST.a2ml +++ b/docs/governance/MAINTENANCE-CHECKLIST.a2ml @@ -2,6 +2,7 @@ # Cross-repo maintenance baseline (machine-readable canonical) [metadata] +name = "cross-repository-maintenance-baseline" version = "1.1.0" last-updated = "2026-02-24" scope = "cross-repo" diff --git a/session/custom-checks.k9 b/session/custom-checks.k9 index bd932fa..e616477 100644 --- a/session/custom-checks.k9 +++ b/session/custom-checks.k9 @@ -1,15 +1,47 @@ +K9! +# SPDX-License-Identifier: MPL-2.0 # Local repository session checks (thin policy layer) -version: "0.1" -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" +{ + pedigree = { + schema_version = "1.0.0", + name = "session-custom-checks", + leash = 'Kennel, + }, - - 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" + version = "0.1", + 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", + }, + ], +}