woods 2.0.0.beta4 → 2.0.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +495 -471
- data/CONTRIBUTING.md +12 -2
- data/README.md +11 -26
- data/docs/AGENT_GUIDE.md +31 -12
- data/docs/AGENT_SETUP.md +17 -10
- data/docs/AUTOMATIC_MAINTENANCE.md +222 -0
- data/docs/BACKEND_MATRIX.md +13 -7
- data/docs/CLIENT_HOOKS.md +1 -1
- data/docs/CONFIGURATION_REFERENCE.md +44 -27
- data/docs/CONSOLE_MCP_SETUP.md +95 -16
- data/docs/DOCKER_SETUP.md +15 -0
- data/docs/EVALUATION.md +10 -4
- data/docs/EXTRACTOR_REFERENCE.md +14 -2
- data/docs/FAQ.md +14 -3
- data/docs/GETTING_STARTED.md +18 -17
- data/docs/INCREMENTAL_EXTRACTION.md +8 -3
- data/docs/INDEX_LAYOUT.md +2 -2
- data/docs/MCP_HTTP_TRANSPORT.md +54 -2
- data/docs/MCP_SERVERS.md +28 -11
- data/docs/MCP_TOOL_COOKBOOK.md +1 -1
- data/docs/MCP_WORKTREE_SETUP.md +13 -1
- data/docs/PUBLISHED_INDEX.md +1 -1
- data/docs/README.md +2 -1
- data/docs/RETRIEVAL_GUIDE.md +57 -8
- data/docs/SOURCE_FRESHNESS.md +1 -1
- data/docs/TOKEN_BENCHMARK.md +16 -10
- data/docs/TROUBLESHOOTING.md +133 -37
- data/docs/UPGRADING_TO_2.md +69 -7
- data/docs/WATCH_DAEMON.md +172 -17
- data/docs/WHY_WOODS.md +9 -5
- data/exe/woods-console +13 -11
- data/exe/woods-mcp-http +16 -9
- data/exe/woods-watch +5 -0
- data/lib/generators/woods/watch_generator.rb +53 -0
- data/lib/puma/plugin/woods.rb +10 -0
- data/lib/tasks/woods.rake +14 -0
- data/lib/woods/cache/cache_middleware.rb +18 -11
- data/lib/woods/console/adapter_family.rb +39 -0
- data/lib/woods/console/credential_index.rb +33 -3
- data/lib/woods/console/embedded_executor.rb +401 -43
- data/lib/woods/console/model_validator.rb +8 -0
- data/lib/woods/console/rack_middleware.rb +39 -10
- data/lib/woods/console/redactor.rb +24 -10
- data/lib/woods/console/safe_context.rb +44 -7
- data/lib/woods/console/sql_noise_stripper.rb +41 -12
- data/lib/woods/console/sql_table_scanner.rb +45 -34
- data/lib/woods/console/sql_validator.rb +37 -2
- data/lib/woods/console/stdio_transport.rb +27 -0
- data/lib/woods/extractor.rb +25 -7
- data/lib/woods/git_command.rb +6 -7
- data/lib/woods/git_provenance.rb +4 -6
- data/lib/woods/mcp/bearer_auth.rb +1 -1
- data/lib/woods/mcp/bootstrapper.rb +3 -1
- data/lib/woods/mcp/initialization_guidance.rb +1 -1
- data/lib/woods/mcp/origin_guard.rb +24 -77
- data/lib/woods/mcp/origin_policy.rb +124 -0
- data/lib/woods/mcp/server.rb +41 -9
- data/lib/woods/railtie_support.rb +8 -0
- data/lib/woods/retrieval/corpus_status.rb +46 -0
- data/lib/woods/retriever.rb +19 -7
- data/lib/woods/storage/local_corpus_stats.rb +32 -0
- data/lib/woods/storage/metadata_store.rb +20 -0
- data/lib/woods/storage/vector_store.rb +10 -0
- data/lib/woods/version.rb +1 -1
- data/lib/woods/watch/child_environment.rb +30 -0
- data/lib/woods/watch/cli.rb +91 -0
- data/lib/woods/watch/daemon.rb +55 -7
- data/lib/woods/watch/event_stream.rb +70 -0
- data/lib/woods/watch/guardian.rb +142 -0
- data/lib/woods/watch/installation/layout.rb +70 -0
- data/lib/woods/watch/installation/options.rb +128 -0
- data/lib/woods/watch/installation/planner.rb +128 -0
- data/lib/woods/watch/installation/probe.rb +101 -0
- data/lib/woods/watch/installation/receipt.rb +77 -0
- data/lib/woods/watch/installation/recovery.rb +64 -0
- data/lib/woods/watch/installation/templates.rb +58 -0
- data/lib/woods/watch/installation.rb +56 -0
- data/lib/woods/watch/lifecycle.rb +182 -0
- data/lib/woods/watch/managed_child.rb +113 -0
- data/lib/woods/watch/managed_cleanup.rb +48 -0
- data/lib/woods/watch/managed_process.rb +144 -0
- data/lib/woods/watch/puma_adapter.rb +87 -0
- data/lib/woods/watch/puma_child.rb +66 -0
- data/lib/woods/watch/supervision_records.rb +95 -0
- data/lib/woods/watch/supervision_status.rb +104 -0
- data/lib/woods/watch/supervisor.rb +161 -0
- data/lib/woods/watch/supervisor_reporting.rb +46 -0
- data/plugin/.claude-plugin/plugin.json +1 -1
- data/plugin/skills/woods-agent-enable/SKILL.md +1 -1
- data/plugin/skills/woods-diagnose/SKILL.md +88 -8
- data/plugin/skills/woods-investigate/SKILL.md +6 -6
- data/plugin/skills/woods-mcp-config/SKILL.md +43 -1
- data/plugin/skills/woods-setup/SKILL.md +66 -4
- metadata +37 -5
|
@@ -55,11 +55,26 @@ when unavailable. See the
|
|
|
55
55
|
|
|
56
56
|
Use this shape for any stdio-capable MCP client, adapted to the client's configuration location. `woods-mcp-start` validates and launches; it does not install or auto-restart.
|
|
57
57
|
|
|
58
|
+
MCP registration does not start automatic indexing. Existing readers observe
|
|
59
|
+
published generations without reconnecting; separately verify the watcher owner,
|
|
60
|
+
startup catch-up, and a real edit. Native launcher/Puma installation (#538) is
|
|
61
|
+
included in Woods `2.0.0`: check installed `woods-watch` and generator help
|
|
62
|
+
before offering it. Preserve the existing external service in Docker/Grove and
|
|
63
|
+
keep its source/index aligned across switches. See
|
|
64
|
+
[automatic maintenance](https://github.com/lost-in-the/woods/blob/main/docs/AUTOMATIC_MAINTENANCE.md).
|
|
65
|
+
|
|
58
66
|
Writer-version provenance (#323) is available in Woods `2.0.0.beta3`; check the installed
|
|
59
67
|
gem version's release notes before expecting `index.woods_version` in `woods_status`. It reports
|
|
60
68
|
the last manifest publisher, independently of `server.version`. Treat missing/null
|
|
61
69
|
as unknown and see [writer provenance](https://github.com/lost-in-the/woods/blob/main/docs/PUBLISHED_INDEX.md#manifest-writer-provenance).
|
|
62
70
|
|
|
71
|
+
Verify semantic retrieval separately from structural `ready`. A reachable
|
|
72
|
+
provider and bootstrap `hydrated` can coexist with empty stores. If the recorded
|
|
73
|
+
reader supports #549, inspect `retriever.corpus` for local record counts and
|
|
74
|
+
known-empty diagnostics; absent or unknown counts require checking embedding
|
|
75
|
+
artifacts. These fields do not certify embedding coverage. See the
|
|
76
|
+
[readiness distinction](https://github.com/lost-in-the/woods/blob/main/docs/RETRIEVAL_GUIDE.md#semantic-corpus-diagnostics).
|
|
77
|
+
|
|
63
78
|
When Woods is installed only in Docker, prefer running the server through the application container:
|
|
64
79
|
|
|
65
80
|
```json
|
|
@@ -74,7 +89,13 @@ When Woods is installed only in Docker, prefer running the server through the ap
|
|
|
74
89
|
}
|
|
75
90
|
```
|
|
76
91
|
|
|
77
|
-
Use a host-side bundle only after verifying Ruby, the application bundle, and the index are available on the host. Always pass the path visible to the process that runs `woods-mcp`. Prefer an explicit index path on all versions.
|
|
92
|
+
Use a host-side bundle only after verifying Ruby, the application bundle, and the index are available on the host. Always pass the path visible to the process that runs `woods-mcp`. Prefer an explicit index path on all versions. Woods `2.0.0` includes `WOODS_OUTPUT` as a fallback after the positional path and `WOODS_DIR`; check the installed version's configuration guide before relying on it. `woods-mcp-start` still refuses a missing path rather than selecting its working directory.
|
|
93
|
+
|
|
94
|
+
For linked worktrees, verify source/index alignment and the extraction's Git
|
|
95
|
+
branch and exact SHA. Preserve the complete shared Git layout and select the
|
|
96
|
+
worktree-specific directory when using the installed version's `WOODS_GIT_DIR`
|
|
97
|
+
override; the shared root selects the primary checkout's HEAD. Follow the
|
|
98
|
+
[worktree mount guide](https://github.com/lost-in-the/woods/blob/main/docs/TROUBLESHOOTING.md#git-directory-mounts-for-linked-worktrees).
|
|
78
99
|
|
|
79
100
|
A read-only index mount is sufficient for structural tools. The `reload` tool for in-memory semantic retrieval also takes Woods' shared on-disk writer lock, so the MCP process needs write access to the index directory. Without it, reload returns a typed degraded error and keeps serving the previous aligned generation. Either grant that access or restart the MCP process after publishing a new embedded index.
|
|
80
101
|
|
|
@@ -116,6 +137,12 @@ Then add a direct Console process:
|
|
|
116
137
|
|
|
117
138
|
For Docker/SSH, configure `~/.woods/console.yml` or `WOODS_CONSOLE_CONFIG`; the launcher owns process replacement. Direct Docker stdio uses `docker exec -i`, or `docker compose exec -T` to disable Compose's pseudo-TTY while retaining stdin.
|
|
118
139
|
|
|
140
|
+
Reserve stdout for MCP. Through Woods `2.0.0.beta4`, configure the Console
|
|
141
|
+
process's Rails logger to use stderr or a file, including logs during queries.
|
|
142
|
+
Runtime stdout isolation is included in Woods `2.0.0`; verify the installed
|
|
143
|
+
revision before relying on it. Use the rake entry point to capture Rails boot
|
|
144
|
+
output as well.
|
|
145
|
+
|
|
119
146
|
Console registers nine default tools. `config.console_embedded_read_tools = true` explicitly adds `console_sql` and `console_query` for eleven total. Tier 2, Tier 3, and `console_eval` are inventory-only in supported packaged modes.
|
|
120
147
|
|
|
121
148
|
## Shape 3: Authenticated Console HTTP
|
|
@@ -187,3 +214,18 @@ returned typed, SHA-guarded `full_evidence` lookup for verification. Published-u
|
|
|
187
214
|
coordinates are not physical file offsets; unknown generation remains unknown.
|
|
188
215
|
Keep full-source access available. See the canonical
|
|
189
216
|
[evidence contract](https://github.com/lost-in-the/woods/blob/main/docs/RETRIEVAL_GUIDE.md#compact-published-evidence-and-api-outlines).
|
|
217
|
+
|
|
218
|
+
### HTTP configuration diagnostics on security-patch candidates
|
|
219
|
+
|
|
220
|
+
Check the installed revision before expecting this unreleased correction. Invalid
|
|
221
|
+
origin settings, including invalidly encoded entries, refuse at boot. The HTTP
|
|
222
|
+
executable reports one configuration diagnostic and exits 2. Correct the named
|
|
223
|
+
entry and restart; keep authentication and origin checks enabled. Follow the
|
|
224
|
+
installed revision's canonical `docs/MCP_HTTP_TRANSPORT.md` for accepted origins.
|
|
225
|
+
|
|
226
|
+
Use whitespace-free literal origin entries; explicit lists replace browser
|
|
227
|
+
defaults, and wildcard patterns are unsupported. Preserve the real Host behind
|
|
228
|
+
proxies. Verify both preflight and bearer-authenticated dispatch against the
|
|
229
|
+
[HTTP compatibility guide](https://github.com/lost-in-the/woods/blob/main/docs/MCP_HTTP_TRANSPORT.md#origin-configuration-compatibility)
|
|
230
|
+
at the installed revision; configured non-loopback Hosts are passed to the SDK
|
|
231
|
+
in supporting patches.
|
|
@@ -38,7 +38,7 @@ This skill describes the Woods 2.x line; the authoritative minimum version lives
|
|
|
38
38
|
|
|
39
39
|
Choose the published version using the canonical
|
|
40
40
|
[installation guide](https://github.com/lost-in-the/woods/blob/main/docs/GETTING_STARTED.md#1-install-the-gem)
|
|
41
|
-
and
|
|
41
|
+
and confirm the selected version on RubyGems. When only prereleases are published for
|
|
42
42
|
2.x, add the exact published beta/RC constraint shown there to the development
|
|
43
43
|
group; `~> 2.0` does not select prereleases. Use `gem "woods", "~> 2.0"` only after
|
|
44
44
|
a stable 2.x release is published. Follow the selected version's tag docs and
|
|
@@ -108,9 +108,58 @@ When Woods is installed only in Docker, launch it through the application servic
|
|
|
108
108
|
}
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
+
For linked worktrees, verify source/index alignment and the extraction's Git
|
|
112
|
+
branch and exact SHA. Preserve the complete shared Git layout and select the
|
|
113
|
+
worktree-specific directory when using the installed version's `WOODS_GIT_DIR`
|
|
114
|
+
override; the shared root selects the primary checkout's HEAD. Follow the
|
|
115
|
+
[worktree mount guide](https://github.com/lost-in-the/woods/blob/main/docs/TROUBLESHOOTING.md#git-directory-mounts-for-linked-worktrees).
|
|
116
|
+
|
|
111
117
|
Reconnect and call `woods_status`, then `search`, `lookup`, and `dependents` for a known class. The normal Index Server has 14 tools. `codebase_retrieve` requires configured embeddings in semantic mode; see the lexical capability check below for the opt-in provider-free mode.
|
|
112
118
|
|
|
113
|
-
|
|
119
|
+
Structural readiness alone does not verify semantic retrieval. If that mode is
|
|
120
|
+
requested, confirm an embedding run and a useful retrieval result. Readers with
|
|
121
|
+
#549 expose `retriever.corpus` counts; check the installed capability before
|
|
122
|
+
expecting them. Unknown counts are not zero, and positive counts do not certify
|
|
123
|
+
complete embedding coverage. See
|
|
124
|
+
[corpus diagnostics](https://github.com/lost-in-the/woods/blob/main/docs/RETRIEVAL_GUIDE.md#semantic-corpus-diagnostics).
|
|
125
|
+
|
|
126
|
+
Offer one automatic-maintenance owner within the setup scope. The managed launcher,
|
|
127
|
+
watcher generator, and Puma adapter (#538) are **included in Woods `2.0.0`**.
|
|
128
|
+
Record the loaded gem path and revision, then verify `bundle exec woods-watch
|
|
129
|
+
--help` and `bin/rails generate woods:watch --help` before using them. Follow the
|
|
130
|
+
[managed startup runbook](https://github.com/lost-in-the/woods/blob/main/docs/WATCH_DAEMON.md#managed-development-startup):
|
|
131
|
+
Puma for simple Rails startup, an explicit verified Foreman command/Procfile, or
|
|
132
|
+
the existing external Docker/Grove supervisor. Preview before applying within
|
|
133
|
+
existing authorization. Preserve `bin/dev`; never claim an unused Procfile is
|
|
134
|
+
active. Keep the portable receipt with generated files and respect edit conflicts.
|
|
135
|
+
Puma installation supports the normal default `config/puma.rb` route; an existing
|
|
136
|
+
environment-specific file or custom `-C` route needs a different explicit owner.
|
|
137
|
+
The #542 guard included in Woods `2.0.0` checks plugin files in the active gem, including Git/path
|
|
138
|
+
bundles. Older gems without the plugin skip watcher startup. Existing generated
|
|
139
|
+
Puma setups need an explicit `--operation update --mode puma` (preview first) to
|
|
140
|
+
upgrade the owned guard in place; repeating setup preserves it. The wrapper and
|
|
141
|
+
Foreman entry still require a supporting gem. Remove owned setup before a permanent
|
|
142
|
+
downgrade; do not hand-edit the receipt or its managed block.
|
|
143
|
+
Run setup in the normal application bundle environment. The #540 fix in Woods `2.0.0`
|
|
144
|
+
preserves `BUNDLE_PATH`, `BUNDLE_APP_CONFIG`, and group selection during preflight;
|
|
145
|
+
older Git builds may falsely report missing gems. Check the loaded revision
|
|
146
|
+
before changing persistent Bundler settings to work around that error.
|
|
147
|
+
The #544 fix in Woods `2.0.0` makes generator refusals exit nonzero. Earlier Git builds
|
|
148
|
+
can exit zero after printing a refusal; verify the diagnostic and applied setup
|
|
149
|
+
before treating their exit status as installation success.
|
|
150
|
+
For an interrupted install, use the generator's `--operation recover --pretend`
|
|
151
|
+
before applying recovery; preserve journals when concurrent edits block it. The
|
|
152
|
+
Rails generator command boots the app first: use the runbook's direct bundled
|
|
153
|
+
Ruby recovery helper when an initializer prevents boot.
|
|
154
|
+
|
|
155
|
+
On older gems, use the raw task only with a restart-capable external supervisor;
|
|
156
|
+
do not place it bare in Foreman, where exit 75 stops the whole stack. Use the
|
|
157
|
+
application's real Rails task entrypoint without a preceding `environment` task.
|
|
158
|
+
Managed mode rejects idle TTL and does not take over conflicting owners. Verify
|
|
159
|
+
startup catch-up, an edit, and a planned restart through the existing MCP reader;
|
|
160
|
+
for Grove, also verify worktree/source/index alignment. Docker may need polling.
|
|
161
|
+
Semantic vectors still need `woods:embed_incremental`; hooks and MCP registration
|
|
162
|
+
do not install watcher startup.
|
|
114
163
|
|
|
115
164
|
Foreign-host heartbeat trust (`WOODS_WATCH_TRUST_FOREIGN_HOST=1`, #321) is available in
|
|
116
165
|
Woods `2.0.0.beta3`.
|
|
@@ -155,13 +204,18 @@ for transport, retry and custom-root limits.
|
|
|
155
204
|
|
|
156
205
|
## Ask before expanding scope
|
|
157
206
|
|
|
158
|
-
For pgvector, match the provider output and migration dimensions within 1–2,000. Default `text-embedding-3-large` output (3,072) needs an explicit smaller provider width or another backend; never silently truncate vectors. Early adapter/generator refusal is
|
|
207
|
+
For pgvector, match the provider output and migration dimensions within 1–2,000. Default `text-embedding-3-large` output (3,072) needs an explicit smaller provider width or another backend; never silently truncate vectors. Early adapter/generator refusal is included in Woods `2.0.0`, so check the installed revision. See the [dimension contract](https://github.com/lost-in-the/woods/blob/main/docs/CONFIGURATION_REFERENCE.md#pgvector-postgresql).
|
|
159
208
|
|
|
160
209
|
Require explicit approval before adding Ollama/OpenAI, pgvector/Qdrant, secrets, Console MCP/live-data access, HTTP transport, or purge overrides. The `:local` preset avoids cloud keys but requires the `sqlite3` gem, an installed/running Ollama service, and a pulled model (`ollama pull nomic-embed-text` by default); `:shared_filesystem` avoids sqlite3 but still uses Ollama. Recommend `gem "tokenizers", "~> 0.5"` for exact counting on dense Ruby source, while stating that it is optional.
|
|
161
210
|
|
|
162
211
|
## Handoff
|
|
163
212
|
|
|
164
|
-
Report the Woods version, branch, files changed, commands/results, index
|
|
213
|
+
Report the Woods version/revision, branch, files changed, commands/results, index
|
|
214
|
+
path, MCP calls verified, semantic retrieval and Console status, and unresolved
|
|
215
|
+
risks. For automatic maintenance record the owner, actual startup command,
|
|
216
|
+
completed catch-up, observed edit/restart, and worktree verification. Report
|
|
217
|
+
refresh hooks, session checks, and context hints separately. Never infer
|
|
218
|
+
availability from source schemas or a live process alone.
|
|
165
219
|
|
|
166
220
|
Canonical runbook: [AGENT_SETUP.md](https://github.com/lost-in-the/woods/blob/main/docs/AGENT_SETUP.md).
|
|
167
221
|
|
|
@@ -201,3 +255,11 @@ dependents and suggested tests manually; silence is not no impact. Do not clear
|
|
|
201
255
|
refresh queues when optional hints time out. See the canonical
|
|
202
256
|
[context guide](https://github.com/lost-in-the/woods/blob/main/docs/WATCH_DAEMON.md#optional-bounded-context-hints)
|
|
203
257
|
for output/time limits, container root mapping and emitted-hint suppression.
|
|
258
|
+
|
|
259
|
+
### Security-patch compatibility preflight
|
|
260
|
+
|
|
261
|
+
For security-patch candidates after 2.0.0, record the loaded revision and gem
|
|
262
|
+
path as well as the version. Review the [Console compatibility guide](https://github.com/lost-in-the/woods/blob/main/docs/CONSOLE_MCP_SETUP.md#read-policy-compatibility)
|
|
263
|
+
and HTTP origin compatibility at that revision before upgrading an authorized
|
|
264
|
+
Console installation. The plugin does not install these fixes or establish that
|
|
265
|
+
a release is published.
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: woods
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Leah Armstrong
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mcp
|
|
@@ -113,6 +113,7 @@ description: |
|
|
|
113
113
|
email:
|
|
114
114
|
- info@leah.wtf
|
|
115
115
|
executables:
|
|
116
|
+
- woods-watch
|
|
116
117
|
- woods-mcp
|
|
117
118
|
- woods-mcp-start
|
|
118
119
|
- woods-console-mcp
|
|
@@ -133,6 +134,7 @@ files:
|
|
|
133
134
|
- assets/woods-wordmark-white-with-bg.png
|
|
134
135
|
- docs/AGENT_GUIDE.md
|
|
135
136
|
- docs/AGENT_SETUP.md
|
|
137
|
+
- docs/AUTOMATIC_MAINTENANCE.md
|
|
136
138
|
- docs/BACKEND_MATRIX.md
|
|
137
139
|
- docs/CLIENT_HOOKS.md
|
|
138
140
|
- docs/CONFIGURATION_REFERENCE.md
|
|
@@ -171,11 +173,14 @@ files:
|
|
|
171
173
|
- exe/woods-mcp
|
|
172
174
|
- exe/woods-mcp-http
|
|
173
175
|
- exe/woods-mcp-start
|
|
176
|
+
- exe/woods-watch
|
|
174
177
|
- lib/generators/woods/install_generator.rb
|
|
175
178
|
- lib/generators/woods/pgvector_generator.rb
|
|
176
179
|
- lib/generators/woods/templates/add_pgvector_to_woods.rb.erb
|
|
177
180
|
- lib/generators/woods/templates/create_woods_tables.rb.erb
|
|
178
181
|
- lib/generators/woods/templates/woods.rb.tt
|
|
182
|
+
- lib/generators/woods/watch_generator.rb
|
|
183
|
+
- lib/puma/plugin/woods.rb
|
|
179
184
|
- lib/tasks/woods.rake
|
|
180
185
|
- lib/tasks/woods_checks.rake
|
|
181
186
|
- lib/tasks/woods_evaluation.rake
|
|
@@ -211,6 +216,7 @@ files:
|
|
|
211
216
|
- lib/woods/checks/moved_messages.rb
|
|
212
217
|
- lib/woods/chunking/chunk.rb
|
|
213
218
|
- lib/woods/chunking/semantic_chunker.rb
|
|
219
|
+
- lib/woods/console/adapter_family.rb
|
|
214
220
|
- lib/woods/console/audit_logger.rb
|
|
215
221
|
- lib/woods/console/bridge_protocol.rb
|
|
216
222
|
- lib/woods/console/confirmation.rb
|
|
@@ -235,6 +241,7 @@ files:
|
|
|
235
241
|
- lib/woods/console/sql_table_scanner.rb
|
|
236
242
|
- lib/woods/console/sql_validator.rb
|
|
237
243
|
- lib/woods/console/sqlite_read_guard.rb
|
|
244
|
+
- lib/woods/console/stdio_transport.rb
|
|
238
245
|
- lib/woods/console/table_gate.rb
|
|
239
246
|
- lib/woods/console/tool_specs.rb
|
|
240
247
|
- lib/woods/console/tools/tier1.rb
|
|
@@ -370,6 +377,7 @@ files:
|
|
|
370
377
|
- lib/woods/mcp/index_reader_pinning.rb
|
|
371
378
|
- lib/woods/mcp/initialization_guidance.rb
|
|
372
379
|
- lib/woods/mcp/origin_guard.rb
|
|
380
|
+
- lib/woods/mcp/origin_policy.rb
|
|
373
381
|
- lib/woods/mcp/protocol_policy.rb
|
|
374
382
|
- lib/woods/mcp/provider_probe.rb
|
|
375
383
|
- lib/woods/mcp/published_lexical_retriever.rb
|
|
@@ -430,6 +438,7 @@ files:
|
|
|
430
438
|
- lib/woods/resilience/retryable_provider.rb
|
|
431
439
|
- lib/woods/resolved_config.rb
|
|
432
440
|
- lib/woods/retrieval/context_assembler.rb
|
|
441
|
+
- lib/woods/retrieval/corpus_status.rb
|
|
433
442
|
- lib/woods/retrieval/lexical_assembler.rb
|
|
434
443
|
- lib/woods/retrieval/lexical_index.rb
|
|
435
444
|
- lib/woods/retrieval/query_classifier.rb
|
|
@@ -469,6 +478,7 @@ files:
|
|
|
469
478
|
- lib/woods/source_inputs/verifier.rb
|
|
470
479
|
- lib/woods/storage/graph_store.rb
|
|
471
480
|
- lib/woods/storage/inapplicable_backend.rb
|
|
481
|
+
- lib/woods/storage/local_corpus_stats.rb
|
|
472
482
|
- lib/woods/storage/metadata_store.rb
|
|
473
483
|
- lib/woods/storage/pgvector.rb
|
|
474
484
|
- lib/woods/storage/qdrant.rb
|
|
@@ -491,10 +501,32 @@ files:
|
|
|
491
501
|
- lib/woods/util/uuid5.rb
|
|
492
502
|
- lib/woods/version.rb
|
|
493
503
|
- lib/woods/watch/boot_snapshot.rb
|
|
504
|
+
- lib/woods/watch/child_environment.rb
|
|
505
|
+
- lib/woods/watch/cli.rb
|
|
494
506
|
- lib/woods/watch/daemon.rb
|
|
507
|
+
- lib/woods/watch/event_stream.rb
|
|
508
|
+
- lib/woods/watch/guardian.rb
|
|
509
|
+
- lib/woods/watch/installation.rb
|
|
510
|
+
- lib/woods/watch/installation/layout.rb
|
|
511
|
+
- lib/woods/watch/installation/options.rb
|
|
512
|
+
- lib/woods/watch/installation/planner.rb
|
|
513
|
+
- lib/woods/watch/installation/probe.rb
|
|
514
|
+
- lib/woods/watch/installation/receipt.rb
|
|
515
|
+
- lib/woods/watch/installation/recovery.rb
|
|
516
|
+
- lib/woods/watch/installation/templates.rb
|
|
517
|
+
- lib/woods/watch/lifecycle.rb
|
|
495
518
|
- lib/woods/watch/listen_watcher.rb
|
|
519
|
+
- lib/woods/watch/managed_child.rb
|
|
520
|
+
- lib/woods/watch/managed_cleanup.rb
|
|
521
|
+
- lib/woods/watch/managed_process.rb
|
|
496
522
|
- lib/woods/watch/polling_watcher.rb
|
|
523
|
+
- lib/woods/watch/puma_adapter.rb
|
|
524
|
+
- lib/woods/watch/puma_child.rb
|
|
497
525
|
- lib/woods/watch/status.rb
|
|
526
|
+
- lib/woods/watch/supervision_records.rb
|
|
527
|
+
- lib/woods/watch/supervision_status.rb
|
|
528
|
+
- lib/woods/watch/supervisor.rb
|
|
529
|
+
- lib/woods/watch/supervisor_reporting.rb
|
|
498
530
|
- lib/woods/watch/tree_scan.rb
|
|
499
531
|
- lib/woods/watch/watcher.rb
|
|
500
532
|
- plugin/.claude-plugin/plugin.json
|
|
@@ -517,10 +549,10 @@ licenses:
|
|
|
517
549
|
- MIT
|
|
518
550
|
metadata:
|
|
519
551
|
homepage_uri: https://github.com/lost-in-the/woods
|
|
520
|
-
source_code_uri: https://github.com/lost-in-the/woods/tree/v2.0.
|
|
521
|
-
changelog_uri: https://github.com/lost-in-the/woods/blob/v2.0.
|
|
552
|
+
source_code_uri: https://github.com/lost-in-the/woods/tree/v2.0.1
|
|
553
|
+
changelog_uri: https://github.com/lost-in-the/woods/blob/v2.0.1/CHANGELOG.md
|
|
522
554
|
bug_tracker_uri: https://github.com/lost-in-the/woods/issues
|
|
523
|
-
documentation_uri: https://github.com/lost-in-the/woods/tree/v2.0.
|
|
555
|
+
documentation_uri: https://github.com/lost-in-the/woods/tree/v2.0.1/docs
|
|
524
556
|
rubygems_mfa_required: 'true'
|
|
525
557
|
post_install_message:
|
|
526
558
|
rdoc_options: []
|