Autonomie : le dépôt public devient la source de vérité du contrat
gardes du contrat / conformite (pull_request) Successful in 16s
gardes du contrat / conformite (pull_request) Successful in 16s
Le développement se fait ici, par pull request endossée — le subtree depuis le corpus hôte est mort (temoin/DEC-014, à consigner côté temoin). Deux gardes en CI, normatives toutes deux : la suite de conformité (SPEC §9) et l'auto-épreuve de l'instrument. Lockfile commité pour une CI reproductible ; note de gouvernance au README. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7f03f37ef7
commit
1227a4fb5a
@@ -0,0 +1,28 @@
|
||||
name: gardes du contrat
|
||||
|
||||
# Le dépôt public est la SOURCE DE VÉRITÉ du contrat depuis le 2026-09-11
|
||||
# (temoin/DEC-014) : le développement se fait ici, par pull request endossée —
|
||||
# le subtree depuis le corpus hôte est mort. Deux gardes, normatives toutes
|
||||
# deux : la suite de conformité (SPEC §9 — qui la rate ne se conforme pas) et
|
||||
# l'auto-épreuve de l'instrument (dix-huit vérifications sur une juridiction
|
||||
# d'essai jetable).
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
conformite:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20'
|
||||
- name: Dépendances (ajv pour le schéma, yaml pour l'instrument)
|
||||
run: npm install --no-audit --no-fund
|
||||
- name: Suite de conformité — normative
|
||||
run: npm run conformance
|
||||
- name: Auto-épreuve de l'instrument
|
||||
run: npm run instrument:selftest
|
||||
@@ -0,0 +1 @@
|
||||
node_modules/
|
||||
@@ -12,5 +12,18 @@ A1.2). Deux artefacts, un seul numéro de version :
|
||||
| [`grammar/`](grammar/) | Domicile réservé de la grammaire source (ADR-066 §2.2) |
|
||||
| [`OPENING.md`](OPENING.md) | Déclencheur et butoir de l'extraction publique |
|
||||
|
||||
Le nom du paquet est celui qu'ADR-066 §2.2 lui a donné. `pnpm conformance`
|
||||
exécute le jeu d'épreuves.
|
||||
Le nom du paquet est celui qu'ADR-066 §2.2 lui a donné.
|
||||
|
||||
## Gouvernance (depuis le 2026-09-11 — temoin/DEC-014)
|
||||
|
||||
Ce dépôt est la **source de vérité** du contrat. Le développement se fait
|
||||
ici, par pull request endossée — une approbation humaine par fusion, aucune
|
||||
poussée directe sur `master`. L'ancien rite (sources au corpus hôte,
|
||||
re-publication par subtree) est mort : il coûtait trois rites par évolution.
|
||||
|
||||
Chaque consommateur **épingle** l'édition qu'il adopte (un commit de ce
|
||||
dépôt) et mesure sa dérive contre la tête ; déplacer une épingle est une
|
||||
pull request relue chez le consommateur, jamais un événement subi.
|
||||
|
||||
`npm run conformance` joue la suite normative ; `npm run instrument:selftest`
|
||||
l'auto-épreuve de l'instrument. La CI exige les deux.
|
||||
|
||||
Generated
+111
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"name": "published-language",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "published-language",
|
||||
"version": "0.1.0",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"yaml": "2.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ajv": "^8.17.0",
|
||||
"ajv-formats": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "8.20.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
|
||||
"integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
|
||||
"integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ajv": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.1.7",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
|
||||
"integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/fastify"
|
||||
},
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/fastify"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/require-from-string": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
|
||||
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/yaml": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
||||
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"yaml": "bin.mjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 14.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/eemeli"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user