@sdd-method/sdd-cli 1.33.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/catalogue/build.d.ts +5 -0
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +15 -3
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/implementations.d.ts +23 -0
- package/dist/lib/catalogue/builders/implementations.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/implementations.js +214 -0
- package/dist/lib/catalogue/builders/implementations.js.map +1 -0
- package/dist/lib/catalogue/builders/index.d.ts +2 -0
- package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/index.js +1 -0
- package/dist/lib/catalogue/builders/index.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +226 -7
- package/dist/lib/catalogue/rubric-coverage-map.yaml +45 -2
- package/dist/lib/conformance/binding.d.ts +7 -0
- package/dist/lib/conformance/binding.d.ts.map +1 -1
- package/dist/lib/conformance/binding.js +39 -3
- package/dist/lib/conformance/binding.js.map +1 -1
- package/dist/lib/conformance/index.js +1 -1
- package/dist/lib/conformance/index.js.map +1 -1
- package/dist/lib/snapshot/advance.d.ts.map +1 -1
- package/dist/lib/snapshot/advance.js +9 -0
- package/dist/lib/snapshot/advance.js.map +1 -1
- package/dist/verbs/catalogue.d.ts.map +1 -1
- package/dist/verbs/catalogue.js +3 -0
- package/dist/verbs/catalogue.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# Emitted by sdd-cli's YAML emitter with no line folding; the three header scalars are quoted for the
|
|
8
8
|
# textual readers downstream. The one deliberate difference from the authored form is schema_status:
|
|
9
9
|
# the authored form says canonical; a projection never does.
|
|
10
|
-
schema_version: "3.
|
|
10
|
+
schema_version: "3.15.0"
|
|
11
11
|
schema_owner: "sdd-method"
|
|
12
12
|
schema_status: "generated"
|
|
13
13
|
enums:
|
|
@@ -474,20 +474,28 @@ enums:
|
|
|
474
474
|
- value: code-vs-contract
|
|
475
475
|
- value: binding-vs-reality
|
|
476
476
|
description: M-ADR 0194 conformance finding target. Bound at 3.13.0 from the column descriptions; measured against both reference estates before binding (M-ADR 0205 §4.4).
|
|
477
|
-
|
|
477
|
+
implementation_role:
|
|
478
478
|
values:
|
|
479
479
|
- value: as-is
|
|
480
|
+
description: The existing implementation.
|
|
480
481
|
- value: to-be
|
|
481
|
-
|
|
482
|
-
|
|
482
|
+
description: The target implementation the spec is migrating toward.
|
|
483
|
+
description: An implementation member's role against its spec (M-ADR 0181 §2.1). Bound at 3.13.0 on conformance_finding as conformance_role; renamed at 3.15.0, when implementation_members became its owner (M-ADR 0214 §4.2) — the values did not change.
|
|
484
|
+
implementation_lifecycle:
|
|
483
485
|
values:
|
|
484
486
|
- value: active
|
|
487
|
+
description: In service and the current implementation.
|
|
485
488
|
- value: planned
|
|
489
|
+
description: "Not yet built: the repository may not exist yet."
|
|
486
490
|
- value: deprecated
|
|
491
|
+
description: "Still running, scheduled for retirement (M-ADR 0214 §4.7: what some bindings called sunset)."
|
|
487
492
|
- value: migrating
|
|
493
|
+
description: Being moved onto, or off, while both sides run.
|
|
488
494
|
- value: legacy-active
|
|
495
|
+
description: The as-is implementation, still serving while a to-be replaces it.
|
|
489
496
|
- value: decommissioned
|
|
490
|
-
|
|
497
|
+
description: "Retired: no longer running."
|
|
498
|
+
description: An implementation member's lifecycle (M-ADR 0181 §2.1). Bound at 3.13.0 on conformance_finding as conformance_lifecycle; renamed at 3.15.0, when implementation_members became its owner (M-ADR 0214 §4.2) — the values did not change.
|
|
491
499
|
repo_scope:
|
|
492
500
|
values:
|
|
493
501
|
- value: component
|
|
@@ -495,6 +503,52 @@ enums:
|
|
|
495
503
|
- value: support
|
|
496
504
|
description: "Supports a component without being one: its operational configuration, tooling, tests, collections, or a library it consumes."
|
|
497
505
|
description: Whether a mirrored repository is inside the scope of what its SDD specifies (M-ADR 0213). Deliberately neither a profile (profile is the SDD's) nor a role (role is M-ADR 0181's as-is | to-be); a repository's kind is component_type.
|
|
506
|
+
evidence_direction:
|
|
507
|
+
values:
|
|
508
|
+
- value: forward-authored
|
|
509
|
+
description: The spec came first and the code was built from it.
|
|
510
|
+
- value: seeding-reverse
|
|
511
|
+
description: A spec that never existed, recovered from pre-existing internal code.
|
|
512
|
+
- value: external-doc-reverse
|
|
513
|
+
description: The external surface a product consumes, grounded in a third party's published API or documentation.
|
|
514
|
+
- value: conformance-reverse
|
|
515
|
+
description: Own forward or maintained code, verified against its spec, with legitimate evolution fed back.
|
|
516
|
+
description: How an implementation member is evidenced (M-ADR 0180 §2.1; forward-authored added by M-ADR 0181 §2.1).
|
|
517
|
+
member_presence:
|
|
518
|
+
values:
|
|
519
|
+
- value: observed
|
|
520
|
+
description: Exported and observed in this baseline.
|
|
521
|
+
- value: carried
|
|
522
|
+
description: "Not re-exported: carried from an earlier baseline (carried_from), with its reason."
|
|
523
|
+
- value: removed
|
|
524
|
+
description: In the prior baseline and not in this one (members_removed), with its reason.
|
|
525
|
+
description: A snapshot member's presence in its baseline — the three states the snapshot conventions record (M-ADR 0214 §4.4).
|
|
526
|
+
conformance_disposition:
|
|
527
|
+
values:
|
|
528
|
+
- value: conformant
|
|
529
|
+
description: Code matches spec.
|
|
530
|
+
- value: conformant-open
|
|
531
|
+
description: "Both sides agree the item is deferred or absent: an open decision, not drift."
|
|
532
|
+
- value: code-defect
|
|
533
|
+
description: "The spec is authority: fix the code."
|
|
534
|
+
- value: spec-stale
|
|
535
|
+
description: "The code legitimately evolved: update the spec."
|
|
536
|
+
- value: divergence
|
|
537
|
+
description: "A genuine design question: triage, don't fail."
|
|
538
|
+
description: The triage outcome of a conformance-reverse delta (M-ADR 0180 §2.3). Bound so every file that records an outcome records one of these; the triage records are not yet catalogued (M-ADR 0214 §4.8).
|
|
539
|
+
delta_disposition:
|
|
540
|
+
values:
|
|
541
|
+
- value: capability-added
|
|
542
|
+
description: The code gained a capability the spec does not have.
|
|
543
|
+
- value: capability-removed
|
|
544
|
+
description: The code lost a capability the spec still has.
|
|
545
|
+
- value: spec-update
|
|
546
|
+
description: "The code legitimately evolved within a capability: the spec follows."
|
|
547
|
+
- value: refactor-only-no-spec-change
|
|
548
|
+
description: "The code changed and its behaviour did not: no spec change."
|
|
549
|
+
- value: ambiguous
|
|
550
|
+
description: "Cannot be classified from the delta alone: triage."
|
|
551
|
+
description: The classification of a delta-reverse finding between two snapshots (M-ADR 0180 §2.7). Bound so every file that records one records one of these; delta findings are not yet catalogued (M-ADR 0214 §4.8).
|
|
498
552
|
catalogues:
|
|
499
553
|
domains:
|
|
500
554
|
primary_key: id
|
|
@@ -3292,8 +3346,8 @@ catalogues:
|
|
|
3292
3346
|
description: "Conformance-reverse drift summary, one row per check (method M-ADR 0180). NOT produced by `catalogue build` (it reads the spec repo) — produced by `sdd-cli conformance --emit-finding` (which has the code repo) and federated here by the aggregator. Each row is a run-dated snapshot of declared-vs-observed drift for an implementation member (M-ADR 0181 role/lifecycle), so estate-wide conformance is queryable (aggregate union) and trendable (snapshot diff across runs/commits). Verdicts are PROVISIONAL — disposition (code-defect | spec-stale | divergence) is triage, recorded elsewhere. No enforced FK on implementation_repo: the code repo is frequently cross-repo and not in this SDD's repositories.csv. Added in schema 2.25.0."
|
|
3293
3347
|
column_enums:
|
|
3294
3348
|
target: enums.conformance_target
|
|
3295
|
-
role: enums.
|
|
3296
|
-
lifecycle: enums.
|
|
3349
|
+
role: enums.implementation_role
|
|
3350
|
+
lifecycle: enums.implementation_lifecycle
|
|
3297
3351
|
quality_scores:
|
|
3298
3352
|
primary_key: id
|
|
3299
3353
|
columns:
|
|
@@ -3568,3 +3622,168 @@ catalogues:
|
|
|
3568
3622
|
column_enums:
|
|
3569
3623
|
item_kind: enums.scaffold_item_kind
|
|
3570
3624
|
state: enums.scaffold_item_state
|
|
3625
|
+
implementations:
|
|
3626
|
+
primary_key: id
|
|
3627
|
+
columns:
|
|
3628
|
+
- name: id
|
|
3629
|
+
type: string
|
|
3630
|
+
nullable: false
|
|
3631
|
+
description: The binding's implementation key — the same value every snapshot manifest of this implementation carries as implementation.
|
|
3632
|
+
- name: name
|
|
3633
|
+
type: string
|
|
3634
|
+
nullable: false
|
|
3635
|
+
description: The binding's name key, else the id.
|
|
3636
|
+
- name: spec
|
|
3637
|
+
type: string
|
|
3638
|
+
nullable: false
|
|
3639
|
+
description: The spec this implementation implements — the binding's spec key.
|
|
3640
|
+
- name: snapshot_area
|
|
3641
|
+
type: string
|
|
3642
|
+
nullable: true
|
|
3643
|
+
description: Store-relative path of this implementation's snapshot area (M-ADR 0214 §4.4), from the binding. Empty when the implementation has none.
|
|
3644
|
+
- name: doc_path
|
|
3645
|
+
type: string
|
|
3646
|
+
nullable: false
|
|
3647
|
+
description: Path of the binding file, relative to the SDD root.
|
|
3648
|
+
- name: source_sdd_id
|
|
3649
|
+
type: string
|
|
3650
|
+
nullable: true
|
|
3651
|
+
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3652
|
+
- name: platform_sdd_id
|
|
3653
|
+
type: string
|
|
3654
|
+
nullable: true
|
|
3655
|
+
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
3656
|
+
description: "An implementation of this SDD's spec: the durable system identity whose snapshots are its versions (M-ADR 0181 §2.5, M-ADR 0214 §4.1). One row per .sdd/implementation-binding.yaml that names its implementation; a binding without an implementation key emits nothing and a finding, because there is no identity to key on."
|
|
3657
|
+
implementation_members:
|
|
3658
|
+
primary_key: id
|
|
3659
|
+
columns:
|
|
3660
|
+
- name: id
|
|
3661
|
+
type: string
|
|
3662
|
+
nullable: false
|
|
3663
|
+
description: <implementation_id>::<repo_key>.
|
|
3664
|
+
- name: implementation_id
|
|
3665
|
+
type: string
|
|
3666
|
+
nullable: false
|
|
3667
|
+
- name: repo_id
|
|
3668
|
+
type: string
|
|
3669
|
+
nullable: true
|
|
3670
|
+
description: The member's repository when it resolves in this SDD's repositories. Empty for a planned member whose repository does not exist yet; a member of any other lifecycle that does not resolve is a builder finding.
|
|
3671
|
+
- name: repo_key
|
|
3672
|
+
type: string
|
|
3673
|
+
nullable: false
|
|
3674
|
+
description: The repository the binding names (its member repo key), resolved or not.
|
|
3675
|
+
- name: role
|
|
3676
|
+
type: string
|
|
3677
|
+
nullable: true
|
|
3678
|
+
- name: lifecycle
|
|
3679
|
+
type: string
|
|
3680
|
+
nullable: true
|
|
3681
|
+
- name: evidence_direction
|
|
3682
|
+
type: string
|
|
3683
|
+
nullable: true
|
|
3684
|
+
description: How this member is evidenced (M-ADR 0180 §2.1, placed on the member by M-ADR 0181 §2.1). Empty when the binding does not say.
|
|
3685
|
+
- name: source_sdd_id
|
|
3686
|
+
type: string
|
|
3687
|
+
nullable: true
|
|
3688
|
+
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3689
|
+
- name: platform_sdd_id
|
|
3690
|
+
type: string
|
|
3691
|
+
nullable: true
|
|
3692
|
+
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
3693
|
+
description: "Edge: a repository is a member of an implementation, with the member's role, lifecycle and evidence direction (M-ADR 0181 §2.1, M-ADR 0214 §4.2). Role and lifecycle live here once: repo_capability, repo_contract and feature_repo resolve their repository to this row rather than copying them (M-ADR 0214 §4.3). Membership is independent of the repository's repo_scope (M-ADR 0213): a shared library under conformance checks is a support member."
|
|
3694
|
+
foreign_keys:
|
|
3695
|
+
- column: implementation_id
|
|
3696
|
+
references: implementations.id
|
|
3697
|
+
nullable: false
|
|
3698
|
+
- column: repo_id
|
|
3699
|
+
references: repositories.id
|
|
3700
|
+
nullable: true
|
|
3701
|
+
column_enums:
|
|
3702
|
+
role: enums.implementation_role
|
|
3703
|
+
lifecycle: enums.implementation_lifecycle
|
|
3704
|
+
evidence_direction: enums.evidence_direction
|
|
3705
|
+
snapshots:
|
|
3706
|
+
primary_key: id
|
|
3707
|
+
columns:
|
|
3708
|
+
- name: id
|
|
3709
|
+
type: string
|
|
3710
|
+
nullable: false
|
|
3711
|
+
description: <implementation_id>@<baseline_id>.
|
|
3712
|
+
- name: implementation_id
|
|
3713
|
+
type: string
|
|
3714
|
+
nullable: false
|
|
3715
|
+
- name: baseline_id
|
|
3716
|
+
type: string
|
|
3717
|
+
nullable: false
|
|
3718
|
+
description: The observation date (YYYY-MM-DD) — the baseline folder and the manifest's snapshot_id.
|
|
3719
|
+
- name: prior_snapshot_id
|
|
3720
|
+
type: string
|
|
3721
|
+
nullable: true
|
|
3722
|
+
description: The snapshot this one was diffed from — <implementation_id>@<prior_snapshot>. Empty for the first.
|
|
3723
|
+
- name: credential_scan_result
|
|
3724
|
+
type: string
|
|
3725
|
+
nullable: true
|
|
3726
|
+
description: The manifest's credential_scan.result (clean, or what was found). Empty when no scan is recorded.
|
|
3727
|
+
- name: source_sdd_id
|
|
3728
|
+
type: string
|
|
3729
|
+
nullable: true
|
|
3730
|
+
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3731
|
+
- name: platform_sdd_id
|
|
3732
|
+
type: string
|
|
3733
|
+
nullable: true
|
|
3734
|
+
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
3735
|
+
description: One implementation's member set pinned at one observation (M-ADR 0181 §2.5, M-ADR 0214 §4.4). One row per dated baseline in the implementation's snapshot area whose snapshot.yaml names the same implementation. Needs the snapshot store root (build --snapshot-store or SDD_SNAPSHOT_STORE); without it the catalogue is empty and the build says so.
|
|
3736
|
+
foreign_keys:
|
|
3737
|
+
- column: implementation_id
|
|
3738
|
+
references: implementations.id
|
|
3739
|
+
nullable: false
|
|
3740
|
+
- column: prior_snapshot_id
|
|
3741
|
+
references: snapshots.id
|
|
3742
|
+
nullable: true
|
|
3743
|
+
snapshot_members:
|
|
3744
|
+
primary_key: id
|
|
3745
|
+
columns:
|
|
3746
|
+
- name: id
|
|
3747
|
+
type: string
|
|
3748
|
+
nullable: false
|
|
3749
|
+
description: <snapshot_id>::<repo_key>.
|
|
3750
|
+
- name: snapshot_id
|
|
3751
|
+
type: string
|
|
3752
|
+
nullable: false
|
|
3753
|
+
- name: repo_id
|
|
3754
|
+
type: string
|
|
3755
|
+
nullable: true
|
|
3756
|
+
description: The member's repository when it resolves in this SDD's repositories; empty otherwise (a removed member's repository may be gone).
|
|
3757
|
+
- name: repo_key
|
|
3758
|
+
type: string
|
|
3759
|
+
nullable: false
|
|
3760
|
+
description: The manifest's canonical_repo_key.
|
|
3761
|
+
- name: source_revision
|
|
3762
|
+
type: string
|
|
3763
|
+
nullable: false
|
|
3764
|
+
description: The revision observed (for a removed member, its last revision).
|
|
3765
|
+
- name: observed_at
|
|
3766
|
+
type: string
|
|
3767
|
+
nullable: true
|
|
3768
|
+
description: "The member's own observation date: the baseline's for an observed member, the earlier one for a carried member, the last observed for a removed one."
|
|
3769
|
+
- name: presence
|
|
3770
|
+
type: string
|
|
3771
|
+
nullable: false
|
|
3772
|
+
- name: source_sdd_id
|
|
3773
|
+
type: string
|
|
3774
|
+
nullable: true
|
|
3775
|
+
description: Originating SDD slug. Populated by the aggregator per M-ADR 0134.
|
|
3776
|
+
- name: platform_sdd_id
|
|
3777
|
+
type: string
|
|
3778
|
+
nullable: true
|
|
3779
|
+
description: The platform this row belongs to — sdd_id of its platform-root. Stamped by the aggregator per M-ADR 0208 §4.4.
|
|
3780
|
+
description: "Edge: a repository at one revision in one snapshot, with its presence — observed in this baseline, carried from an earlier one, or removed since the prior (M-ADR 0214 §4.4)."
|
|
3781
|
+
foreign_keys:
|
|
3782
|
+
- column: snapshot_id
|
|
3783
|
+
references: snapshots.id
|
|
3784
|
+
nullable: false
|
|
3785
|
+
- column: repo_id
|
|
3786
|
+
references: repositories.id
|
|
3787
|
+
nullable: true
|
|
3788
|
+
column_enums:
|
|
3789
|
+
presence: enums.member_presence
|
|
@@ -754,11 +754,11 @@ coverage:
|
|
|
754
754
|
kind: enum
|
|
755
755
|
scoring: not-applicable
|
|
756
756
|
reason: closed vocabulary, not an artefact
|
|
757
|
-
|
|
757
|
+
implementation_role:
|
|
758
758
|
kind: enum
|
|
759
759
|
scoring: not-applicable
|
|
760
760
|
reason: closed vocabulary, not an artefact
|
|
761
|
-
|
|
761
|
+
implementation_lifecycle:
|
|
762
762
|
kind: enum
|
|
763
763
|
scoring: not-applicable
|
|
764
764
|
reason: closed vocabulary, not an artefact
|
|
@@ -766,3 +766,46 @@ coverage:
|
|
|
766
766
|
kind: enum
|
|
767
767
|
scoring: not-applicable
|
|
768
768
|
reason: closed vocabulary, not an artefact
|
|
769
|
+
implementations:
|
|
770
|
+
kind: entity
|
|
771
|
+
scoring: scored-at-source
|
|
772
|
+
instrument: the binding is scored inside the integration SDD quality rubric (implementation-binding criteria); its identity against the snapshot manifests is a builder finding
|
|
773
|
+
implementation_members:
|
|
774
|
+
kind: edge
|
|
775
|
+
scoring: derived-edge
|
|
776
|
+
class: realisation
|
|
777
|
+
impact_flow: both
|
|
778
|
+
reason: derived from entity rows or manifest blocks scored at the owning entity
|
|
779
|
+
snapshots:
|
|
780
|
+
kind: entity
|
|
781
|
+
scoring: predicate
|
|
782
|
+
instrument: the snapshot record itself — scoring it with a rubric would be circular. Its integrity is sdd-cli snapshot verify (manifest shape, member folders, companion fields) and the builder's implementation-identity finding
|
|
783
|
+
relationships:
|
|
784
|
+
implementation_id:
|
|
785
|
+
class: membership
|
|
786
|
+
impact_flow: toward-target
|
|
787
|
+
prior_snapshot_id:
|
|
788
|
+
class: lineage
|
|
789
|
+
impact_flow: none
|
|
790
|
+
snapshot_members:
|
|
791
|
+
kind: edge
|
|
792
|
+
scoring: derived-edge
|
|
793
|
+
class: membership
|
|
794
|
+
impact_flow: none
|
|
795
|
+
reason: derived from entity rows or manifest blocks scored at the owning entity
|
|
796
|
+
evidence_direction:
|
|
797
|
+
kind: enum
|
|
798
|
+
scoring: not-applicable
|
|
799
|
+
reason: closed vocabulary, not an artefact
|
|
800
|
+
member_presence:
|
|
801
|
+
kind: enum
|
|
802
|
+
scoring: not-applicable
|
|
803
|
+
reason: closed vocabulary, not an artefact
|
|
804
|
+
conformance_disposition:
|
|
805
|
+
kind: enum
|
|
806
|
+
scoring: not-applicable
|
|
807
|
+
reason: closed vocabulary, not an artefact
|
|
808
|
+
delta_disposition:
|
|
809
|
+
kind: enum
|
|
810
|
+
scoring: not-applicable
|
|
811
|
+
reason: closed vocabulary, not an artefact
|
|
@@ -11,7 +11,14 @@ export interface DerivedCheck {
|
|
|
11
11
|
member: ImplementationMember;
|
|
12
12
|
}
|
|
13
13
|
export declare const BINDING_FILENAME = ".sdd/implementation-binding.yaml";
|
|
14
|
+
/** One binding per implementation, for an SDD that specifies several (M-ADR 0214 §4.9). */
|
|
15
|
+
export declare const BINDINGS_DIRNAME = ".sdd/implementation-bindings";
|
|
14
16
|
export declare function bindingPath(targetRepo: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Every binding file of the SDD, relative to its root: the single-implementation file
|
|
19
|
+
* when present, then each `<implementation>.yaml` in the bindings directory, sorted.
|
|
20
|
+
*/
|
|
21
|
+
export declare function bindingFiles(targetRepo: string): string[];
|
|
15
22
|
export declare function hasBinding(targetRepo: string): boolean;
|
|
16
23
|
/**
|
|
17
24
|
* Flatten the binding's implementation members into derived checks. Each member's `checks[]` become
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/binding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAOD,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/binding.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAOD,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AACnE,2FAA2F;AAC3F,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAE/D,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzF"}
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
2
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import { parse as parseYaml } from "yaml";
|
|
5
5
|
export const BINDING_FILENAME = ".sdd/implementation-binding.yaml";
|
|
6
|
+
/** One binding per implementation, for an SDD that specifies several (M-ADR 0214 §4.9). */
|
|
7
|
+
export const BINDINGS_DIRNAME = ".sdd/implementation-bindings";
|
|
6
8
|
export function bindingPath(targetRepo) {
|
|
7
9
|
return resolve(targetRepo, BINDING_FILENAME);
|
|
8
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Every binding file of the SDD, relative to its root: the single-implementation file
|
|
13
|
+
* when present, then each `<implementation>.yaml` in the bindings directory, sorted.
|
|
14
|
+
*/
|
|
15
|
+
export function bindingFiles(targetRepo) {
|
|
16
|
+
const out = [];
|
|
17
|
+
if (existsSync(bindingPath(targetRepo)))
|
|
18
|
+
out.push(BINDING_FILENAME);
|
|
19
|
+
const dir = resolve(targetRepo, BINDINGS_DIRNAME);
|
|
20
|
+
if (existsSync(dir)) {
|
|
21
|
+
for (const f of readdirSync(dir).sort()) {
|
|
22
|
+
if (f.endsWith(".yaml") || f.endsWith(".yml"))
|
|
23
|
+
out.push(`${BINDINGS_DIRNAME}/${f}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
9
28
|
export function hasBinding(targetRepo) {
|
|
10
|
-
return
|
|
29
|
+
return bindingFiles(targetRepo).length > 0;
|
|
11
30
|
}
|
|
12
31
|
/**
|
|
13
32
|
* Flatten the binding's implementation members into derived checks. Each member's `checks[]` become
|
|
@@ -16,7 +35,24 @@ export function hasBinding(targetRepo) {
|
|
|
16
35
|
* (e.g. a decommissioned as-is member you no longer validate).
|
|
17
36
|
*/
|
|
18
37
|
export async function deriveChecksFromBinding(targetRepo) {
|
|
19
|
-
const
|
|
38
|
+
const derived = [];
|
|
39
|
+
// A check id is the conformance_finding primary key within the SDD, so one declared by two
|
|
40
|
+
// bindings would collide there: refused here, where both files can be named.
|
|
41
|
+
const declaredIn = new Map();
|
|
42
|
+
for (const file of bindingFiles(targetRepo)) {
|
|
43
|
+
for (const d of await deriveFromFile(resolve(targetRepo, file))) {
|
|
44
|
+
const prior = declaredIn.get(d.check.id);
|
|
45
|
+
if (prior !== undefined) {
|
|
46
|
+
throw new Error(`conformance check id '${d.check.id}' is declared by both ${prior} and ${file} — check ids are unique within the SDD (M-ADR 0214 §4.9)`);
|
|
47
|
+
}
|
|
48
|
+
declaredIn.set(d.check.id, file);
|
|
49
|
+
derived.push(d);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return derived;
|
|
53
|
+
}
|
|
54
|
+
async function deriveFromFile(path) {
|
|
55
|
+
const raw = parseYaml(await readFile(path, "utf-8"));
|
|
20
56
|
const derived = [];
|
|
21
57
|
for (const impl of raw?.implementations ?? []) {
|
|
22
58
|
const member = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/conformance/binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../../src/lib/conformance/binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -250,7 +250,7 @@ async function planChecks(opts, stdout) {
|
|
|
250
250
|
? resolveSource(opts.targetRepo, opts.config, opts.codeRoot)
|
|
251
251
|
: resolve(opts.targetRepo, ".sdd/conformance-checks.yaml");
|
|
252
252
|
if (!existsSync(configPath)) {
|
|
253
|
-
stdout(`[skip] no spec↔implementation binding (.sdd/implementation-binding.yaml
|
|
253
|
+
stdout(`[skip] no spec↔implementation binding (.sdd/implementation-binding.yaml or .sdd/implementation-bindings/, ADR 0181) and no ` +
|
|
254
254
|
`checks file at ${configPath}\n`);
|
|
255
255
|
return null;
|
|
256
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/conformance/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/conformance/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../../src/lib/snapshot/advance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../../src/lib/snapshot/advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ import { parse, parseDocument, stringify } from "yaml";
|
|
|
28
28
|
// reflows every long string in the file, so an evidence pin would arrive with
|
|
29
29
|
// unrelated churn in lines the tool had no business touching.
|
|
30
30
|
import { deltaPath } from "./diff.js";
|
|
31
|
+
import { loadCanonicalSchema } from "../catalogue/schema-loader.js";
|
|
31
32
|
import { SnapshotError, credentialNotice, exists, isIsoDate, readManifest, splitFolder, } from "./manifest.js";
|
|
32
33
|
export const REVERSE_STATUSES = ["classified", "reversed"];
|
|
33
34
|
export const IMPACTS = ["none", "repo-minor", "repo-major", "product-major"];
|
|
@@ -173,6 +174,7 @@ export function repoint(sourcePath, newBaseline, newFolder) {
|
|
|
173
174
|
export async function advance(inputs, write) {
|
|
174
175
|
const { sddPath, areaRoot, to } = inputs;
|
|
175
176
|
const t1 = await readManifest(areaRoot, to);
|
|
177
|
+
const dispositions = new Set(((await loadCanonicalSchema()).enums["delta_disposition"]?.values ?? []).map((v) => v.value));
|
|
176
178
|
const dp = deltaPath(areaRoot, to);
|
|
177
179
|
if (!(await exists(dp))) {
|
|
178
180
|
throw new SnapshotError(`no ${dp}: the pin advances after the delta is recorded (run snapshot diff, then classify)`);
|
|
@@ -311,6 +313,13 @@ export async function advance(inputs, write) {
|
|
|
311
313
|
problems.push(`${key}: ${unclassified.length} finding(s) not yet classified (${unclassified.join(", ")}) — classify before the pin advances (delta-reverse.md §5)`);
|
|
312
314
|
continue;
|
|
313
315
|
}
|
|
316
|
+
// A classification is one of the bound vocabulary (M-ADR 0214 §4.5), read from the
|
|
317
|
+
// schema rather than restated here: a typo is not a classification.
|
|
318
|
+
const outOfVocabulary = mine.filter((f) => !dispositions.has(String(f.classification)));
|
|
319
|
+
if (outOfVocabulary.length > 0) {
|
|
320
|
+
problems.push(`${key}: ${outOfVocabulary.map((f) => `${f.id} '${String(f.classification)}'`).join(", ")} — not a delta_disposition (${[...dispositions].join(", ")}; M-ADR 0214 §4.5)`);
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
314
323
|
const findingNotes = mine.map((f) => `${f.id} [${f.classification}]${f.summary ? `: ${f.summary}` : ""}${f.spec_impact ? ` — spec: ${f.spec_impact}` : ""}`);
|
|
315
324
|
const extra = inputs.notes?.get(key);
|
|
316
325
|
const branch = splitFolder(m.exported_folder_name)?.stem.match(BRANCH)?.[1] ?? metadata.exported_branch;
|