@frankzhang2026/opencode-android-orchestrator 0.6.1 → 0.8.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/README.md +81 -22
  3. package/THIRD_PARTY_NOTICES.md +15 -11
  4. package/dist/cli.js +2 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config/verification-policy.d.ts +20 -0
  7. package/dist/config/verification-policy.d.ts.map +1 -0
  8. package/dist/config/verification-policy.js +59 -0
  9. package/dist/config/verification-policy.js.map +1 -0
  10. package/dist/doctor/installation.d.ts.map +1 -1
  11. package/dist/doctor/installation.js +46 -3
  12. package/dist/doctor/installation.js.map +1 -1
  13. package/dist/index.d.ts +2 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/installer/adaptive-templates.d.ts +9 -6
  18. package/dist/installer/adaptive-templates.d.ts.map +1 -1
  19. package/dist/installer/adaptive-templates.js +13 -0
  20. package/dist/installer/adaptive-templates.js.map +1 -1
  21. package/dist/installer/index.d.ts +1 -1
  22. package/dist/installer/index.d.ts.map +1 -1
  23. package/dist/installer/index.js +1 -1
  24. package/dist/installer/index.js.map +1 -1
  25. package/dist/installer/init.d.ts +1 -1
  26. package/dist/installer/init.d.ts.map +1 -1
  27. package/dist/installer/init.js.map +1 -1
  28. package/dist/installer/install-manifest.d.ts.map +1 -1
  29. package/dist/installer/install-manifest.js +13 -1
  30. package/dist/installer/install-manifest.js.map +1 -1
  31. package/dist/installer/opencode-config.d.ts +3 -4
  32. package/dist/installer/opencode-config.d.ts.map +1 -1
  33. package/dist/installer/opencode-config.js +1 -3
  34. package/dist/installer/opencode-config.js.map +1 -1
  35. package/dist/installer/upgrade.d.ts.map +1 -1
  36. package/dist/installer/upgrade.js +34 -2
  37. package/dist/installer/upgrade.js.map +1 -1
  38. package/dist/plugin/index.d.ts +2 -0
  39. package/dist/plugin/index.d.ts.map +1 -1
  40. package/dist/plugin/index.js +32 -0
  41. package/dist/plugin/index.js.map +1 -1
  42. package/docs/MIGRATION.md +27 -10
  43. package/docs/SECURITY.md +24 -7
  44. package/docs/TROUBLESHOOTING.md +13 -6
  45. package/package.json +3 -1
  46. package/resources/third-party/superpowers-v6.2.0/LICENSE +21 -0
  47. package/resources/third-party/superpowers-v6.2.0/PROVENANCE.md +21 -0
  48. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-brainstorming/SKILL.md +43 -0
  49. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/SKILL.md +288 -0
  50. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/references/condition-based-waiting-example.ts +158 -0
  51. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/references/condition-based-waiting.md +115 -0
  52. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/references/defense-in-depth.md +122 -0
  53. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/references/root-cause-tracing.md +169 -0
  54. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-systematic-debugging/scripts/find-polluter.sh +72 -0
  55. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-test-driven-development/SKILL.md +327 -0
  56. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-test-driven-development/references/writing-good-tests.md +197 -0
  57. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-verification-before-completion/SKILL.md +125 -0
  58. package/resources/third-party/superpowers-v6.2.0/skills/android-orchestrator-writing-plans/SKILL.md +50 -0
  59. package/templates/.opencode/agents/scheduled-coder.md +3 -4
  60. package/templates/.opencode/agents/scheduled-planner.md +5 -5
  61. package/templates/.opencode/agents/scheduled-reviewer.md +1 -2
  62. package/templates/.opencode/skills/scheduled-quality-coder/SKILL.md +11 -9
  63. package/templates/.opencode/skills/scheduled-quality-orchestrator/SKILL.md +2 -1
  64. package/templates/.opencode/skills/scheduled-quality-reviewer/SKILL.md +4 -3
  65. package/templates/README.md +10 -3
  66. package/templates/automation/config.json +8 -9
  67. package/templates/automation/config.schema.json +6 -11
  68. package/templates/automation/task-contract.schema.json +7 -7
  69. package/templates/automation/tasks/TASK-TEMPLATE.json.example +6 -6
  70. package/templates/scripts/automation/claim-task.sh +23 -8
  71. package/templates/scripts/automation/lib.sh +37 -3
  72. package/templates/scripts/automation/orchestrate-task.sh +1 -1
  73. package/templates/scripts/automation/preflight.sh +0 -3
  74. package/templates/scripts/automation/tests/run-tests.sh +36 -15
  75. package/templates/scripts/automation/validate-contract.sh +7 -2
  76. package/templates/scripts/automation/verify-integration.sh +2 -9
  77. package/templates/scripts/automation/verify-task.sh +2 -9
package/CHANGELOG.md CHANGED
@@ -1,7 +1,34 @@
1
1
  # Changelog
2
2
 
3
- ## 0.6.1 - Unreleased
3
+ ## 0.8.0 - 2026-09-07
4
4
 
5
+ - Bundle curated, namespaced derivatives of the five Superpowers v6.2.0
6
+ workflow skills used by Orchestrator, together with only their required
7
+ references/scripts and the upstream MIT license and provenance.
8
+ - Register the bundled skill directory through the certified OpenCode `config`
9
+ hook, while failing clearly if a packaged skill entry point is missing.
10
+ - Remove the external GitHub-backed Superpowers plugin from new installations,
11
+ Agent permissions, preflight checks, and automation configuration.
12
+ - Advance automation configuration to schema v4 and new task contracts to
13
+ schema v2 with `allowedWorkflowSkills`; retain validation for sealed legacy
14
+ v1 task contracts during an in-place upgrade.
15
+ - Reconstruct upgrades from the verified pre-install OpenCode configuration so
16
+ the old exact Orchestrator-managed Superpowers reference is removed while a
17
+ pre-existing user-owned reference remains untouched.
18
+ - Add bundled-inventory, package-tarball, upgrade-ownership, and real offline
19
+ OpenCode skill-discovery coverage, and exclude the former brainstorming
20
+ localhost/browser companion from the package.
21
+
22
+ ## 0.7.0 - 2026-09-03
23
+
24
+ - Make unit-test and Android lint gates explicit, repository-configured
25
+ policies. `unitTestsEnabled` defaults to `true`, `lintEnabled` defaults to
26
+ `false`, and both are changed only in `automation/config.json`.
27
+ - Preserve supported verification-policy edits across upgrades and accept them
28
+ in doctor checks while keeping every other generated configuration field
29
+ protected by manifest integrity.
30
+ - Skip baseline/focused/full unit-test gates or `lintTasks` when their policy is
31
+ disabled, while retaining RED evidence and discovered task lists.
5
32
  - Raise direct managed long-running automation commands through the certified
6
33
  `tool.execute.before` hook to a 30-minute (`1800000` ms) default timeout,
7
34
  while preserving any higher caller timeout and leaving unrelated commands
package/README.md CHANGED
@@ -11,9 +11,11 @@ including product flavors, without a separate JSON file and bootstraps the
11
11
  human-owned worktree allowlist when it is missing. Version `0.6.0` makes that
12
12
  discovery reliable in repositories that enable Gradle Configuration Cache by
13
13
  disabling the cache only for the temporary discovery invocation.
14
- Version `0.6.1` gives managed long-running commands a configurable 30-minute
15
- default timeout and adds a bounded recovery path for baseline capture that was
16
- externally interrupted before evidence sealing.
14
+ Version `0.7.0` adds repository-configured unit-test and lint verification
15
+ policies, while retaining the configurable 30-minute timeout and bounded
16
+ baseline-capture recovery path. Version `0.8.0` bundles the five workflow
17
+ skills used by the scheduled agents, registers them from the installed npm
18
+ package, and removes the runtime GitHub/Superpowers plugin dependency.
17
19
 
18
20
  ## Documentation
19
21
 
@@ -23,8 +25,8 @@ externally interrupted before evidence sealing.
23
25
  drift, OpenCode discovery, blocked tasks, and recovery evidence.
24
26
  - [Security model](docs/SECURITY.md) — trust boundaries, approval guarantees,
25
27
  file/Git protections, retained evidence, and residual risks.
26
- - [Third-party notices](THIRD_PARTY_NOTICES.md) — runtime, peer, external
27
- companion, and development-only dependency relationships and licenses.
28
+ - [Third-party notices](THIRD_PARTY_NOTICES.md) — runtime, peer, bundled
29
+ derivative, and development-only dependency relationships and licenses.
28
30
 
29
31
  ## Requirements
30
32
 
@@ -48,8 +50,8 @@ project builds retain their configured cache behavior.
48
50
  ## Quick start
49
51
 
50
52
  ```sh
51
- npx @frankzhang2026/opencode-android-orchestrator@0.6.1 init .
52
- npx @frankzhang2026/opencode-android-orchestrator@0.6.1 doctor .
53
+ npx @frankzhang2026/opencode-android-orchestrator@0.8.0 init .
54
+ npx @frankzhang2026/opencode-android-orchestrator@0.8.0 doctor .
53
55
  opencode --agent scheduled-planner .
54
56
  ```
55
57
 
@@ -59,7 +61,7 @@ a task contract without selecting a primary module. To intentionally restrict
59
61
  generated contracts to one module, opt into primary-module scope:
60
62
 
61
63
  ```sh
62
- npx @frankzhang2026/opencode-android-orchestrator@0.6.1 init . \
64
+ npx @frankzhang2026/opencode-android-orchestrator@0.8.0 init . \
63
65
  --module-scope primary \
64
66
  --primary-module :mobile
65
67
  ```
@@ -80,6 +82,55 @@ cacheable `help` invocation. `--gradle-verification-config` remains available
80
82
  only for an intentional nonstandard policy override and is not part of the
81
83
  normal quick start.
82
84
 
85
+ ### Bundled workflow skills
86
+
87
+ Version `0.8.0` ships namespaced derivatives of the five Superpowers v6.2.0
88
+ workflows that Orchestrator actually uses:
89
+
90
+ - `android-orchestrator-brainstorming`
91
+ - `android-orchestrator-writing-plans`
92
+ - `android-orchestrator-test-driven-development`
93
+ - `android-orchestrator-systematic-debugging`
94
+ - `android-orchestrator-verification-before-completion`
95
+
96
+ The plugin's compatible `config` hook registers their package-local directory
97
+ with OpenCode. Project configuration therefore pins only the exact
98
+ Orchestrator package. There is no `using-superpowers` bootstrap, runtime GitHub
99
+ fetch, localhost brainstorming server, browser launcher, remote image, or
100
+ telemetry path. Once npm has installed the Orchestrator package, skill
101
+ discovery itself is offline.
102
+
103
+ An upgrade reconstructs `opencode.json`/`opencode.jsonc` from the verified
104
+ pre-install backup. The old exact Superpowers v6.2.0 reference disappears only
105
+ when an earlier Orchestrator installation added it; a reference that already
106
+ existed before Orchestrator was installed remains user-owned and is preserved.
107
+ See the [migration guide](docs/MIGRATION.md) for the exact boundary.
108
+
109
+ ### Configurable unit-test and lint verification
110
+
111
+ Verification policy lives in `automation/config.json`:
112
+
113
+ ```json
114
+ {
115
+ "unitTestsEnabled": true,
116
+ "lintEnabled": false
117
+ }
118
+ ```
119
+
120
+ Unit-test verification is enabled by default. Setting `unitTestsEnabled` to
121
+ `false` skips the baseline unit suite and the focused/full unit-test portions
122
+ of task, review, and integration gates. The mandatory TDD RED evidence step is
123
+ unchanged. Android lint is disabled by default; setting `lintEnabled` to `true`
124
+ runs the discovered `lintTasks` in those gates. Assemble, scope, evidence, and
125
+ required device-test checks are unaffected by either flag.
126
+
127
+ These two booleans are the operator-editable exceptions in the otherwise
128
+ managed configuration. Change their values in place and commit the file before
129
+ starting orchestration. Doctor accepts these policy changes and a later
130
+ upgrade preserves them. Do not reformat or edit unrelated generated fields.
131
+ Legacy installations without the fields receive `true` for unit tests and
132
+ `false` for lint during upgrade.
133
+
83
134
  ### Managed long-command timeout
84
135
 
85
136
  The plugin raises direct managed lifecycle commands such as `claim-task.sh`,
@@ -96,8 +147,9 @@ opencode-android-orchestrator upgrade . --long-command-timeout-ms 3600000
96
147
 
97
148
  The accepted range is `120000` through `7200000` milliseconds. Upgrade
98
149
  preserves an installed value; installations before `0.6.1` receive the
99
- 30-minute default. The generated `automation/config.json` remains managed, so
100
- use the lifecycle option instead of editing it directly.
150
+ 30-minute default. Apart from the two verification-policy booleans, generated
151
+ `automation/config.json` fields remain managed, so use the lifecycle option
152
+ instead of editing the timeout directly.
101
153
 
102
154
  ### Allow intentional local worktree changes
103
155
 
@@ -162,12 +214,14 @@ defaults and stronger verification contracts, and `0.4.0` adds the bounded
162
214
  worktree allowlist described above. Version `0.5.0` added automatic registered
163
215
  Gradle-task discovery and safe allowlist bootstrapping during `init`; version
164
216
  `0.6.0` makes discovery independent of the target project's Configuration
165
- Cache setting, and `0.6.1` adds configurable long-command timeouts plus bounded
166
- baseline-interruption recovery.
217
+ Cache setting, `0.6.1` adds configurable long-command timeouts plus bounded
218
+ baseline-interruption recovery, and `0.7.0` makes unit-test and lint gates
219
+ repository-configurable. Version `0.8.0` moves the five required workflow
220
+ skills into the npm package and removes their external plugin dependency.
167
221
 
168
222
  The cross-version plugin entry, OpenCode version doctor, Android/Gradle project
169
- discovery, audited V3 resources, and all deterministic V3 Shell transactions
170
- are implemented. Read-only planning now renders project-relative automation
223
+ discovery, audited V4 OpenCode/configuration resources, and all deterministic
224
+ V3 Shell transactions are implemented. Read-only planning now renders project-relative automation
171
225
  configuration and a focused task example from the detected Android modules.
172
226
  Safe, comment-preserving OpenCode JSON/JSONC merge planning is also implemented.
173
227
  The installation transaction foundation now creates verified pre-install
@@ -192,10 +246,13 @@ Implemented checks include:
192
246
  multi-module, custom `projectDir`, version-catalog plugin aliases, and Gradle
193
247
  Wrapper detection
194
248
  - one-pass, marker-bounded Gradle task discovery for unflavored and flavored
195
- debug unit, build, lint, and connected-device verification tasks
249
+ debug unit, build, lint, and connected-device verification tasks, with unit
250
+ and lint execution controlled independently by repository policy
196
251
  - a plugin compatibility boundary restricted to API fields and hooks shared
197
252
  by both certified OpenCode versions
198
- - project-independent templates for the three V3 agents, five commands, and
253
+ - package-local registration of five namespaced workflow skills, with the
254
+ required supporting files and upstream MIT license/provenance
255
+ - project-independent templates for the three V4 agents, five commands, and
199
256
  three scheduled-quality skills
200
257
  - all 29 automation Bash files with their `0755` modes; scope and test-change
201
258
  gates consume detected source-set paths instead of a fixed module name
@@ -209,7 +266,7 @@ Implemented checks include:
209
266
  shipped templates
210
267
  - read-only `opencode.json`/`opencode.jsonc` merge planning that preserves
211
268
  existing fields, comments, plugin order, and plugin options while adding
212
- fixed Superpowers and orchestrator references
269
+ only the fixed Orchestrator reference
213
270
  - conflict guards for malformed or ambiguous configuration, duplicate plugin
214
271
  packages, different managed-plugin references, and symbolic links
215
272
  - a fail-closed installation preparation transaction that records package
@@ -303,7 +360,7 @@ preparation alone as resource installation;
303
360
  ## Init
304
361
 
305
362
  ```sh
306
- npx @frankzhang2026/opencode-android-orchestrator@0.6.1 init .
363
+ npx @frankzhang2026/opencode-android-orchestrator@0.8.0 init .
307
364
  opencode --agent scheduled-planner .
308
365
  ```
309
366
 
@@ -362,7 +419,7 @@ Installation checks are deliberately read-only and cover:
362
419
  - each managed file's SHA-256, size, and mode, including all 29 executable
363
420
  automation scripts;
364
421
  - every original-file backup required for future recovery;
365
- - pinned OpenCode and Superpowers references, the exact bounded AGENTS block,
422
+ - the pinned OpenCode Orchestrator reference, the exact bounded AGENTS block,
366
423
  and adaptive automation/task configuration against the currently detected
367
424
  Android modules.
368
425
 
@@ -395,7 +452,7 @@ preflight verifies both resolved permissions and tool discovery.
395
452
  ### Phase 2 mutating-tool decision
396
453
 
397
454
  The 2026-08-25 evaluation remains **NO-GO for mutating custom tools in
398
- `0.6.1`**.
455
+ `0.8.0`**.
399
456
  The fixed Shell allowlist remains the only entry point for state transitions,
400
457
  Git mutations, and agent launches. OpenCode custom tools provide typed arguments
401
458
  and workspace context, but a normal permission prompt is not the workflow's
@@ -505,6 +562,7 @@ diagnostic APIs are available from
505
562
  ```sh
506
563
  npm run typecheck
507
564
  npm test
565
+ npm run test:offline-discovery
508
566
  npm run pack:check
509
567
  ```
510
568
 
@@ -513,5 +571,6 @@ npm run pack:check
513
571
  This project is available under the [MIT License](LICENSE). Third-party
514
572
  software is licensed by its respective owners; see
515
573
  [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for dependency scope,
516
- copyright notices, and license texts. Superpowers is referenced as a pinned
517
- external plugin and is not bundled into this package.
574
+ copyright notices, and license texts. The five adapted Superpowers v6.2.0
575
+ workflow skills and their required support files are bundled with the upstream
576
+ MIT license and provenance record.
@@ -1,13 +1,13 @@
1
1
  # Third-Party Notices
2
2
 
3
- Last reviewed for `0.6.0` on 2026-09-01.
3
+ Last reviewed for `0.8.0` on 2026-09-04.
4
4
 
5
- The published package does not vendor `node_modules`, third-party binaries, or
6
- third-party Skill source. Its compiled JavaScript imports the direct runtime
7
- dependency below, declares the OpenCode plugin API as a peer dependency, and
8
- installs a pinned external Superpowers reference into the target project's
9
- OpenCode configuration. Those relationships and their upstream notices are
10
- recorded here.
5
+ The published package does not vendor `node_modules` or third-party binaries.
6
+ Its compiled JavaScript imports the direct runtime dependency below and
7
+ declares the OpenCode plugin API as a peer dependency. A curated,
8
+ Orchestrator-specific derivative of five Superpowers v6.2.0 skills is bundled
9
+ into this package tarball under `resources/third-party/`; its relationship and
10
+ upstream notice are recorded here.
11
11
 
12
12
  ## jsonc-parser 3.3.1
13
13
 
@@ -75,10 +75,14 @@ SOFTWARE.
75
75
 
76
76
  ## Superpowers v6.2.0
77
77
 
78
- - Relationship: external companion plugin pinned as
79
- `superpowers@git+https://github.com/obra/superpowers.git#v6.2.0`. The
80
- initializer writes only this reference; Superpowers files are fetched and
81
- managed by OpenCode and are not copied into this package tarball.
78
+ - Relationship: selected skill source and required supporting files are
79
+ bundled into this package tarball, namespaced, and adapted to the sealed
80
+ Orchestrator workflow. The initializer no longer installs the Superpowers
81
+ plugin or requires GitHub access. The visual companion, localhost server,
82
+ browser launcher, remote branding, telemetry, bootstrap, and unrelated
83
+ skills are excluded. See
84
+ `resources/third-party/superpowers-v6.2.0/PROVENANCE.md` for the adaptation
85
+ record.
82
86
  - Source: <https://github.com/obra/superpowers/tree/v6.2.0>
83
87
  - License: MIT
84
88
  - Copyright: 2025 Jesse Vincent
package/dist/cli.js CHANGED
@@ -25,6 +25,7 @@ function printInitHelp() {
25
25
  process.stdout.write(` opencode-android-orchestrator init [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--long-command-timeout-ms <milliseconds>] [--json]\n`);
26
26
  process.stdout.write(`\nDefault module scope: all\n`);
27
27
  process.stdout.write(`Default Gradle verification: auto-discovered; the JSON option is an explicit override.\n`);
28
+ process.stdout.write(`Verification policy: edit lintEnabled and unitTestsEnabled in automation/config.json after installation.\n`);
28
29
  process.stdout.write(`Worktree allowlist: created automatically when missing; an existing regular file is preserved.\n`);
29
30
  process.stdout.write(`Default managed long-command timeout: ${DEFAULT_LONG_COMMAND_TIMEOUT_MS} ms (30 minutes).\n`);
30
31
  }
@@ -38,6 +39,7 @@ function printUpgradeHelp() {
38
39
  process.stdout.write(`Usage:\n`);
39
40
  process.stdout.write(` opencode-android-orchestrator upgrade [directory] [--module-scope <all|primary>] [--primary-module <gradle-path>] [--gradle-verification-config <json-path>] [--long-command-timeout-ms <milliseconds>] [--json]\n`);
40
41
  process.stdout.write(`\nPreserves the installed module scope; legacy installations default to primary.\n`);
42
+ process.stdout.write(`Preserves verification policy from automation/config.json; legacy defaults are unit tests enabled and lint disabled.\n`);
41
43
  process.stdout.write(`Preserves the installed long-command timeout; legacy installations default to ${DEFAULT_LONG_COMMAND_TIMEOUT_MS} ms.\n`);
42
44
  }
43
45
  function parseLongCommandTimeoutMs(value) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
2
+ export declare const DEFAULT_LINT_ENABLED = false;
3
+ export declare const DEFAULT_UNIT_TESTS_ENABLED = true;
4
+ export interface VerificationPolicy {
5
+ lintEnabled: boolean;
6
+ unitTestsEnabled: boolean;
7
+ }
8
+ interface ContentFingerprint {
9
+ sha256: string;
10
+ size: number;
11
+ }
12
+ /**
13
+ * Accept an otherwise byte-identical generated configuration when an operator
14
+ * changed only the two supported verification-policy booleans. Enumerating the
15
+ * previous boolean states lets upgrades authenticate the remaining managed
16
+ * content against the installed manifest without storing another file copy.
17
+ */
18
+ export declare function matchesManifestModuloVerificationPolicy(content: Uint8Array, expected: ContentFingerprint): boolean;
19
+ export {};
20
+ //# sourceMappingURL=verification-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-policy.d.ts","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAsBD;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAwCT"}
@@ -0,0 +1,59 @@
1
+ import { createHash } from "node:crypto";
2
+ export const AUTOMATION_CONFIG_RELATIVE_PATH = "automation/config.json";
3
+ export const DEFAULT_LINT_ENABLED = false;
4
+ export const DEFAULT_UNIT_TESTS_ENABLED = true;
5
+ function isRecord(value) {
6
+ return typeof value === "object" && value !== null && !Array.isArray(value);
7
+ }
8
+ function sha256(content) {
9
+ return createHash("sha256").update(content).digest("hex");
10
+ }
11
+ function setOptionalBoolean(value, key, configured) {
12
+ if (configured === undefined) {
13
+ delete value[key];
14
+ }
15
+ else {
16
+ value[key] = configured;
17
+ }
18
+ }
19
+ /**
20
+ * Accept an otherwise byte-identical generated configuration when an operator
21
+ * changed only the two supported verification-policy booleans. Enumerating the
22
+ * previous boolean states lets upgrades authenticate the remaining managed
23
+ * content against the installed manifest without storing another file copy.
24
+ */
25
+ export function matchesManifestModuloVerificationPolicy(content, expected) {
26
+ if (content.byteLength === expected.size &&
27
+ sha256(content) === expected.sha256) {
28
+ return true;
29
+ }
30
+ let parsed;
31
+ try {
32
+ parsed = JSON.parse(Buffer.from(content).toString("utf8"));
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ if (!isRecord(parsed)) {
38
+ return false;
39
+ }
40
+ if (typeof parsed.lintEnabled !== "boolean" ||
41
+ typeof parsed.unitTestsEnabled !== "boolean") {
42
+ return false;
43
+ }
44
+ const states = [undefined, false, true];
45
+ for (const unitTestsEnabled of states) {
46
+ for (const lintEnabled of states) {
47
+ const candidate = { ...parsed };
48
+ setOptionalBoolean(candidate, "unitTestsEnabled", unitTestsEnabled);
49
+ setOptionalBoolean(candidate, "lintEnabled", lintEnabled);
50
+ const rendered = Buffer.from(`${JSON.stringify(candidate, null, 2)}\n`);
51
+ if (rendered.byteLength === expected.size &&
52
+ sha256(rendered) === expected.sha256) {
53
+ return true;
54
+ }
55
+ }
56
+ }
57
+ return false;
58
+ }
59
+ //# sourceMappingURL=verification-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../../src/config/verification-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAY/C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,MAAM,CAAC,OAAmB;IACjC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA8B,EAC9B,GAA6B,EAC7B,UAA+B;IAE/B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uCAAuC,CACrD,OAAmB,EACnB,QAA4B;IAE5B,IACE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,MAAM,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS;QACvC,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAqC,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1E,KAAK,MAAM,gBAAgB,IAAI,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YAChC,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YACpE,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACxE,IACE,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,IAAI;gBACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,MAAM,EACpC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/doctor/installation.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAkkB9C,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,CA4DxB"}
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../src/doctor/installation.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AA+mB9C,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,GACtB,SAAS,WAAW,EAAE,CA4DxB"}
@@ -2,6 +2,8 @@ import { createHash } from "node:crypto";
2
2
  import { lstatSync, readFileSync, } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
+ import { DEFAULT_LONG_COMMAND_TIMEOUT_MS } from "../config/long-command-timeout.js";
6
+ import { AUTOMATION_CONFIG_RELATIVE_PATH, DEFAULT_LINT_ENABLED, DEFAULT_UNIT_TESTS_ENABLED, matchesManifestModuloVerificationPolicy, } from "../config/verification-policy.js";
5
7
  import { isModuleScope, planAdaptiveProjectTemplates, } from "../installer/adaptive-templates.js";
6
8
  import { planAgentsConfigMerge } from "../installer/agents-config.js";
7
9
  import { INSTALLATION_MANIFEST_RELATIVE_PATH, readInstallationManifest, verifyInstallationIntegrity, } from "../installer/install-manifest.js";
@@ -266,8 +268,14 @@ function managedResourceCheck(manifest, inspections) {
266
268
  continue;
267
269
  }
268
270
  const actualSha256 = sha256(inspection.file.content);
269
- if (inspection.file.content.byteLength !== file.size ||
270
- actualSha256 !== file.sha256) {
271
+ const contentChanged = inspection.file.content.byteLength !== file.size ||
272
+ actualSha256 !== file.sha256;
273
+ const supportedPolicyOverride = file.path === AUTOMATION_CONFIG_RELATIVE_PATH &&
274
+ matchesManifestModuloVerificationPolicy(inspection.file.content, {
275
+ sha256: file.sha256,
276
+ size: file.size,
277
+ });
278
+ if (contentChanged && !supportedPolicyOverride) {
271
279
  failures.push(`${file.path}: SHA-256 or size mismatch (actual ${actualSha256}).`);
272
280
  }
273
281
  }
@@ -276,7 +284,7 @@ function managedResourceCheck(manifest, inspections) {
276
284
  label: "Managed resources",
277
285
  status: failures.length === 0 ? "pass" : "fail",
278
286
  summary: failures.length === 0
279
- ? `All ${manifest.files.length} managed files match the manifest.`
287
+ ? `All ${manifest.files.length} managed files match the manifest or supported verification-policy overrides.`
280
288
  : `${failures.length} managed file(s) are missing, unsafe, or modified.`,
281
289
  details: failures,
282
290
  };
@@ -417,10 +425,43 @@ function managedConfigurationCheck(targetDirectory, manifest, inspections) {
417
425
  if (!isRecord(automationConfig.gradleVerification)) {
418
426
  throw new Error("automation config must contain a gradleVerification object");
419
427
  }
428
+ const lintEnabled = automationConfig.lintEnabled ?? DEFAULT_LINT_ENABLED;
429
+ if (typeof lintEnabled !== "boolean") {
430
+ throw new Error("lintEnabled must be a boolean");
431
+ }
432
+ if (automationConfig.lintEnabled === undefined) {
433
+ comparableAutomationConfig = {
434
+ ...comparableAutomationConfig,
435
+ lintEnabled,
436
+ };
437
+ }
438
+ const unitTestsEnabled = automationConfig.unitTestsEnabled ?? DEFAULT_UNIT_TESTS_ENABLED;
439
+ if (typeof unitTestsEnabled !== "boolean") {
440
+ throw new Error("unitTestsEnabled must be a boolean");
441
+ }
442
+ if (automationConfig.unitTestsEnabled === undefined) {
443
+ comparableAutomationConfig = {
444
+ ...comparableAutomationConfig,
445
+ unitTestsEnabled,
446
+ };
447
+ }
448
+ const longCommandTimeoutMs = automationConfig.longCommandTimeoutMs ?? DEFAULT_LONG_COMMAND_TIMEOUT_MS;
449
+ if (typeof longCommandTimeoutMs !== "number") {
450
+ throw new Error("longCommandTimeoutMs must be a number");
451
+ }
452
+ if (automationConfig.longCommandTimeoutMs === undefined) {
453
+ comparableAutomationConfig = {
454
+ ...comparableAutomationConfig,
455
+ longCommandTimeoutMs,
456
+ };
457
+ }
420
458
  const expected = planAdaptiveProjectTemplates(targetDirectory, {
421
459
  moduleScope,
422
460
  primaryModule,
423
461
  gradleVerification: automationConfig.gradleVerification,
462
+ lintEnabled,
463
+ unitTestsEnabled,
464
+ longCommandTimeoutMs,
424
465
  });
425
466
  if (!jsonMatches(comparableAutomationConfig, expected.automationConfig)) {
426
467
  failures.push("automation/config.json: configuration no longer matches the detected Android project and packaged safe defaults.");
@@ -428,6 +469,8 @@ function managedConfigurationCheck(targetDirectory, manifest, inspections) {
428
469
  else {
429
470
  details.push(`Automation module scope: ${moduleScope}`);
430
471
  details.push(`Automation default module: ${primaryModule}`);
472
+ details.push(`Unit-test verification: ${unitTestsEnabled ? "enabled" : "disabled"}`);
473
+ details.push(`Android lint verification: ${lintEnabled ? "enabled" : "disabled"}`);
431
474
  }
432
475
  const taskExample = JSON.parse(inspectedText("automation/tasks/TASK-TEMPLATE.json.example", inspections));
433
476
  if (!jsonMatches(taskExample, expected.taskContractExample)) {