@frankzhang2026/opencode-android-orchestrator 1.0.5 → 1.2.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/CHANGELOG.md +79 -0
- package/README.md +79 -15
- package/dist/config/queue-policy.d.ts.map +1 -1
- package/dist/config/queue-policy.js +1 -2
- package/dist/config/queue-policy.js.map +1 -1
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +27 -3
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/installation.d.ts +1 -1
- package/dist/doctor/installation.d.ts.map +1 -1
- package/dist/doctor/installation.js +11 -1
- package/dist/doctor/installation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/adaptive-templates.d.ts +4 -1
- package/dist/installer/adaptive-templates.d.ts.map +1 -1
- package/dist/installer/adaptive-templates.js +42 -13
- package/dist/installer/adaptive-templates.js.map +1 -1
- package/dist/installer/android-project.d.ts +3 -1
- package/dist/installer/android-project.d.ts.map +1 -1
- package/dist/installer/android-project.js.map +1 -1
- package/dist/installer/capabilities-script.d.ts +2 -0
- package/dist/installer/capabilities-script.d.ts.map +1 -0
- package/dist/installer/capabilities-script.js +84 -0
- package/dist/installer/capabilities-script.js.map +1 -0
- package/dist/installer/gradle-verification.d.ts.map +1 -1
- package/dist/installer/gradle-verification.js +13 -6
- package/dist/installer/gradle-verification.js.map +1 -1
- package/dist/installer/init.d.ts.map +1 -1
- package/dist/installer/init.js +3 -2
- package/dist/installer/init.js.map +1 -1
- package/dist/installer/opencode-config.d.ts +3 -3
- package/dist/installer/opencode-config.js +1 -1
- package/dist/installer/project-capabilities.d.ts +35 -0
- package/dist/installer/project-capabilities.d.ts.map +1 -0
- package/dist/installer/project-capabilities.js +82 -0
- package/dist/installer/project-capabilities.js.map +1 -0
- package/dist/installer/upgrade.d.ts.map +1 -1
- package/dist/installer/upgrade.js +10 -2
- package/dist/installer/upgrade.js.map +1 -1
- package/dist/queue/cli.d.ts.map +1 -1
- package/dist/queue/cli.js +32 -5
- package/dist/queue/cli.js.map +1 -1
- package/dist/queue/executor.d.ts +1 -0
- package/dist/queue/executor.d.ts.map +1 -1
- package/dist/queue/executor.js +160 -11
- package/dist/queue/executor.js.map +1 -1
- package/dist/queue/process-ownership.d.ts +12 -0
- package/dist/queue/process-ownership.d.ts.map +1 -0
- package/dist/queue/process-ownership.js +58 -0
- package/dist/queue/process-ownership.js.map +1 -0
- package/dist/queue/queue.d.ts +25 -1
- package/dist/queue/queue.d.ts.map +1 -1
- package/dist/queue/queue.js +96 -11
- package/dist/queue/queue.js.map +1 -1
- package/dist/queue/service.d.ts.map +1 -1
- package/dist/queue/service.js +19 -2
- package/dist/queue/service.js.map +1 -1
- package/dist/queue/storage.d.ts +3 -1
- package/dist/queue/storage.d.ts.map +1 -1
- package/dist/queue/storage.js +25 -15
- package/dist/queue/storage.js.map +1 -1
- package/dist/queue/supervision.d.ts +38 -0
- package/dist/queue/supervision.d.ts.map +1 -0
- package/dist/queue/supervision.js +247 -0
- package/dist/queue/supervision.js.map +1 -0
- package/dist/queue/tools.d.ts.map +1 -1
- package/dist/queue/tools.js +4 -2
- package/dist/queue/tools.js.map +1 -1
- package/docs/GRADLE-6.7.1.md +112 -0
- package/docs/MIGRATION.md +125 -11
- package/docs/QUEUE.md +350 -16
- package/docs/SECURITY.md +5 -2
- package/docs/TROUBLESHOOTING.md +81 -8
- package/package.json +1 -1
- package/templates/.opencode/agents/scheduled-coder.md +14 -1
- package/templates/.opencode/agents/scheduled-planner.md +64 -3
- package/templates/.opencode/skills/scheduled-quality-coder/SKILL.md +36 -3
- package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +65 -4
- package/templates/.opencode/skills/scheduled-quality-reviewer/SKILL.md +23 -1
- package/templates/AGENTS.md.fragment +10 -4
- package/templates/README.md +3 -1
- package/templates/automation/config.schema.json +212 -22
- package/templates/automation/task-contract.schema.json +659 -49
- package/templates/automation/tasks/TASK-TEMPLATE.json.example +14 -8
- package/templates/automation/verification/collect.init.gradle +108 -0
- package/templates/automation/verification/contract.cjs +119 -0
- package/templates/automation/verification/inventory.cjs +536 -0
- package/templates/automation/verification/project.cjs +230 -0
- package/templates/automation/verification/recovery.cjs +425 -0
- package/templates/automation/verification/runtime.init.gradle +58 -0
- package/templates/scripts/automation/acceptance-report.sh +17 -0
- package/templates/scripts/automation/claim-task.sh +35 -2
- package/templates/scripts/automation/integration-scope-gate.sh +3 -3
- package/templates/scripts/automation/lib.sh +61 -19
- package/templates/scripts/automation/orchestrate-task.sh +7 -1
- package/templates/scripts/automation/preflight.sh +1 -2
- package/templates/scripts/automation/quality-gate.sh +10 -1
- package/templates/scripts/automation/record-red.sh +13 -1
- package/templates/scripts/automation/resume-task.sh +3 -0
- package/templates/scripts/automation/scope-gate.sh +4 -4
- package/templates/scripts/automation/show-acceptance-review.sh +1 -0
- package/templates/scripts/automation/status.sh +35 -0
- package/templates/scripts/automation/submit-review.sh +10 -1
- package/templates/scripts/automation/validate-contract.sh +10 -1
- package/templates/scripts/automation/verify-integration.sh +3 -0
- package/templates/scripts/automation/verify-task.sh +3 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Gradle 6.7.1 review fixes (1.2.0)
|
|
2
|
+
|
|
3
|
+
These changes are included in 1.2.0 and are absent from
|
|
4
|
+
1.1.0. Upgrade with the pinned 1.2.0 package. Do not copy individual
|
|
5
|
+
managed files into an existing installation or reuse evidence made with the
|
|
6
|
+
previous collector. Keep existing evidence and approve a new task after upgrade.
|
|
7
|
+
|
|
8
|
+
## Runtime and source discovery
|
|
9
|
+
|
|
10
|
+
The collector reads its request from Gradle's start parameters before falling
|
|
11
|
+
back to System properties. Missing, relative and unreadable request paths fail
|
|
12
|
+
explicitly. Source discovery reads Gradle dynamic properties, including Kotlin
|
|
13
|
+
1.4.x extensions on AGP 4.2 source sets; getter failures are not silently ignored.
|
|
14
|
+
|
|
15
|
+
Doctor executes the selected wrapper's `help` with a runtime init script. It
|
|
16
|
+
reports the actual build JVM rather than inferring it from PATH `java`. Each
|
|
17
|
+
inventory run records Gradle, build JVM/home/vendor, Android/Kotlin plugin
|
|
18
|
+
implementation/version/artifact digest, and configured Test JVM executable/metadata.
|
|
19
|
+
RED/GREEN must match the baseline runtime. Environment, Gradle user properties,
|
|
20
|
+
init scripts, local properties and available JVM executables are fingerprinted;
|
|
21
|
+
changing these inputs invalidates verification or recovery evidence. This is
|
|
22
|
+
not an OS sandbox or a proof against malicious build scripts. Test JVM settings
|
|
23
|
+
are captured after project configuration; this does not observe the internals
|
|
24
|
+
of every forked test process or prove that custom execution hooks cannot change
|
|
25
|
+
its environment later.
|
|
26
|
+
|
|
27
|
+
For Gradle 6.7.1 select a compatible build JDK before starting the service, using
|
|
28
|
+
the project's reviewed `org.gradle.java.home` configuration or the launch
|
|
29
|
+
environment. Existing background services retain their environment: safely stop
|
|
30
|
+
active work and restart the service after an environment change. Doctor must
|
|
31
|
+
pass from the same environment used by the service.
|
|
32
|
+
|
|
33
|
+
Independent legacy fixtures use Gradle 6.7.1, AGP 4.2.2, Kotlin 1.4.32 and
|
|
34
|
+
Corretto 8u312. These versions describe a tested fixture, not the user's unknown
|
|
35
|
+
target project or every AGP/Kotlin/JDK combination. Keep the actual target's
|
|
36
|
+
Gradle version and validate its dependency repositories, SDK/NDK and variants.
|
|
37
|
+
|
|
38
|
+
## Failure origin and criterion evidence
|
|
39
|
+
|
|
40
|
+
V4–V8 expected failures now require a stack containing the exact test-body
|
|
41
|
+
invocation and a matching first non-assertion frame. Setup, teardown, rule and
|
|
42
|
+
initialization failures, missing stacks and mismatched locations cannot become
|
|
43
|
+
RED merely because the exception and message match. Prefer a structured origin:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"type": "java.lang.AssertionError",
|
|
48
|
+
"messageIncludes": "approved answer",
|
|
49
|
+
"origin": {
|
|
50
|
+
"className": "example.InputTest",
|
|
51
|
+
"methodName": "rejectsInvalidInput",
|
|
52
|
+
"fileName": "InputTest.kt",
|
|
53
|
+
"lineNumber": 42
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
File/line are optional. Existing descriptive origin strings mean a direct
|
|
59
|
+
failure in the declared test method; they no longer authorize arbitrary helper
|
|
60
|
+
or fixture failures. Standard parameter suffixes are removed from the exact
|
|
61
|
+
test name when identifying its method. Custom runners whose identities/stacks
|
|
62
|
+
cannot establish that method fail closed. Review still checks assertion meaning.
|
|
63
|
+
The legacy V1–V3 protocol is unchanged and does not acquire these guarantees.
|
|
64
|
+
|
|
65
|
+
Every acceptance criterion must be referenced by a declared case or an explicit
|
|
66
|
+
`verification.criteriaEvidence` entry. An entry contains `criterion`, `kind`
|
|
67
|
+
and nonempty `references`: behavior case IDs for `behavior`, configured mandatory
|
|
68
|
+
tasks for `build`, enabled `lint`, or contract-required `device` tasks. Disabled,
|
|
69
|
+
unknown or empty evidence is rejected. This is an identity/coverage check;
|
|
70
|
+
Reviewer must still assess whether the evidence proves the stated requirement.
|
|
71
|
+
Do not describe manual or visual checks as automatic evidence.
|
|
72
|
+
|
|
73
|
+
## Review supplements
|
|
74
|
+
|
|
75
|
+
Original RED, its manifest, test files and resources remain immutable. A newly
|
|
76
|
+
approved contract may explicitly include:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
"supplementalTests": {
|
|
80
|
+
"mode": "baselinePassingNewFiles",
|
|
81
|
+
"maxRevisions": 1
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Place this object inside `verification`. It authorizes one additional batch of
|
|
86
|
+
new Java/Kotlin/Groovy test source files within the existing allowed paths and
|
|
87
|
+
filters. GREEN runs the additions in an isolated checkout of the original
|
|
88
|
+
baseline, requires new passing case identities and unchanged baseline outcomes,
|
|
89
|
+
then seals `test-supplement.json`. Current GREEN must include all original and
|
|
90
|
+
supplemental cases. Acceptance/status expose the supplement and its digest.
|
|
91
|
+
|
|
92
|
+
Changing/removing original tests, adding resources, widening filters, changing
|
|
93
|
+
requirements, or adding tests that need the new implementation requires a
|
|
94
|
+
revised approved task. Failed or interrupted supplement attempts consume the
|
|
95
|
+
single revision budget; retained logs must be inspected. This policy does not
|
|
96
|
+
authorize new task protocols for a failing initial baseline, compile-error RED,
|
|
97
|
+
or tasks with no behavior-change RED. Such tasks are rejected at contract or
|
|
98
|
+
baseline validation; do not manufacture a failing assertion to satisfy the gate.
|
|
99
|
+
|
|
100
|
+
## Isolation and matrix boundaries
|
|
101
|
+
|
|
102
|
+
The full discovered unit-test/build matrix remains mandatory, including all
|
|
103
|
+
editable consumers and variants. A missing signing key, private dependency or
|
|
104
|
+
channel input is an environment/configuration failure, not permission to omit
|
|
105
|
+
that variant. Narrower matrices require a separate scope/dependency design.
|
|
106
|
+
|
|
107
|
+
An isolated task now refuses non-SDK entries in `local.properties` before Coder
|
|
108
|
+
starts. The error does not disclose property values. Declare required inputs in
|
|
109
|
+
reviewed tracked configuration, or explicitly approve a fixed-branch task;
|
|
110
|
+
ignored files and credentials are not automatically copied. Unknown dependencies
|
|
111
|
+
on other ignored files still require target-project validation. Supplemental
|
|
112
|
+
baseline worktrees only transfer the SDK property and enforce the same boundary.
|
package/docs/MIGRATION.md
CHANGED
|
@@ -1,18 +1,32 @@
|
|
|
1
1
|
# Migration guide
|
|
2
2
|
|
|
3
3
|
This guide covers migration to
|
|
4
|
-
`@frankzhang2026/opencode-android-orchestrator@1.0
|
|
4
|
+
`@frankzhang2026/opencode-android-orchestrator@1.2.0`. Pin the exact version and
|
|
5
5
|
prove the migration in a disposable clone before changing a long-lived
|
|
6
|
-
repository.
|
|
6
|
+
repository. Use the pinned Registry commands below.
|
|
7
|
+
|
|
8
|
+
## 1.2.0 compatibility and evidence upgrade
|
|
9
|
+
|
|
10
|
+
Version 1.2.0 includes 53 managed resources, adding the actual build-JVM
|
|
11
|
+
diagnostic init script. Finish or explicitly abort active tasks, preserve prior
|
|
12
|
+
evidence, and approve new tasks after upgrading. Older expected-failure origin
|
|
13
|
+
strings now require a matching test-body failure, and every acceptance criterion
|
|
14
|
+
needs declared evidence. Do not reuse RED/GREEN evidence from the old collector.
|
|
15
|
+
|
|
16
|
+
For legacy Kotlin source sets, use `upgrade --refresh-gradle-discovery` and
|
|
17
|
+
review the regenerated configuration so the corrected source roots are included.
|
|
18
|
+
Review supplements require explicit permission in a newly approved contract.
|
|
19
|
+
See [compatibility and limits](GRADLE-6.7.1.md) for runtime, isolation and task
|
|
20
|
+
protocol boundaries.
|
|
7
21
|
|
|
8
22
|
## Choose the migration path
|
|
9
23
|
|
|
10
|
-
| Current state | Correct command
|
|
24
|
+
| Current state | Correct command | Important distinction |
|
|
11
25
|
| --- | --- | --- |
|
|
12
|
-
| No orchestrator files or manifest | `npx @frankzhang2026/opencode-android-orchestrator@1.0
|
|
26
|
+
| No orchestrator files or manifest | `npx @frankzhang2026/opencode-android-orchestrator@1.2.0 init .` | Normal new installation; all runtime-detected Android modules and registered debug verification tasks are discovered automatically. |
|
|
13
27
|
| Published `0.1.0` scaffold only | Remove any project-local `@0.1.0` plugin reference after review, then run `init`. | `0.1.0` did not create a usable managed installation and cannot be upgraded. |
|
|
14
|
-
| `0.2.0` through `0.10.0` manifest-managed installation with intact managed/backup content | Run the `1.0
|
|
15
|
-
| Healthy `1.0.0` through `1.0
|
|
28
|
+
| `0.2.0` through `0.10.0` manifest-managed installation with intact managed/backup content | Run the `1.2.0` `upgrade`; add `--refresh-gradle-discovery` when generated module/task lists are incomplete. | Refresh replaces all derived module metadata, source paths, protected build files, and task allowlists from one Gradle runtime snapshot. Module scope, operator policies, user-owned AGENTS content, and an existing commit-prefix sidecar remain preserved. |
|
|
29
|
+
| Healthy `1.0.0` through `1.1.0` installation | Stop the queue service, finish or abort retained workspaces, then run the fixed `1.2.0` `upgrade`. | Pending inbox contracts remain durable. Version 1.1.0 adds V4 test inventories, opt-in V5-V8 recovery/continuity and Android build capabilities; older approved contracts retain their authority. |
|
|
16
30
|
| Manually copied V3 files, no `.automation-plugin/manifest.json` | Finish active tasks, preserve historical evidence separately, then run `init`. | Exact files can be reused; differing managed files fail as conflicts. |
|
|
17
31
|
| Healthy older manifest-managed installation | Run `doctor`, then the fixed target version's `upgrade`. | `upgrade` requires a valid installed manifest and intact original backups. |
|
|
18
32
|
| Healthy current-version manifest | Run `doctor`; repeated `init` or same-version `upgrade` is verification-only and byte-idempotent. | Do not reinstall or delete the manifest. |
|
|
@@ -55,10 +69,10 @@ remove only that obsolete entry in a reviewed Git change before running
|
|
|
55
69
|
managed package; it will not silently replace the reference. A global npm
|
|
56
70
|
installation of `0.1.0` alone does not require project-file cleanup.
|
|
57
71
|
|
|
58
|
-
|
|
72
|
+
Initialize with the fixed version:
|
|
59
73
|
|
|
60
74
|
```sh
|
|
61
|
-
npx @frankzhang2026/opencode-android-orchestrator@1.0
|
|
75
|
+
npx @frankzhang2026/opencode-android-orchestrator@1.2.0 init .
|
|
62
76
|
```
|
|
63
77
|
|
|
64
78
|
New installations default to all-module scope, so multiple application modules
|
|
@@ -106,7 +120,7 @@ Use the lifecycle command selected by the active manifest:
|
|
|
106
120
|
|
|
107
121
|
```sh
|
|
108
122
|
npx --yes --registry=https://registry.npmjs.org/ \
|
|
109
|
-
@frankzhang2026/opencode-android-orchestrator@1.0
|
|
123
|
+
@frankzhang2026/opencode-android-orchestrator@1.2.0 upgrade . --json
|
|
110
124
|
```
|
|
111
125
|
|
|
112
126
|
The command-level Registry option is useful when a company-wide npm Registry
|
|
@@ -136,7 +150,7 @@ computed includes dynamically or a company convention plugin applied
|
|
|
136
150
|
|
|
137
151
|
```sh
|
|
138
152
|
npx --yes --registry=https://registry.npmjs.org/ \
|
|
139
|
-
@frankzhang2026/opencode-android-orchestrator@1.0
|
|
153
|
+
@frankzhang2026/opencode-android-orchestrator@1.2.0 upgrade . \
|
|
140
154
|
--refresh-gradle-discovery --json
|
|
141
155
|
```
|
|
142
156
|
|
|
@@ -220,7 +234,7 @@ use the queue rather than the old direct Shell commands. See [Queue operation](Q
|
|
|
220
234
|
Run all checks from the detected Git root:
|
|
221
235
|
|
|
222
236
|
```sh
|
|
223
|
-
npx @frankzhang2026/opencode-android-orchestrator@1.0
|
|
237
|
+
npx @frankzhang2026/opencode-android-orchestrator@1.2.0 doctor .
|
|
224
238
|
opencode debug config
|
|
225
239
|
opencode debug skill
|
|
226
240
|
opencode debug agent scheduled-planner
|
|
@@ -248,6 +262,19 @@ Verify all of the following before switching normal work to the plugin:
|
|
|
248
262
|
Complete one small task in a disposable project before accepting the migration
|
|
249
263
|
for a long-lived repository.
|
|
250
264
|
|
|
265
|
+
## 1.1.0 continuity fixes
|
|
266
|
+
|
|
267
|
+
Upgrade managed scripts and the packaged executor together after resolving
|
|
268
|
+
active/retained tasks through the existing lifecycle checks. Review recovery
|
|
269
|
+
keeps the existing approval, RED/GREEN and sealed-diff protocol. No contract
|
|
270
|
+
or approval schema changes and no automatic retries are introduced.
|
|
271
|
+
|
|
272
|
+
Existing verification matrices remain valid. Rediscovery may record absent
|
|
273
|
+
lint/device capabilities as empty arrays; existing required checks are not
|
|
274
|
+
disabled automatically. Enabling missing lint or requiring missing device
|
|
275
|
+
tasks is an explicit validation failure. Old managed AGENTS blocks are
|
|
276
|
+
replaced through the normal manifest-checked upgrade workflow.
|
|
277
|
+
|
|
251
278
|
## Rollback
|
|
252
279
|
|
|
253
280
|
- A failed `init` automatically restores pre-install files before reporting
|
|
@@ -268,3 +295,90 @@ for a long-lived repository.
|
|
|
268
295
|
|
|
269
296
|
See [Troubleshooting](TROUBLESHOOTING.md) for failure-specific diagnostics and
|
|
270
297
|
[Security](SECURITY.md) before sharing recovery evidence.
|
|
298
|
+
|
|
299
|
+
## 1.1.0 V5 baseline recovery
|
|
300
|
+
|
|
301
|
+
Version 1.1.0 adds a task-contract protocol, not an automatic
|
|
302
|
+
migration of existing approvals. V3 and V4 contracts retain their existing
|
|
303
|
+
verification and recovery behavior; V4 still cannot resume inventory capture
|
|
304
|
+
once its `baseline.json` exists. New V5 tasks require a newly reviewed contract
|
|
305
|
+
with explicit baseline-only retry counts, backoff and elapsed window. Do not
|
|
306
|
+
edit queued contracts or translate old baseline evidence into checkpoints.
|
|
307
|
+
|
|
308
|
+
The package includes `automation/verification/recovery.cjs`, the shared V4/V5
|
|
309
|
+
validator/schema, queue scheduling and matching agent instructions. Upgrade
|
|
310
|
+
only with stopped service and no retained active workspace using a newly
|
|
311
|
+
versioned development/release package; the existing same-version installer is
|
|
312
|
+
verification-only. The published 1.0.5 package does not acquire these changes
|
|
313
|
+
from this documentation. Preserve pending approvals and historical evidence;
|
|
314
|
+
any scope or recovery-policy change requires a new draft and approval.
|
|
315
|
+
|
|
316
|
+
Validate installation, doctor, upgrade and packaging with the entire managed
|
|
317
|
+
file inventory. Never copy a new recovery script alone into an existing
|
|
318
|
+
installation or alter manifest hashes. No remote publication is part of this
|
|
319
|
+
change. See QUEUE.md for policy fields and the process-interruption limitation.
|
|
320
|
+
|
|
321
|
+
## 1.1.0 V6 Worker termination
|
|
322
|
+
|
|
323
|
+
Only new V6 approvals with an `execution` policy enable automatic TERM/KILL.
|
|
324
|
+
Existing V5 contracts keep baseline recovery without Worker termination;
|
|
325
|
+
V1..V4 also retain their original behavior. There is no in-place rewriting of
|
|
326
|
+
queued approvals. Stop the service and finish or archive retained workspaces
|
|
327
|
+
before upgrading using a newly versioned package; same-version verification
|
|
328
|
+
still does not apply development templates. The supervisor ships in compiled
|
|
329
|
+
queue code and uses the existing managed validator/schema and Shell resources.
|
|
330
|
+
No separate system service or extra managed resource is installed. Validate
|
|
331
|
+
contract schema, installer, doctor, queue, recovery and package contents together.
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
## 1.1.0 V7 stage verification recovery
|
|
335
|
+
|
|
336
|
+
V7 requires new approval of `stageRecovery` plus the V5 baseline and V6 Worker
|
|
337
|
+
policies. Existing contracts and the V4 example remain unchanged. RED/GREEN/
|
|
338
|
+
Reviewer verification commands can retry identified environment failures within
|
|
339
|
+
separate persisted budgets; model/provider calls and integration are unchanged.
|
|
340
|
+
Recovery logic extends the existing managed recovery.cjs. Version 1.1.0 has
|
|
341
|
+
52 managed resources, including the Android project capability validator.
|
|
342
|
+
Upgrade with 1.2.0; same-version upgrade does not refresh
|
|
343
|
+
managed templates. See the V7 policy and retained-evidence workflow in QUEUE.md.
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
## Android project capability snapshot (1.1.0)
|
|
347
|
+
|
|
348
|
+
Nested builds are selected explicitly by initializing from their Gradle settings
|
|
349
|
+
directory, such as `init /path/to/repo/android`. Discovery records
|
|
350
|
+
`buildRoot: "android"`; installation files and the queue remain at the Git root. Run doctor,
|
|
351
|
+
upgrade and managed scripts from that Git root. Upgrade reuses this selection,
|
|
352
|
+
including `--refresh-gradle-discovery`; it does not search sibling builds.
|
|
353
|
+
An existing root installation is not silently retargeted to a nested build.
|
|
354
|
+
This behavior is included in 1.1.0 source; a same-version upgrade does not
|
|
355
|
+
install changed templates.
|
|
356
|
+
|
|
357
|
+
Fresh runtime discovery records `androidProject.capabilities` version 1 with
|
|
358
|
+
portable module/build-file paths, source sets, direct project-dependency edges
|
|
359
|
+
and verification tasks. Android-reachable JVM libraries are selected transitively.
|
|
360
|
+
All local Test tasks and production assemble variants remain required, so changing
|
|
361
|
+
a dependency also verifies its Android consumers. There is no minimal affected-set
|
|
362
|
+
scheduler. Taskless/disabled variants are not a coverage claim.
|
|
363
|
+
|
|
364
|
+
The new protected `automation/verification/project.cjs` resource brings the
|
|
365
|
+
managed inventory to 52. Installation, doctor and Shell use this same validator.
|
|
366
|
+
An upgrade preserves an existing snapshot without rerunning Gradle; a legacy
|
|
367
|
+
installation retains its legacy source/matrix semantics. Build-layout changes
|
|
368
|
+
require fresh discovery and reviewed configuration regeneration, not manual
|
|
369
|
+
snapshot edits during an approved task. Nested roots without a snapshot, composite builds,
|
|
370
|
+
generated/external/symlink sources and production/test overlaps fail closed.
|
|
371
|
+
|
|
372
|
+
A same-version upgrade remains
|
|
373
|
+
verification-only and is not a template delivery mechanism.
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
## 1.1.0 V8 isolated automatic integration
|
|
377
|
+
|
|
378
|
+
Upgrade executable and managed templates together with a newly versioned package.
|
|
379
|
+
Version 1.1.0 includes these resources; same-version upgrade is verification-only.
|
|
380
|
+
Repository defaults may combine isolatedWorktree and autoCommit, but execution
|
|
381
|
+
still requires a newly approved V8 contract with explicit continuity authority.
|
|
382
|
+
Old queued tasks never inherit that permission. V8 planning snapshots are sealed
|
|
383
|
+
with the draft; existing drafts cannot acquire them through in-place edits.
|
|
384
|
+
See QUEUE.md for planning inputs, completed-queue refresh and recovery boundaries.
|