@graphrefly/stack 0.1.1 → 0.1.4
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/README.md +24 -11
- package/dist/assets/contracts/ci/v1/artifacts.schema.json +253 -0
- package/dist/assets/contracts/ci/v1/golden-suite.schema.json +17 -0
- package/dist/assets/contracts/repository/v1/review-bundle.schema.json +49 -0
- package/dist/assets/contracts/repository/v1/review-decision-request.schema.json +15 -0
- package/dist/assets/contracts/repository/v1/review-decision.schema.json +52 -0
- package/dist/assets/contracts/repository/v1/review.schema.json +46 -2
- package/dist/assets/contracts/semantic/v1/artifacts.schema.json +697 -0
- package/dist/assets/contracts/semantic/v1/golden-suite.schema.json +119 -0
- package/dist/assets/contracts/v1/schemas/cli-result.schema.json +11 -1
- package/dist/assets/fixtures/contracts/ci/v1/golden-digests.json +5 -0
- package/dist/assets/fixtures/contracts/ci/v1/golden-suite.json +104 -0
- package/dist/assets/fixtures/contracts/semantic/v1/golden-digests.json +17 -0
- package/dist/assets/fixtures/contracts/semantic/v1/golden-suite.json +715 -0
- package/dist/grfs.js +3745 -1395
- package/dist/review/assets/{abnfDiagram-VRR7QNED-5JVeQ-ZW.js → abnfDiagram-VRR7QNED-BjBHcddA.js} +1 -1
- package/dist/review/assets/{architectureDiagram-ZJ3FMSHR-BnEvDO7X.js → architectureDiagram-ZJ3FMSHR-D2YEagFX.js} +1 -1
- package/dist/review/assets/{chunk-EX3LRPZG-BrpCa9zr.js → chunk-EX3LRPZG-Cqlq9N1k.js} +1 -1
- package/dist/review/assets/{chunk-MOJQB5TN-BshP08Ez.js → chunk-MOJQB5TN-CrJU23I4.js} +1 -1
- package/dist/review/assets/{chunk-PUDLZKDR-HkwEqIVB.js → chunk-PUDLZKDR-D2gPOWiF.js} +1 -1
- package/dist/review/assets/{chunk-V7JOEXUC-CswDacm3.js → chunk-V7JOEXUC-zqKE0D3Z.js} +1 -1
- package/dist/review/assets/{classDiagram-OUVF2IWQ-U8e_ZvC4.js → classDiagram-OUVF2IWQ-CRJJUaPV.js} +1 -1
- package/dist/review/assets/{classDiagram-v2-EOCWNBFH-U8e_ZvC4.js → classDiagram-v2-EOCWNBFH-CRJJUaPV.js} +1 -1
- package/dist/review/assets/{cynefinDiagram-TSTJHNR4-CfYu2mB5.js → cynefinDiagram-TSTJHNR4-BkymIc14.js} +1 -1
- package/dist/review/assets/{dagre-VKFMJZFB-BvyihZfA.js → dagre-VKFMJZFB-e2nCgJcZ.js} +1 -1
- package/dist/review/assets/{diagram-G47NLZAW-qFNMv5An.js → diagram-G47NLZAW-QL9zGpjT.js} +1 -1
- package/dist/review/assets/{diagram-NH7WQ7WH-CsvacND9.js → diagram-NH7WQ7WH-DvCskT8T.js} +1 -1
- package/dist/review/assets/{diagram-OA4YK3LP-qFtWcyNi.js → diagram-OA4YK3LP-Cx9kjg5t.js} +1 -1
- package/dist/review/assets/{diagram-WEI45ONY-C5nYGL8t.js → diagram-WEI45ONY-CfwqC_md.js} +1 -1
- package/dist/review/assets/{ebnfDiagram-CCIWWBDH-D_0nhpry.js → ebnfDiagram-CCIWWBDH-G63kkvbq.js} +1 -1
- package/dist/review/assets/{erDiagram-Q63AITRT-CIS7hpdK.js → erDiagram-Q63AITRT-D3GzhK6w.js} +1 -1
- package/dist/review/assets/{flowDiagram-23GEKE2U-Df5sjnlg.js → flowDiagram-23GEKE2U-DqVi9C2r.js} +1 -1
- package/dist/review/assets/index-BGz0YQEi.css +1 -0
- package/dist/review/assets/index-D_ZKYhz7.js +64 -0
- package/dist/review/assets/{infoDiagram-FWYZ7A6U-CT7TZgi6.js → infoDiagram-FWYZ7A6U-WJv0WBae.js} +1 -1
- package/dist/review/assets/{ishikawaDiagram-FXEZZL3T-BUpotH7r.js → ishikawaDiagram-FXEZZL3T-BnZ5zRCL.js} +1 -1
- package/dist/review/assets/{kanban-definition-HUTT4EX6-e-emfNuh.js → kanban-definition-HUTT4EX6-BDdmEROe.js} +1 -1
- package/dist/review/assets/{mindmap-definition-LN4V7U3C-ClSEPrvR.js → mindmap-definition-LN4V7U3C-BH2EZxB3.js} +1 -1
- package/dist/review/assets/{pegDiagram-2B236MQR-Ck_v89jl.js → pegDiagram-2B236MQR-apJfnuaF.js} +1 -1
- package/dist/review/assets/{pieDiagram-ENE6RG2P-C63dxyZj.js → pieDiagram-ENE6RG2P-DBZNNsNI.js} +1 -1
- package/dist/review/assets/{railroadDiagram-RFXS5EU6-DYI7CPMt.js → railroadDiagram-RFXS5EU6-Csr5eB8z.js} +1 -1
- package/dist/review/assets/{requirementDiagram-TGXJPOKE-BMW46SXM.js → requirementDiagram-TGXJPOKE-DOGov392.js} +1 -1
- package/dist/review/assets/{sequenceDiagram-DBY2YBRQ-DVtyVuxr.js → sequenceDiagram-DBY2YBRQ-CGLEdxIQ.js} +1 -1
- package/dist/review/assets/{stateDiagram-2N3HPSRC-BM1s-zUo.js → stateDiagram-2N3HPSRC-DGc_GIR7.js} +1 -1
- package/dist/review/assets/{stateDiagram-v2-6OUMAXLB-BEfolAkc.js → stateDiagram-v2-6OUMAXLB-CB--qhqy.js} +1 -1
- package/dist/review/assets/{swimlanes-5IMT3BWC-Bnu9mzxz.js → swimlanes-5IMT3BWC-DWuBlI_u.js} +1 -1
- package/dist/review/assets/{swimlanesDiagram-G3AALYLV-DlNNBK53.js → swimlanesDiagram-G3AALYLV-dXt3qLQg.js} +1 -1
- package/dist/review/assets/{timeline-definition-FHXFAJF6-CwlO71Lp.js → timeline-definition-FHXFAJF6-Da2ReugN.js} +1 -1
- package/dist/review/assets/{vennDiagram-L72KCM5P-DZxbcc_O.js → vennDiagram-L72KCM5P-CnhNeNSC.js} +1 -1
- package/dist/review/assets/{wardleyDiagram-EHGQE667-DGQto3hn.js → wardleyDiagram-EHGQE667-CixYg3yw.js} +1 -1
- package/dist/review/assets/{xychartDiagram-FW5EYKEG-BfD1lSXX.js → xychartDiagram-FW5EYKEG-BwY7805o.js} +1 -1
- package/dist/review/index.html +2 -2
- package/package.json +2 -2
- package/dist/review/assets/index-Bt3i8n39.css +0 -1
- package/dist/review/assets/index-CqjR4YYp.js +0 -64
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "urn:graphrefly-stack:schema:semantic-golden-suite:v1",
|
|
4
|
+
"title": "GraphReFly Stack semantic lifecycle golden suite v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema",
|
|
9
|
+
"policy",
|
|
10
|
+
"plan",
|
|
11
|
+
"bindings",
|
|
12
|
+
"records",
|
|
13
|
+
"checks",
|
|
14
|
+
"modelContext",
|
|
15
|
+
"cases"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"schema": { "const": "graphrefly.stack.semantic-golden-suite.v1" },
|
|
19
|
+
"policy": {
|
|
20
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/RepositoryPolicy"
|
|
21
|
+
},
|
|
22
|
+
"plan": {
|
|
23
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/AcceptedChangePlan"
|
|
24
|
+
},
|
|
25
|
+
"bindings": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {
|
|
28
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/CommitWorkUnitBinding"
|
|
29
|
+
},
|
|
30
|
+
"minItems": 1
|
|
31
|
+
},
|
|
32
|
+
"records": {
|
|
33
|
+
"type": "array",
|
|
34
|
+
"items": {
|
|
35
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/SemanticChangeRecord"
|
|
36
|
+
},
|
|
37
|
+
"minItems": 1
|
|
38
|
+
},
|
|
39
|
+
"checks": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/CheckResult"
|
|
43
|
+
},
|
|
44
|
+
"minItems": 1
|
|
45
|
+
},
|
|
46
|
+
"modelContext": {
|
|
47
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/ModelContextManifest"
|
|
48
|
+
},
|
|
49
|
+
"cases": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"minItems": 10,
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"additionalProperties": false,
|
|
55
|
+
"required": [
|
|
56
|
+
"caseId",
|
|
57
|
+
"category",
|
|
58
|
+
"states",
|
|
59
|
+
"expectedGate",
|
|
60
|
+
"expectedError",
|
|
61
|
+
"selectiveReplan",
|
|
62
|
+
"rebindRecord"
|
|
63
|
+
],
|
|
64
|
+
"properties": {
|
|
65
|
+
"caseId": { "type": "string", "pattern": "^[a-z0-9-]+$" },
|
|
66
|
+
"category": { "enum": ["valid", "blocked", "error", "recovery"] },
|
|
67
|
+
"states": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"required": ["binding", "predicate", "scope", "check", "policy", "artifact", "context"],
|
|
71
|
+
"properties": {
|
|
72
|
+
"binding": { "enum": ["valid", "missing-trailer", "duplicate-trailer"] },
|
|
73
|
+
"predicate": {
|
|
74
|
+
"enum": ["satisfied", "architecture-stale", "ambiguous", "unsupported"]
|
|
75
|
+
},
|
|
76
|
+
"scope": { "enum": ["valid", "widened"] },
|
|
77
|
+
"check": { "enum": ["passed", "undeclared", "missing", "failed"] },
|
|
78
|
+
"policy": { "enum": ["fresh", "stale"] },
|
|
79
|
+
"artifact": { "enum": ["valid", "tampered"] },
|
|
80
|
+
"context": { "enum": ["not-used", "authorized", "unauthorized"] }
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"expectedGate": {
|
|
84
|
+
"oneOf": [
|
|
85
|
+
{
|
|
86
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/GateResult"
|
|
87
|
+
},
|
|
88
|
+
{ "type": "null" }
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"expectedError": {
|
|
92
|
+
"oneOf": [
|
|
93
|
+
{
|
|
94
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/ReasonCode"
|
|
95
|
+
},
|
|
96
|
+
{ "type": "null" }
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"selectiveReplan": {
|
|
100
|
+
"oneOf": [
|
|
101
|
+
{
|
|
102
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/SelectiveReplan"
|
|
103
|
+
},
|
|
104
|
+
{ "type": "null" }
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"rebindRecord": {
|
|
108
|
+
"oneOf": [
|
|
109
|
+
{
|
|
110
|
+
"$ref": "urn:graphrefly-stack:schema:semantic-artifacts:v1#/definitions/SemanticChangeRecord"
|
|
111
|
+
},
|
|
112
|
+
{ "type": "null" }
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -30,7 +30,17 @@
|
|
|
30
30
|
],
|
|
31
31
|
"definitions": {
|
|
32
32
|
"Command": {
|
|
33
|
-
"enum": [
|
|
33
|
+
"enum": [
|
|
34
|
+
"init",
|
|
35
|
+
"ci-init",
|
|
36
|
+
"ci-run",
|
|
37
|
+
"fixture-create",
|
|
38
|
+
"plan",
|
|
39
|
+
"gate",
|
|
40
|
+
"replan",
|
|
41
|
+
"review",
|
|
42
|
+
"export"
|
|
43
|
+
]
|
|
34
44
|
},
|
|
35
45
|
"Mode": {
|
|
36
46
|
"enum": ["deterministic", "replay", "live", "replay-fallback"]
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "graphrefly.stack.ci-golden-suite.v1",
|
|
3
|
+
"invocation": {
|
|
4
|
+
"schema": "graphrefly.stack.ci-invocation.v1",
|
|
5
|
+
"adapter": { "provider": "github-actions", "version": "v1" },
|
|
6
|
+
"repository": { "id": "123456", "ownerId": "654321", "headRepositoryId": "123456" },
|
|
7
|
+
"event": {
|
|
8
|
+
"name": "pull_request",
|
|
9
|
+
"pullRequestNumber": 42,
|
|
10
|
+
"base": { "algorithm": "sha1", "value": "1111111111111111111111111111111111111111" },
|
|
11
|
+
"head": { "algorithm": "sha1", "value": "2222222222222222222222222222222222222222" }
|
|
12
|
+
},
|
|
13
|
+
"workflow": {
|
|
14
|
+
"ref": "graphrefly/example/.github/workflows/graphrefly-stack.yml@refs/pull/42/merge",
|
|
15
|
+
"sha": { "algorithm": "sha1", "value": "3333333333333333333333333333333333333333" }
|
|
16
|
+
},
|
|
17
|
+
"run": {
|
|
18
|
+
"id": "987654321",
|
|
19
|
+
"attempt": 2,
|
|
20
|
+
"actorId": "24680",
|
|
21
|
+
"jobName": "GraphReFly Stack / Semantic Gate"
|
|
22
|
+
},
|
|
23
|
+
"plan": {
|
|
24
|
+
"id": "refresh-token-plan",
|
|
25
|
+
"policyDigest": {
|
|
26
|
+
"algorithm": "sha256",
|
|
27
|
+
"value": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"cacheInputs": {
|
|
31
|
+
"operatingSystem": "linux",
|
|
32
|
+
"architecture": "x64",
|
|
33
|
+
"nodeVersion": "24.4.1",
|
|
34
|
+
"pnpmVersion": "11.7.0",
|
|
35
|
+
"lockfilePath": "pnpm-lock.yaml",
|
|
36
|
+
"lockfileDigest": {
|
|
37
|
+
"algorithm": "sha256",
|
|
38
|
+
"value": "4444444444444444444444444444444444444444444444444444444444444444"
|
|
39
|
+
},
|
|
40
|
+
"packageManifestDigest": {
|
|
41
|
+
"algorithm": "sha256",
|
|
42
|
+
"value": "5555555555555555555555555555555555555555555555555555555555555555"
|
|
43
|
+
},
|
|
44
|
+
"stackVersion": "0.1.2",
|
|
45
|
+
"graphreflyVersion": "0.3.0",
|
|
46
|
+
"cacheKey": "graphrefly-stack-linux-x64-node-24.4.1-pnpm-11.7.0-lock-444444444444-stack-0.1.2-graphrefly-0.3.0"
|
|
47
|
+
},
|
|
48
|
+
"identity": { "assurance": "platform-asserted" }
|
|
49
|
+
},
|
|
50
|
+
"result": {
|
|
51
|
+
"schema": "graphrefly.stack.ci-result.v1",
|
|
52
|
+
"invocationDigest": {
|
|
53
|
+
"algorithm": "sha256",
|
|
54
|
+
"value": "317a4dccc0ce763be4c2f8f1be57d4c65a61126fd3f89cfb1b49aa9f53fbbb92"
|
|
55
|
+
},
|
|
56
|
+
"outcome": "pass",
|
|
57
|
+
"gateInputDigest": {
|
|
58
|
+
"algorithm": "sha256",
|
|
59
|
+
"value": "3030303030303030303030303030303030303030303030303030303030303030"
|
|
60
|
+
},
|
|
61
|
+
"gateResult": {
|
|
62
|
+
"schema": "graphrefly.stack.semantic-gate-result.v1",
|
|
63
|
+
"gateVersion": "v1",
|
|
64
|
+
"inputDigest": {
|
|
65
|
+
"algorithm": "sha256",
|
|
66
|
+
"value": "3030303030303030303030303030303030303030303030303030303030303030"
|
|
67
|
+
},
|
|
68
|
+
"verdict": "pass",
|
|
69
|
+
"units": [
|
|
70
|
+
{
|
|
71
|
+
"workUnitId": "CONTRACTS",
|
|
72
|
+
"verdict": "valid",
|
|
73
|
+
"reasonCodes": [],
|
|
74
|
+
"invalidDependencies": [],
|
|
75
|
+
"recordId": "record-contracts-v1"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"checkIds": ["typecheck"]
|
|
79
|
+
},
|
|
80
|
+
"portableBundleDigest": {
|
|
81
|
+
"algorithm": "sha256",
|
|
82
|
+
"value": "6666666666666666666666666666666666666666666666666666666666666666"
|
|
83
|
+
},
|
|
84
|
+
"provenance": {
|
|
85
|
+
"provider": "github-actions",
|
|
86
|
+
"repositoryId": "123456",
|
|
87
|
+
"workflowSha": { "algorithm": "sha1", "value": "3333333333333333333333333333333333333333" },
|
|
88
|
+
"runId": "987654321",
|
|
89
|
+
"attempt": 2
|
|
90
|
+
},
|
|
91
|
+
"redaction": {
|
|
92
|
+
"excludes": [
|
|
93
|
+
"source-content",
|
|
94
|
+
"raw-blueprint",
|
|
95
|
+
"check-output",
|
|
96
|
+
"credentials",
|
|
97
|
+
"environment",
|
|
98
|
+
"model-response"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"summary": { "verdict": "pass", "affectedWorkUnitIds": [], "reasonCodes": [] },
|
|
102
|
+
"artifactName": "graphrefly-stack-ci-6666666666666666666666666666666666666666666666666666666666666666"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"suite": "933603448247ce1ba98c408a5fc787b218101b33804c2ef33bc3e23d26878d72",
|
|
3
|
+
"cases": {
|
|
4
|
+
"normal-valid": "87f3d375277a05ec02309cba41db5a2bd6a52d078adf5e357de7a2dc201114a7",
|
|
5
|
+
"architecture-stale-selective": "9659d7dc74e14a28c4771136faee4913d23f70aee9d6e8da8aa9cf99836f7c7a",
|
|
6
|
+
"unrelated-immutable-rebind": "45f80388e219baa08996d631be6cb6fe18834d380278c8b14ef501a16253763e",
|
|
7
|
+
"missing-trailer": "3207026cdbcd22d716a137605ea341d191b02f22e5e6415aa8a9a0aba9eb27be",
|
|
8
|
+
"duplicate-trailer": "81b09e2844d9b6d0ffa280f142bc381606df50d16a69b91502b0d20fe4fea232",
|
|
9
|
+
"ambiguous-predicate": "6f72747f00015e7df167806ea958d0501fed2bbc57156b8f93e75baeacaef0ea",
|
|
10
|
+
"unsupported-predicate": "c5476b4b7c2da998198b6b2e270aaba70c87ba565ed2b619c62aa36ec6053392",
|
|
11
|
+
"widened-scope": "401ef7b0c0a5ad0c836cc4c50ef84e1c04e5151754dfc1a6087ab0cdb422c585",
|
|
12
|
+
"undeclared-check": "91d14498995a8def8b37a1aa880137a7d4c84523fb91e087c2a5c63a60266d55",
|
|
13
|
+
"policy-freshness": "e95bd8a915de59b04ffa6e05a78112dc7e2ff51c965cd0eb6b49a0ae4cc49a26",
|
|
14
|
+
"artifact-tamper": "e5b7488e89a70bb3dcec3dbb917e46b166410a64cbbe79af29797adb0eee4ecc",
|
|
15
|
+
"unauthorized-live-context": "bfd64b0de4ea753bc59c088515282471a447e9a34d4a2d3d80d3700c69d2708f"
|
|
16
|
+
}
|
|
17
|
+
}
|