woods 2.0.0 → 2.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +108 -0
- data/CONTRIBUTING.md +135 -10
- data/README.md +1 -1
- data/docs/AGENT_GUIDE.md +19 -0
- data/docs/AGENT_SETUP.md +22 -2
- data/docs/BACKEND_MATRIX.md +7 -0
- data/docs/CLIENT_HOOKS.md +6 -0
- data/docs/CONFIGURATION_REFERENCE.md +133 -18
- data/docs/CONSOLE_MCP_SETUP.md +141 -12
- data/docs/EMBEDDING_MODELS.md +16 -19
- data/docs/EXTRACTOR_REFERENCE.md +219 -21
- data/docs/FAQ.md +11 -25
- data/docs/GETTING_STARTED.md +7 -1
- data/docs/INCREMENTAL_EXTRACTION.md +261 -19
- data/docs/INDEX_LAYOUT.md +5 -0
- data/docs/INTERNALS.md +9 -0
- data/docs/MCP_HTTP_TRANSPORT.md +59 -2
- data/docs/MCP_SERVERS.md +87 -8
- data/docs/MCP_TOOL_COOKBOOK.md +13 -55
- data/docs/NOTION_INTEGRATION.md +7 -1
- data/docs/PUBLISHED_INDEX.md +6 -0
- data/docs/README.md +6 -1
- data/docs/RETRIEVAL_GUIDE.md +17 -0
- data/docs/SOURCE_FRESHNESS.md +157 -5
- data/docs/TOKEN_BENCHMARK.md +10 -18
- data/docs/TROUBLESHOOTING.md +70 -14
- data/docs/UNBLOCKED_INTEGRATION.md +60 -8
- data/docs/UPGRADING_TO_2.md +184 -9
- data/docs/WATCH_DAEMON.md +97 -14
- data/exe/woods-console-mcp +2 -2
- data/exe/woods-mcp-http +16 -9
- data/lib/generators/woods/templates/woods.rb.tt +2 -1
- data/lib/tasks/woods.rake +23 -7
- data/lib/tasks/woods_checks.rake +2 -2
- data/lib/woods/agent_configuration/cli.rb +1 -1
- data/lib/woods/agent_configuration/layout.rb +16 -2
- data/lib/woods/agent_configuration/plan.rb +13 -3
- data/lib/woods/agent_configuration/planner_validation.rb +4 -2
- data/lib/woods/agent_configuration/preflight.rb +5 -3
- data/lib/woods/builder.rb +17 -57
- data/lib/woods/cache/cache_middleware.rb +68 -41
- data/lib/woods/chunking/contributor_chunks.rb +119 -0
- data/lib/woods/chunking/semantic_chunker.rb +44 -21
- data/lib/woods/console/adapter_family.rb +39 -0
- data/lib/woods/console/connection_manager.rb +56 -3
- data/lib/woods/console/credential_index.rb +33 -3
- data/lib/woods/console/embedded_executor.rb +431 -48
- data/lib/woods/console/model_validator.rb +8 -0
- data/lib/woods/console/rack_middleware.rb +68 -11
- 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/dependency_graph.rb +34 -10
- data/lib/woods/embedding/fake.rb +12 -0
- data/lib/woods/embedding/indexer.rb +195 -98
- data/lib/woods/embedding/input_budget.rb +67 -0
- data/lib/woods/embedding/openai.rb +70 -20
- data/lib/woods/embedding/provider.rb +37 -25
- data/lib/woods/embedding/text_preparer.rb +76 -32
- data/lib/woods/embedding/token_counter.rb +18 -81
- data/lib/woods/embedding/vector_configuration.rb +48 -0
- data/lib/woods/extraction_identities.rb +175 -0
- data/lib/woods/extractor.rb +304 -107
- data/lib/woods/extractors/action_cable_extractor.rb +8 -3
- data/lib/woods/extractors/assigned_value_discovery.rb +74 -0
- data/lib/woods/extractors/class_declarations.rb +121 -0
- data/lib/woods/extractors/configuration_extractor.rb +11 -3
- data/lib/woods/extractors/declaration_ancestry.rb +92 -0
- data/lib/woods/extractors/event_extractor.rb +8 -0
- data/lib/woods/extractors/graphql_extractor.rb +134 -77
- data/lib/woods/extractors/job_extractor.rb +5 -1
- data/lib/woods/extractors/lib_extractor.rb +132 -15
- data/lib/woods/extractors/mailer_extractor.rb +3 -5
- data/lib/woods/extractors/manager_extractor.rb +7 -21
- data/lib/woods/extractors/migration_declaration.rb +87 -0
- data/lib/woods/extractors/migration_extractor.rb +5 -39
- data/lib/woods/extractors/phlex_extractor.rb +6 -2
- data/lib/woods/extractors/policy_extractor.rb +9 -5
- data/lib/woods/extractors/poro_extractor.rb +112 -53
- data/lib/woods/extractors/pundit_extractor.rb +11 -6
- data/lib/woods/extractors/scheduled_job_extractor.rb +45 -4
- data/lib/woods/extractors/serializer_extractor.rb +34 -22
- data/lib/woods/extractors/shared_utility_methods.rb +18 -1
- data/lib/woods/extractors/source_nesting.rb +142 -106
- data/lib/woods/extractors/standalone_module_discovery.rb +123 -0
- data/lib/woods/extractors/state_machine_extractor.rb +46 -40
- data/lib/woods/extractors/view_component_extractor.rb +9 -7
- data/lib/woods/flow_assembler.rb +4 -1
- data/lib/woods/generation.rb +25 -0
- data/lib/woods/hooks/context_hint.rb +7 -2
- data/lib/woods/mcp/bearer_auth.rb +1 -1
- data/lib/woods/mcp/bootstrapper.rb +33 -7
- data/lib/woods/mcp/config_resolver.rb +26 -7
- data/lib/woods/mcp/index_reader.rb +125 -24
- data/lib/woods/mcp/index_reader_pinning.rb +16 -0
- data/lib/woods/mcp/origin_guard.rb +24 -77
- data/lib/woods/mcp/origin_policy.rb +124 -0
- data/lib/woods/mcp/renderers/markdown_renderer.rb +7 -1
- data/lib/woods/mcp/renderers/plain_renderer.rb +3 -1
- data/lib/woods/mcp/search_results.rb +7 -1
- data/lib/woods/mcp/server.rb +24 -4
- data/lib/woods/module_reconciliation.rb +151 -0
- data/lib/woods/path_dispatcher.rb +7 -2
- data/lib/woods/railtie_support.rb +8 -0
- data/lib/woods/rake_helpers.rb +43 -11
- data/lib/woods/release.rb +1 -1
- data/lib/woods/resilience/index_validator.rb +8 -3
- data/lib/woods/resilience/retryable_provider.rb +18 -1
- data/lib/woods/resolved_config.rb +68 -8
- data/lib/woods/retrieval/context_assembler.rb +3 -3
- data/lib/woods/retrieval/lexical_assembler.rb +3 -2
- data/lib/woods/retrieval/scope.rb +18 -2
- data/lib/woods/retrieval/source_evidence.rb +14 -2
- data/lib/woods/source_contributor_validation.rb +78 -0
- data/lib/woods/source_contributors.rb +116 -0
- data/lib/woods/source_inputs/handoff.rb +37 -0
- data/lib/woods/source_inputs/launcher.rb +53 -13
- data/lib/woods/source_inputs/manifest.rb +84 -3
- data/lib/woods/source_inputs/private_key.rb +44 -12
- data/lib/woods/source_inputs/scanner.rb +98 -27
- data/lib/woods/source_inputs/scopes.rb +1 -1
- data/lib/woods/source_inputs/session.rb +147 -15
- data/lib/woods/source_inputs/stable_reader.rb +127 -0
- data/lib/woods/source_inputs/status.rb +40 -8
- data/lib/woods/source_inputs/verifier.rb +28 -5
- data/lib/woods/source_path_encoding.rb +33 -0
- data/lib/woods/source_references/cache.rb +284 -0
- data/lib/woods/source_references/collector.rb +120 -0
- data/lib/woods/source_references/extraction.rb +185 -0
- data/lib/woods/source_references/inputs.rb +134 -0
- data/lib/woods/source_references/parser_adapter.rb +134 -0
- data/lib/woods/source_references/pass.rb +152 -0
- data/lib/woods/source_references/prism_adapter.rb +116 -0
- data/lib/woods/source_references/registry.rb +178 -0
- data/lib/woods/source_references/runtime_lookup.rb +127 -0
- data/lib/woods/source_references/value_class.rb +82 -0
- data/lib/woods/storage/metadata_store.rb +4 -1
- data/lib/woods/storage/qdrant.rb +2 -2
- data/lib/woods/unblocked/client.rb +12 -7
- data/lib/woods/unblocked/document_builder.rb +4 -1
- data/lib/woods/unblocked/exporter.rb +127 -37
- data/lib/woods/unblocked/sync_manifest.rb +137 -21
- data/lib/woods/unblocked/uri_migration.rb +105 -0
- data/lib/woods/util/host_guard.rb +3 -2
- data/lib/woods/version.rb +1 -1
- data/lib/woods/watch/catch_up.rb +138 -0
- data/lib/woods/watch/claim_lease.rb +150 -0
- data/lib/woods/watch/cli.rb +26 -2
- data/lib/woods/watch/daemon.rb +80 -59
- data/lib/woods/watch/installation/options.rb +1 -1
- data/lib/woods/watch/installation/receipt.rb +6 -1
- data/lib/woods/watch/managed_child.rb +1 -1
- data/lib/woods/watch/supervisor.rb +1 -1
- data/lib/woods/watch/tree_scan.rb +14 -2
- data/plugin/.claude-plugin/plugin.json +1 -1
- data/plugin/hooks/adapters/normalize.rb +3 -2
- data/plugin/hooks/woods-input-rules.sh +4 -0
- data/plugin/hooks/woods-refresh.sh +15 -7
- data/plugin/hooks/woods-session-start.sh +60 -3
- data/plugin/skills/woods-diagnose/SKILL.md +336 -2
- data/plugin/skills/woods-investigate/SKILL.md +11 -0
- data/plugin/skills/woods-mcp-config/SKILL.md +86 -0
- data/plugin/skills/woods-setup/SKILL.md +56 -1
- metadata +34 -5
|
@@ -7,6 +7,14 @@ description: Install, upgrade, and first-run-configure the Woods Rails code-inte
|
|
|
7
7
|
|
|
8
8
|
Install a structural Index Server first. Embeddings and Console MCP are separate opt-ins.
|
|
9
9
|
|
|
10
|
+
For builds containing #590 (unreleased after `2.0.0`), managed preflight retains
|
|
11
|
+
intended bundle settings, project receipts omit the unused user config directory,
|
|
12
|
+
and watcher ownership tolerates Git checkout umasks. Check the installed revision
|
|
13
|
+
before relying on this. Keep the supporting executable for update/removal before
|
|
14
|
+
a permanent downgrade; never delete a receipt to bypass a conflict. Use a private
|
|
15
|
+
real directory for plan files when the system temporary path is a symlink. Follow
|
|
16
|
+
the [portability guidance](https://github.com/lost-in-the/woods/blob/main/docs/AGENT_SETUP.md#managed-claude-code-configuration).
|
|
17
|
+
|
|
10
18
|
## Managed configuration availability
|
|
11
19
|
|
|
12
20
|
`woods-agent-config` (#407) is available in Woods `2.0.0.beta3`. First record the
|
|
@@ -20,6 +28,13 @@ journals contain private configuration bytes. See the canonical
|
|
|
20
28
|
for host/Compose preflight, actual Claude file locations, conflict recovery,
|
|
21
29
|
and removal. Preserve manual setup for older installed versions.
|
|
22
30
|
|
|
31
|
+
For v1-to-v2 upgrades, follow the [migration runbook](https://github.com/lost-in-the/woods/blob/main/docs/UPGRADING_TO_2.md).
|
|
32
|
+
A clean removes snapshot history inside the output directory as well as generated
|
|
33
|
+
index files. Back up consistently and choose whether to retain history before
|
|
34
|
+
cleaning. Remove legacy no-op `log_level` and unsafe-eval settings. Set custom
|
|
35
|
+
Console paths and session-tracer setup in `config/application.rb` before Railtie
|
|
36
|
+
initialization; other Console flags can remain in the normal initializer.
|
|
37
|
+
|
|
23
38
|
## Preflight
|
|
24
39
|
|
|
25
40
|
Read repository instructions and preserve unrelated changes. Record:
|
|
@@ -62,6 +77,18 @@ When the preflight records an installed 1.x version, this is an upgrade, not an
|
|
|
62
77
|
|
|
63
78
|
Before changing the Gemfile: back up any shared or durable index and agree on a rollback window — never upgrade one in place. After `bundle update woods`, run a full `bin/rails woods:extract` (not incremental; the old index is not a valid baseline across the major), then `woods:validate`. With embeddings configured, re-embed from scratch into a store matching the configured model; expect identifier-level churn in anything that consumed 1.x identifiers (exports, saved queries, downstream tooling). Verify MCP clients against the new surface rather than assuming 1.x tool behavior.
|
|
64
79
|
|
|
80
|
+
When adopting a reviewed post-2.0 revision containing the unreleased reference
|
|
81
|
+
expansion, establish its [full source-reference baseline](https://github.com/lost-in-the/woods/blob/main/docs/INCREMENTAL_EXTRACTION.md#source-reference-baseline-and-upgrades)
|
|
82
|
+
before resuming incremental maintenance. Record the loaded revision; the version
|
|
83
|
+
alone does not identify this planned 2.1 capability.
|
|
84
|
+
|
|
85
|
+
Supporting unreleased writers also refuse incremental extraction and targeted
|
|
86
|
+
refresh of a flat index with a manifest, or a generation manifest naming a
|
|
87
|
+
writer major version below 2. Run a full `woods:extract` as the upgrade baseline.
|
|
88
|
+
A generation with no writer field can be an early v2 beta; absence alone does
|
|
89
|
+
not identify v1. Read compatibility and a successful validation never replace
|
|
90
|
+
the required full migration.
|
|
91
|
+
|
|
65
92
|
## Extract and verify
|
|
66
93
|
|
|
67
94
|
Structural setup needs no embedding provider:
|
|
@@ -74,6 +101,13 @@ bin/rails woods:stats
|
|
|
74
101
|
|
|
75
102
|
If extraction fails, reproduce Rails boot and eager loading first. Do not inspect internal payload files when Woods tasks provide the check.
|
|
76
103
|
|
|
104
|
+
When the installed gem exposes `woods-extract`, use
|
|
105
|
+
`bundle exec woods-extract full` for source capture before Rails boots; follow
|
|
106
|
+
the [source freshness guide](https://github.com/lost-in-the/woods/blob/main/docs/SOURCE_FRESHNESS.md#establish-a-fresh-baseline)
|
|
107
|
+
for custom output paths. In supporting unreleased builds after 2.0.0, this
|
|
108
|
+
launcher prefers the application's executable `bin/rake` and otherwise uses
|
|
109
|
+
`bundle exec rake`. Preserve the application's environment and binstub setup.
|
|
110
|
+
|
|
77
111
|
Writer-version provenance (#323) is available in Woods `2.0.0.beta3`; check the installed
|
|
78
112
|
gem version's release notes before expecting `woods_status.index.woods_version`. When present,
|
|
79
113
|
it names the last manifest publisher; `server.version` names the MCP reader.
|
|
@@ -202,11 +236,19 @@ SessionStart hooks check source content and report missing/failed evidence as
|
|
|
202
236
|
unknown; silence does not acknowledge queued refresh work. Follow the [hook guide](https://github.com/lost-in-the/woods/blob/main/docs/WATCH_DAEMON.md#hooks-for-agent-sessions)
|
|
203
237
|
for transport, retry and custom-root limits.
|
|
204
238
|
|
|
239
|
+
Supporting unreleased builds after 2.0.0 can publish a usable code index with
|
|
240
|
+
source freshness `unavailable` when evidence exceeds its serialized-size limit.
|
|
241
|
+
Follow `inspect_source_limits` and compare `unavailable.size_bytes` with
|
|
242
|
+
`unavailable.limit_bytes`; an identical full extraction cannot shrink it.
|
|
243
|
+
An oversized launcher handoff still starts a fresh child but cannot establish
|
|
244
|
+
verified preboot capture. Do not label this state current or prescribe repeated
|
|
245
|
+
rebuilds. See the [source evidence limits](https://github.com/lost-in-the/woods/blob/main/docs/SOURCE_FRESHNESS.md).
|
|
246
|
+
|
|
205
247
|
## Ask before expanding scope
|
|
206
248
|
|
|
207
249
|
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).
|
|
208
250
|
|
|
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.
|
|
251
|
+
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. Do not claim that installing a tokenizer gem establishes exact counts for every model. Supporting builds after 2.0.0 split complete prefixed inputs and request Ollama `truncate: false`; consult the installed embedding guide and its model-specific limits.
|
|
210
252
|
|
|
211
253
|
## Handoff
|
|
212
254
|
|
|
@@ -255,3 +297,16 @@ dependents and suggested tests manually; silence is not no impact. Do not clear
|
|
|
255
297
|
refresh queues when optional hints time out. See the canonical
|
|
256
298
|
[context guide](https://github.com/lost-in-the/woods/blob/main/docs/WATCH_DAEMON.md#optional-bounded-context-hints)
|
|
257
299
|
for output/time limits, container root mapping and emitted-hint suppression.
|
|
300
|
+
|
|
301
|
+
### Security-patch compatibility preflight
|
|
302
|
+
|
|
303
|
+
For an authorized Console installation on the 2.0 line, use Woods `2.0.1` or
|
|
304
|
+
later and review the [2.0.1 Console compatibility guide](https://github.com/lost-in-the/woods/blob/v2.0.1/docs/CONSOLE_MCP_SETUP.md#read-policy-compatibility)
|
|
305
|
+
before upgrading. Applications remaining on 1.6 should use `1.6.4` and its
|
|
306
|
+
[tagged Console guide](https://github.com/lost-in-the/woods/blob/v1.6.4/docs/CONSOLE_MCP_SETUP.md#read-policy-compatibility),
|
|
307
|
+
rather than applying this skill's 2.x setup instructions.
|
|
308
|
+
|
|
309
|
+
Record the installed version and loaded gem path; also record the locked revision
|
|
310
|
+
for Git-sourced builds. Updating the plugin does not update the gem. The 2.0.1
|
|
311
|
+
maintenance patch does not include the planned 2.1 features marked unreleased
|
|
312
|
+
elsewhere in this skill; continue checking each installed capability.
|
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.
|
|
4
|
+
version: 2.1.0
|
|
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-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mcp
|
|
@@ -215,7 +215,9 @@ files:
|
|
|
215
215
|
- lib/woods/checks/generation_resolution.rb
|
|
216
216
|
- lib/woods/checks/moved_messages.rb
|
|
217
217
|
- lib/woods/chunking/chunk.rb
|
|
218
|
+
- lib/woods/chunking/contributor_chunks.rb
|
|
218
219
|
- lib/woods/chunking/semantic_chunker.rb
|
|
220
|
+
- lib/woods/console/adapter_family.rb
|
|
219
221
|
- lib/woods/console/audit_logger.rb
|
|
220
222
|
- lib/woods/console/bridge_protocol.rb
|
|
221
223
|
- lib/woods/console/confirmation.rb
|
|
@@ -267,10 +269,12 @@ files:
|
|
|
267
269
|
- lib/woods/embedding/corpus.rb
|
|
268
270
|
- lib/woods/embedding/fake.rb
|
|
269
271
|
- lib/woods/embedding/indexer.rb
|
|
272
|
+
- lib/woods/embedding/input_budget.rb
|
|
270
273
|
- lib/woods/embedding/openai.rb
|
|
271
274
|
- lib/woods/embedding/provider.rb
|
|
272
275
|
- lib/woods/embedding/text_preparer.rb
|
|
273
276
|
- lib/woods/embedding/token_counter.rb
|
|
277
|
+
- lib/woods/embedding/vector_configuration.rb
|
|
274
278
|
- lib/woods/evaluation/ablation_agent_payload.rb
|
|
275
279
|
- lib/woods/evaluation/ablation_executor.rb
|
|
276
280
|
- lib/woods/evaluation/ablation_provenance.rb
|
|
@@ -290,17 +294,21 @@ files:
|
|
|
290
294
|
- lib/woods/export/typed_reader.rb
|
|
291
295
|
- lib/woods/export/unit_facts.rb
|
|
292
296
|
- lib/woods/extracted_unit.rb
|
|
297
|
+
- lib/woods/extraction_identities.rb
|
|
293
298
|
- lib/woods/extractor.rb
|
|
294
299
|
- lib/woods/extractors/action_cable_extractor.rb
|
|
300
|
+
- lib/woods/extractors/assigned_value_discovery.rb
|
|
295
301
|
- lib/woods/extractors/ast_source_extraction.rb
|
|
296
302
|
- lib/woods/extractors/behavioral_profile.rb
|
|
297
303
|
- lib/woods/extractors/caching_extractor.rb
|
|
298
304
|
- lib/woods/extractors/callback_analyzer.rb
|
|
305
|
+
- lib/woods/extractors/class_declarations.rb
|
|
299
306
|
- lib/woods/extractors/component_discovery.rb
|
|
300
307
|
- lib/woods/extractors/concern_extractor.rb
|
|
301
308
|
- lib/woods/extractors/configuration_extractor.rb
|
|
302
309
|
- lib/woods/extractors/controller_extractor.rb
|
|
303
310
|
- lib/woods/extractors/database_view_extractor.rb
|
|
311
|
+
- lib/woods/extractors/declaration_ancestry.rb
|
|
304
312
|
- lib/woods/extractors/declared_parent.rb
|
|
305
313
|
- lib/woods/extractors/decorator_extractor.rb
|
|
306
314
|
- lib/woods/extractors/engine_extractor.rb
|
|
@@ -316,6 +324,7 @@ files:
|
|
|
316
324
|
- lib/woods/extractors/method_parameters.rb
|
|
317
325
|
- lib/woods/extractors/middleware_argument.rb
|
|
318
326
|
- lib/woods/extractors/middleware_extractor.rb
|
|
327
|
+
- lib/woods/extractors/migration_declaration.rb
|
|
319
328
|
- lib/woods/extractors/migration_extractor.rb
|
|
320
329
|
- lib/woods/extractors/model_extractor.rb
|
|
321
330
|
- lib/woods/extractors/package_extractor.rb
|
|
@@ -334,6 +343,7 @@ files:
|
|
|
334
343
|
- lib/woods/extractors/shared_dependency_scanner.rb
|
|
335
344
|
- lib/woods/extractors/shared_utility_methods.rb
|
|
336
345
|
- lib/woods/extractors/source_nesting.rb
|
|
346
|
+
- lib/woods/extractors/standalone_module_discovery.rb
|
|
337
347
|
- lib/woods/extractors/state_machine_extractor.rb
|
|
338
348
|
- lib/woods/extractors/test_mapping_extractor.rb
|
|
339
349
|
- lib/woods/extractors/validator_extractor.rb
|
|
@@ -376,6 +386,7 @@ files:
|
|
|
376
386
|
- lib/woods/mcp/index_reader_pinning.rb
|
|
377
387
|
- lib/woods/mcp/initialization_guidance.rb
|
|
378
388
|
- lib/woods/mcp/origin_guard.rb
|
|
389
|
+
- lib/woods/mcp/origin_policy.rb
|
|
379
390
|
- lib/woods/mcp/protocol_policy.rb
|
|
380
391
|
- lib/woods/mcp/provider_probe.rb
|
|
381
392
|
- lib/woods/mcp/published_lexical_retriever.rb
|
|
@@ -397,6 +408,7 @@ files:
|
|
|
397
408
|
- lib/woods/mcp/traversal_response.rb
|
|
398
409
|
- lib/woods/mcp/version_aware_tool_dispatch.rb
|
|
399
410
|
- lib/woods/model_name_cache.rb
|
|
411
|
+
- lib/woods/module_reconciliation.rb
|
|
400
412
|
- lib/woods/notion/client.rb
|
|
401
413
|
- lib/woods/notion/exporter.rb
|
|
402
414
|
- lib/woods/notion/mappers/column_mapper.rb
|
|
@@ -464,6 +476,8 @@ files:
|
|
|
464
476
|
- lib/woods/session_tracer/solid_cache_store.rb
|
|
465
477
|
- lib/woods/session_tracer/store.rb
|
|
466
478
|
- lib/woods/session_tracer/unit_resolver.rb
|
|
479
|
+
- lib/woods/source_contributor_validation.rb
|
|
480
|
+
- lib/woods/source_contributors.rb
|
|
467
481
|
- lib/woods/source_inputs/consumer_errors.rb
|
|
468
482
|
- lib/woods/source_inputs/handoff.rb
|
|
469
483
|
- lib/woods/source_inputs/launcher.rb
|
|
@@ -472,8 +486,20 @@ files:
|
|
|
472
486
|
- lib/woods/source_inputs/scanner.rb
|
|
473
487
|
- lib/woods/source_inputs/scopes.rb
|
|
474
488
|
- lib/woods/source_inputs/session.rb
|
|
489
|
+
- lib/woods/source_inputs/stable_reader.rb
|
|
475
490
|
- lib/woods/source_inputs/status.rb
|
|
476
491
|
- lib/woods/source_inputs/verifier.rb
|
|
492
|
+
- lib/woods/source_path_encoding.rb
|
|
493
|
+
- lib/woods/source_references/cache.rb
|
|
494
|
+
- lib/woods/source_references/collector.rb
|
|
495
|
+
- lib/woods/source_references/extraction.rb
|
|
496
|
+
- lib/woods/source_references/inputs.rb
|
|
497
|
+
- lib/woods/source_references/parser_adapter.rb
|
|
498
|
+
- lib/woods/source_references/pass.rb
|
|
499
|
+
- lib/woods/source_references/prism_adapter.rb
|
|
500
|
+
- lib/woods/source_references/registry.rb
|
|
501
|
+
- lib/woods/source_references/runtime_lookup.rb
|
|
502
|
+
- lib/woods/source_references/value_class.rb
|
|
477
503
|
- lib/woods/storage/graph_store.rb
|
|
478
504
|
- lib/woods/storage/inapplicable_backend.rb
|
|
479
505
|
- lib/woods/storage/local_corpus_stats.rb
|
|
@@ -494,12 +520,15 @@ files:
|
|
|
494
520
|
- lib/woods/unblocked/exporter.rb
|
|
495
521
|
- lib/woods/unblocked/rate_limiter.rb
|
|
496
522
|
- lib/woods/unblocked/sync_manifest.rb
|
|
523
|
+
- lib/woods/unblocked/uri_migration.rb
|
|
497
524
|
- lib/woods/update_check.rb
|
|
498
525
|
- lib/woods/util/host_guard.rb
|
|
499
526
|
- lib/woods/util/uuid5.rb
|
|
500
527
|
- lib/woods/version.rb
|
|
501
528
|
- lib/woods/watch/boot_snapshot.rb
|
|
529
|
+
- lib/woods/watch/catch_up.rb
|
|
502
530
|
- lib/woods/watch/child_environment.rb
|
|
531
|
+
- lib/woods/watch/claim_lease.rb
|
|
503
532
|
- lib/woods/watch/cli.rb
|
|
504
533
|
- lib/woods/watch/daemon.rb
|
|
505
534
|
- lib/woods/watch/event_stream.rb
|
|
@@ -547,10 +576,10 @@ licenses:
|
|
|
547
576
|
- MIT
|
|
548
577
|
metadata:
|
|
549
578
|
homepage_uri: https://github.com/lost-in-the/woods
|
|
550
|
-
source_code_uri: https://github.com/lost-in-the/woods/tree/v2.
|
|
551
|
-
changelog_uri: https://github.com/lost-in-the/woods/blob/v2.
|
|
579
|
+
source_code_uri: https://github.com/lost-in-the/woods/tree/v2.1.0
|
|
580
|
+
changelog_uri: https://github.com/lost-in-the/woods/blob/v2.1.0/CHANGELOG.md
|
|
552
581
|
bug_tracker_uri: https://github.com/lost-in-the/woods/issues
|
|
553
|
-
documentation_uri: https://github.com/lost-in-the/woods/tree/v2.
|
|
582
|
+
documentation_uri: https://github.com/lost-in-the/woods/tree/v2.1.0/docs
|
|
554
583
|
rubygems_mfa_required: 'true'
|
|
555
584
|
post_install_message:
|
|
556
585
|
rdoc_options: []
|