woods 2.0.1 → 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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -7
  3. data/CONTRIBUTING.md +134 -19
  4. data/README.md +1 -1
  5. data/docs/AGENT_GUIDE.md +19 -0
  6. data/docs/AGENT_SETUP.md +22 -2
  7. data/docs/BACKEND_MATRIX.md +7 -0
  8. data/docs/CLIENT_HOOKS.md +6 -0
  9. data/docs/CONFIGURATION_REFERENCE.md +133 -25
  10. data/docs/CONSOLE_MCP_SETUP.md +82 -30
  11. data/docs/EMBEDDING_MODELS.md +16 -19
  12. data/docs/EXTRACTOR_REFERENCE.md +219 -21
  13. data/docs/FAQ.md +11 -25
  14. data/docs/GETTING_STARTED.md +7 -1
  15. data/docs/INCREMENTAL_EXTRACTION.md +261 -19
  16. data/docs/INDEX_LAYOUT.md +5 -0
  17. data/docs/INTERNALS.md +9 -0
  18. data/docs/MCP_HTTP_TRANSPORT.md +20 -15
  19. data/docs/MCP_SERVERS.md +87 -8
  20. data/docs/MCP_TOOL_COOKBOOK.md +13 -55
  21. data/docs/NOTION_INTEGRATION.md +7 -1
  22. data/docs/PUBLISHED_INDEX.md +6 -0
  23. data/docs/README.md +6 -1
  24. data/docs/RETRIEVAL_GUIDE.md +17 -0
  25. data/docs/SOURCE_FRESHNESS.md +157 -5
  26. data/docs/TOKEN_BENCHMARK.md +10 -18
  27. data/docs/TROUBLESHOOTING.md +70 -14
  28. data/docs/UNBLOCKED_INTEGRATION.md +60 -8
  29. data/docs/UPGRADING_TO_2.md +153 -38
  30. data/docs/WATCH_DAEMON.md +97 -14
  31. data/exe/woods-console-mcp +2 -2
  32. data/lib/generators/woods/templates/woods.rb.tt +2 -1
  33. data/lib/tasks/woods.rake +23 -7
  34. data/lib/tasks/woods_checks.rake +2 -2
  35. data/lib/woods/agent_configuration/cli.rb +1 -1
  36. data/lib/woods/agent_configuration/layout.rb +16 -2
  37. data/lib/woods/agent_configuration/plan.rb +13 -3
  38. data/lib/woods/agent_configuration/planner_validation.rb +4 -2
  39. data/lib/woods/agent_configuration/preflight.rb +5 -3
  40. data/lib/woods/builder.rb +17 -57
  41. data/lib/woods/cache/cache_middleware.rb +56 -30
  42. data/lib/woods/chunking/contributor_chunks.rb +119 -0
  43. data/lib/woods/chunking/semantic_chunker.rb +44 -21
  44. data/lib/woods/console/connection_manager.rb +56 -3
  45. data/lib/woods/console/embedded_executor.rb +30 -5
  46. data/lib/woods/console/rack_middleware.rb +29 -1
  47. data/lib/woods/dependency_graph.rb +34 -10
  48. data/lib/woods/embedding/fake.rb +12 -0
  49. data/lib/woods/embedding/indexer.rb +195 -98
  50. data/lib/woods/embedding/input_budget.rb +67 -0
  51. data/lib/woods/embedding/openai.rb +70 -20
  52. data/lib/woods/embedding/provider.rb +37 -25
  53. data/lib/woods/embedding/text_preparer.rb +76 -32
  54. data/lib/woods/embedding/token_counter.rb +18 -81
  55. data/lib/woods/embedding/vector_configuration.rb +48 -0
  56. data/lib/woods/extraction_identities.rb +175 -0
  57. data/lib/woods/extractor.rb +304 -107
  58. data/lib/woods/extractors/action_cable_extractor.rb +8 -3
  59. data/lib/woods/extractors/assigned_value_discovery.rb +74 -0
  60. data/lib/woods/extractors/class_declarations.rb +121 -0
  61. data/lib/woods/extractors/configuration_extractor.rb +11 -3
  62. data/lib/woods/extractors/declaration_ancestry.rb +92 -0
  63. data/lib/woods/extractors/event_extractor.rb +8 -0
  64. data/lib/woods/extractors/graphql_extractor.rb +134 -77
  65. data/lib/woods/extractors/job_extractor.rb +5 -1
  66. data/lib/woods/extractors/lib_extractor.rb +132 -15
  67. data/lib/woods/extractors/mailer_extractor.rb +3 -5
  68. data/lib/woods/extractors/manager_extractor.rb +7 -21
  69. data/lib/woods/extractors/migration_declaration.rb +87 -0
  70. data/lib/woods/extractors/migration_extractor.rb +5 -39
  71. data/lib/woods/extractors/phlex_extractor.rb +6 -2
  72. data/lib/woods/extractors/policy_extractor.rb +9 -5
  73. data/lib/woods/extractors/poro_extractor.rb +112 -53
  74. data/lib/woods/extractors/pundit_extractor.rb +11 -6
  75. data/lib/woods/extractors/scheduled_job_extractor.rb +45 -4
  76. data/lib/woods/extractors/serializer_extractor.rb +34 -22
  77. data/lib/woods/extractors/shared_utility_methods.rb +18 -1
  78. data/lib/woods/extractors/source_nesting.rb +142 -106
  79. data/lib/woods/extractors/standalone_module_discovery.rb +123 -0
  80. data/lib/woods/extractors/state_machine_extractor.rb +46 -40
  81. data/lib/woods/extractors/view_component_extractor.rb +9 -7
  82. data/lib/woods/flow_assembler.rb +4 -1
  83. data/lib/woods/generation.rb +25 -0
  84. data/lib/woods/hooks/context_hint.rb +7 -2
  85. data/lib/woods/mcp/bootstrapper.rb +33 -7
  86. data/lib/woods/mcp/config_resolver.rb +26 -7
  87. data/lib/woods/mcp/index_reader.rb +125 -24
  88. data/lib/woods/mcp/index_reader_pinning.rb +16 -0
  89. data/lib/woods/mcp/renderers/markdown_renderer.rb +7 -1
  90. data/lib/woods/mcp/renderers/plain_renderer.rb +3 -1
  91. data/lib/woods/mcp/search_results.rb +7 -1
  92. data/lib/woods/mcp/server.rb +24 -4
  93. data/lib/woods/module_reconciliation.rb +151 -0
  94. data/lib/woods/path_dispatcher.rb +7 -2
  95. data/lib/woods/rake_helpers.rb +43 -11
  96. data/lib/woods/release.rb +1 -1
  97. data/lib/woods/resilience/index_validator.rb +8 -3
  98. data/lib/woods/resilience/retryable_provider.rb +18 -1
  99. data/lib/woods/resolved_config.rb +68 -8
  100. data/lib/woods/retrieval/context_assembler.rb +3 -3
  101. data/lib/woods/retrieval/lexical_assembler.rb +3 -2
  102. data/lib/woods/retrieval/scope.rb +18 -2
  103. data/lib/woods/retrieval/source_evidence.rb +14 -2
  104. data/lib/woods/source_contributor_validation.rb +78 -0
  105. data/lib/woods/source_contributors.rb +116 -0
  106. data/lib/woods/source_inputs/handoff.rb +37 -0
  107. data/lib/woods/source_inputs/launcher.rb +53 -13
  108. data/lib/woods/source_inputs/manifest.rb +84 -3
  109. data/lib/woods/source_inputs/private_key.rb +44 -12
  110. data/lib/woods/source_inputs/scanner.rb +98 -27
  111. data/lib/woods/source_inputs/scopes.rb +1 -1
  112. data/lib/woods/source_inputs/session.rb +147 -15
  113. data/lib/woods/source_inputs/stable_reader.rb +127 -0
  114. data/lib/woods/source_inputs/status.rb +40 -8
  115. data/lib/woods/source_inputs/verifier.rb +28 -5
  116. data/lib/woods/source_path_encoding.rb +33 -0
  117. data/lib/woods/source_references/cache.rb +284 -0
  118. data/lib/woods/source_references/collector.rb +120 -0
  119. data/lib/woods/source_references/extraction.rb +185 -0
  120. data/lib/woods/source_references/inputs.rb +134 -0
  121. data/lib/woods/source_references/parser_adapter.rb +134 -0
  122. data/lib/woods/source_references/pass.rb +152 -0
  123. data/lib/woods/source_references/prism_adapter.rb +116 -0
  124. data/lib/woods/source_references/registry.rb +178 -0
  125. data/lib/woods/source_references/runtime_lookup.rb +127 -0
  126. data/lib/woods/source_references/value_class.rb +82 -0
  127. data/lib/woods/storage/metadata_store.rb +4 -1
  128. data/lib/woods/storage/qdrant.rb +2 -2
  129. data/lib/woods/unblocked/client.rb +12 -7
  130. data/lib/woods/unblocked/document_builder.rb +4 -1
  131. data/lib/woods/unblocked/exporter.rb +127 -37
  132. data/lib/woods/unblocked/sync_manifest.rb +137 -21
  133. data/lib/woods/unblocked/uri_migration.rb +105 -0
  134. data/lib/woods/util/host_guard.rb +3 -2
  135. data/lib/woods/version.rb +1 -1
  136. data/lib/woods/watch/catch_up.rb +138 -0
  137. data/lib/woods/watch/claim_lease.rb +150 -0
  138. data/lib/woods/watch/cli.rb +26 -2
  139. data/lib/woods/watch/daemon.rb +80 -59
  140. data/lib/woods/watch/installation/options.rb +1 -1
  141. data/lib/woods/watch/installation/receipt.rb +6 -1
  142. data/lib/woods/watch/managed_child.rb +1 -1
  143. data/lib/woods/watch/supervisor.rb +1 -1
  144. data/lib/woods/watch/tree_scan.rb +14 -2
  145. data/plugin/.claude-plugin/plugin.json +1 -1
  146. data/plugin/hooks/adapters/normalize.rb +3 -2
  147. data/plugin/hooks/woods-input-rules.sh +4 -0
  148. data/plugin/hooks/woods-refresh.sh +15 -7
  149. data/plugin/hooks/woods-session-start.sh +60 -3
  150. data/plugin/skills/woods-diagnose/SKILL.md +334 -11
  151. data/plugin/skills/woods-investigate/SKILL.md +11 -0
  152. data/plugin/skills/woods-mcp-config/SKILL.md +79 -8
  153. data/plugin/skills/woods-setup/SKILL.md +53 -6
  154. metadata +32 -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. Recommend `gem "tokenizers", "~> 0.5"` for exact counting on dense Ruby source, while stating that it is optional.
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
 
@@ -258,8 +300,13 @@ for output/time limits, container root mapping and emitted-hint suppression.
258
300
 
259
301
  ### Security-patch compatibility preflight
260
302
 
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.
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.0.1
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-26 00:00:00.000000000 Z
11
+ date: 2026-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mcp
@@ -215,6 +215,7 @@ 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
219
220
  - lib/woods/console/adapter_family.rb
220
221
  - lib/woods/console/audit_logger.rb
@@ -268,10 +269,12 @@ files:
268
269
  - lib/woods/embedding/corpus.rb
269
270
  - lib/woods/embedding/fake.rb
270
271
  - lib/woods/embedding/indexer.rb
272
+ - lib/woods/embedding/input_budget.rb
271
273
  - lib/woods/embedding/openai.rb
272
274
  - lib/woods/embedding/provider.rb
273
275
  - lib/woods/embedding/text_preparer.rb
274
276
  - lib/woods/embedding/token_counter.rb
277
+ - lib/woods/embedding/vector_configuration.rb
275
278
  - lib/woods/evaluation/ablation_agent_payload.rb
276
279
  - lib/woods/evaluation/ablation_executor.rb
277
280
  - lib/woods/evaluation/ablation_provenance.rb
@@ -291,17 +294,21 @@ files:
291
294
  - lib/woods/export/typed_reader.rb
292
295
  - lib/woods/export/unit_facts.rb
293
296
  - lib/woods/extracted_unit.rb
297
+ - lib/woods/extraction_identities.rb
294
298
  - lib/woods/extractor.rb
295
299
  - lib/woods/extractors/action_cable_extractor.rb
300
+ - lib/woods/extractors/assigned_value_discovery.rb
296
301
  - lib/woods/extractors/ast_source_extraction.rb
297
302
  - lib/woods/extractors/behavioral_profile.rb
298
303
  - lib/woods/extractors/caching_extractor.rb
299
304
  - lib/woods/extractors/callback_analyzer.rb
305
+ - lib/woods/extractors/class_declarations.rb
300
306
  - lib/woods/extractors/component_discovery.rb
301
307
  - lib/woods/extractors/concern_extractor.rb
302
308
  - lib/woods/extractors/configuration_extractor.rb
303
309
  - lib/woods/extractors/controller_extractor.rb
304
310
  - lib/woods/extractors/database_view_extractor.rb
311
+ - lib/woods/extractors/declaration_ancestry.rb
305
312
  - lib/woods/extractors/declared_parent.rb
306
313
  - lib/woods/extractors/decorator_extractor.rb
307
314
  - lib/woods/extractors/engine_extractor.rb
@@ -317,6 +324,7 @@ files:
317
324
  - lib/woods/extractors/method_parameters.rb
318
325
  - lib/woods/extractors/middleware_argument.rb
319
326
  - lib/woods/extractors/middleware_extractor.rb
327
+ - lib/woods/extractors/migration_declaration.rb
320
328
  - lib/woods/extractors/migration_extractor.rb
321
329
  - lib/woods/extractors/model_extractor.rb
322
330
  - lib/woods/extractors/package_extractor.rb
@@ -335,6 +343,7 @@ files:
335
343
  - lib/woods/extractors/shared_dependency_scanner.rb
336
344
  - lib/woods/extractors/shared_utility_methods.rb
337
345
  - lib/woods/extractors/source_nesting.rb
346
+ - lib/woods/extractors/standalone_module_discovery.rb
338
347
  - lib/woods/extractors/state_machine_extractor.rb
339
348
  - lib/woods/extractors/test_mapping_extractor.rb
340
349
  - lib/woods/extractors/validator_extractor.rb
@@ -399,6 +408,7 @@ files:
399
408
  - lib/woods/mcp/traversal_response.rb
400
409
  - lib/woods/mcp/version_aware_tool_dispatch.rb
401
410
  - lib/woods/model_name_cache.rb
411
+ - lib/woods/module_reconciliation.rb
402
412
  - lib/woods/notion/client.rb
403
413
  - lib/woods/notion/exporter.rb
404
414
  - lib/woods/notion/mappers/column_mapper.rb
@@ -466,6 +476,8 @@ files:
466
476
  - lib/woods/session_tracer/solid_cache_store.rb
467
477
  - lib/woods/session_tracer/store.rb
468
478
  - lib/woods/session_tracer/unit_resolver.rb
479
+ - lib/woods/source_contributor_validation.rb
480
+ - lib/woods/source_contributors.rb
469
481
  - lib/woods/source_inputs/consumer_errors.rb
470
482
  - lib/woods/source_inputs/handoff.rb
471
483
  - lib/woods/source_inputs/launcher.rb
@@ -474,8 +486,20 @@ files:
474
486
  - lib/woods/source_inputs/scanner.rb
475
487
  - lib/woods/source_inputs/scopes.rb
476
488
  - lib/woods/source_inputs/session.rb
489
+ - lib/woods/source_inputs/stable_reader.rb
477
490
  - lib/woods/source_inputs/status.rb
478
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
479
503
  - lib/woods/storage/graph_store.rb
480
504
  - lib/woods/storage/inapplicable_backend.rb
481
505
  - lib/woods/storage/local_corpus_stats.rb
@@ -496,12 +520,15 @@ files:
496
520
  - lib/woods/unblocked/exporter.rb
497
521
  - lib/woods/unblocked/rate_limiter.rb
498
522
  - lib/woods/unblocked/sync_manifest.rb
523
+ - lib/woods/unblocked/uri_migration.rb
499
524
  - lib/woods/update_check.rb
500
525
  - lib/woods/util/host_guard.rb
501
526
  - lib/woods/util/uuid5.rb
502
527
  - lib/woods/version.rb
503
528
  - lib/woods/watch/boot_snapshot.rb
529
+ - lib/woods/watch/catch_up.rb
504
530
  - lib/woods/watch/child_environment.rb
531
+ - lib/woods/watch/claim_lease.rb
505
532
  - lib/woods/watch/cli.rb
506
533
  - lib/woods/watch/daemon.rb
507
534
  - lib/woods/watch/event_stream.rb
@@ -549,10 +576,10 @@ licenses:
549
576
  - MIT
550
577
  metadata:
551
578
  homepage_uri: https://github.com/lost-in-the/woods
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
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
554
581
  bug_tracker_uri: https://github.com/lost-in-the/woods/issues
555
- documentation_uri: https://github.com/lost-in-the/woods/tree/v2.0.1/docs
582
+ documentation_uri: https://github.com/lost-in-the/woods/tree/v2.1.0/docs
556
583
  rubygems_mfa_required: 'true'
557
584
  post_install_message:
558
585
  rdoc_options: []