rubik 0.1.6 → 0.3.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/ATTRIBUTION.md +5 -1
- data/CHANGELOG.md +169 -0
- data/README.md +137 -255
- data/bin/rubik +9 -0
- data/lib/rubik/ast/extraction_result.rb +37 -0
- data/lib/rubik/ast/extractor.rb +35 -9
- data/lib/rubik/ast/graph.rb +27 -1
- data/lib/rubik/ast/treesitter/c_walker.rb +136 -28
- data/lib/rubik/ast/treesitter_extractor.rb +45 -17
- data/lib/rubik/buffer/apply_contract.rb +78 -0
- data/lib/rubik/buffer/manager.rb +61 -5
- data/lib/rubik/cli/workspace_trust.rb +78 -0
- data/lib/rubik/concurrency/event_loop.rb +56 -44
- data/lib/rubik/concurrency/scheduler.rb +7 -24
- data/lib/rubik/context/git_lister.rb +6 -1
- data/lib/rubik/context/scanner.rb +15 -3
- data/lib/rubik/kernel/init.rb +15 -0
- data/lib/rubik/mcp/transport/stdio.rb +14 -11
- data/lib/rubik/orchestrator/auto_apply.rb +1 -1
- data/lib/rubik/orchestrator/subagent/activation.rb +29 -4
- data/lib/rubik/orchestrator/subagent/builtin_types.rb +117 -0
- data/lib/rubik/orchestrator/subagent/dynamic_store.rb +119 -0
- data/lib/rubik/orchestrator/subagent/instance.rb +8 -36
- data/lib/rubik/orchestrator/subagent/journal.rb +77 -4
- data/lib/rubik/orchestrator/subagent/profile_contract.rb +187 -0
- data/lib/rubik/orchestrator/subagent/profile_snapshot.rb +72 -0
- data/lib/rubik/orchestrator/subagent/reuse.rb +2 -1
- data/lib/rubik/orchestrator/subagent/scoped_registry.rb +2 -0
- data/lib/rubik/orchestrator/subagent/spawn_transaction.rb +170 -0
- data/lib/rubik/orchestrator/subagent/start_gate.rb +98 -0
- data/lib/rubik/orchestrator/subagent/supervisor.rb +4 -67
- data/lib/rubik/orchestrator/subagent/type_definition.rb +84 -0
- data/lib/rubik/orchestrator/subagent/type_registry.rb +139 -159
- data/lib/rubik/orchestrator/turn_executor/subagent_channel.rb +4 -2
- data/lib/rubik/platform/process.rb +152 -3
- data/lib/rubik/plugin/manager.rb +148 -71
- data/lib/rubik/plugin/package_inventory.rb +84 -0
- data/lib/rubik/plugin/requires_dag.rb +40 -0
- data/lib/rubik/plugin/storage.rb +100 -14
- data/lib/rubik/prompt/context_builder.rb +54 -20
- data/lib/rubik/prompt/doctrine.rb +158 -22
- data/lib/rubik/prompt/token_estimator.rb +5 -3
- data/lib/rubik/prompt/tool_teachings.rb +19 -12
- data/lib/rubik/repl/commands/buffer.rb +28 -18
- data/lib/rubik/runtime/repair_probe.rb +98 -0
- data/lib/rubik/sandbox/driver/bubblewrap.rb +13 -59
- data/lib/rubik/sandbox/driver/docker.rb +14 -60
- data/lib/rubik/sandbox/driver/podman.rb +13 -56
- data/lib/rubik/sandbox/driver/process.rb +12 -64
- data/lib/rubik/security/blocked_guidance.rb +19 -0
- data/lib/rubik/security/guard.rb +116 -7
- data/lib/rubik/storage/store.rb +52 -11
- data/lib/rubik/tools/builtins/define_subagent.rb +69 -0
- data/lib/rubik/tools/builtins/lifecycle.rb +129 -136
- data/lib/rubik/tools/builtins/storage.rb +8 -5
- data/lib/rubik/tools/builtins/subagent.rb +20 -53
- data/lib/rubik/tools/builtins/synthesis.rb +6 -1
- data/lib/rubik/tools/builtins.rb +1 -0
- data/lib/rubik/tools/diagnostic_reporter.rb +2 -1
- data/lib/rubik/version.rb +1 -1
- metadata +15 -1
data/lib/rubik/tools/builtins.rb
CHANGED
|
@@ -20,6 +20,7 @@ require_relative "builtins/runtime"
|
|
|
20
20
|
require_relative "builtins/lifecycle"
|
|
21
21
|
require_relative "builtins/interactive"
|
|
22
22
|
require_relative "builtins/subagent"
|
|
23
|
+
require_relative "builtins/define_subagent"
|
|
23
24
|
require_relative "builtins/send_message"
|
|
24
25
|
require_relative "builtins/subagent_lifecycle"
|
|
25
26
|
require_relative "builtins/dmesg"
|
|
@@ -119,7 +119,8 @@ module Rubik
|
|
|
119
119
|
|
|
120
120
|
lines << "💡 Need a specialized capability?"
|
|
121
121
|
lines << " You can dynamically create and register your own custom tool at runtime using:"
|
|
122
|
-
lines << " `synthesize_tool(name: '#{tool_name.to_s.downcase}', description: '...',
|
|
122
|
+
lines << " `synthesize_tool(name: '#{tool_name.to_s.downcase}', description: '...', " \
|
|
123
|
+
"params_schema: { type: 'object', properties: { ... } }, code: '->(args) { ... }')`"
|
|
123
124
|
|
|
124
125
|
lines.join("\n")
|
|
125
126
|
end
|
data/lib/rubik/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubik
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Özgür Ulukır
|
|
@@ -244,6 +244,7 @@ files:
|
|
|
244
244
|
- lib/rubik/ast/body_loader.rb
|
|
245
245
|
- lib/rubik/ast/c_extractor.rb
|
|
246
246
|
- lib/rubik/ast/cache_store.rb
|
|
247
|
+
- lib/rubik/ast/extraction_result.rb
|
|
247
248
|
- lib/rubik/ast/extractor.rb
|
|
248
249
|
- lib/rubik/ast/fallback_cleaner.rb
|
|
249
250
|
- lib/rubik/ast/go_extractor.rb
|
|
@@ -266,10 +267,12 @@ files:
|
|
|
266
267
|
- lib/rubik/benchmark/runner.rb
|
|
267
268
|
- lib/rubik/benchmark/synth_repo.rb
|
|
268
269
|
- lib/rubik/buffer.rb
|
|
270
|
+
- lib/rubik/buffer/apply_contract.rb
|
|
269
271
|
- lib/rubik/buffer/diff.rb
|
|
270
272
|
- lib/rubik/buffer/manager.rb
|
|
271
273
|
- lib/rubik/buffer/path_validator.rb
|
|
272
274
|
- lib/rubik/buffer/snapshot.rb
|
|
275
|
+
- lib/rubik/cli/workspace_trust.rb
|
|
273
276
|
- lib/rubik/coeffects.rb
|
|
274
277
|
- lib/rubik/concurrency.rb
|
|
275
278
|
- lib/rubik/concurrency/boundary.rb
|
|
@@ -355,12 +358,14 @@ files:
|
|
|
355
358
|
- lib/rubik/orchestrator/stream_manager.rb
|
|
356
359
|
- lib/rubik/orchestrator/subagent/activation.rb
|
|
357
360
|
- lib/rubik/orchestrator/subagent/budget.rb
|
|
361
|
+
- lib/rubik/orchestrator/subagent/builtin_types.rb
|
|
358
362
|
- lib/rubik/orchestrator/subagent/completion.rb
|
|
359
363
|
- lib/rubik/orchestrator/subagent/concurrency_gate.rb
|
|
360
364
|
- lib/rubik/orchestrator/subagent/context_compaction.rb
|
|
361
365
|
- lib/rubik/orchestrator/subagent/conversation_id.rb
|
|
362
366
|
- lib/rubik/orchestrator/subagent/deferred_spec.rb
|
|
363
367
|
- lib/rubik/orchestrator/subagent/dependency.rb
|
|
368
|
+
- lib/rubik/orchestrator/subagent/dynamic_store.rb
|
|
364
369
|
- lib/rubik/orchestrator/subagent/execution_reads.rb
|
|
365
370
|
- lib/rubik/orchestrator/subagent/instance.rb
|
|
366
371
|
- lib/rubik/orchestrator/subagent/journal.rb
|
|
@@ -369,6 +374,8 @@ files:
|
|
|
369
374
|
- lib/rubik/orchestrator/subagent/narration.rb
|
|
370
375
|
- lib/rubik/orchestrator/subagent/notices.rb
|
|
371
376
|
- lib/rubik/orchestrator/subagent/operation_tracker.rb
|
|
377
|
+
- lib/rubik/orchestrator/subagent/profile_contract.rb
|
|
378
|
+
- lib/rubik/orchestrator/subagent/profile_snapshot.rb
|
|
372
379
|
- lib/rubik/orchestrator/subagent/questioner.rb
|
|
373
380
|
- lib/rubik/orchestrator/subagent/reaper.rb
|
|
374
381
|
- lib/rubik/orchestrator/subagent/resilience.rb
|
|
@@ -376,6 +383,8 @@ files:
|
|
|
376
383
|
- lib/rubik/orchestrator/subagent/reuse.rb
|
|
377
384
|
- lib/rubik/orchestrator/subagent/run_cycle.rb
|
|
378
385
|
- lib/rubik/orchestrator/subagent/scoped_registry.rb
|
|
386
|
+
- lib/rubik/orchestrator/subagent/spawn_transaction.rb
|
|
387
|
+
- lib/rubik/orchestrator/subagent/start_gate.rb
|
|
379
388
|
- lib/rubik/orchestrator/subagent/step_runner.rb
|
|
380
389
|
- lib/rubik/orchestrator/subagent/storage_id.rb
|
|
381
390
|
- lib/rubik/orchestrator/subagent/supervisor.rb
|
|
@@ -384,6 +393,7 @@ files:
|
|
|
384
393
|
- lib/rubik/orchestrator/subagent/tool_dispatch.rb
|
|
385
394
|
- lib/rubik/orchestrator/subagent/transcript_formatter.rb
|
|
386
395
|
- lib/rubik/orchestrator/subagent/transcript_reader.rb
|
|
396
|
+
- lib/rubik/orchestrator/subagent/type_definition.rb
|
|
387
397
|
- lib/rubik/orchestrator/subagent/type_registry.rb
|
|
388
398
|
- lib/rubik/orchestrator/subagent/waiting.rb
|
|
389
399
|
- lib/rubik/orchestrator/subagent_notice_inbox.rb
|
|
@@ -403,6 +413,8 @@ files:
|
|
|
403
413
|
- lib/rubik/plugin.rb
|
|
404
414
|
- lib/rubik/plugin/dsl.rb
|
|
405
415
|
- lib/rubik/plugin/manager.rb
|
|
416
|
+
- lib/rubik/plugin/package_inventory.rb
|
|
417
|
+
- lib/rubik/plugin/requires_dag.rb
|
|
406
418
|
- lib/rubik/plugin/storage.rb
|
|
407
419
|
- lib/rubik/prompt.rb
|
|
408
420
|
- lib/rubik/prompt/context_builder.rb
|
|
@@ -476,6 +488,7 @@ files:
|
|
|
476
488
|
- lib/rubik/runtime/loop_service.rb
|
|
477
489
|
- lib/rubik/runtime/manager.rb
|
|
478
490
|
- lib/rubik/runtime/overlay_storage.rb
|
|
491
|
+
- lib/rubik/runtime/repair_probe.rb
|
|
479
492
|
- lib/rubik/runtime/service_definition.rb
|
|
480
493
|
- lib/rubik/runtime/service_registration.rb
|
|
481
494
|
- lib/rubik/runtime/task_manager.rb
|
|
@@ -712,6 +725,7 @@ files:
|
|
|
712
725
|
- lib/rubik/tools.rb
|
|
713
726
|
- lib/rubik/tools/base.rb
|
|
714
727
|
- lib/rubik/tools/builtins.rb
|
|
728
|
+
- lib/rubik/tools/builtins/define_subagent.rb
|
|
715
729
|
- lib/rubik/tools/builtins/dmesg.rb
|
|
716
730
|
- lib/rubik/tools/builtins/exec.rb
|
|
717
731
|
- lib/rubik/tools/builtins/files.rb
|