Commit aa84375
committed
spec: V21, proper specifications requiring
Promotes V21 as the first-gate specifying-canon release for ENGI.
Proof-source commit: `33f3a75734fd6c0213c95b48f2e373c72fb1b735`
This promotion closes V21's first gate:
- `ENGI_SPECIFYING.md` is now the one complete specifying standard, with `ENGI_SPEC_TEMPLATEGUIDE.md` reduced to compatibility-only status
- V21+ hand-authored canonical spec family is now `SPEC`, `SPEC_DELTA`, and `SPEC_PARITY_MATRIX`
- the main `SPEC` is now required to be full-system, re-implementable, and auditable current canon rather than a focus-only release note
- full-canon totality is now enforced through appendix-grade derivability carriers rather than broad section headings alone
- exact proof-family derivability is now required in `SPEC`, including exact family/member/theorem/replay inventories, member-closure criteria, theorem-by-theorem closure readings, minimum artifact/
replay binding sets, verdict carriers, generated/test bindings, and fail-closed conditions
- generated canon is now treated as active canonical drafting input, not merely release output
- canonical promotion now fails closed on stale hand-authored status truth, missing file-family members, and missing canonical generated inputs
- V21 promotion now validates both `V20` pre-mutation canon and `V21` post-generation canon in one executable gate sequence
- V21 adds the minimal version-local specifying artifact family: `.engi/v21-spec-family-report.json` and `.engi/v21-canonical-input-report.json`
- V21 generates and checks `ENGI_SPEC_V21_PROVEN.md` as canonical generated appendix output
- source-side specifying enforcement now exists in `scripts/check-engi-spec-family.mjs`, `scripts/check-engi-canonical-inputs.mjs`, promotion-time hand-authored status preparation, and V21-aware
appendix generation
- the generalized specifying checker now validates both active `V21` canon and `V20_PROPER` as a second strict full-canon validation surface
- `V20_PROPER` hardens the specifying standard by proving the full-spec structure is reusable against an already-promoted version without future-truth import
Validation completed through canonical promotion:
- typecheck
- unit, integration, and E2E suites
- inherited V19 reproducible-canon gates
- inherited V20 operator-quality gates
- aggregate non-E2E suite
- promotion-time hand-authored V21 status preparation
- V21 `_PROVEN_` generation and check
- post-generation canonical-input validation for pointed `V21`
- promoted-mode V21 spec-family validation
- `git diff --check`
V21 accepts exact derivability carriers, not line-count parity with V16, as the first-gate density threshold.
V21 intentionally adds no new runtime/proof/operator artifact family beyond the generated appendix and specifying report pair.
`ENGI_SPEC_V22_NOTES.md` opens the next non-canonical notes surface without changing V21 canon.1 parent 33f3a75 commit aa84375
15 files changed
Lines changed: 3372 additions & 133 deletions
File tree
- .engi
- engi-demo
- src/canonical
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
505 | 505 | | |
506 | 506 | | |
507 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
508 | 512 | | |
509 | 513 | | |
| 514 | + | |
| 515 | + | |
510 | 516 | | |
511 | 517 | | |
512 | 518 | | |
| |||
669 | 675 | | |
670 | 676 | | |
671 | 677 | | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
672 | 694 | | |
673 | 695 | | |
674 | 696 | | |
| |||
687 | 709 | | |
688 | 710 | | |
689 | 711 | | |
| 712 | + | |
690 | 713 | | |
| 714 | + | |
691 | 715 | | |
| 716 | + | |
| 717 | + | |
692 | 718 | | |
693 | 719 | | |
694 | 720 | | |
| |||
775 | 801 | | |
776 | 802 | | |
777 | 803 | | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
778 | 836 | | |
779 | 837 | | |
780 | 838 | | |
| |||
0 commit comments