@dailephd/my-dev-kit-lab 0.4.2 → 0.4.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 (113) hide show
  1. package/README.md +28 -113
  2. package/benchmarks/contracts/todo-behavior.md +1 -1
  3. package/benchmarks/projects/task-analytics-large-mixed/README.md +2 -0
  4. package/benchmarks/projects/task-workflow-medium-ts/README.md +3 -1
  5. package/dist/src/evaluation/stageContextDeterminism/calculateStageContextDeterminism.js +52 -0
  6. package/dist/src/evaluation/stageContextDeterminism/canonicalizeStageContextRun.js +53 -0
  7. package/dist/src/evaluation/stageContextDeterminism/index.js +2 -0
  8. package/dist/src/evaluation/stageContextDeterminism/types.js +1 -0
  9. package/dist/src/evaluation/stageContextExpectations/index.js +2 -0
  10. package/dist/src/evaluation/stageContextExpectations/producerReadinessExpectationTypes.js +8 -0
  11. package/dist/src/evaluation/stageContextExpectations/readStageContextExpectationFixtureV1.js +50 -0
  12. package/dist/src/evaluation/stageContextExpectations/readTypes.js +1 -0
  13. package/dist/src/evaluation/stageContextExpectations/types.js +1 -0
  14. package/dist/src/evaluation/stageContextExpectations/validation.js +768 -0
  15. package/dist/src/evaluation/stageContextMetrics/calculateAllocationMetrics.js +96 -0
  16. package/dist/src/evaluation/stageContextMetrics/calculateArtifactStateMetrics.js +130 -0
  17. package/dist/src/evaluation/stageContextMetrics/calculateContextSizeMetrics.js +85 -0
  18. package/dist/src/evaluation/stageContextMetrics/calculateCriticalityMetrics.js +112 -0
  19. package/dist/src/evaluation/stageContextMetrics/calculateExpectationMetrics.js +103 -0
  20. package/dist/src/evaluation/stageContextMetrics/calculateOwnerMetrics.js +84 -0
  21. package/dist/src/evaluation/stageContextMetrics/calculateReadinessAgreement.js +152 -0
  22. package/dist/src/evaluation/stageContextMetrics/calculateResponsibilityMappingMetrics.js +36 -0
  23. package/dist/src/evaluation/stageContextMetrics/calculateSupplementalRawAgreement.js +50 -0
  24. package/dist/src/evaluation/stageContextMetrics/calculateTruncationClassification.js +44 -0
  25. package/dist/src/evaluation/stageContextMetrics/collectContextCapsuleEvidence.js +312 -0
  26. package/dist/src/evaluation/stageContextMetrics/collectRetrievalAuditEvidence.js +35 -0
  27. package/dist/src/evaluation/stageContextMetrics/collectWorkflowInstructionEvidence.js +137 -0
  28. package/dist/src/evaluation/stageContextMetrics/evaluateProducerReadinessBridge.js +127 -0
  29. package/dist/src/evaluation/stageContextMetrics/evaluateV043StageContextExecution.js +247 -0
  30. package/dist/src/evaluation/stageContextMetrics/index.js +17 -0
  31. package/dist/src/evaluation/stageContextMetrics/matchStageContextExpectations.js +38 -0
  32. package/dist/src/evaluation/stageContextMetrics/producerReadinessMetricTypes.js +1 -0
  33. package/dist/src/evaluation/stageContextMetrics/targetKeys.js +35 -0
  34. package/dist/src/evaluation/stageContextMetrics/types.js +1 -0
  35. package/dist/src/evaluation/stageContextSelectors/contextArtifactConsistency.js +89 -0
  36. package/dist/src/evaluation/stageContextSelectors/contextCapsuleSelectors.js +126 -0
  37. package/dist/src/evaluation/stageContextSelectors/index.js +4 -0
  38. package/dist/src/evaluation/stageContextSelectors/retrievalAuditRecordSelectors.js +54 -0
  39. package/dist/src/evaluation/stageContextSelectors/workflowInstructionPacketSelectors.js +51 -0
  40. package/dist/src/evaluation/targetImmutability/captureTargetSnapshot.js +208 -0
  41. package/dist/src/evaluation/targetImmutability/compareTargetSnapshots.js +56 -0
  42. package/dist/src/evaluation/targetImmutability/index.js +3 -0
  43. package/dist/src/evaluation/targetImmutability/types.js +1 -0
  44. package/dist/src/evaluation/targetImmutability/validateTargetImmutabilityConfig.js +130 -0
  45. package/dist/src/evaluation/upstreamArtifacts/artifactReadTypes.js +1 -0
  46. package/dist/src/evaluation/upstreamArtifacts/index.js +9 -0
  47. package/dist/src/evaluation/upstreamArtifacts/jsonTypes.js +1 -0
  48. package/dist/src/evaluation/upstreamArtifacts/myDevKitClassificationTypesV1.js +1 -0
  49. package/dist/src/evaluation/upstreamArtifacts/myDevKitContextArtifactsV1.js +1 -0
  50. package/dist/src/evaluation/upstreamArtifacts/myDevKitSemanticTypesV1.js +1 -0
  51. package/dist/src/evaluation/upstreamArtifacts/orchestratorContextReadinessResultV1.js +247 -0
  52. package/dist/src/evaluation/upstreamArtifacts/orchestratorWorkflowInstructionPacketV1.js +1 -0
  53. package/dist/src/evaluation/upstreamArtifacts/readImplementationContextPacketV1.js +9 -0
  54. package/dist/src/evaluation/upstreamArtifacts/readImplementationContextRetrievalReportV1.js +9 -0
  55. package/dist/src/evaluation/upstreamArtifacts/readJsonArtifact.js +53 -0
  56. package/dist/src/evaluation/upstreamArtifacts/readMyDevKitContextCapsuleV1.js +9 -0
  57. package/dist/src/evaluation/upstreamArtifacts/readMyDevKitRetrievalAuditRecordV1.js +9 -0
  58. package/dist/src/evaluation/upstreamArtifacts/readOrchestratorWorkflowInstructionPacketV1.js +9 -0
  59. package/dist/src/evaluation/upstreamArtifacts/readSupplementalContextTextFile.js +29 -0
  60. package/dist/src/evaluation/upstreamArtifacts/readTestContextPacketV1.js +9 -0
  61. package/dist/src/evaluation/upstreamArtifacts/readTestContextRetrievalReportV1.js +9 -0
  62. package/dist/src/evaluation/upstreamArtifacts/runtimeValidation.js +131 -0
  63. package/dist/src/evaluation/upstreamArtifacts/schemaVersion.js +32 -0
  64. package/dist/src/evaluation/upstreamArtifacts/supplementalContextTextParser.js +75 -0
  65. package/dist/src/evaluation/upstreamArtifacts/supplementalContextTypes.js +152 -0
  66. package/dist/src/evaluation/upstreamArtifacts/validateMyDevKitContextCapsuleV1.js +1208 -0
  67. package/dist/src/evaluation/upstreamArtifacts/validateMyDevKitRetrievalAuditRecordV1.js +112 -0
  68. package/dist/src/evaluation/upstreamArtifacts/validateOrchestratorWorkflowInstructionPacketV1.js +235 -0
  69. package/dist/src/evaluation/upstreamArtifacts/validateSupplementalContextDocumentV1.js +148 -0
  70. package/dist/src/experiments/plugins/contextStrategyComparison/executeV043StageContextStrategy.js +46 -0
  71. package/dist/src/experiments/plugins/contextStrategyComparison/index.js +9 -0
  72. package/dist/src/experiments/plugins/contextStrategyComparison/loadV043StrategyArtifacts.js +397 -0
  73. package/dist/src/experiments/plugins/contextStrategyComparison/plugin.js +39 -1
  74. package/dist/src/experiments/plugins/contextStrategyComparison/readV043FullWorkflowLibraryFixture.js +162 -0
  75. package/dist/src/experiments/plugins/contextStrategyComparison/resolveV043StrategyInputs.js +43 -0
  76. package/dist/src/experiments/plugins/contextStrategyComparison/resultMapping.js +3 -0
  77. package/dist/src/experiments/plugins/contextStrategyComparison/runV043StageContextStrategyWithAssurance.js +205 -0
  78. package/dist/src/experiments/plugins/contextStrategyComparison/v043FullWorkflowLibraryFixture.js +1 -0
  79. package/dist/src/experiments/plugins/contextStrategyComparison/v043RunAssuranceTypes.js +1 -0
  80. package/dist/src/experiments/plugins/contextStrategyComparison/v043StrategyExecutionTypes.js +1 -0
  81. package/dist/src/experiments/plugins/contextStrategyComparison/v043StrategyIds.js +13 -0
  82. package/dist/src/experiments/plugins/contextStrategyComparison/v043StrategyInputContracts.js +1 -0
  83. package/dist/src/experiments/plugins/contextStrategyComparison/validateV043RunAssuranceConfig.js +59 -0
  84. package/dist/src/experiments/plugins/contextStrategyComparison/validateV043StrategyInput.js +266 -0
  85. package/dist/src/report/experiments/buildContextStrategyComparisonV043Report.js +520 -0
  86. package/dist/src/report/experiments/buildPluginExperimentReport.js +21 -6
  87. package/dist/src/report/experiments/contextStrategyComparisonV043ReportModel.js +1 -0
  88. package/dist/src/report/experiments/index.js +4 -0
  89. package/dist/src/report/experiments/renderContextStrategyComparisonV043Html.js +296 -0
  90. package/dist/src/report/experiments/renderPluginExperimentReportHtml.js +3 -0
  91. package/dist/src/report/experiments/renderPluginExperimentReportText.js +292 -0
  92. package/dist/src/report/experiments/writePluginExperimentReports.js +3 -0
  93. package/dist/src/securityValidation/attackScenarios/scenarios/secretLeakageScenario.js +215 -9
  94. package/docs/METRICS.md +84 -10
  95. package/package.json +2 -2
  96. package/tests/fixtures/full-workflow-library/complete-v1.0.0.json +24 -0
  97. package/tests/fixtures/full-workflow-library/future-minor-v1.1.0-additive.json +25 -0
  98. package/tests/fixtures/stage-context-expectations/complete-v1.0.0.json +230 -0
  99. package/tests/fixtures/stage-context-expectations/future-minor-v1.1.0-additive.json +232 -0
  100. package/tests/fixtures/stage-context-expectations/invalid/malformed-json.txt +1 -0
  101. package/tests/fixtures/stage-context-expectations/invalid/non-object-root.json +1 -0
  102. package/tests/fixtures/stage-context-expectations/minimal-v1.0.0.json +18 -0
  103. package/tests/fixtures/upstream-artifacts/invalid/malformed-json.txt +1 -0
  104. package/tests/fixtures/upstream-artifacts/invalid/non-object-root.json +1 -0
  105. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/context-capsule/complete-v1.0.0.json +504 -0
  106. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/context-capsule/future-minor-v1.1.0-additive.json +955 -0
  107. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/retrieval-audit-record/complete-v1.0.0.json +190 -0
  108. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/retrieval-audit-record/future-minor-v1.1.0-additive.json +327 -0
  109. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/PROVENANCE.txt +13 -0
  110. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/context-capsule.json +7874 -0
  111. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/retrieval-audit-record.json +1076 -0
  112. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.1/workflow-instruction-packet/complete-v1.0.0.json +160 -0
  113. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.1/workflow-instruction-packet/future-minor-v1.1.0-additive.json +186 -0
@@ -0,0 +1,230 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "caseId": "CASE-STAGE-CONTEXT-002",
4
+ "title": "Complete stage-context expectation",
5
+ "description": "Complete valid expectation fixture covering every expectation category.",
6
+ "expectedEvidence": [
7
+ {
8
+ "expectationId": "REQ-FILE-001",
9
+ "inclusion": "required",
10
+ "sourceArtifact": "context-capsule",
11
+ "category": "file",
12
+ "match": { "path": "src/example.ts" },
13
+ "notes": []
14
+ },
15
+ {
16
+ "expectationId": "REQ-SYMBOL-001",
17
+ "inclusion": "required",
18
+ "sourceArtifact": "context-capsule",
19
+ "category": "symbol",
20
+ "match": { "symbolId": "symbol:src/example.ts#Example" },
21
+ "notes": []
22
+ },
23
+ {
24
+ "expectationId": "REQ-SOURCE-RANGE-001",
25
+ "inclusion": "required",
26
+ "sourceArtifact": "context-capsule",
27
+ "category": "source-range",
28
+ "match": { "filePath": "src/example.ts", "startLine": 1, "endLine": 10 },
29
+ "notes": []
30
+ },
31
+ {
32
+ "expectationId": "ALLOW-CONTRACT-001",
33
+ "inclusion": "allowed",
34
+ "sourceArtifact": "context-capsule",
35
+ "category": "contract",
36
+ "match": { "symbolId": "contract:src/example.ts#ExampleContract" },
37
+ "notes": []
38
+ },
39
+ {
40
+ "expectationId": "ALLOW-VALIDATOR-001",
41
+ "inclusion": "allowed",
42
+ "sourceArtifact": "context-capsule",
43
+ "category": "validator",
44
+ "match": { "symbolId": "validator:src/example.ts#validateExample" },
45
+ "notes": []
46
+ },
47
+ {
48
+ "expectationId": "ALLOW-CONSTANT-001",
49
+ "inclusion": "allowed",
50
+ "sourceArtifact": "context-capsule",
51
+ "category": "constant",
52
+ "match": { "symbolId": "constant:src/example.ts#EXAMPLE_CONST" },
53
+ "notes": []
54
+ },
55
+ {
56
+ "expectationId": "FORBID-ERROR-001",
57
+ "inclusion": "forbidden",
58
+ "sourceArtifact": "context-capsule",
59
+ "category": "error",
60
+ "match": { "symbolId": "error:src/example.ts#ExampleError" },
61
+ "notes": []
62
+ },
63
+ {
64
+ "expectationId": "ALLOW-SCHEMA-001",
65
+ "inclusion": "allowed",
66
+ "sourceArtifact": "context-capsule",
67
+ "category": "schema-or-serializer",
68
+ "match": { "symbolId": "schema:src/example.ts#ExampleSchema" },
69
+ "notes": []
70
+ },
71
+ {
72
+ "expectationId": "REQ-RESPONSIBILITY-001",
73
+ "inclusion": "required",
74
+ "sourceArtifact": "context-capsule",
75
+ "category": "production-responsibility",
76
+ "match": { "responsibilityId": "fixture.responsibility.001" },
77
+ "notes": []
78
+ },
79
+ {
80
+ "expectationId": "ALLOW-RESPONSIBILITY-001",
81
+ "inclusion": "allowed",
82
+ "sourceArtifact": "retrieval-audit-record",
83
+ "category": "production-responsibility",
84
+ "match": { "responsibilityId": "fixture.responsibility.002" },
85
+ "notes": []
86
+ },
87
+ {
88
+ "expectationId": "REQ-TEST-FILE-001",
89
+ "inclusion": "required",
90
+ "sourceArtifact": "context-capsule",
91
+ "category": "test-file",
92
+ "match": { "path": "tests/example.spec.ts" },
93
+ "notes": []
94
+ },
95
+ {
96
+ "expectationId": "ALLOW-FIXTURE-001",
97
+ "inclusion": "allowed",
98
+ "sourceArtifact": "context-capsule",
99
+ "category": "fixture",
100
+ "match": { "path": "tests/fixtures/example.json" },
101
+ "notes": []
102
+ },
103
+ {
104
+ "expectationId": "ALLOW-FACTORY-001",
105
+ "inclusion": "allowed",
106
+ "sourceArtifact": "context-capsule",
107
+ "category": "factory",
108
+ "match": { "path": "tests/factories/exampleFactory.ts" },
109
+ "notes": []
110
+ },
111
+ {
112
+ "expectationId": "FORBID-MOCK-001",
113
+ "inclusion": "forbidden",
114
+ "sourceArtifact": "context-capsule",
115
+ "category": "mock",
116
+ "match": { "path": "tests/mocks/exampleMock.ts" },
117
+ "notes": []
118
+ },
119
+ {
120
+ "expectationId": "ALLOW-SETUP-FILE-001",
121
+ "inclusion": "allowed",
122
+ "sourceArtifact": "context-capsule",
123
+ "category": "setup-file",
124
+ "match": { "path": "tests/setup.ts" },
125
+ "notes": []
126
+ },
127
+ {
128
+ "expectationId": "REQ-TEST-CONFIGURATION-001",
129
+ "inclusion": "required",
130
+ "sourceArtifact": "context-capsule",
131
+ "category": "test-configuration",
132
+ "match": { "path": "vitest.config.ts" },
133
+ "notes": []
134
+ },
135
+ {
136
+ "expectationId": "REQ-PACKAGE-SCRIPT-001",
137
+ "inclusion": "required",
138
+ "sourceArtifact": "context-capsule",
139
+ "category": "package-script",
140
+ "match": { "name": "test" },
141
+ "notes": []
142
+ },
143
+ {
144
+ "expectationId": "ALLOW-TEST-COMMAND-001",
145
+ "inclusion": "allowed",
146
+ "sourceArtifact": "context-capsule",
147
+ "category": "test-command",
148
+ "match": { "commandText": "vitest run tests/example.spec.ts" },
149
+ "notes": []
150
+ },
151
+ {
152
+ "expectationId": "REQ-WORKFLOW-001",
153
+ "inclusion": "required",
154
+ "sourceArtifact": "workflow-instruction-packet",
155
+ "category": "workflow",
156
+ "match": { "id": "workflow.feature" },
157
+ "notes": []
158
+ },
159
+ {
160
+ "expectationId": "REQ-STAGE-001",
161
+ "inclusion": "required",
162
+ "sourceArtifact": "workflow-instruction-packet",
163
+ "category": "stage",
164
+ "match": { "id": "stage.feature.implementation" },
165
+ "notes": []
166
+ },
167
+ {
168
+ "expectationId": "ALLOW-COMMAND-001",
169
+ "inclusion": "allowed",
170
+ "sourceArtifact": "workflow-instruction-packet",
171
+ "category": "command",
172
+ "match": { "id": "command.repo.lint" },
173
+ "notes": []
174
+ },
175
+ {
176
+ "expectationId": "ALLOW-RULE-001",
177
+ "inclusion": "allowed",
178
+ "sourceArtifact": "full-workflow-library",
179
+ "category": "rule",
180
+ "match": { "id": "rule.quality.prefer-tests" },
181
+ "notes": []
182
+ },
183
+ {
184
+ "expectationId": "FORBID-REPORT-CONTRACT-001",
185
+ "inclusion": "forbidden",
186
+ "sourceArtifact": "workflow-instruction-packet",
187
+ "category": "report-contract",
188
+ "match": { "id": "report.other-summary" },
189
+ "notes": []
190
+ },
191
+ {
192
+ "expectationId": "REQ-PROVENANCE-001",
193
+ "inclusion": "required",
194
+ "sourceArtifact": "workflow-instruction-packet",
195
+ "category": "provenance",
196
+ "match": { "evidenceId": "symbol:src/example.ts#Example" },
197
+ "notes": []
198
+ }
199
+ ],
200
+ "expectedStates": {
201
+ "contextCapsule": {
202
+ "contextAdequacyStatus": "context sufficient with listed assumptions",
203
+ "roleAdequacyStatus": "context sufficient with listed assumptions",
204
+ "freshnessState": "fresh",
205
+ "truncated": false,
206
+ "fullFileFallbackUsed": 0,
207
+ "unresolvedItemIds": ["fixture.unresolved.001"],
208
+ "warningCount": 1
209
+ },
210
+ "retrievalAuditRecord": {
211
+ "contextAdequacyStatus": "context sufficient with listed assumptions",
212
+ "roleAdequacyStatus": "context sufficient with listed assumptions",
213
+ "freshnessState": "fresh",
214
+ "truncated": false,
215
+ "fullFileFallbackUsed": 1,
216
+ "unresolvedItemIds": [],
217
+ "warningCount": 1
218
+ },
219
+ "workflowInstructionPacket": {
220
+ "adequacyStatus": "adequate",
221
+ "truncated": false,
222
+ "unresolvedReferences": ["command.repo.unresolved-example"],
223
+ "warningCount": 0
224
+ },
225
+ "targetImmutability": {
226
+ "newMutationCount": 0
227
+ }
228
+ },
229
+ "warnings": []
230
+ }
@@ -0,0 +1,232 @@
1
+ {
2
+ "schemaVersion": "1.1.0",
3
+ "caseId": "CASE-STAGE-CONTEXT-002",
4
+ "title": "Complete stage-context expectation",
5
+ "description": "Complete valid expectation fixture covering every expectation category.",
6
+ "futureMinorRootField": "preserved",
7
+ "expectedEvidence": [
8
+ {
9
+ "expectationId": "REQ-FILE-001",
10
+ "inclusion": "required",
11
+ "sourceArtifact": "context-capsule",
12
+ "category": "file",
13
+ "match": { "path": "src/example.ts" },
14
+ "notes": [],
15
+ "futureMinorNestedField": "preserved"
16
+ },
17
+ {
18
+ "expectationId": "REQ-SYMBOL-001",
19
+ "inclusion": "required",
20
+ "sourceArtifact": "context-capsule",
21
+ "category": "symbol",
22
+ "match": { "symbolId": "symbol:src/example.ts#Example" },
23
+ "notes": []
24
+ },
25
+ {
26
+ "expectationId": "REQ-SOURCE-RANGE-001",
27
+ "inclusion": "required",
28
+ "sourceArtifact": "context-capsule",
29
+ "category": "source-range",
30
+ "match": { "filePath": "src/example.ts", "startLine": 1, "endLine": 10 },
31
+ "notes": []
32
+ },
33
+ {
34
+ "expectationId": "ALLOW-CONTRACT-001",
35
+ "inclusion": "allowed",
36
+ "sourceArtifact": "context-capsule",
37
+ "category": "contract",
38
+ "match": { "symbolId": "contract:src/example.ts#ExampleContract" },
39
+ "notes": []
40
+ },
41
+ {
42
+ "expectationId": "ALLOW-VALIDATOR-001",
43
+ "inclusion": "allowed",
44
+ "sourceArtifact": "context-capsule",
45
+ "category": "validator",
46
+ "match": { "symbolId": "validator:src/example.ts#validateExample" },
47
+ "notes": []
48
+ },
49
+ {
50
+ "expectationId": "ALLOW-CONSTANT-001",
51
+ "inclusion": "allowed",
52
+ "sourceArtifact": "context-capsule",
53
+ "category": "constant",
54
+ "match": { "symbolId": "constant:src/example.ts#EXAMPLE_CONST" },
55
+ "notes": []
56
+ },
57
+ {
58
+ "expectationId": "FORBID-ERROR-001",
59
+ "inclusion": "forbidden",
60
+ "sourceArtifact": "context-capsule",
61
+ "category": "error",
62
+ "match": { "symbolId": "error:src/example.ts#ExampleError" },
63
+ "notes": []
64
+ },
65
+ {
66
+ "expectationId": "ALLOW-SCHEMA-001",
67
+ "inclusion": "allowed",
68
+ "sourceArtifact": "context-capsule",
69
+ "category": "schema-or-serializer",
70
+ "match": { "symbolId": "schema:src/example.ts#ExampleSchema" },
71
+ "notes": []
72
+ },
73
+ {
74
+ "expectationId": "REQ-RESPONSIBILITY-001",
75
+ "inclusion": "required",
76
+ "sourceArtifact": "context-capsule",
77
+ "category": "production-responsibility",
78
+ "match": { "responsibilityId": "fixture.responsibility.001" },
79
+ "notes": []
80
+ },
81
+ {
82
+ "expectationId": "ALLOW-RESPONSIBILITY-001",
83
+ "inclusion": "allowed",
84
+ "sourceArtifact": "retrieval-audit-record",
85
+ "category": "production-responsibility",
86
+ "match": { "responsibilityId": "fixture.responsibility.002" },
87
+ "notes": []
88
+ },
89
+ {
90
+ "expectationId": "REQ-TEST-FILE-001",
91
+ "inclusion": "required",
92
+ "sourceArtifact": "context-capsule",
93
+ "category": "test-file",
94
+ "match": { "path": "tests/example.spec.ts" },
95
+ "notes": []
96
+ },
97
+ {
98
+ "expectationId": "ALLOW-FIXTURE-001",
99
+ "inclusion": "allowed",
100
+ "sourceArtifact": "context-capsule",
101
+ "category": "fixture",
102
+ "match": { "path": "tests/fixtures/example.json" },
103
+ "notes": []
104
+ },
105
+ {
106
+ "expectationId": "ALLOW-FACTORY-001",
107
+ "inclusion": "allowed",
108
+ "sourceArtifact": "context-capsule",
109
+ "category": "factory",
110
+ "match": { "path": "tests/factories/exampleFactory.ts" },
111
+ "notes": []
112
+ },
113
+ {
114
+ "expectationId": "FORBID-MOCK-001",
115
+ "inclusion": "forbidden",
116
+ "sourceArtifact": "context-capsule",
117
+ "category": "mock",
118
+ "match": { "path": "tests/mocks/exampleMock.ts" },
119
+ "notes": []
120
+ },
121
+ {
122
+ "expectationId": "ALLOW-SETUP-FILE-001",
123
+ "inclusion": "allowed",
124
+ "sourceArtifact": "context-capsule",
125
+ "category": "setup-file",
126
+ "match": { "path": "tests/setup.ts" },
127
+ "notes": []
128
+ },
129
+ {
130
+ "expectationId": "REQ-TEST-CONFIGURATION-001",
131
+ "inclusion": "required",
132
+ "sourceArtifact": "context-capsule",
133
+ "category": "test-configuration",
134
+ "match": { "path": "vitest.config.ts" },
135
+ "notes": []
136
+ },
137
+ {
138
+ "expectationId": "REQ-PACKAGE-SCRIPT-001",
139
+ "inclusion": "required",
140
+ "sourceArtifact": "context-capsule",
141
+ "category": "package-script",
142
+ "match": { "name": "test" },
143
+ "notes": []
144
+ },
145
+ {
146
+ "expectationId": "ALLOW-TEST-COMMAND-001",
147
+ "inclusion": "allowed",
148
+ "sourceArtifact": "context-capsule",
149
+ "category": "test-command",
150
+ "match": { "commandText": "vitest run tests/example.spec.ts" },
151
+ "notes": []
152
+ },
153
+ {
154
+ "expectationId": "REQ-WORKFLOW-001",
155
+ "inclusion": "required",
156
+ "sourceArtifact": "workflow-instruction-packet",
157
+ "category": "workflow",
158
+ "match": { "id": "workflow.feature" },
159
+ "notes": []
160
+ },
161
+ {
162
+ "expectationId": "REQ-STAGE-001",
163
+ "inclusion": "required",
164
+ "sourceArtifact": "workflow-instruction-packet",
165
+ "category": "stage",
166
+ "match": { "id": "stage.feature.implementation" },
167
+ "notes": []
168
+ },
169
+ {
170
+ "expectationId": "ALLOW-COMMAND-001",
171
+ "inclusion": "allowed",
172
+ "sourceArtifact": "workflow-instruction-packet",
173
+ "category": "command",
174
+ "match": { "id": "command.repo.lint" },
175
+ "notes": []
176
+ },
177
+ {
178
+ "expectationId": "ALLOW-RULE-001",
179
+ "inclusion": "allowed",
180
+ "sourceArtifact": "full-workflow-library",
181
+ "category": "rule",
182
+ "match": { "id": "rule.quality.prefer-tests" },
183
+ "notes": []
184
+ },
185
+ {
186
+ "expectationId": "FORBID-REPORT-CONTRACT-001",
187
+ "inclusion": "forbidden",
188
+ "sourceArtifact": "workflow-instruction-packet",
189
+ "category": "report-contract",
190
+ "match": { "id": "report.other-summary" },
191
+ "notes": []
192
+ },
193
+ {
194
+ "expectationId": "REQ-PROVENANCE-001",
195
+ "inclusion": "required",
196
+ "sourceArtifact": "workflow-instruction-packet",
197
+ "category": "provenance",
198
+ "match": { "evidenceId": "symbol:src/example.ts#Example" },
199
+ "notes": []
200
+ }
201
+ ],
202
+ "expectedStates": {
203
+ "contextCapsule": {
204
+ "contextAdequacyStatus": "context sufficient with listed assumptions",
205
+ "roleAdequacyStatus": "context sufficient with listed assumptions",
206
+ "freshnessState": "fresh",
207
+ "truncated": false,
208
+ "fullFileFallbackUsed": 0,
209
+ "unresolvedItemIds": ["fixture.unresolved.001"],
210
+ "warningCount": 1
211
+ },
212
+ "retrievalAuditRecord": {
213
+ "contextAdequacyStatus": "context sufficient with listed assumptions",
214
+ "roleAdequacyStatus": "context sufficient with listed assumptions",
215
+ "freshnessState": "fresh",
216
+ "truncated": false,
217
+ "fullFileFallbackUsed": 1,
218
+ "unresolvedItemIds": [],
219
+ "warningCount": 1
220
+ },
221
+ "workflowInstructionPacket": {
222
+ "adequacyStatus": "adequate",
223
+ "truncated": false,
224
+ "unresolvedReferences": ["command.repo.unresolved-example"],
225
+ "warningCount": 0
226
+ },
227
+ "targetImmutability": {
228
+ "newMutationCount": 0
229
+ }
230
+ },
231
+ "warnings": []
232
+ }
@@ -0,0 +1 @@
1
+ { this is not valid JSON
@@ -0,0 +1,18 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "caseId": "CASE-STAGE-CONTEXT-001",
4
+ "title": "Minimal stage-context expectation",
5
+ "description": "Minimal valid expectation fixture for contract validation.",
6
+ "expectedEvidence": [
7
+ {
8
+ "expectationId": "REQ-FILE-001",
9
+ "inclusion": "required",
10
+ "sourceArtifact": "context-capsule",
11
+ "category": "file",
12
+ "match": { "path": "src/example.ts" },
13
+ "notes": []
14
+ }
15
+ ],
16
+ "expectedStates": {},
17
+ "warnings": []
18
+ }
@@ -0,0 +1 @@
1
+ { "schemaVersion": "1.0.0", "generatedAt": "2026-07-21T00:00:00.000Z", "tool": { "name": "my-dev-kit", "version": "1.10.2" }
@@ -0,0 +1 @@
1
+ ["this artifact is an array, not an object"]