codex-workflow-v2 2.0.0-beta.12.14 → 2.0.0-beta.12.16
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 +20 -13
- package/dist/src/alpha6/check-support-anchor.d.ts +24 -0
- package/dist/src/alpha6/check-support-anchor.js +102 -0
- package/dist/src/alpha6/check-support-anchor.js.map +1 -0
- package/dist/src/alpha6/downstream-proof.js +4 -2
- package/dist/src/alpha6/downstream-proof.js.map +1 -1
- package/dist/src/alpha6/mechanical-feasibility.js +14 -0
- package/dist/src/alpha6/mechanical-feasibility.js.map +1 -1
- package/dist/src/alpha6/plan-integrity.js +55 -8
- package/dist/src/alpha6/plan-integrity.js.map +1 -1
- package/dist/src/alpha6/remediation.d.ts +1 -0
- package/dist/src/alpha6/remediation.js +86 -5
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +37 -2
- package/dist/src/dependency-provenance.d.ts +5 -0
- package/dist/src/dependency-provenance.js +51 -26
- package/dist/src/dependency-provenance.js.map +1 -1
- package/dist/src/reviewer.d.ts +9 -4
- package/dist/src/reviewer.js +10 -8
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/state/corrective-replan-public.js +5 -4
- package/dist/src/state/corrective-replan-public.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.js +75 -40
- package/dist/src/workflow.js.map +1 -1
- package/docs/autonomy-guardrails.md +17 -14
- package/docs/development-flow.md +7 -7
- package/docs/pdf/codex-workflow-v2-architecture-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-chat-only-guide-ru.pdf +0 -0
- package/docs/pdf/codex-workflow-v2-technical-reference-ru.pdf +0 -0
- package/docs/pdf/sources/codex-workflow-v2-architecture-ru.md +22 -8
- package/docs/pdf/sources/codex-workflow-v2-chat-only-guide-ru.md +19 -12
- package/docs/pdf/sources/codex-workflow-v2-technical-reference-ru.md +32 -12
- package/docs/release.md +13 -8
- package/docs/updating-existing-project.md +18 -0
- package/docs/validation-report.md +113 -98
- package/package.json +2 -1
- package/schemas/authorization-event.schema.json +2 -2
- package/schemas/corrective-decision-event.schema.json +67 -4
|
@@ -1,112 +1,127 @@
|
|
|
1
|
-
# V2 beta.12.
|
|
1
|
+
# V2 beta.12.16 Validation Report
|
|
2
2
|
|
|
3
|
-
Release candidate `2.0.0-beta.12.
|
|
3
|
+
Release candidate `2.0.0-beta.12.16` was validated on 2026-08-31 (Europe/Moscow) with
|
|
4
4
|
Node.js 24.17.0.
|
|
5
5
|
|
|
6
6
|
## Automated release evidence
|
|
7
7
|
|
|
8
|
-
- A clean `npm ci` completed from the exact lockfile and reported zero vulnerabilities.
|
|
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
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`
|
|
46
|
-
`
|
|
47
|
-
`
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
8
|
+
- A clean `npm ci` completed from the exact lockfile and reported zero vulnerabilities.
|
|
9
|
+
- `npm run validate` passed typecheck and `352/352` sequential tests with no failures, skips,
|
|
10
|
+
cancellations or todos in 2,166,261.797 ms.
|
|
11
|
+
- The release-specific `npm run test:signal-t10-check-support-e2e` gate passed `6/6`. Its
|
|
12
|
+
Signal-shaped case reproduces the STEP-002 migration/check-support conflict, records one bounded
|
|
13
|
+
machine-derived scope extension, retries the same Step, passes checks and produces the Core-owned
|
|
14
|
+
Step commit without a Human replan.
|
|
15
|
+
- Existing Signal compatibility gates remained green: `npm run test:signal-t04-recovery` passed
|
|
16
|
+
`11/11`, `npm run test:signal-t03-replan-e2e` passed `1/1`, and `npm run
|
|
17
|
+
test:signal-remediation-e2e` passed `2/2`.
|
|
18
|
+
- Package dry-run passed with 284 files (approximately 1.1 MB packed and 4.4 MB unpacked). The
|
|
19
|
+
tarball contains the compiled `check-support-anchor` analyzer and its declaration/source map.
|
|
20
|
+
- Disposable downstream installation returned `ok=true` for the exact beta.12.16 tarball. The first
|
|
21
|
+
sandboxed run failed only because registry DNS was unavailable; the exact network-enabled retry
|
|
22
|
+
passed.
|
|
23
|
+
- `npm run plugin:check` passed. `npm run docs:pdf:check` reported `stale=[]` and the exact
|
|
24
|
+
beta.12.16 package binding.
|
|
25
|
+
|
|
26
|
+
## Live Signal reproduction before installation
|
|
27
|
+
|
|
28
|
+
The live repository was observed read-only at:
|
|
29
|
+
|
|
30
|
+
- Task branch `codex/task-01m1b79c66-current-formalization-commit-and-provide`;
|
|
31
|
+
- HEAD `f290d0875387283c368bedd03964fb423619db7b`;
|
|
32
|
+
- repository-local package `codex-workflow-v2@2.0.0-beta.12.15`, protocol/schema `2/2`;
|
|
33
|
+
- Task `TASK-01M1B79C660YMNSRRZ236NTR1T`, with the last recorded STEP-002 failure at Task revision
|
|
34
|
+
21.
|
|
35
|
+
|
|
36
|
+
HEAD is the Core-owned STEP-001 commit. Its strict external review passed with sealed packet hash
|
|
37
|
+
`c48658ce617bca58eddba4e11f43501eb87967d076e43bd4656f512ba256358f` and seal
|
|
38
|
+
`31cfd03a8bd9f9ba21f067703db90da97102643901725718f3e88199e486d806`.
|
|
39
|
+
|
|
40
|
+
The checkout still contains exactly the eight STEP-002 product paths present at the recorded
|
|
41
|
+
`checks-failed` boundary:
|
|
42
|
+
|
|
43
|
+
- `libs/processing-decision/ports/src/processing-persistence.ts`;
|
|
44
|
+
- `libs/processing-decision/ports/src/index.ts`;
|
|
45
|
+
- `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.ts`;
|
|
46
|
+
- `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.spec.ts`;
|
|
47
|
+
- `libs/processing-decision/adapters/postgres/src/processing-evidence-transaction.integration.spec.ts`;
|
|
48
|
+
- `libs/processing-decision/adapters/postgres/migrations/0003_current_formalization_commits.sql`;
|
|
49
|
+
- `libs/processing-decision/adapters/postgres/migrations/manifest.json`;
|
|
50
|
+
- `libs/processing-decision/adapters/postgres/bootstrap/0000_roles_and_schema.sql`.
|
|
51
|
+
|
|
52
|
+
Focused evidence and full affected validation passed for those product changes. The exact migration
|
|
53
|
+
check failed because `tools/postgres/check-processing-migrations.ts` directly imports
|
|
54
|
+
`tools/postgres/processing-migration-files.ts`, while the latter did not catalog the new migration
|
|
55
|
+
and was outside STEP-002 `allowedWrites`. Repeating the approved check could not change that result.
|
|
56
|
+
|
|
57
|
+
The beta.12.16 analyzer was then run read-only against this exact repository state. It derived one
|
|
58
|
+
candidate and no broader scope:
|
|
59
|
+
|
|
60
|
+
- runner: `tools/postgres/check-processing-migrations.ts`;
|
|
61
|
+
- support authority: `tools/postgres/processing-migration-files.ts`;
|
|
62
|
+
- expected output:
|
|
63
|
+
`libs/processing-decision/adapters/postgres/migrations/0003_current_formalization_commits.sql`;
|
|
64
|
+
- reason: `CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES`.
|
|
65
|
+
|
|
66
|
+
Fresh beta.12.15 `status -> next` currently stops earlier at an expired writer lease and advertises
|
|
67
|
+
only `locks repair`. No Signal lease, Workflow state, Git history, product file or chat was changed
|
|
68
|
+
by this release-candidate reproduction. Live beta.12.16 recovery is intentionally not claimed until
|
|
69
|
+
publication, installation, stale-lease repair and fresh repository-local readback.
|
|
52
70
|
|
|
53
71
|
## Root cause corrected
|
|
54
72
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
The
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
## Implemented
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- Source/target difference still requires an exact current Plan-integrity recovery matching HEAD,
|
|
86
|
-
package version, system commit, Plan, failed Step, full remediation history, dirty paths and dirty
|
|
87
|
-
worktree hash.
|
|
88
|
-
- Consecutive package-only updates can still carry compatibility only from one exact registered
|
|
89
|
-
recovery at `HEAD^`, with unchanged product bytes and no C1 posture.
|
|
90
|
-
- Completed corrective-yield journals still require their owned event bytes to be an exact prefix of
|
|
91
|
-
a valid current append-only handoff history.
|
|
73
|
+
Mechanical feasibility treated the migration, manifest and bootstrap files as the Step's complete
|
|
74
|
+
output boundary, but did not model the repository-local module imported by the approved migration
|
|
75
|
+
check as execution authority. That support module owns the exact migration list and SHA-256 catalog;
|
|
76
|
+
therefore the new migration cannot pass its check until the support module changes as well.
|
|
77
|
+
|
|
78
|
+
This is not a semantic Plan error and not evidence that the product implementation must be
|
|
79
|
+
discarded. The missing path is mechanically derivable from executable code and exact file anchors.
|
|
80
|
+
The old runtime nevertheless routed the first confirmed failure back to ordinary `task run`, where
|
|
81
|
+
the Worker remained forbidden from editing the only file that could make the approved check pass.
|
|
82
|
+
|
|
83
|
+
## Implemented contract
|
|
84
|
+
|
|
85
|
+
- New analyzer `wf2.check-support-anchor@1` recognizes only a root `npm run` check, its
|
|
86
|
+
repository-local Node/tsx runner, one direct relative static import, and a support module whose
|
|
87
|
+
migration filename family plus SHA/catalog anchors bind an exact Plan-declared migration output.
|
|
88
|
+
- For a future Plan, execution authorization fails closed when the producing Step does not own that
|
|
89
|
+
exact support path. This prevents the invalid scope from reaching execution.
|
|
90
|
+
- For an already running guarded Step, the first exact `checks-failed` event may advertise `task
|
|
91
|
+
plan-integrity-recover`. Recovery revalidates Plan, Step, HEAD, complete dirty set, runner/support
|
|
92
|
+
hashes, direct import, missing declared output and existing evidence under the Workflow lock.
|
|
93
|
+
- Recovery appends one `continue-fix` decision with the exact `scopeExtensions` path. It does not
|
|
94
|
+
change the Plan hash, product bytes, Git history or review result and does not synthesize a second
|
|
95
|
+
failed attempt.
|
|
96
|
+
- Worker envelope, retry boundary, Core commit, downstream proof, corrective-replan worktree guard
|
|
97
|
+
and strict review packet all use the same effective Step scope. The original allowedWrites remain
|
|
98
|
+
canonical and the append-only decision is visible as derived authority.
|
|
99
|
+
- The existing missing-script and selector-required cases retain `replan-required` and their
|
|
100
|
+
Human-confirmed corrective-replan route. Indirect imports, dynamic shell, unsupported syntax,
|
|
101
|
+
forbidden paths, unrelated dirty files, missing SHA/catalog anchors and multiple ambiguous
|
|
102
|
+
candidates remain fail-closed.
|
|
92
103
|
|
|
93
104
|
## PDF release documentation evidence
|
|
94
105
|
|
|
95
|
-
- All three tracked Russian PDFs were regenerated from beta.12.
|
|
96
|
-
- Architecture is 9 pages, delegated chat-only guide is 10 pages, and technical reference is
|
|
97
|
-
pages. All
|
|
98
|
-
|
|
106
|
+
- All three tracked Russian PDFs were regenerated from beta.12.16 sources.
|
|
107
|
+
- Architecture is 9 pages, delegated chat-only guide is 10 pages, and technical reference is 15
|
|
108
|
+
pages. All 34 rendered pages were visually inspected; no clipping, overlap or unreadable content
|
|
109
|
+
was observed.
|
|
99
110
|
|
|
100
111
|
## Boundaries and non-claims
|
|
101
112
|
|
|
102
|
-
- The
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
- The patch is not autonomous semantic replanning and does not permit a Worker to add an arbitrary
|
|
114
|
+
file after a failed check.
|
|
115
|
+
- Scope augmentation is limited to one exact mechanically proved support authority for the current
|
|
116
|
+
migration-file family. A broader or ambiguous dependency remains an ordinary Plan conflict.
|
|
117
|
+
- The patch does not weaken dirty-worktree, forbidden-scope, Plan identity, C1 authority, checks,
|
|
118
|
+
Core-owned commit or sealed strict-review gates.
|
|
119
|
+
- This report does not claim commit/tag/push, npm publication, live beta.12.16 installation, live
|
|
120
|
+
STEP-002 recovery, STEP-002 commit/review, Task merge or Milestone completion before those
|
|
121
|
+
operations receive their own readback.
|
|
122
|
+
|
|
123
|
+
Confidence is high for the bounded analyzer, preventive authorization and runtime recovery because
|
|
124
|
+
the full 352-test gate, release-specific Signal E2E, legacy Signal gates and read-only live candidate
|
|
125
|
+
agree. End-to-end confidence for the active Signal Task remains conditional on publication, exact
|
|
126
|
+
repository-local installation, advertised stale-lease repair, fresh `status -> next`, Core recovery,
|
|
127
|
+
the real approved checks and a new sealed external review packet.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-workflow-v2",
|
|
3
|
-
"version": "2.0.0-beta.12.
|
|
3
|
+
"version": "2.0.0-beta.12.16",
|
|
4
4
|
"description": "Requirements-first Codex development workflow with local state and explicit Git ownership.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"test:signal-t04-recovery": "node scripts/with-validation-lock.mjs test-signal-t04",
|
|
50
50
|
"test:signal-t03-replan-e2e": "node scripts/with-validation-lock.mjs test-signal-t03-replan",
|
|
51
51
|
"test:signal-remediation-e2e": "node scripts/with-validation-lock.mjs test-signal-remediation-topology",
|
|
52
|
+
"test:signal-t10-check-support-e2e": "node scripts/with-validation-lock.mjs test-signal-t10-check-support",
|
|
52
53
|
"validate": "npm run typecheck && npm test",
|
|
53
54
|
"pack:check": "npm run build && npm pack --dry-run",
|
|
54
55
|
"smoke:downstream": "npm run build && node scripts/downstream-smoke.mjs",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"required": ["analyzerId", "analyzerVersion"],
|
|
99
99
|
"properties": {
|
|
100
100
|
"analyzerId": {
|
|
101
|
-
"enum": ["wf2.root-npm-script", "wf2.exact-output-path", "wf2.exact-predecessor-path"]
|
|
101
|
+
"enum": ["wf2.root-npm-script", "wf2.root-npm-script-arguments", "wf2.check-support-anchor", "wf2.exact-output-path", "wf2.exact-predecessor-path"]
|
|
102
102
|
},
|
|
103
103
|
"analyzerVersion": { "const": 1 }
|
|
104
104
|
}
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
],
|
|
112
112
|
"properties": {
|
|
113
113
|
"analyzerId": {
|
|
114
|
-
"enum": ["wf2.root-npm-script", "wf2.exact-output-path", "wf2.exact-predecessor-path"]
|
|
114
|
+
"enum": ["wf2.root-npm-script", "wf2.root-npm-script-arguments", "wf2.check-support-anchor", "wf2.exact-output-path", "wf2.exact-predecessor-path"]
|
|
115
115
|
},
|
|
116
116
|
"analyzerVersion": { "const": 1 },
|
|
117
117
|
"result": { "enum": ["pass", "blocked", "unverified"] },
|
|
@@ -49,17 +49,32 @@
|
|
|
49
49
|
"if": { "properties": { "triggeringAttemptCount": { "const": 2 } }, "required": ["triggeringAttemptCount"] },
|
|
50
50
|
"then": {
|
|
51
51
|
"required": ["recoveryBasis", "planIntegrityEvidence"],
|
|
52
|
-
"properties": { "decision": { "
|
|
52
|
+
"properties": { "decision": { "enum": ["continue-fix", "replan-required"] } }
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"if": { "required": ["recoveryBasis"] },
|
|
57
57
|
"then": {
|
|
58
|
-
"required": ["planIntegrityEvidence"]
|
|
59
|
-
"properties": { "decision": { "const": "replan-required" } }
|
|
58
|
+
"required": ["planIntegrityEvidence"]
|
|
60
59
|
},
|
|
61
60
|
"else": { "not": { "required": ["planIntegrityEvidence"] } }
|
|
62
61
|
},
|
|
62
|
+
{
|
|
63
|
+
"if": {
|
|
64
|
+
"properties": {
|
|
65
|
+
"planIntegrityEvidence": {
|
|
66
|
+
"properties": { "kind": { "const": "check-support-anchor-outside-allowed-writes" } },
|
|
67
|
+
"required": ["kind"]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"required": ["planIntegrityEvidence"]
|
|
71
|
+
},
|
|
72
|
+
"then": { "properties": { "decision": { "const": "continue-fix" } } },
|
|
73
|
+
"else": {
|
|
74
|
+
"if": { "required": ["recoveryBasis"] },
|
|
75
|
+
"then": { "properties": { "decision": { "const": "replan-required" } } }
|
|
76
|
+
}
|
|
77
|
+
},
|
|
63
78
|
{
|
|
64
79
|
"anyOf": [
|
|
65
80
|
{ "properties": { "coveredFindingIds": { "minItems": 1 } } },
|
|
@@ -81,7 +96,8 @@
|
|
|
81
96
|
"planIntegrityEvidence": {
|
|
82
97
|
"oneOf": [
|
|
83
98
|
{ "$ref": "#/$defs/planIntegrityEvidenceV1" },
|
|
84
|
-
{ "$ref": "#/$defs/planIntegrityEvidenceV2" }
|
|
99
|
+
{ "$ref": "#/$defs/planIntegrityEvidenceV2" },
|
|
100
|
+
{ "$ref": "#/$defs/planIntegrityEvidenceV3" }
|
|
85
101
|
]
|
|
86
102
|
},
|
|
87
103
|
"planIntegrityEvidenceV1": {
|
|
@@ -142,6 +158,53 @@
|
|
|
142
158
|
"changedFiles": { "$ref": "#/$defs/stringList" },
|
|
143
159
|
"conflictHash": { "$ref": "#/$defs/hash64" }
|
|
144
160
|
}
|
|
161
|
+
},
|
|
162
|
+
"planIntegrityEvidenceV3": {
|
|
163
|
+
"type": "object", "additionalProperties": false,
|
|
164
|
+
"required": ["kind", "taskRevision", "remediationEvents", "manifestPath", "manifestHash", "gitHead", "stepDefinitionHash", "conflicts", "scopeExtensions", "changedFiles", "conflictHash"],
|
|
165
|
+
"properties": {
|
|
166
|
+
"kind": { "const": "check-support-anchor-outside-allowed-writes" },
|
|
167
|
+
"taskRevision": { "type": "integer", "minimum": 1 },
|
|
168
|
+
"remediationEvents": {
|
|
169
|
+
"type": "array", "minItems": 1,
|
|
170
|
+
"items": {
|
|
171
|
+
"type": "object", "additionalProperties": false,
|
|
172
|
+
"required": ["eventId", "eventHash", "attemptOrdinal"],
|
|
173
|
+
"properties": {
|
|
174
|
+
"eventId": { "type": "string", "minLength": 1 },
|
|
175
|
+
"eventHash": { "$ref": "#/$defs/hash64" },
|
|
176
|
+
"attemptOrdinal": { "type": "integer", "minimum": 1 }
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"manifestPath": { "const": "package.json" },
|
|
181
|
+
"manifestHash": { "$ref": "#/$defs/nullableHash64" },
|
|
182
|
+
"gitHead": { "$ref": "#/$defs/gitOid" },
|
|
183
|
+
"stepDefinitionHash": { "$ref": "#/$defs/hash64" },
|
|
184
|
+
"conflicts": {
|
|
185
|
+
"type": "array", "minItems": 1,
|
|
186
|
+
"items": {
|
|
187
|
+
"type": "object", "additionalProperties": false,
|
|
188
|
+
"required": ["reasonCode", "script", "command", "scriptCommand", "runnerPath", "runnerHash", "supportPath", "supportHash", "importSpecifier", "expectedOutputPaths", "anchoredMigrationNames"],
|
|
189
|
+
"properties": {
|
|
190
|
+
"reasonCode": { "const": "CHECK_SUPPORT_ANCHOR_OUTSIDE_ALLOWED_WRITES" },
|
|
191
|
+
"script": { "type": "string", "minLength": 1 },
|
|
192
|
+
"command": { "type": "string", "minLength": 1 },
|
|
193
|
+
"scriptCommand": { "type": "string", "minLength": 1 },
|
|
194
|
+
"runnerPath": { "type": "string", "minLength": 1 },
|
|
195
|
+
"runnerHash": { "$ref": "#/$defs/hash64" },
|
|
196
|
+
"supportPath": { "type": "string", "minLength": 1 },
|
|
197
|
+
"supportHash": { "$ref": "#/$defs/hash64" },
|
|
198
|
+
"importSpecifier": { "type": "string", "minLength": 1 },
|
|
199
|
+
"expectedOutputPaths": { "$ref": "#/$defs/stringList", "minItems": 1 },
|
|
200
|
+
"anchoredMigrationNames": { "$ref": "#/$defs/stringList", "minItems": 1 }
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"scopeExtensions": { "$ref": "#/$defs/stringList", "minItems": 1 },
|
|
205
|
+
"changedFiles": { "$ref": "#/$defs/stringList" },
|
|
206
|
+
"conflictHash": { "$ref": "#/$defs/hash64" }
|
|
207
|
+
}
|
|
145
208
|
}
|
|
146
209
|
}
|
|
147
210
|
}
|