algo-cli-runtime 0.20.1__tar.gz → 0.20.3__tar.gz
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.
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/CHANGELOG.md +83 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/PKG-INFO +24 -17
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/README.md +23 -16
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/__init__.py +1 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/action_registry.py +9 -62
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/agent_blocks.py +3 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/agent_pipeline.py +55 -61
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/agent_threads.py +19 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/chatgpt_auth.py +4 -6
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/chatgpt_client.py +149 -18
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/cli_config.py +148 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/config.py +41 -8
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/context_budget.py +62 -25
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/continuum_memory.py +52 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/continuum_tools.py +46 -1
- algo_cli_runtime-0.20.3/algo_cli/decision_catalog.py +90 -0
- algo_cli_runtime-0.20.3/algo_cli/decision_checkpoints.py +433 -0
- algo_cli_runtime-0.20.3/algo_cli/decision_clm_bridge.py +36 -0
- algo_cli_runtime-0.20.3/algo_cli/decision_coordinator.py +299 -0
- algo_cli_runtime-0.20.3/algo_cli/decision_layer.py +738 -0
- algo_cli_runtime-0.20.3/algo_cli/decision_readiness.py +83 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/display.py +169 -151
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/dorothy_perf_telemetry.py +4 -4
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/grounded_answers.py +3 -3
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/nathan_agent_runtime_hardening.py +16 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/scorecard_grading.py +15 -7
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/google_workspace_auth.py +6 -6
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/harness.py +354 -129
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/identity.py +2 -2
- algo_cli_runtime-0.20.3/algo_cli/index_compute_lab.py +80 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/flow_dag.py +7 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/rate_limiter.py +45 -26
- algo_cli_runtime-0.20.3/algo_cli/intelligence/team_execution.py +144 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/irene_memory_path_policy.py +2 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/irene_search.py +8 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/james_dispatch.py +1 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/jev_kernel.py +39 -13
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/kernels/manifest.py +31 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/main.py +165 -719
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/marcus_authority.py +15 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/nathan_runtime.py +239 -11
- algo_cli_runtime-0.20.3/algo_cli/oauth_loopback.py +89 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_slash_dispatch.py +29 -136
- algo_cli_runtime-0.20.3/algo_cli/prompt_rules.py +68 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/boron_public_browser.Dockerfile +8 -8
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/samuel_policy.py +1 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/samuel_policy_engine.py +17 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/session_commands.py +1 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/session_mode.py +3 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/sticky_status.py +7 -4
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/tool_context.py +93 -16
- algo_cli_runtime-0.20.3/algo_cli/tool_schema.py +121 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/tools.py +417 -312
- algo_cli_runtime-0.20.3/algo_cli/ui/__init__.py +0 -0
- algo_cli_runtime-0.20.3/algo_cli/ui/contrast.py +125 -0
- algo_cli_runtime-0.20.3/algo_cli/ui/detect.py +107 -0
- algo_cli_runtime-0.20.3/algo_cli/ui/markdown.py +88 -0
- algo_cli_runtime-0.20.3/algo_cli/ui/tokens.py +467 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/version_manifest.py +2 -18
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/continuum-memory.md +19 -2
- algo_cli_runtime-0.20.3/docs/index-compute-lab-integration.md +25 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/privacy-and-context.md +15 -13
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/runtime-capability-catalog.md +6 -6
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/harness-gateway/go.mod +1 -1
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/harness-gateway/main.go +30 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/harness-indexer/src/main.rs +95 -2
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/memory-recall-ritual.md +14 -17
- algo_cli_runtime-0.20.3/skills/smart-error-recovery.md +52 -0
- algo_cli_runtime-0.20.1/algo_cli/index_compute_lab.py +0 -228
- algo_cli_runtime-0.20.1/algo_cli/intelligence/team_execution.py +0 -122
- algo_cli_runtime-0.20.1/algo_cli/tool_schema.py +0 -50
- algo_cli_runtime-0.20.1/docs/index-compute-lab-integration.md +0 -45
- algo_cli_runtime-0.20.1/skills/smart-error-recovery.md +0 -56
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/.gitignore +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/CONTRIBUTING.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/LICENSE +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/SECURITY.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo-cli.cmd +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo-cli.ps1 +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/__main__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/_internal/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/_internal/policy_chain.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_control_journal.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_credential_registry.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_private_event_store.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_supply_chain_manifest.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_task_ledger.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/ada_uninstall_recovery.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/agent_context.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/agent_run_journal.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/alice_artifact_store.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/animations.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/argon_extensions_manifest.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/arthur_control_doctor.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/arthur_control_readiness.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/arthur_outcomes.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/austin_desktop_simulator.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/austin_install_finalizer.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/austin_release_packager.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/austin_thomas_binding.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/boron_browser_entry.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/boron_browser_isolation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/boron_browser_wrapper.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/cache_admission.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/capability_mask.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/carbon_browser_binding.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/chat_protocol.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/clara_effect_ledger.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/cobalt_browser_service.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/code_rag.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/credential_helpers.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/daemon.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/daemon_rpc.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/david_control_kernel.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/david_control_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/deliberation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/elsie_keyring_anchors.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/embedding_binding.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/algorithm_effectiveness.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/competitive_harness_rating.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/cot_quality.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/diagnostic_graph.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/grounded_retrieval.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/grounded_retrieval_validation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/harness_retrieval_benchmark.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/pattern_comparison.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/pattern_evidence.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/performance_regression.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/session_distribution.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evals/tool_context_efficiency.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/evelyn_context_supersession.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/execution_guardrails.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/git_evidence.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/git_publish.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/google_workspace.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/grace_key_store.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/grace_memory_receipts.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/henry_effect_control.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/henry_hardening_qualification.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/inference_harness.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/actionability.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/adversarial_audit.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/agent_arena.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/agent_benchmark.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/agent_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/agents_as_tools.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/artifact_binding.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/autonomous_engineer.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/backpressure.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/bloom_filter.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/bonferroni.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/boundary_compaction.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/catalog_verifier.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/cavecrew.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/changelog.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/checkpoint_resume.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/circuit_breaker.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/clarification_gate.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/code_graph.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/coderank.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/consistent_hash.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/consortium_synthesis.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/content_extractor.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/context_adaptive.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/context_ops.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/count_min.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/cow_state.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/critic_loop.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/cross_source.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/daemon_mode.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/dag_orchestration.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/deep_research.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/degenerate_detector.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/delta_report.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/discovery_event_log.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/document_ingest.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/dual_layer_validate.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/echo_fidelity.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/ema_tuning.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/event_log.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/evidence_graph.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/extension_host.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/extension_manifest.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/falsification_suite.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/finding_record.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/gatherer.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/golden_master.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/graph_rag.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/group_chat.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/hash_dedup.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/hyperloglog.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/incremental_index.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/index_store.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/iteration_plan.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/kernel_plugins.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/lesson_catalog.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/llm_fallback.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/log2_histogram.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/lsp_integration.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/memory_evolution.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/minhash_lsh.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/multi_model_score.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/multi_tier_grade.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/negative_controls.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/numeric_clamp.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/occ_editor.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/output_normalize.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/parallel_delegation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/parallel_fanout.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/permission_modes.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/pre_push_gate.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/prefetch.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/process_framework.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/project_graph.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/query_expansion.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/ralph_loop.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/refactor_transaction.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/repo_map.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/research_workspace.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/retraction_ledger.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/saga_pattern.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/session_fork.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/shadow_editor.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/shell_session.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/source_registry.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/spawn_scales.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/stat_stability.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/structural_validator.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/subagent_spawner.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/symmetric_verify.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/task_classifier.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/tiered_access.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intelligence/utility_registry.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intuition_engine.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/intuition_injector.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/irene_privacy_views.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/julia_memory_candidates.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/julia_memory_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/kernels/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/model_aliases.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/model_info.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/model_profile.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/model_routing.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/nathan_approval_channel.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/nathan_approval_reviewer.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/nathan_program_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/nathan_provider_protocol.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/neon_browser_native_host.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/neon_browser_simulator.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_authority_rotation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_control_installation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_control_installer.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_control_uninstall.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/oliver_oneshot.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/pattern_catalog.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/pattern_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/protected_memory_preflight.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/quantization/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/quantization/lloyd_max.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/quantization/turbo_quant.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/combinatorial.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/graph_of_thought.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/mcts.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/neuro_symbolic.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/react.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/reflexion.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning/tree_of_thought.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reasoning_bridge.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reconciliation.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/reflex.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/boron_browser_wrapper.sh +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/boron_managed_policy.json +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/boron_public_browser.Dockerfile.dockerignore +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/boron_seccomp_profile.json +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/carbon_native_browser.Dockerfile +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/carbon_native_browser.Dockerfile.dockerignore +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/xenon_egress_broker.Dockerfile +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/xenon_egress_broker.Dockerfile.dockerignore +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/boron_browser/xenon_egress_broker.sh +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/neon_extension/neon_manifest_template.json +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/neon_extension/neon_popup.html +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/neon_extension/neon_popup.js +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/neon_extension/neon_service_worker.js +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/resources/prompts/yolo_mode.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/retrieval_algorithms.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/run_contract.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/search_execution.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/skills.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/small_context.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/spawn_budget.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/task_router.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/theodore_runtime_qos.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/theodore_runtime_services.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/tool_contract.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/updater.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/url_scheme.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/verify.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/vision_screenshot_verify.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/william_plugins.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/workspace_resolver.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/worktree_runtime.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/x_account.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/xai_auth.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/xai_client.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/xenon_browser_broker.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/xenon_browser_egress.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/algo_cli/xenon_browser_entry.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/ALGO.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/ada-algo-cli-memory-lifecycle-contract.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/algo-cli-algorithm-evidence-contract.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/algo-cli-execution-verification-contract.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/external-agent-store-operations.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/harness-extension-cleanup-recommendation.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/inference-harness-loop-blueprint-2026-06.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/main-split-map.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/provider-auth-recovery.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/reflex-loop-v0.2.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/supervised-action-review.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/docs/t3-code-parity-2026-07.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/harness-indexer/Cargo.lock +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/harness-indexer/Cargo.toml +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/ollama_cli/__init__.py +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/pyproject.toml +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/README.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/algo-cli.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/edit-file-precision.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/harness-search-first.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/homebrew-helper-catalog.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/qol-algorithms.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/session-yolo-mode.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/sleeper-agent-model-review.md +0 -0
- {algo_cli_runtime-0.20.1 → algo_cli_runtime-0.20.3}/skills/tool-selection-cheatsheet.md +0 -0
|
@@ -4,6 +4,89 @@ All notable changes to Algo CLI are documented here. The format follows [Keep a
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
### 0.20.3 Core CLI Candidate
|
|
8
|
+
|
|
9
|
+
- Prepare the Continuum-only runtime, bounded Jev coordinator and interrupted
|
|
10
|
+
stream/cancellation reliability repairs for exact-source qualification.
|
|
11
|
+
- Require deterministic evidence for exact calculations; preserve decision
|
|
12
|
+
uncertainty, shell approvals and independent workspace verification. Add
|
|
13
|
+
machine-keyed graph/probability and confident-wrong-answer regressions.
|
|
14
|
+
- Align protected draft capture with the fresh 0.20.3 candidate; do not reuse
|
|
15
|
+
the immutable 0.20.2 tag or its draft evidence.
|
|
16
|
+
- Include Go 1.26.9 and qualified website dependency repairs. Keep signed native
|
|
17
|
+
features disabled and the public catalog free of owner data.
|
|
18
|
+
- Publication remains conditional on local and hosted core-release gates;
|
|
19
|
+
see `docs/henry-release-0.20.3.md` for scope and excluded native features.
|
|
20
|
+
|
|
21
|
+
## [0.20.2] - 2026-09-25
|
|
22
|
+
|
|
23
|
+
A patch release. It closes a secret-redaction gap in captured session command
|
|
24
|
+
output, refreshes the managed-browser security pin, and carries the
|
|
25
|
+
runtime-reliability and terminal-theme work merged since 0.20.1.
|
|
26
|
+
|
|
27
|
+
### Security
|
|
28
|
+
|
|
29
|
+
- Strip terminal control sequences from captured `session_command` output
|
|
30
|
+
before redaction. With `FORCE_COLOR` set, a color code directly before
|
|
31
|
+
`access_token=` defeated the secret pattern's word boundary, and a `/google`
|
|
32
|
+
error reached the model with the token unredacted; 0.20.1 is affected. The
|
|
33
|
+
secret and Bearer patterns no longer depend on a leading word boundary.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- `jev_kernel_status` had no reachable grant in any mode; it is now a local
|
|
38
|
+
runtime read in the baseline set. `jev_question_contract` stays
|
|
39
|
+
approval-gated.
|
|
40
|
+
- `jev_question_contract` in its default `lint` mode resolved to the provider
|
|
41
|
+
target and was denied as a setup gap that no approval could resolve. Local
|
|
42
|
+
lint now resolves to a runtime target with baseline access; `review`, `run`
|
|
43
|
+
and `followup` keep provider scope, data-egress capability and session
|
|
44
|
+
approval.
|
|
45
|
+
- `/agent team` options are parsed with quote awareness: `--roles="planner, critic"`
|
|
46
|
+
is accepted, and `--roles` inside quoted task text stays part of the task
|
|
47
|
+
instead of selecting specialists or being removed.
|
|
48
|
+
- A team specialist that was already inside its locked status write when the run
|
|
49
|
+
was cancelled can no longer move its thread back to `running` or finish it as
|
|
50
|
+
another status: the thread store refuses in-progress writes over a terminal
|
|
51
|
+
status, and a cancelled thread can only be finished as cancelled.
|
|
52
|
+
- Missing-grant denials name the action, target and missing scope, say whether
|
|
53
|
+
the denial is policy or a setup gap, and give the recovery step.
|
|
54
|
+
- An identical denied call is not retried within the turn and gets no second
|
|
55
|
+
approval prompt; three identical blocks stop the run.
|
|
56
|
+
- `action_search` indexes slash-command capabilities such as
|
|
57
|
+
`/google gmail-list`, maps email, mail and inbox to Gmail, and reports
|
|
58
|
+
"no match" instead of "unavailable". `available_actions(topic)` matches the
|
|
59
|
+
same way.
|
|
60
|
+
- Harness stats and the index-quality recommendation explain why the last
|
|
61
|
+
embedding pass did not run.
|
|
62
|
+
- Rich cannot resolve compound styles such as `bold primary`, so about thirty
|
|
63
|
+
surfaces (logo, banner, error label, thinking text, headings) rendered
|
|
64
|
+
unstyled and several footer chips failed contrast. Every style is now a
|
|
65
|
+
named token with contrast floors, and `/reload` no longer leaves the footer
|
|
66
|
+
on the previous theme.
|
|
67
|
+
|
|
68
|
+
### Changed
|
|
69
|
+
|
|
70
|
+
- One color profile (truecolor, 256, 16 or mono) is detected once from
|
|
71
|
+
`COLORTERM`, `TERM`, `NO_COLOR`, `FORCE_COLOR` and the Windows console and
|
|
72
|
+
applied to output, prompt and footer together. 16-color terminals keep
|
|
73
|
+
success, warning, error and info distinct; `NO_COLOR` and `TERM=dumb` use
|
|
74
|
+
bold, dim and reverse only; `FORCE_COLOR` raises the detected depth.
|
|
75
|
+
- Assistant Markdown and code blocks follow the active theme instead of Rich's
|
|
76
|
+
defaults. All seven themes, including `redeye`, are documented.
|
|
77
|
+
- Jev tool text states that Jev returns advisory judgments only and names the
|
|
78
|
+
routes that can browse, read mail or act.
|
|
79
|
+
- Refresh the Boron managed-browser pin to Chrome `154.0.8037.57` with its
|
|
80
|
+
package checksum, release timestamp, regenerated dpkg lock and coupled
|
|
81
|
+
fixtures, keeping the 72-hour security-update limit.
|
|
82
|
+
- The predecessor upgrade smoke baseline moves to public `0.20.1`.
|
|
83
|
+
|
|
84
|
+
### Release Limits
|
|
85
|
+
|
|
86
|
+
- M8 retains five blocked external-browser metrics and M9 retains thirteen
|
|
87
|
+
blocked requirements. No external-browser or model-quality qualification is
|
|
88
|
+
claimed from local deterministic evidence.
|
|
89
|
+
|
|
7
90
|
## [0.20.1] - 2026-09-23
|
|
8
91
|
|
|
9
92
|
A patch release from a whole-codebase bug hunt. Candidate issues were
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: algo-cli-runtime
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.3
|
|
4
4
|
Summary: Agent runtime for tools, durable context, and verified work
|
|
5
5
|
Project-URL: Homepage, https://algo-cli.com
|
|
6
6
|
Project-URL: Documentation, https://algo-cli.com/docs
|
|
@@ -149,7 +149,7 @@ echo "what changed in main.py?" | algo-cli --oneshot --json
|
|
|
149
149
|
algo-cli --oneshot --json --approval-mode auto --cwd /path/to/project "fix the failing test"
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
-
Signed-in local Ollama can run `:cloud` models without `OLLAMA_API_KEY`. `OLLAMA_API_KEY` is only required for the direct Cloud API route (`--cloud` / `/cloud on` when an API key is present) and web tools.
|
|
152
|
+
Signed-in local Ollama can run `:cloud` models without `OLLAMA_API_KEY`. `OLLAMA_API_KEY` is only required for the direct Cloud API route (`--cloud` / `/cloud on` when an API key is present) and web tools. Native Continuum owns memory without a CLI embedding pipeline. Local reference lookup is lexical; no automatic embedding model is loaded.
|
|
153
153
|
|
|
154
154
|
`--oneshot --json` emits one JSON object per line to stdout (NDJSON), suitable for subprocess consumption. `--approval-mode never` (default) denies approval-required tools and emits a `tool_denied` event; pass `--approval-mode auto` to grant them. Skill crystallization is disabled in one-shot mode. Event types: `session_start`, `thinking`, `content`, `tool_call`, `tool_result`, `tool_denied`, `error`, `done`. The bridge can rely on `session_start` first and `done` last as framing.
|
|
155
155
|
|
|
@@ -181,13 +181,11 @@ xAI's public API uses `XAI_API_KEY`; API calls can consume paid usage, so setup
|
|
|
181
181
|
|
|
182
182
|
Every normal chat request sends the active conversation and the assembled Algo CLI system context to the selected inference provider. That context includes `SOUL.md`, `IDENTITY.md`, `USER.md`, saved memories, and relevant retrieved lessons when available. With a cloud model, this content may leave the machine. Automatic memory capture is off by default. `/memory-auto on` records explicit consent for the current capture policy and enables bounded capture after successful turns. `/memory-auto off` stops future automatic captures and clears that consent (it does not delete existing memories).
|
|
183
183
|
|
|
184
|
-
The installed
|
|
184
|
+
The installed reference corpus contains public Algo CLI docs, skills and runtime metadata. Continuum owns memory; Echo Veil, Lab-index, vector Code RAG and embedding routes are retired. External local references remain opt-in because retrieved content can become part of a model request.
|
|
185
185
|
|
|
186
186
|
- `/harness external on` opts in to supported Codex, Claude, OpenClaw, Mercury, and shared agent stores.
|
|
187
|
-
- `/icl on` opts in to `~/index-compute-lab`; override its root with `ALGO_CLI_INDEX_COMPUTE_LAB_ROOT`.
|
|
188
|
-
- `/code-rag on` opts in to indexing source files beneath the active cwd and adding relevant snippets to model requests. `/code-rag off` disables retrieval and purges persisted code indexes.
|
|
189
187
|
- `/skills on` opts in to bounded run-summary capture under `~/.algo_cli/private/run_history.jsonl` and automatic skill-candidate crystallization by a genuinely local, non-embedding Ollama model. There is no cloud fallback.
|
|
190
|
-
- `/harness external off`
|
|
188
|
+
- `/harness external off` rebuilds the generated reference index without external records.
|
|
191
189
|
|
|
192
190
|
Common credential forms are redacted and connector/MCP JSON is metadata-only, but redaction is not a substitute for reviewing the sources you enable. See [Privacy and local context](docs/privacy-and-context.md).
|
|
193
191
|
|
|
@@ -214,11 +212,8 @@ Common credential forms are redacted and connector/MCP JSON is metadata-only, bu
|
|
|
214
212
|
| `/thinking effort [MODEL] LEVEL` | Set Codex reasoning effort (`low`, `medium`, `high`, `xhigh`, or GPT-5.6 `max`) |
|
|
215
213
|
| `/agent team ...` | Algo's multi-agent counterpart to Codex Ultra; fan out specialists, then integrate and verify |
|
|
216
214
|
| `/memory-auto [on\|off\|status]` | Inspect or toggle bounded, privacy-gated automatic memory capture after successful turns |
|
|
217
|
-
| `/code-rag [on\|off\|status]` | Opt in or out of cwd source indexing and prompt retrieval; `off` purges persisted indexes |
|
|
218
215
|
| `/skills [on\|off\|status\|crystallize]` | Opt in to local run-history capture and review local-only skill candidates |
|
|
219
216
|
| `/remember FACT` | Save a long-term memory |
|
|
220
|
-
| `/intuition [on|off|status|add|list|forget|reindex]` | Manage embedded recall blocks |
|
|
221
|
-
| `/icl [on\|off\|status\|ask\|path]` | index-compute-lab knowledge graph (auto-injected each turn when on) |
|
|
222
217
|
| `/harness external [on\|off\|status]` | Opt in or out of indexing other local agent stores |
|
|
223
218
|
| `/route TASK` | Preview task classification, pipeline, advisory budget, and tool policy |
|
|
224
219
|
| `/agent init` | Write a starter `~/.algo_cli/blocks.toml` without overwriting an existing file |
|
|
@@ -259,7 +254,7 @@ Common credential forms are redacted and connector/MCP JSON is metadata-only, bu
|
|
|
259
254
|
|
|
260
255
|
Typing `/` in the prompt shows inline slash-command completions.
|
|
261
256
|
|
|
262
|
-
For the assistant/model, slash commands are session controls, not prose. The model is prompted to use `session_slash` for deterministic `/read`, `/ls`, `/cd`, and `/cwd`; `session_command` for non-file session controls such as `/status`, `/mode`, `/context`, `/
|
|
257
|
+
For the assistant/model, slash commands are session controls, not prose. The model is prompted to use `session_slash` for deterministic `/read`, `/ls`, `/cd`, and `/cwd`; `session_command` for non-file session controls such as `/status`, `/mode`, `/context`, `/context status`, `/harness refresh`, `/route`, and `/agent`; and normal model-callable tools for actual work (`write_file` for edits, `run_shell` for tests/builds). Read-only/status `session_command` calls run without approval; state-changing commands and agent execution require approval. Runtime-triggered `/agent` calls are allowed from the parent chat loop, but recursive delegation from inside an Agent Blocks run is rejected. Toggle commands accept explicit idempotent forms such as `/auto on`, `/safe off`, `/context status`, `/thinking status`, `/verify on`, and `/cloud off`.
|
|
263
258
|
|
|
264
259
|
`/reason` is called out in the model prompt as a reasoning-posture control. Use `/reason status` or `/reason guide` before changing it. Keep `react` for ordinary tool loops and simple edits; use `reflexion` after failed/partial attempts; `tot`, `got`, or `mcts` for ambiguous multi-path planning/search; `qcr` for comparing candidate solutions; and `neuro_symbolic` for verification-heavy logic, code invariants, contracts, math, or claim checking. Changing `/reason` does not replace evidence gathering or tool verification.
|
|
265
260
|
|
|
@@ -287,7 +282,7 @@ Every turn semantically supersedes older successful snapshots of the same resour
|
|
|
287
282
|
|
|
288
283
|
When a `requires_change` block completes on recorded `write_file` evidence but Git verification is unavailable, the manual-confirmation notice is carried on a dedicated verification field. The block's output stays untouched; the warning is rendered on the completion panel and passed to downstream blocks in a separate `## Verification` section.
|
|
289
284
|
|
|
290
|
-
Agent Block runs use
|
|
285
|
+
Agent Block runs use native Continuum context when selected; retired Intuition recall is not injected. For medium-risk coding tasks with policy enforcement enabled, write and shell tools remain available subject to approval; high-risk tasks remain read-only.
|
|
291
286
|
|
|
292
287
|
The built-in `code-change` plan block may perform up to four local read-only inspection turns before planning, so implementation starts from observed Python paths instead of guessed project structure.
|
|
293
288
|
|
|
@@ -307,7 +302,7 @@ The model can call these tools during a conversation:
|
|
|
307
302
|
|
|
308
303
|
**Memory:** `remember`, `append_lesson`, `update_user_profile`
|
|
309
304
|
|
|
310
|
-
**Multimodal:** `
|
|
305
|
+
**Multimodal:** `vision_describe`
|
|
311
306
|
|
|
312
307
|
**Programmatic actions:** `action_search` retrieves a small set of exact deferred action schemas; discovery does not bypass the active capability ceiling, runtime policy, or approval. `action_program` compiles a bounded typed dataflow plan—never arbitrary Python or JavaScript—and routes every nested action through its existing ActionSpec policy, guardrails, approval, attempt ledger, and telemetry. Its wall-clock budget is cooperative: the remaining budget is propagated into timeout-aware actions and checked around every step, while actions without a timeout contract can only be marked over-budget after they return. Large intermediate values are content-addressed in the private runtime store; compact results retain hash-chained mutation and verification receipts. Successful program verifiers reconcile into the outer completion ledger, so the latest passing post-mutation check supersedes earlier failures without relying on model phrasing.
|
|
313
308
|
|
|
@@ -317,9 +312,9 @@ The model can call these tools during a conversation:
|
|
|
317
312
|
|
|
318
313
|
**Files and Git:** `read_file`, `read_pdf`, `render_pdf_pages`, `edit_file`, `write_file`, `list_directory`, `search_files`, `find_unique_anchor`, `batch_edit`, `git_status`, `git_diff`
|
|
319
314
|
|
|
320
|
-
**
|
|
315
|
+
**References:** `available_actions`, `harness_stats`, `harness_search`, `harness_read`, `harness_refresh`. These use lexical search, not an embedding provider.
|
|
321
316
|
|
|
322
|
-
|
|
317
|
+
**Memory:** explicit scoped native Continuum tools. Retired graph/embedding commands refuse calls and do not select a fallback backend.
|
|
323
318
|
|
|
324
319
|
`write_file`, `run_shell`, `model_delete`, and `model_create` require approval unless `/auto` is enabled. A typed program is not blanket-approved: each nested mutation or external action keeps its own approval decision, and restricted Agent Blocks supply their own runtime-owned capability ceiling. Safe mode blocks destructive shell patterns by default. Agent Blocks with `requires_change = true` are instructed prescriptively that file creation, edits, appends, and deletes must go through `write_file`; `run_shell` is restricted to read-only verification (status, tests, lint, diff, grep, ls). Shell-based file mutation (heredocs, output redirection, `sed -i`, `Set-Content`, `Out-File`, etc.) is not counted as evidence of a change, and the model is told to stop and report rather than route edits through shell when `write_file` is unavailable.
|
|
325
320
|
|
|
@@ -335,7 +330,7 @@ The CLI retrieves relevant records from a local index. The public built-in corpu
|
|
|
335
330
|
|
|
336
331
|
**Default sources:** packaged Algo CLI docs and skills, user-created `~/.algo_cli` records, and explicit `harness_roots.json` entries.
|
|
337
332
|
|
|
338
|
-
**Opt-in sources:** Codex, Claude, OpenClaw, shared agents, Mercury, CLI Agent
|
|
333
|
+
**Opt-in reference sources:** Codex, Claude, OpenClaw, shared agents, Mercury, CLI Agent and Pi. These do not replace Continuum memory.
|
|
339
334
|
|
|
340
335
|
**Harness commands:**
|
|
341
336
|
```
|
|
@@ -381,7 +376,17 @@ cd harness-gateway
|
|
|
381
376
|
go run . -addr 127.0.0.1:8765
|
|
382
377
|
```
|
|
383
378
|
|
|
384
|
-
|
|
379
|
+
Gateway endpoints include `GET /healthz`, `GET /harness/stats` and
|
|
380
|
+
`GET /harness/search`. CLI readiness uses the public health check; the CLI does
|
|
381
|
+
not call the historical embedding endpoint.
|
|
382
|
+
|
|
383
|
+
Index search and statistics are disabled unless `ALGO_CLI_GATEWAY_TOKEN` is set
|
|
384
|
+
in the gateway process environment. Use a cryptographically generated URL-safe
|
|
385
|
+
token of 32 to 512 characters and send it as a single
|
|
386
|
+
`Authorization: Bearer <token>` header. Query-string tokens are not accepted.
|
|
387
|
+
Missing or malformed server configuration returns 503; missing or invalid caller
|
|
388
|
+
credentials return 401. Do not put the token in a URL, shell argument, repository
|
|
389
|
+
or shared log. The health check does not require this index credential.
|
|
385
390
|
|
|
386
391
|
Override: `ALGO_CLI_GATEWAY_URL`, `ALGO_CLI_GATEWAY_BIN` (legacy `OLLAMA_CLI_*` names are still accepted).
|
|
387
392
|
|
|
@@ -394,8 +399,10 @@ Config is stored in `~/.algo_cli/` by default (data from `~/.ollama_cli` is auto
|
|
|
394
399
|
| `ALGO_CLI_CONFIG_DIR` | Override config directory |
|
|
395
400
|
| `ALGO_CLI_ENV_FILE` | Override runtime env file path (`env` is preferred; `.env` is supported as a fallback) |
|
|
396
401
|
| `ALGO_CLI_MODEL` | Default model |
|
|
397
|
-
| `ALGO_CLI_THEME` | Default theme (`tokyo-night`, `catppuccin-mocha`, `dracula`, `nord`, `gruvbox`, `dolphie`) |
|
|
402
|
+
| `ALGO_CLI_THEME` | Default theme (`tokyo-night`, `catppuccin-mocha`, `dracula`, `nord`, `gruvbox`, `dolphie`, `redeye`) |
|
|
403
|
+
| `NO_COLOR`, `COLORTERM`, `TERM`, `FORCE_COLOR` | Colour depth, detected once for the whole UI: `NO_COLOR` or `TERM=dumb` renders with bold, dim and reverse only; `COLORTERM=truecolor` gives 24-bit, `*-256color` 256 colours, and `FORCE_COLOR=1/2/3` raises (never lowers) the depth; any other terminal uses a 16-colour ANSI palette in which every theme shares one map that keeps success, warning, error and info distinct |
|
|
398
404
|
| `ALGO_CLI_GATEWAY_URL` | Go gateway URL |
|
|
405
|
+
| `ALGO_CLI_GATEWAY_TOKEN` | Optional gateway index API credential; keep private and transmit only in the Bearer header |
|
|
399
406
|
| `ALGO_CLI_HARNESS_INDEXER` | Optional Rust harness indexer binary |
|
|
400
407
|
| `OPENAI_OAUTH_CLIENT_ID` | Optional override for the bundled ChatGPT/Codex browser OAuth client |
|
|
401
408
|
| `OPENAI_CODEX_CLIENT_ID` | Optional override for the bundled Codex OAuth client |
|
|
@@ -81,7 +81,7 @@ echo "what changed in main.py?" | algo-cli --oneshot --json
|
|
|
81
81
|
algo-cli --oneshot --json --approval-mode auto --cwd /path/to/project "fix the failing test"
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
Signed-in local Ollama can run `:cloud` models without `OLLAMA_API_KEY`. `OLLAMA_API_KEY` is only required for the direct Cloud API route (`--cloud` / `/cloud on` when an API key is present) and web tools.
|
|
84
|
+
Signed-in local Ollama can run `:cloud` models without `OLLAMA_API_KEY`. `OLLAMA_API_KEY` is only required for the direct Cloud API route (`--cloud` / `/cloud on` when an API key is present) and web tools. Native Continuum owns memory without a CLI embedding pipeline. Local reference lookup is lexical; no automatic embedding model is loaded.
|
|
85
85
|
|
|
86
86
|
`--oneshot --json` emits one JSON object per line to stdout (NDJSON), suitable for subprocess consumption. `--approval-mode never` (default) denies approval-required tools and emits a `tool_denied` event; pass `--approval-mode auto` to grant them. Skill crystallization is disabled in one-shot mode. Event types: `session_start`, `thinking`, `content`, `tool_call`, `tool_result`, `tool_denied`, `error`, `done`. The bridge can rely on `session_start` first and `done` last as framing.
|
|
87
87
|
|
|
@@ -113,13 +113,11 @@ xAI's public API uses `XAI_API_KEY`; API calls can consume paid usage, so setup
|
|
|
113
113
|
|
|
114
114
|
Every normal chat request sends the active conversation and the assembled Algo CLI system context to the selected inference provider. That context includes `SOUL.md`, `IDENTITY.md`, `USER.md`, saved memories, and relevant retrieved lessons when available. With a cloud model, this content may leave the machine. Automatic memory capture is off by default. `/memory-auto on` records explicit consent for the current capture policy and enables bounded capture after successful turns. `/memory-auto off` stops future automatic captures and clears that consent (it does not delete existing memories).
|
|
115
115
|
|
|
116
|
-
The installed
|
|
116
|
+
The installed reference corpus contains public Algo CLI docs, skills and runtime metadata. Continuum owns memory; Echo Veil, Lab-index, vector Code RAG and embedding routes are retired. External local references remain opt-in because retrieved content can become part of a model request.
|
|
117
117
|
|
|
118
118
|
- `/harness external on` opts in to supported Codex, Claude, OpenClaw, Mercury, and shared agent stores.
|
|
119
|
-
- `/icl on` opts in to `~/index-compute-lab`; override its root with `ALGO_CLI_INDEX_COMPUTE_LAB_ROOT`.
|
|
120
|
-
- `/code-rag on` opts in to indexing source files beneath the active cwd and adding relevant snippets to model requests. `/code-rag off` disables retrieval and purges persisted code indexes.
|
|
121
119
|
- `/skills on` opts in to bounded run-summary capture under `~/.algo_cli/private/run_history.jsonl` and automatic skill-candidate crystallization by a genuinely local, non-embedding Ollama model. There is no cloud fallback.
|
|
122
|
-
- `/harness external off`
|
|
120
|
+
- `/harness external off` rebuilds the generated reference index without external records.
|
|
123
121
|
|
|
124
122
|
Common credential forms are redacted and connector/MCP JSON is metadata-only, but redaction is not a substitute for reviewing the sources you enable. See [Privacy and local context](docs/privacy-and-context.md).
|
|
125
123
|
|
|
@@ -146,11 +144,8 @@ Common credential forms are redacted and connector/MCP JSON is metadata-only, bu
|
|
|
146
144
|
| `/thinking effort [MODEL] LEVEL` | Set Codex reasoning effort (`low`, `medium`, `high`, `xhigh`, or GPT-5.6 `max`) |
|
|
147
145
|
| `/agent team ...` | Algo's multi-agent counterpart to Codex Ultra; fan out specialists, then integrate and verify |
|
|
148
146
|
| `/memory-auto [on\|off\|status]` | Inspect or toggle bounded, privacy-gated automatic memory capture after successful turns |
|
|
149
|
-
| `/code-rag [on\|off\|status]` | Opt in or out of cwd source indexing and prompt retrieval; `off` purges persisted indexes |
|
|
150
147
|
| `/skills [on\|off\|status\|crystallize]` | Opt in to local run-history capture and review local-only skill candidates |
|
|
151
148
|
| `/remember FACT` | Save a long-term memory |
|
|
152
|
-
| `/intuition [on|off|status|add|list|forget|reindex]` | Manage embedded recall blocks |
|
|
153
|
-
| `/icl [on\|off\|status\|ask\|path]` | index-compute-lab knowledge graph (auto-injected each turn when on) |
|
|
154
149
|
| `/harness external [on\|off\|status]` | Opt in or out of indexing other local agent stores |
|
|
155
150
|
| `/route TASK` | Preview task classification, pipeline, advisory budget, and tool policy |
|
|
156
151
|
| `/agent init` | Write a starter `~/.algo_cli/blocks.toml` without overwriting an existing file |
|
|
@@ -191,7 +186,7 @@ Common credential forms are redacted and connector/MCP JSON is metadata-only, bu
|
|
|
191
186
|
|
|
192
187
|
Typing `/` in the prompt shows inline slash-command completions.
|
|
193
188
|
|
|
194
|
-
For the assistant/model, slash commands are session controls, not prose. The model is prompted to use `session_slash` for deterministic `/read`, `/ls`, `/cd`, and `/cwd`; `session_command` for non-file session controls such as `/status`, `/mode`, `/context`, `/
|
|
189
|
+
For the assistant/model, slash commands are session controls, not prose. The model is prompted to use `session_slash` for deterministic `/read`, `/ls`, `/cd`, and `/cwd`; `session_command` for non-file session controls such as `/status`, `/mode`, `/context`, `/context status`, `/harness refresh`, `/route`, and `/agent`; and normal model-callable tools for actual work (`write_file` for edits, `run_shell` for tests/builds). Read-only/status `session_command` calls run without approval; state-changing commands and agent execution require approval. Runtime-triggered `/agent` calls are allowed from the parent chat loop, but recursive delegation from inside an Agent Blocks run is rejected. Toggle commands accept explicit idempotent forms such as `/auto on`, `/safe off`, `/context status`, `/thinking status`, `/verify on`, and `/cloud off`.
|
|
195
190
|
|
|
196
191
|
`/reason` is called out in the model prompt as a reasoning-posture control. Use `/reason status` or `/reason guide` before changing it. Keep `react` for ordinary tool loops and simple edits; use `reflexion` after failed/partial attempts; `tot`, `got`, or `mcts` for ambiguous multi-path planning/search; `qcr` for comparing candidate solutions; and `neuro_symbolic` for verification-heavy logic, code invariants, contracts, math, or claim checking. Changing `/reason` does not replace evidence gathering or tool verification.
|
|
197
192
|
|
|
@@ -219,7 +214,7 @@ Every turn semantically supersedes older successful snapshots of the same resour
|
|
|
219
214
|
|
|
220
215
|
When a `requires_change` block completes on recorded `write_file` evidence but Git verification is unavailable, the manual-confirmation notice is carried on a dedicated verification field. The block's output stays untouched; the warning is rendered on the completion panel and passed to downstream blocks in a separate `## Verification` section.
|
|
221
216
|
|
|
222
|
-
Agent Block runs use
|
|
217
|
+
Agent Block runs use native Continuum context when selected; retired Intuition recall is not injected. For medium-risk coding tasks with policy enforcement enabled, write and shell tools remain available subject to approval; high-risk tasks remain read-only.
|
|
223
218
|
|
|
224
219
|
The built-in `code-change` plan block may perform up to four local read-only inspection turns before planning, so implementation starts from observed Python paths instead of guessed project structure.
|
|
225
220
|
|
|
@@ -239,7 +234,7 @@ The model can call these tools during a conversation:
|
|
|
239
234
|
|
|
240
235
|
**Memory:** `remember`, `append_lesson`, `update_user_profile`
|
|
241
236
|
|
|
242
|
-
**Multimodal:** `
|
|
237
|
+
**Multimodal:** `vision_describe`
|
|
243
238
|
|
|
244
239
|
**Programmatic actions:** `action_search` retrieves a small set of exact deferred action schemas; discovery does not bypass the active capability ceiling, runtime policy, or approval. `action_program` compiles a bounded typed dataflow plan—never arbitrary Python or JavaScript—and routes every nested action through its existing ActionSpec policy, guardrails, approval, attempt ledger, and telemetry. Its wall-clock budget is cooperative: the remaining budget is propagated into timeout-aware actions and checked around every step, while actions without a timeout contract can only be marked over-budget after they return. Large intermediate values are content-addressed in the private runtime store; compact results retain hash-chained mutation and verification receipts. Successful program verifiers reconcile into the outer completion ledger, so the latest passing post-mutation check supersedes earlier failures without relying on model phrasing.
|
|
245
240
|
|
|
@@ -249,9 +244,9 @@ The model can call these tools during a conversation:
|
|
|
249
244
|
|
|
250
245
|
**Files and Git:** `read_file`, `read_pdf`, `render_pdf_pages`, `edit_file`, `write_file`, `list_directory`, `search_files`, `find_unique_anchor`, `batch_edit`, `git_status`, `git_diff`
|
|
251
246
|
|
|
252
|
-
**
|
|
247
|
+
**References:** `available_actions`, `harness_stats`, `harness_search`, `harness_read`, `harness_refresh`. These use lexical search, not an embedding provider.
|
|
253
248
|
|
|
254
|
-
|
|
249
|
+
**Memory:** explicit scoped native Continuum tools. Retired graph/embedding commands refuse calls and do not select a fallback backend.
|
|
255
250
|
|
|
256
251
|
`write_file`, `run_shell`, `model_delete`, and `model_create` require approval unless `/auto` is enabled. A typed program is not blanket-approved: each nested mutation or external action keeps its own approval decision, and restricted Agent Blocks supply their own runtime-owned capability ceiling. Safe mode blocks destructive shell patterns by default. Agent Blocks with `requires_change = true` are instructed prescriptively that file creation, edits, appends, and deletes must go through `write_file`; `run_shell` is restricted to read-only verification (status, tests, lint, diff, grep, ls). Shell-based file mutation (heredocs, output redirection, `sed -i`, `Set-Content`, `Out-File`, etc.) is not counted as evidence of a change, and the model is told to stop and report rather than route edits through shell when `write_file` is unavailable.
|
|
257
252
|
|
|
@@ -267,7 +262,7 @@ The CLI retrieves relevant records from a local index. The public built-in corpu
|
|
|
267
262
|
|
|
268
263
|
**Default sources:** packaged Algo CLI docs and skills, user-created `~/.algo_cli` records, and explicit `harness_roots.json` entries.
|
|
269
264
|
|
|
270
|
-
**Opt-in sources:** Codex, Claude, OpenClaw, shared agents, Mercury, CLI Agent
|
|
265
|
+
**Opt-in reference sources:** Codex, Claude, OpenClaw, shared agents, Mercury, CLI Agent and Pi. These do not replace Continuum memory.
|
|
271
266
|
|
|
272
267
|
**Harness commands:**
|
|
273
268
|
```
|
|
@@ -313,7 +308,17 @@ cd harness-gateway
|
|
|
313
308
|
go run . -addr 127.0.0.1:8765
|
|
314
309
|
```
|
|
315
310
|
|
|
316
|
-
|
|
311
|
+
Gateway endpoints include `GET /healthz`, `GET /harness/stats` and
|
|
312
|
+
`GET /harness/search`. CLI readiness uses the public health check; the CLI does
|
|
313
|
+
not call the historical embedding endpoint.
|
|
314
|
+
|
|
315
|
+
Index search and statistics are disabled unless `ALGO_CLI_GATEWAY_TOKEN` is set
|
|
316
|
+
in the gateway process environment. Use a cryptographically generated URL-safe
|
|
317
|
+
token of 32 to 512 characters and send it as a single
|
|
318
|
+
`Authorization: Bearer <token>` header. Query-string tokens are not accepted.
|
|
319
|
+
Missing or malformed server configuration returns 503; missing or invalid caller
|
|
320
|
+
credentials return 401. Do not put the token in a URL, shell argument, repository
|
|
321
|
+
or shared log. The health check does not require this index credential.
|
|
317
322
|
|
|
318
323
|
Override: `ALGO_CLI_GATEWAY_URL`, `ALGO_CLI_GATEWAY_BIN` (legacy `OLLAMA_CLI_*` names are still accepted).
|
|
319
324
|
|
|
@@ -326,8 +331,10 @@ Config is stored in `~/.algo_cli/` by default (data from `~/.ollama_cli` is auto
|
|
|
326
331
|
| `ALGO_CLI_CONFIG_DIR` | Override config directory |
|
|
327
332
|
| `ALGO_CLI_ENV_FILE` | Override runtime env file path (`env` is preferred; `.env` is supported as a fallback) |
|
|
328
333
|
| `ALGO_CLI_MODEL` | Default model |
|
|
329
|
-
| `ALGO_CLI_THEME` | Default theme (`tokyo-night`, `catppuccin-mocha`, `dracula`, `nord`, `gruvbox`, `dolphie`) |
|
|
334
|
+
| `ALGO_CLI_THEME` | Default theme (`tokyo-night`, `catppuccin-mocha`, `dracula`, `nord`, `gruvbox`, `dolphie`, `redeye`) |
|
|
335
|
+
| `NO_COLOR`, `COLORTERM`, `TERM`, `FORCE_COLOR` | Colour depth, detected once for the whole UI: `NO_COLOR` or `TERM=dumb` renders with bold, dim and reverse only; `COLORTERM=truecolor` gives 24-bit, `*-256color` 256 colours, and `FORCE_COLOR=1/2/3` raises (never lowers) the depth; any other terminal uses a 16-colour ANSI palette in which every theme shares one map that keeps success, warning, error and info distinct |
|
|
330
336
|
| `ALGO_CLI_GATEWAY_URL` | Go gateway URL |
|
|
337
|
+
| `ALGO_CLI_GATEWAY_TOKEN` | Optional gateway index API credential; keep private and transmit only in the Bearer header |
|
|
331
338
|
| `ALGO_CLI_HARNESS_INDEXER` | Optional Rust harness indexer binary |
|
|
332
339
|
| `OPENAI_OAUTH_CLIENT_ID` | Optional override for the bundled ChatGPT/Codex browser OAuth client |
|
|
333
340
|
| `OPENAI_CODEX_CLIENT_ID` | Optional override for the bundled Codex OAuth client |
|
|
@@ -276,18 +276,6 @@ ACTION_SPECS: tuple[ActionSpec, ...] = (
|
|
|
276
276
|
requires_network=True,
|
|
277
277
|
requires_provider="ollama-cloud",
|
|
278
278
|
),
|
|
279
|
-
_spec(
|
|
280
|
-
"query_knowledge_graph",
|
|
281
|
-
"tool",
|
|
282
|
-
"Query index-compute-lab ranked associations.",
|
|
283
|
-
"read",
|
|
284
|
-
("icl", "knowledge-graph", "read-only"),
|
|
285
|
-
"Detects local knowledge graph readiness for grounded context.",
|
|
286
|
-
"low",
|
|
287
|
-
False,
|
|
288
|
-
False,
|
|
289
|
-
True,
|
|
290
|
-
),
|
|
291
279
|
_spec(
|
|
292
280
|
"remember",
|
|
293
281
|
"tool",
|
|
@@ -361,21 +349,6 @@ ACTION_SPECS: tuple[ActionSpec, ...] = (
|
|
|
361
349
|
True,
|
|
362
350
|
True,
|
|
363
351
|
),
|
|
364
|
-
_spec(
|
|
365
|
-
"/code-rag",
|
|
366
|
-
"slash",
|
|
367
|
-
"Show or toggle working-directory code retrieval.",
|
|
368
|
-
"harness",
|
|
369
|
-
("code-rag", "privacy", "local-index", "toggle"),
|
|
370
|
-
"Requires explicit versioned consent before cwd snippets can enter model prompts.",
|
|
371
|
-
"medium",
|
|
372
|
-
True,
|
|
373
|
-
True,
|
|
374
|
-
True,
|
|
375
|
-
known_limitations=(
|
|
376
|
-
"When enabled, retrieved snippets join the active provider request; /code-rag off purges persisted indexes.",
|
|
377
|
-
),
|
|
378
|
-
),
|
|
379
352
|
_spec(
|
|
380
353
|
"/actions",
|
|
381
354
|
"slash",
|
|
@@ -1400,6 +1373,14 @@ def _first_doc_line(obj: Any, fallback: str) -> str:
|
|
|
1400
1373
|
return first or fallback
|
|
1401
1374
|
|
|
1402
1375
|
|
|
1376
|
+
# Discovery vocabulary only; policy still comes from policy_for_action. Gmail,
|
|
1377
|
+
# Drive, and Calendar are reachable solely as /google slash commands, so
|
|
1378
|
+
# session_command must answer to their domain words.
|
|
1379
|
+
_GENERATED_TOOL_DISCOVERY_TAGS: dict[str, tuple[str, ...]] = {
|
|
1380
|
+
"session_command": ("slash", "google", "gmail", "email", "mail", "inbox", "drive", "calendar"),
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
|
|
1403
1384
|
def _generated_tool_spec(name: str, fn: Any) -> ActionSpec:
|
|
1404
1385
|
policy = policy_for_action(name)
|
|
1405
1386
|
memory_tool = name.startswith("memory_")
|
|
@@ -1429,7 +1410,7 @@ def _generated_tool_spec(name: str, fn: Any) -> ActionSpec:
|
|
|
1429
1410
|
(
|
|
1430
1411
|
("continuum", "memory", "curated-runtime", "tool")
|
|
1431
1412
|
if memory_tool
|
|
1432
|
-
else ("curated-runtime", "runtime", "tool")
|
|
1413
|
+
else ("curated-runtime", "runtime", "tool", *_GENERATED_TOOL_DISCOVERY_TAGS.get(name, ()))
|
|
1433
1414
|
if policy.curated
|
|
1434
1415
|
else ("unclassified", "runtime", "tool")
|
|
1435
1416
|
),
|
|
@@ -1806,40 +1787,6 @@ def build_doctor_report(cfg: Any) -> DoctorReport:
|
|
|
1806
1787
|
)
|
|
1807
1788
|
)
|
|
1808
1789
|
|
|
1809
|
-
from . import index_compute_lab
|
|
1810
|
-
|
|
1811
|
-
root = index_compute_lab.resolve_lab_root()
|
|
1812
|
-
icl_enabled = bool(getattr(cfg, "index_compute_lab_auto_inject", False))
|
|
1813
|
-
if not icl_enabled:
|
|
1814
|
-
findings.append(
|
|
1815
|
-
DoctorFinding(
|
|
1816
|
-
"ready",
|
|
1817
|
-
"index-compute-lab",
|
|
1818
|
-
"optional index-compute-lab context is disabled",
|
|
1819
|
-
"Use /icl on only when this local source is appropriate for the selected model provider.",
|
|
1820
|
-
)
|
|
1821
|
-
)
|
|
1822
|
-
elif not root.exists():
|
|
1823
|
-
findings.append(
|
|
1824
|
-
DoctorFinding(
|
|
1825
|
-
"degraded",
|
|
1826
|
-
"index-compute-lab",
|
|
1827
|
-
f"enabled index-compute-lab root is missing: {root}",
|
|
1828
|
-
"Set ALGO_CLI_INDEX_COMPUTE_LAB_ROOT or clone/build the lab.",
|
|
1829
|
-
)
|
|
1830
|
-
)
|
|
1831
|
-
elif index_compute_lab.lab_available():
|
|
1832
|
-
findings.append(DoctorFinding("ready", "index-compute-lab", "index-compute-lab graph ready"))
|
|
1833
|
-
else:
|
|
1834
|
-
findings.append(
|
|
1835
|
-
DoctorFinding(
|
|
1836
|
-
"degraded",
|
|
1837
|
-
"index-compute-lab",
|
|
1838
|
-
"index-compute-lab root exists but query assets are missing",
|
|
1839
|
-
"Need query.py, atoms/ranked-association-map.json, and atoms/alias-table.json.",
|
|
1840
|
-
)
|
|
1841
|
-
)
|
|
1842
|
-
|
|
1843
1790
|
if bool(getattr(cfg, "safe_mode", True)):
|
|
1844
1791
|
findings.append(DoctorFinding("ready", "safety", "safe mode enabled"))
|
|
1845
1792
|
else:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass, field
|
|
6
|
+
from importlib import import_module
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any
|
|
8
9
|
|
|
@@ -10,10 +11,10 @@ from .config import CONFIG_DIR, _atomic_write_text
|
|
|
10
11
|
from .samuel_policy import TOOL_GROUP_MAP, expand_tool_groups
|
|
11
12
|
|
|
12
13
|
try:
|
|
13
|
-
|
|
14
|
+
tomllib = import_module("tomllib")
|
|
14
15
|
except ImportError: # Python 3.10: fall back to the tomli backport.
|
|
15
16
|
try:
|
|
16
|
-
|
|
17
|
+
tomllib = import_module("tomli")
|
|
17
18
|
except ImportError: # pragma: no cover - tomli is a declared 3.10 dependency.
|
|
18
19
|
tomllib = None # type: ignore[assignment]
|
|
19
20
|
|