opencode-autoresearch 3.5.0 → 3.7.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 (61) hide show
  1. package/.opencode-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +166 -0
  3. package/INSTALL.md +2 -2
  4. package/README.md +79 -39
  5. package/VERSION +1 -1
  6. package/dist/badge.d.ts +9 -0
  7. package/dist/badge.d.ts.map +1 -0
  8. package/dist/badge.js +86 -0
  9. package/dist/badge.js.map +1 -0
  10. package/dist/cli.js +638 -28
  11. package/dist/cli.js.map +1 -1
  12. package/dist/constants.d.ts +7 -1
  13. package/dist/constants.d.ts.map +1 -1
  14. package/dist/constants.js +7 -1
  15. package/dist/constants.js.map +1 -1
  16. package/dist/goal-init.d.ts +30 -0
  17. package/dist/goal-init.d.ts.map +1 -0
  18. package/dist/goal-init.js +109 -0
  19. package/dist/goal-init.js.map +1 -0
  20. package/dist/helpers.d.ts +30 -2
  21. package/dist/helpers.d.ts.map +1 -1
  22. package/dist/helpers.js +213 -7
  23. package/dist/helpers.js.map +1 -1
  24. package/dist/index.d.ts +10 -4
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +6 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/memory-manager.d.ts +24 -0
  29. package/dist/memory-manager.d.ts.map +1 -0
  30. package/dist/memory-manager.js +336 -0
  31. package/dist/memory-manager.js.map +1 -0
  32. package/dist/run-manager.d.ts +27 -2
  33. package/dist/run-manager.d.ts.map +1 -1
  34. package/dist/run-manager.js +210 -15
  35. package/dist/run-manager.js.map +1 -1
  36. package/dist/score-parser.d.ts +56 -0
  37. package/dist/score-parser.d.ts.map +1 -0
  38. package/dist/score-parser.js +109 -0
  39. package/dist/score-parser.js.map +1 -0
  40. package/dist/subagent-pool.d.ts +8 -0
  41. package/dist/subagent-pool.d.ts.map +1 -1
  42. package/dist/subagent-pool.js +67 -0
  43. package/dist/subagent-pool.js.map +1 -1
  44. package/dist/task-schema.d.ts +62 -0
  45. package/dist/task-schema.d.ts.map +1 -0
  46. package/dist/task-schema.js +95 -0
  47. package/dist/task-schema.js.map +1 -0
  48. package/dist/translators/cli.d.ts +5 -0
  49. package/dist/translators/cli.d.ts.map +1 -0
  50. package/dist/translators/cli.js +85 -0
  51. package/dist/translators/cli.js.map +1 -0
  52. package/dist/translators/hermes.d.ts +28 -0
  53. package/dist/translators/hermes.d.ts.map +1 -0
  54. package/dist/translators/hermes.js +102 -0
  55. package/dist/translators/hermes.js.map +1 -0
  56. package/dist/types.d.ts +104 -0
  57. package/dist/types.d.ts.map +1 -1
  58. package/docs/ARCHITECTURE.md +3 -0
  59. package/docs/RELEASE.md +15 -36
  60. package/hooks/verify-package.sh +5 -1
  61. package/package.json +6 -6
package/dist/types.d.ts CHANGED
@@ -12,9 +12,12 @@ export interface RunConfig {
12
12
  direction: string;
13
13
  verify: string;
14
14
  mode: string;
15
+ operating_mode?: string;
15
16
  scope?: string;
16
17
  guard?: string;
18
+ scorer?: string;
17
19
  iterations?: number;
20
+ max_no_progress?: number;
18
21
  duration?: string;
19
22
  memory_path?: string;
20
23
  required_keep_labels?: string[];
@@ -22,6 +25,12 @@ export interface RunConfig {
22
25
  run_tag?: string;
23
26
  stop_condition?: string;
24
27
  baseline?: string;
28
+ num_drafts?: number;
29
+ branch_selection_policy?: "best" | "roulette" | "diverse";
30
+ outcome_metric?: string;
31
+ outcome_direction?: string;
32
+ instrument_metric?: string;
33
+ instrument_direction?: string;
25
34
  }
26
35
  export type WizardConfig = Partial<Omit<RunConfig, 'baseline'>> & {
27
36
  rollback_strategy?: string;
@@ -50,7 +59,9 @@ export interface RunFlags {
50
59
  export interface LastIteration {
51
60
  iteration: number;
52
61
  decision: string;
62
+ scorer_status?: string;
53
63
  metric_value?: string;
64
+ instrument_value?: string;
54
65
  change_summary: string;
55
66
  labels: string[];
56
67
  timestamp: string;
@@ -58,6 +69,20 @@ export interface LastIteration {
58
69
  stop_labels_satisfied: boolean;
59
70
  missing_keep_labels: string[];
60
71
  missing_stop_labels: string[];
72
+ id?: string;
73
+ parent_id?: string;
74
+ branch?: string;
75
+ stage?: string;
76
+ agent?: string;
77
+ score_components?: Record<string, number>;
78
+ }
79
+ export type OperatingMode = "converge" | "continuous" | "supervised";
80
+ export interface ExperimentLineage {
81
+ id: string;
82
+ parent_id: string | null;
83
+ branch: string;
84
+ stage: string;
85
+ agent: string;
61
86
  }
62
87
  export interface RunState {
63
88
  schema_version: number;
@@ -66,11 +91,15 @@ export interface RunState {
66
91
  updated_at: string;
67
92
  status: string;
68
93
  mode: string;
94
+ operating_mode: OperatingMode;
69
95
  goal: string;
70
96
  scope: string;
71
97
  metric: Metric;
98
+ instrument_metric?: Metric;
72
99
  verify: string;
73
100
  guard?: string;
101
+ scorer?: string;
102
+ max_no_progress?: number;
74
103
  iterations_cap?: number;
75
104
  duration?: string;
76
105
  duration_seconds?: number;
@@ -84,6 +113,8 @@ export interface RunState {
84
113
  stats: RunStats;
85
114
  flags: RunFlags;
86
115
  last_iteration?: LastIteration;
116
+ draft_pool?: DraftPoolConfig;
117
+ lineage?: ExperimentLineage;
87
118
  }
88
119
  export interface SupervisorSnapshot {
89
120
  decision: string;
@@ -91,8 +122,10 @@ export interface SupervisorSnapshot {
91
122
  run_id: string;
92
123
  status: string;
93
124
  mode: string;
125
+ operating_mode: OperatingMode;
94
126
  goal: string;
95
127
  metric: Metric;
128
+ instrument_metric?: Metric;
96
129
  stats: RunStats;
97
130
  last_iteration?: LastIteration;
98
131
  results_rows: number;
@@ -102,5 +135,76 @@ export interface SupervisorSnapshot {
102
135
  subagent_pool?: Record<string, unknown>;
103
136
  continuation_policy?: Record<string, unknown>;
104
137
  subagent_guidance?: Record<string, unknown>;
138
+ draft_pool?: DraftPoolConfig;
139
+ }
140
+ export interface DraftBranch {
141
+ branch_id: string;
142
+ iteration: number;
143
+ parent_iteration: number;
144
+ metric_value?: string;
145
+ status: "pending" | "running" | "completed" | "discarded";
146
+ }
147
+ export interface MemoryProvenance {
148
+ run_id: string;
149
+ iteration: number;
150
+ goal: string;
151
+ metric_name: string;
152
+ metric_value: string;
153
+ direction: string;
154
+ timestamp: string;
155
+ labels: string[];
156
+ }
157
+ export interface MemoryItem {
158
+ id: string;
159
+ pattern: string;
160
+ description: string;
161
+ provenance: MemoryProvenance;
162
+ verification_count: number;
163
+ first_observed: string;
164
+ consolidated_at: string;
165
+ status: "active" | "expired";
166
+ expired_at?: string;
167
+ }
168
+ export interface PendingMemoryItem {
169
+ id: string;
170
+ pattern: string;
171
+ description: string;
172
+ provenance: MemoryProvenance;
173
+ verification_count: number;
174
+ first_observed: string;
175
+ last_verified: string;
176
+ }
177
+ export interface MemoryConsolidationState {
178
+ pending_items: PendingMemoryItem[];
179
+ consolidated_items: MemoryItem[];
180
+ consolidation_threshold: number;
181
+ last_consolidated?: string;
182
+ }
183
+ export interface MemoryAuditLogEntry {
184
+ timestamp: string;
185
+ action: "added" | "expired" | "promoted";
186
+ item_id: string;
187
+ pattern: string;
188
+ provenance: MemoryProvenance;
189
+ verification_count: number;
190
+ reason?: string;
191
+ }
192
+ export interface DraftPoolConfig {
193
+ kind: "autoresearch_draft_pool";
194
+ version: number;
195
+ num_drafts: number;
196
+ branch_selection_policy: "best" | "roulette" | "diverse";
197
+ active_drafts: DraftBranch[];
198
+ best_branch_id?: string;
199
+ }
200
+ export interface GoalDoc {
201
+ goal: string;
202
+ metric: string;
203
+ direction: string;
204
+ verify: string;
205
+ guard?: string;
206
+ constraints?: string;
207
+ file_map?: string;
208
+ stop_conditions?: string;
105
209
  }
106
210
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -109,6 +109,7 @@ flowchart TD
109
109
  | Artifact | Purpose |
110
110
  | --- | --- |
111
111
  | `.autoresearch/state.json` | Current run checkpoint |
112
+ | `.autoresearch/goal.md` | First-class goal document (goal, metric, verify, guard, constraints, file\_map, stop\_conditions) |
112
113
  | `autoresearch-results.tsv` | Iteration log |
113
114
  | `.autoresearch/launch.json` | Background launch request |
114
115
  | `autoresearch-report.md` | End-of-run report |
@@ -151,8 +152,10 @@ flowchart TD
151
152
  | Command | Purpose |
152
153
  | --- | --- |
153
154
  | `autoresearch init` | Initialize a run |
155
+ | `autoresearch goal init` | Create a `GOAL.md` goal definition file |
154
156
  | `autoresearch wizard` | Generate setup summary |
155
157
  | `autoresearch status` | Print run status |
158
+ | `autoresearch goal` | Show the goal document |
156
159
  | `autoresearch launch` | Launch background run |
157
160
  | `autoresearch stop` | Request stop |
158
161
  | `autoresearch resume` | Resume background run |
package/docs/RELEASE.md CHANGED
@@ -1,25 +1,16 @@
1
1
  # Release Process
2
2
 
3
- This package uses npm publish for releases. GitHub Actions automates the full release pipeline.
3
+ This package uses semantic-release to publish GitHub Releases and npm packages. Pull requests validate release readiness; merges to `main` publish automatically.
4
4
 
5
5
  ## Version Alignment
6
6
 
7
- `VERSION`, `package.json`, `package-lock.json`, `src/constants.ts`, and `.opencode-plugin/plugin.json` must all stay aligned. The `VERSION` file is the canonical source of truth.
7
+ Semantic-release publishes from the checked-out merge commit but does not push release commits back to protected `main`. Keep version surfaces aligned in release-prep PRs when pinned install docs or runtime version constants need to change.
8
8
 
9
9
  ## Release Steps
10
10
 
11
- ### 1. Update version
11
+ ### 1. Prepare a conventional commit
12
12
 
13
- ```bash
14
- # Update VERSION file
15
- echo "3.3.3" > VERSION
16
-
17
- # Sync to package.json
18
- npm version 3.3.3 --no-git-tag-version
19
-
20
- # Sync to src/constants.ts
21
- # Update the VERSION export manually or use sed
22
- ```
13
+ Use a semantic-release compatible commit message such as `fix: restore release build` or `feat: add workflow mode`. Do not manually tag releases for the normal path.
23
14
 
24
15
  ### 2. Build and verify
25
16
 
@@ -31,40 +22,28 @@ npm run verify:pack
31
22
  npm test
32
23
  ```
33
24
 
34
- ### 3. Update CHANGELOG
35
-
36
- Add a new section for the version in `CHANGELOG.md`:
37
-
38
- ```markdown
39
- ## [3.3.3] - YYYY-MM-DD
40
-
41
- ### Added
42
- - Root install handoff
43
- - Public install verification notes
44
-
45
- ### Changed
46
- - Installation docs
47
- - Package verification allowlist
48
- ```
49
-
50
- ### 4. Commit and tag
25
+ ### 3. Open and merge a pull request
51
26
 
52
27
  ```bash
53
28
  git add -A
54
- git commit -m "Release v3.3.3"
55
- git tag v3.3.3
56
- git push origin main v3.3.3
29
+ git commit -m "fix: restore release build"
30
+ git push -u origin <branch>
31
+ gh pr create --fill
57
32
  ```
58
33
 
59
- ### 5. Automated release
34
+ After CI passes, merge the pull request into `main`. The merge to `main` triggers `release.yml`.
35
+
36
+ ### 4. Automated release
60
37
 
61
38
  GitHub Actions will:
62
39
 
63
40
  1. Build and type-check
64
41
  2. Verify package contents
65
42
  3. Run tests
66
- 4. Create a GitHub Release with the CHANGELOG section
67
- 5. Publish to npm with provenance through trusted publishing
43
+ 4. Run semantic-release on `main`
44
+ 5. Sync version files in the release workspace for packaging
45
+ 6. Create a GitHub Release
46
+ 7. Publish npm `latest` with provenance through trusted publishing
68
47
 
69
48
  ## Manual publish (fallback)
70
49
 
@@ -16,7 +16,7 @@ const packResult = JSON.parse(raw);
16
16
  const entries = Array.isArray(packResult) ? packResult : [packResult];
17
17
  const files = entries.flatMap((entry) => Array.isArray(entry.files) ? entry.files : []);
18
18
 
19
- const allowedRoots = new Set(["dist", "hooks", "commands", "skills", ".opencode-plugin"]);
19
+ const allowedRoots = new Set(["dist", "hooks", "commands", "skills", ".opencode-plugin", ".vscode"]);
20
20
  const allowedFiles = new Set([
21
21
  "package.json",
22
22
  "README.md",
@@ -24,6 +24,9 @@ const allowedFiles = new Set([
24
24
  "AGENTS.md",
25
25
  "VERSION",
26
26
  "INSTALL.md",
27
+ "CHANGELOG.md",
28
+ ".editorconfig",
29
+ ".gitattributes",
27
30
  ".opencode/INSTALL.md",
28
31
  "plugins/autoresearch.ts",
29
32
  "docs/ARCHITECTURE.md",
@@ -45,6 +48,7 @@ const requiredFiles = [
45
48
  "hooks/init.sh",
46
49
  "skills/autoresearch/SKILL.md",
47
50
  "commands/autoresearch.md",
51
+ "CHANGELOG.md",
48
52
  ];
49
53
 
50
54
  const normalizePath = (filePath) => filePath.replace(/^package\//, "");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-autoresearch",
3
- "version": "3.5.0",
3
+ "version": "3.7.0",
4
4
  "description": "Autonomous recursive self-improvement engine for OpenCode and Hermes Agent. Subagent-first iteration loop with mechanical verification.",
5
5
  "author": {
6
6
  "name": "Maleick",
@@ -58,13 +58,14 @@
58
58
  "AGENTS.md",
59
59
  "VERSION",
60
60
  "README.md",
61
+ "CHANGELOG.md",
61
62
  "LICENSE"
62
63
  ],
63
64
  "scripts": {
64
65
  "build": "tsc",
65
66
  "typecheck": "tsc --noEmit",
66
67
  "audit": "npm audit --audit-level=moderate",
67
- "test": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.json",
68
+ "test": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.json --runInBand",
68
69
  "verify:pack": "bash hooks/verify-package.sh",
69
70
  "prepack": "node scripts/sync-version.mjs && tsc"
70
71
  },
@@ -72,18 +73,17 @@
72
73
  "@semantic-release/changelog": "^6.0.3",
73
74
  "@semantic-release/commit-analyzer": "^13.0.1",
74
75
  "@semantic-release/exec": "^7.1.0",
75
- "@semantic-release/git": "^10.0.1",
76
76
  "@semantic-release/github": "^12.0.6",
77
77
  "@semantic-release/npm": "^13.1.5",
78
78
  "@semantic-release/release-notes-generator": "^14.1.0",
79
79
  "@types/jest": "^30.0.0",
80
- "@types/node": "^20.0.0",
80
+ "@types/node": "^25.6.2",
81
81
  "jest": "^30.3.0",
82
82
  "semantic-release": "^25.0.3",
83
83
  "ts-jest": "^29.4.9",
84
- "typescript": "^5.9.3"
84
+ "typescript": "^6.0.3"
85
85
  },
86
86
  "engines": {
87
- "node": ">=18.0.0"
87
+ "node": ">=22"
88
88
  }
89
89
  }