refactor: implement concrete Delivery responsibility dispositions

This commit is contained in:
jarvis-at-skic committed 2026-10-23 08:11:38 +00:00
1 parent e8ac9cc680
commit 9332432633
3 files changed
+85

No files matched your search

+52
View File
@@ -0,0 +1,52 @@
---
name: delivery-docs
description: Maintain evidence-backed delivery documentation.
version: 0.1.0
author: SKIC maintainers, Hermes Agent
license: MIT
platforms: [linux]
metadata:
hermes:
tags: [delivery, governance]
related_skills: []
---
# Delivery documentation
Owns the coverage and evidence-to-page reconciliation of Delivery-owned Ways of Working and Engineering. Documentation-platform mechanics and canonical term definitions remain with their named owners.
## When to use
Before changing delivery process documentation or recording a durable engineering lesson. Do not use this to approve requirements or make planned practice operational.
## Procedure
1. Obtain the consumer's documentation repository, current default revision, authoring skill and glossary binding. Stop the affected edit if a binding is absent or its source identity cannot be verified.
2. Load the bound documentation-platform skill before authoring, navigation, Markdown/MDX, configuration or build work. Load the bound glossary before defining reusable terms. A same-name unrelated installation does not satisfy a source-qualified load.
3. Compare changed implementation/decision evidence with the coverage below. For each affected area, record the existing page, evidence source, exact change and owner. Leave unaffected areas alone; report a missing source rather than inventing content.
4. Reconcile actual practice in the owning page, link shared definitions, and distinguish proposed practice from verified operation. Never copy the same procedure into several channel pages.
5. Run the repository's documented validation/build in that repository; review the changed pages against the evidence, publish under its workflow and read back the exact published content. Local build success is not publication.
Bind the following coverage vocabulary to the consumer's lifecycle, verification owners and artifact responsibilities; it does not impose SKIC authorization on other projects. For AeroSim, the authoring binding must be `documentation-docusaurus-skic-aerosim` and shared terms must load `glossary-skic`, as supplied by its Delivery reference.
## Domain coverage
### Ways of Working — five sections
1. **Delivery workflow** — intake, prioritization, implementation states, and definition of done.
2. **Branching and reviews** — branch conventions, pull requests, approvals, and merge expectations.
3. **Planning and ownership** — backlog, sequencing, owners, dependencies, blockers, and escalation.
4. **Quality practices** — review standards, test strategy, defect handling, and evidence expectations.
5. **Collaboration and decisions** — channel routing, handoffs, decision references, and communication norms.
### Engineering — five sections
1. **Repository and workspace** — monorepo/application/package structure and local prerequisites.
2. **Development and unit testing** — commands, unit-test fixtures, debugging, Delivery artifact validation, and the handoff to UAT for every functional non-unit suite.
3. **Build and continuous integration** — pipelines, checks, artifacts, runners, and failure diagnosis.
4. **Packaging and deployment preparation** — containers, Helm/GitOps interfaces, configuration, and release inputs.
5. **Operations and troubleshooting** — observability, known failure modes, recovery checks, and evidence collection.
Update these pages from verified project practice. Do not document a planned process as already operational.
## Pitfalls and verification
A planned policy is not operational evidence. Do not turn a merged planning page into implementation approval. Before handing back, verify every changed domain statement has a current source, both required owner loads succeeded, links resolve and publication identity is retained. Delivery retains approval and lifecycle decisions.
+12
View File
@@ -0,0 +1,12 @@
[
"Stop the affected edit",
"source identity",
"Do not document a planned process as already operational",
"Delivery workflow",
"Collaboration and decisions",
"Repository and workspace",
"Operations and troubleshooting",
"read back the exact published content",
"documentation-docusaurus-skic-aerosim",
"glossary-skic"
]
+21
View File
@@ -0,0 +1,21 @@
"""Safeguard validation with negative mutation controls; no live operations."""
from pathlib import Path
import json,unittest
ROOT=Path(__file__).resolve().parents[1]
CLAUSES=json.loads((Path(__file__).parent/'contract.json').read_text())
def validate(text):
missing=[s for s in CLAUSES if s.lower() not in text.lower()]
if missing: raise ValueError(missing)
class Contract(unittest.TestCase):
def test_published_procedure_has_all_safeguards(self):
validate((ROOT/'SKILL.md').read_text())
def test_each_removed_safeguard_is_rejected(self):
text=(ROOT/'SKILL.md').read_text().lower()
for s in CLAUSES:
with self.subTest(s=s),self.assertRaises(ValueError):validate(text.replace(s.lower(),''))
def test_procedure_not_an_empty_router(self):
text=(ROOT/'SKILL.md').read_text()
self.assertIn('## Verification' if '## Verification' in text else 'verification',text)
self.assertTrue('Stop' in text or 'stop' in text or 'status unverified' in text)
self.assertTrue('## Procedure' in text or '## Failure-Repair Workflow' in text or '## Scope Status Vocabulary' in text)
if __name__=='__main__':unittest.main()