@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.
Files changed (55) hide show
  1. package/README.md +24 -11
  2. package/dist/assets/contracts/ci/v1/artifacts.schema.json +253 -0
  3. package/dist/assets/contracts/ci/v1/golden-suite.schema.json +17 -0
  4. package/dist/assets/contracts/repository/v1/review-bundle.schema.json +49 -0
  5. package/dist/assets/contracts/repository/v1/review-decision-request.schema.json +15 -0
  6. package/dist/assets/contracts/repository/v1/review-decision.schema.json +52 -0
  7. package/dist/assets/contracts/repository/v1/review.schema.json +46 -2
  8. package/dist/assets/contracts/semantic/v1/artifacts.schema.json +697 -0
  9. package/dist/assets/contracts/semantic/v1/golden-suite.schema.json +119 -0
  10. package/dist/assets/contracts/v1/schemas/cli-result.schema.json +11 -1
  11. package/dist/assets/fixtures/contracts/ci/v1/golden-digests.json +5 -0
  12. package/dist/assets/fixtures/contracts/ci/v1/golden-suite.json +104 -0
  13. package/dist/assets/fixtures/contracts/semantic/v1/golden-digests.json +17 -0
  14. package/dist/assets/fixtures/contracts/semantic/v1/golden-suite.json +715 -0
  15. package/dist/grfs.js +3745 -1395
  16. package/dist/review/assets/{abnfDiagram-VRR7QNED-5JVeQ-ZW.js → abnfDiagram-VRR7QNED-BjBHcddA.js} +1 -1
  17. package/dist/review/assets/{architectureDiagram-ZJ3FMSHR-BnEvDO7X.js → architectureDiagram-ZJ3FMSHR-D2YEagFX.js} +1 -1
  18. package/dist/review/assets/{chunk-EX3LRPZG-BrpCa9zr.js → chunk-EX3LRPZG-Cqlq9N1k.js} +1 -1
  19. package/dist/review/assets/{chunk-MOJQB5TN-BshP08Ez.js → chunk-MOJQB5TN-CrJU23I4.js} +1 -1
  20. package/dist/review/assets/{chunk-PUDLZKDR-HkwEqIVB.js → chunk-PUDLZKDR-D2gPOWiF.js} +1 -1
  21. package/dist/review/assets/{chunk-V7JOEXUC-CswDacm3.js → chunk-V7JOEXUC-zqKE0D3Z.js} +1 -1
  22. package/dist/review/assets/{classDiagram-OUVF2IWQ-U8e_ZvC4.js → classDiagram-OUVF2IWQ-CRJJUaPV.js} +1 -1
  23. package/dist/review/assets/{classDiagram-v2-EOCWNBFH-U8e_ZvC4.js → classDiagram-v2-EOCWNBFH-CRJJUaPV.js} +1 -1
  24. package/dist/review/assets/{cynefinDiagram-TSTJHNR4-CfYu2mB5.js → cynefinDiagram-TSTJHNR4-BkymIc14.js} +1 -1
  25. package/dist/review/assets/{dagre-VKFMJZFB-BvyihZfA.js → dagre-VKFMJZFB-e2nCgJcZ.js} +1 -1
  26. package/dist/review/assets/{diagram-G47NLZAW-qFNMv5An.js → diagram-G47NLZAW-QL9zGpjT.js} +1 -1
  27. package/dist/review/assets/{diagram-NH7WQ7WH-CsvacND9.js → diagram-NH7WQ7WH-DvCskT8T.js} +1 -1
  28. package/dist/review/assets/{diagram-OA4YK3LP-qFtWcyNi.js → diagram-OA4YK3LP-Cx9kjg5t.js} +1 -1
  29. package/dist/review/assets/{diagram-WEI45ONY-C5nYGL8t.js → diagram-WEI45ONY-CfwqC_md.js} +1 -1
  30. package/dist/review/assets/{ebnfDiagram-CCIWWBDH-D_0nhpry.js → ebnfDiagram-CCIWWBDH-G63kkvbq.js} +1 -1
  31. package/dist/review/assets/{erDiagram-Q63AITRT-CIS7hpdK.js → erDiagram-Q63AITRT-D3GzhK6w.js} +1 -1
  32. package/dist/review/assets/{flowDiagram-23GEKE2U-Df5sjnlg.js → flowDiagram-23GEKE2U-DqVi9C2r.js} +1 -1
  33. package/dist/review/assets/index-BGz0YQEi.css +1 -0
  34. package/dist/review/assets/index-D_ZKYhz7.js +64 -0
  35. package/dist/review/assets/{infoDiagram-FWYZ7A6U-CT7TZgi6.js → infoDiagram-FWYZ7A6U-WJv0WBae.js} +1 -1
  36. package/dist/review/assets/{ishikawaDiagram-FXEZZL3T-BUpotH7r.js → ishikawaDiagram-FXEZZL3T-BnZ5zRCL.js} +1 -1
  37. package/dist/review/assets/{kanban-definition-HUTT4EX6-e-emfNuh.js → kanban-definition-HUTT4EX6-BDdmEROe.js} +1 -1
  38. package/dist/review/assets/{mindmap-definition-LN4V7U3C-ClSEPrvR.js → mindmap-definition-LN4V7U3C-BH2EZxB3.js} +1 -1
  39. package/dist/review/assets/{pegDiagram-2B236MQR-Ck_v89jl.js → pegDiagram-2B236MQR-apJfnuaF.js} +1 -1
  40. package/dist/review/assets/{pieDiagram-ENE6RG2P-C63dxyZj.js → pieDiagram-ENE6RG2P-DBZNNsNI.js} +1 -1
  41. package/dist/review/assets/{railroadDiagram-RFXS5EU6-DYI7CPMt.js → railroadDiagram-RFXS5EU6-Csr5eB8z.js} +1 -1
  42. package/dist/review/assets/{requirementDiagram-TGXJPOKE-BMW46SXM.js → requirementDiagram-TGXJPOKE-DOGov392.js} +1 -1
  43. package/dist/review/assets/{sequenceDiagram-DBY2YBRQ-DVtyVuxr.js → sequenceDiagram-DBY2YBRQ-CGLEdxIQ.js} +1 -1
  44. package/dist/review/assets/{stateDiagram-2N3HPSRC-BM1s-zUo.js → stateDiagram-2N3HPSRC-DGc_GIR7.js} +1 -1
  45. package/dist/review/assets/{stateDiagram-v2-6OUMAXLB-BEfolAkc.js → stateDiagram-v2-6OUMAXLB-CB--qhqy.js} +1 -1
  46. package/dist/review/assets/{swimlanes-5IMT3BWC-Bnu9mzxz.js → swimlanes-5IMT3BWC-DWuBlI_u.js} +1 -1
  47. package/dist/review/assets/{swimlanesDiagram-G3AALYLV-DlNNBK53.js → swimlanesDiagram-G3AALYLV-dXt3qLQg.js} +1 -1
  48. package/dist/review/assets/{timeline-definition-FHXFAJF6-CwlO71Lp.js → timeline-definition-FHXFAJF6-Da2ReugN.js} +1 -1
  49. package/dist/review/assets/{vennDiagram-L72KCM5P-DZxbcc_O.js → vennDiagram-L72KCM5P-CnhNeNSC.js} +1 -1
  50. package/dist/review/assets/{wardleyDiagram-EHGQE667-DGQto3hn.js → wardleyDiagram-EHGQE667-CixYg3yw.js} +1 -1
  51. package/dist/review/assets/{xychartDiagram-FW5EYKEG-BfD1lSXX.js → xychartDiagram-FW5EYKEG-BwY7805o.js} +1 -1
  52. package/dist/review/index.html +2 -2
  53. package/package.json +2 -2
  54. package/dist/review/assets/index-Bt3i8n39.css +0 -1
  55. 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": ["init", "fixture-create", "plan", "gate", "replan", "review", "export"]
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,5 @@
1
+ {
2
+ "suite": "d3b65c47974f3eb82f5af857292b1ce07bf9b584021ecafd08acfea2381ca70a",
3
+ "invocation": "317a4dccc0ce763be4c2f8f1be57d4c65a61126fd3f89cfb1b49aa9f53fbbb92",
4
+ "result": "f99ea74fd4163d050f4ca7af0e48e3f0efbf4a66d4a3046b4cb4dc01024825b4"
5
+ }
@@ -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
+ }